Skip to content

Robot control commands

The commands that switch the motors on and off, home the arm, change the robot's mode, stop or pause a program, and decide which client controls the robot.

All robot control commands:

  • Run at once. They are not queued. The robot acts on each one when it arrives, also while moves are queued.
  • Can wait for the robot. With wait=True, or on a client created with RobotClient(sync=True), a call waits until the robot's status shows the change: up to 10 s, or 3 minutes for home(). Without a wait, the call returns once the robot has answered.
  • Mostly take control. A command that changes what the robot does claims control for its client when no client holds it. Each page says whether its command takes control or is open to every client.
Command What it does Runs
enable Enable the robot, so that it can home and move. At once
disable Disable the robot: it stops at once and holds every joint still. At once
home Home the arm: find each joint's reference position. At once
clear_errors Clear the latched errors, and the abort after a failed move. At once
enter_idle_mode Switch to IDLE mode. At once
enter_exec_mode Switch to EXEC mode, where the robot runs queued moves. At once
enter_jog_mode Switch to JOG mode, where jog() moves one joint at a time. At once
stop Stop the robot's motion and cancel every queued move. At once
pause Pause the running program: brake along its path and hold. At once
resume Resume a paused program from where it stopped. At once
safety_stop Switch the motors off: the arm goes limp and falls. At once
release_safety_stop Switch the motors back on after a safety stop. At once
enter_flashing_mode Hand the CAN bus to a firmware flasher; the motors let go. At once
exit_flashing_mode End firmware flashing and take the CAN bus back. At once
take_control Take control of the robot for this client. At once
release_control Give up control of the robot. At once
control_holder Return the client that holds control, or None. In the client
holds_control Return whether this client holds control. In the client
set_force_confirm Require a button press at the robot for a forced takeover. At once

Found a mistake on this page? Edit it on GitHub · Report it · Get help