MovePose#

This command moves the robot’s TRF to a specified pose relative to the WRF. The robot controller calculates all possible joint sets corresponding to the target pose, including those associated with singular robot postures. It then selects the target joint set based on the specified robot posture and turn configurations, if provided, or the one requiring the least time to reach.

The selected joint configuration is executed internally using a MoveJoints command. As a result, all joint rotations start and stop simultaneously and move as quickly as possible, subject to the limits defined by the SetJointVel and SetJointVelLimit commands. The resulting motion is linear in joint space but nonlinear in Cartesian space, meaning the TCP’s path to its final destination is not easily predictable.

Figure 10 illustrates the resulting robot motion in the case of manual and automatic robot posture configuration selection.

(a) MovePose after SetConf(1) (a) MovePose after SetConf(1)
(b) MovePose after SetAutoConf(1) (b) MovePose after SetAutoConf(1)

Figure 10 An example showing the difference in cycle times when reaching a target end-effector pose via two different joint sets#

Syntax#

MovePose(x,y,z,γ)

Arguments#

  • x, y, z: the target position for the TRF with respect to the WRF, in mm;

  • γ: the target orientation of the TRF about its z-axis relative to the WRF, in degrees.

Further details#

With this command, the robot can transition through or begin/end at singular robot postures without any issues. However, as with the MoveJoints command, if the complete motion cannot be executed due to joint limits, the motion will not start, and an error will be generated.

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.]

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

Cyclic protocols#

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