Skip to content

rti_disconnect

Runs at once IDLE or RTI or SOFT_RTI or ACTIVE_ERROR mode Takes control

Unpair the PC and switch the robot to IDLE mode. The robot stops sending state, forgets the PC's address, closes a TCP stream, and switches to IDLE mode at once. It takes the call in IDLE mode, in a real-time mode and in the error state, and refuses it in every other mode. An enabled, homed arm with gravity compensation on is then in freedrive; otherwise every joint holds still. The real-time settings that last across sessions keep their values.

End a stream first with rti_release() and let the arm come to rest.

Syntax

robot.rti_disconnect(wait=None)

Arguments

Name Type Default Description
wait bool | None None Wait until the robot reports IDLE mode, up to 10 s. None follows the client's sync setting.

Returns

Nothing.

Examples

robot.rti_connect(wait=True)
robot.rti_disconnect(wait=True)

Further details

Warning

It never brakes. Sent while a stream moves the arm, the arm coasts in freedrive until friction stops it, or, with gravity compensation off, stops as hard as the drives can.

Usage restrictions 3 codes

This command runs at once; it is not queued. The robot accepts it only when it is in IDLE or RTI or SOFT_RTI or ACTIVE_ERROR mode, 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:

  • [6010] Command not allowed now — the message names the mode or state it needs
  • [6101] Control held by another client — another client holds control; the message names it
  • [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

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

  • CommandRejected: The robot refused it: it is in another mode (EXEC, JOG, homing, motors off, flashing), 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, or, with wait, did not report IDLE mode within 10 s, for example with an error latched.
  • RobotConnectionError: The client is not connected.

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