Skip to content

rti_set_pace

Runs at once Any mode Takes control

Cap the generator's speed at a multiple of your target's speed. The robot measures how fast your position targets move and caps the generator's speed, per joint, at factor times that, never below 0.02 rad/s and never above the joint's limits. Like rti_set_vel_scale() it stops a slow stream from pulsing, but it follows you when you change speed or rate. At 1 the arm cannot catch up once it falls behind; above about 3 the cap no longer binds. It takes effect at once.

It acts with "ruckig", "ruckig_advancing" and "passthrough", not with "tracker".

Syntax

robot.rti_set_pace(factor)

Arguments

Name Type Default Description
factor float required The headroom over your target's speed, up to 10 (clamped); 0 switches it off. A negative or non-finite value is refused.

Default values

0 (off), set each time the robot software starts and at every rti_connect() in RTI mode. A SOFT_RTI rti_connect() keeps the value it finds, so it lasts until changed.

Returns

Nothing.

Examples

robot.rti_connect(rate_hz=20, wait=True)
robot.rti_set_pace(1.5)
robot.rti_set_pace(0)
robot.rti_disconnect(wait=True)
Usage restrictions 4 codes

This command runs at once; it is not queued. The robot accepts it in any mode and state, from the client that holds control or when no client does.

It answers with one of these codes when it does not carry the command out:

  • [6101] Control held by another client — another client holds control; the message names it
  • [6003] Invalid arguments — factor is negative or not a finite number, or the message did not carry exactly one value
  • [6025] RTI not running or not answering — rTI did not answer within 1 s: it is not running or not responding. The command may still have taken effect
  • [6026] Refused by RTI — rTI could not use the value. The message says why; the setting in force stays

In Python, a code above raises CommandRejected; its number is the code. The call raises:

  • CommandRejected: The robot refused it: factor is negative or not finite, or another client holds control. Or RTI refused it or did not answer within 1 s (Errors:).
  • RobotTimeout: The robot did not answer within 5 s.
  • RobotConnectionError: The client is not connected.
  • ValueError: factor is not a number. Nothing is sent.
  • TypeError: factor is not a number. Nothing is sent.

If the connection drops while the call waits for the robot's answer, it raises CommandRejected with the code CONNECTION_LOST (DISCONNECTED after disconnect()); while it waits for the robot's status, RobotConnectionError.

Like every immediate command, it also answers BAD_ARGS when a raw client sends a value the robot cannot read at all, and INTERNAL when it fails inside the robot.

See also