MoveLinVelTrf#

This command moves the robot’s TRF at the specified Cartesian velocity, defined relative to the TRF, or at a lower velocity if limited by joint velocity constraints (see SetJointVelLimit). If needed, the joint velocities are proportionally reduced to ensure none exceed their specified limits.

The robot will decelerate to a complete stop after the duration specified by the command SetVelTimeout, unless a subsequent MoveLinVelTrf or MoveLinVelWrf command is issued. Additionally, the motion will stop if a PauseMotion command is sent or if a motion limit is reached.

Note that this command, unlike position-mode motion commands, does not generate motion errors when a joint limit (including the desired turn configuration) or an uncrossable singularity is encountered. Instead, the robot simply stops before reaching the limit.

Syntax#

MoveLinVelTrf(ẋ,ẏ,ż,ωxyz)

Arguments#

  • ẋ, ẏ, ż: the components of the linear velocity of the TCP expressed in the TRF, in mm/s;

  • ωx, ωy, ωz: the components of the angular velocity of the TRF expressed in the TRF, in °/s.

Usage restrictions#

This command is added to the robot’s motion queue and can only be executed when the robot is ready for motion, not in an error state and when no safety signal conditions are present. Otherwise, the robot will report one of the following:

  • [1005][The robot is not activated.]

  • [1006][The robot is not homed.]

  • [1011][The robot is already in error.]

Cyclic protocols#

In cyclic protocols, the MoveLinVelTrf command is represented by MotionCommandID 23. See Section 4.2 for more details.