stop¶
Runs at once Any mode Open to every client
Stop the robot's motion and cancel every queued move. In EXEC mode the arm brakes along its planned path at the joints' acceleration limits (at most about 0.15 s from full speed) and holds there, still in EXEC mode. Every client's queued moves are cancelled: those commands fail with STOPPED, and the gripper's jaws stop where they are. The robot accepts new moves at once, and the next one starts where the arm stopped. The robot answers once the arm is at rest, within 1.5 s.
In any other mode the robot switches to IDLE mode at once, and answers at once; a homing in progress is abandoned, and the arm is then not homed. In the error state it has no effect.
It also discards this client's failures of earlier moves that wait_idle() has not reported yet, and its last commands: wait_motion_complete() then returns at once.
Syntax¶
Arguments¶
| Name | Type | Default | Description |
|---|---|---|---|
wait |
bool | None |
None |
Wait until the arm has stopped: in EXEC mode until braking has ended, elsewhere until the robot reports IDLE mode; up to 10 s. None follows the client's sync setting. |
Returns¶
Nothing.
Examples¶
Further details¶
Warning
Every client can send it. Outside EXEC mode it does not brake: from JOG mode or a real-time stream at speed the arm coasts in freedrive until friction stops it. It also ends motors off and firmware flashing: the motors hold again, and during a flash the robot's CAN traffic resumes, which can make the flash fail.
Usage restrictions 2 codes
This command runs at once; it is not queued. The robot accepts it in any mode and state, from every client.
It answers with one of these codes when it does not carry the command out:
- [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 read the stop it was sent: a fault, not something a program causes. RTI.log has the details
In Python, a code above raises CommandRejected; its number is the code. The call raises:
CommandRejected: RTI refused it or did not answer within 1 s (Errors:).RobotTimeout: The robot did not answer within 5 s, or, withwait, the arm had not stopped within 10 s.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.
Protocol¶
A client that does not use robotclient sends this over the TCP command protocol (port 29000) for the example above: