SetForce_HM (Library)


A current limitation library that specifies the thrust (unit: N) of the Z coordinate with the HM/HS robot.


SetForce_HM (<thrust unit >)


Limits the thrust by limiting the motor current on the Z axis. The unit is N (Newton). The maximum thrust extremely varies depending on the impact force generated at contact with peripherals. The allowable thrust is a value assumed when the impact force at collision is almost 0 (collision at too low speed). The thrust also varies depending on the Z-axis position by the mechanical friction; therefore, this value should be assumed to be a typical value (not a guaranteed value). Like the current limitation library (SetCurlmt), a value that exceeds the allowable value is limited to the allowable value.


The <pacman.h> file is necessary.



  • Since the motor current is limited during current limitation, operation is impossible at the highest speed and highest acceleration. For current limitation, use only the required steps. To use the current limitation, lower the acceleration.
  • When the thrust is limited by the current limitation, if work collides at high speed, an impact force occurs due to the inertia between the work and hand. Set the current limitation before setting work, and lower the speed.
  • Set the current limitation as the robot stops. If it is set during path operation, an error may occur.
  • Execute this function on a task that obtains the robot control right (TAKEARM). If the robot control right is not obtained, error message "21F7 Arm semaphore cannot be fetched." is reported.
  • When bit 1 of the "25: current limitation reset" set value is set to 0 (initial value) as a use condition, the servo lock release is reset (servo-lock) at motor power-on. To validate servo lock release just after the motor power is turned on, set +1 to the "current limitation reset" set value. For details on setting, see Notes in "OffSrvlock."
  • When releasing this command, execute "ResetCurlmt(3)."
  • Even if setting is performed in detail, the specified thrust may not be output for a reason such as friction.


CALL SetForce_HM(10.0) Specify thrust
'10.0(N).


Top