SetMoveMode#

As discussed in Section 2.4, the timeline of a position-mode robot movement command (e.g., MoveLin, MoveJoints, and MovePose) can be determined by specifying either the desired velocities or the desired duration. The choice between these two “sub-modes” is made using the motion-queue command SetMoveMode.

Note that the MoveJump command is not supported (and must not be used) in time-based mode (see Section 2.4).

The command SetMoveDurationCfg specifies what happens when a move command cannot meet the desired duration set by the SetMoveDuration command, in time-based move mode.

Syntax#

SetMoveMode(m)

Arguments#

  • m: move sub-mode, where

    • 0 stands for the velocity-based sub-mode, meaning the commands SetJointVel, SetCartLinVel, and SetCartAngVel affect all subsequent position-mode movement commands.

    • 1 stands for the time-based submode, meaning the command SetMoveDuration affects all subsequent position-mode movement commands, except MoveJump.

Default#

The default settings are applied whenever the robot is activated or reactivated.

By default, the velocity-based sub-mode is active.

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 SetMoveMode command is represented by MotionCommandID 49. See Section 4.2 for more details.