SetJointVelLimit#

The SetJointVelLimit overrides the default joint velocity limits. Unlike the SetJointVel command, which sets a target velocity for velocity moves, SetJointVelLimit acts as an upper bound (maximum allowed joint velocity) and affects movements generated by all Move* commands (including the MoveLinVel* ones).

Changing the joint velocity limit with SetJointVelLimit does not modify the valid input ranges of any other API calls. For example, you can still invoke SetJointVel with a value higher than the configured joint velocity limit; the robot will simply apply the lower of the two limits at runtime. This makes it possible to use SetJointVelLimit to globally cap robot velocity (for safety purposes or for testing at reduced speeds) without needing to adjust all existing SetJointVel or SetCartLinVel instructions in a program.

It also affects the acceleration durations, as explained below.

SetJointVelLimit can be used to:

  • Limit the robot velocity in all scenarios (joint moves, linear moves, velocity moves);

  • Achieve quicker short movements due to reduced acceleration times when the joint velocity limit is lowered;

  • Allow faster joint velocities (up to 150%) on Meca500-r4 robots (see details below);

Syntax#

SetJointVelLimit(p)

Arguments#

  • p: percentage of R3 top rated joint velocities, ranging from 0.001 to 100, for Meca500 R3, and to 150, for R4.

Default values#

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

By default, p = 150 for Meca500-R4, 100 for older robot models.

Further details#

Note

When SetJointVelLimit is reduced below 100%, the robot also shortens its acceleration phases. At lower top velocities, long acceleration ramps are unnecessary, the robot is able to reach the target velocity sooner. This results in optimized cycle times for applications requiring short movements, where quicker accelerations are more beneficial than high top velocities. For example, SetJointVelLimit(50) halves all acceleration durations. Since it affects acceleration duration, it also affects blending (which duration always matches acceleration).

As noted under SetJointVel, the Meca500 R4 supports up to 50% higher maximum joint velocity compared to earlier revisions. To use this extended range, SetJointVelLimit must be set above 100% (up to 150%), allowing increased speeds for both joint commands (e.g. MoveJoints) and Cartesian motions (e.g.: MoveLin).

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