-
Notifications
You must be signed in to change notification settings - Fork 1
Robot API status
A robot controller often includes a state machine to manage different phases of robot operation. CRTK does not mandate the use of a state machine, but there are some basic states that apply to most, if not all, robots. We call these meta-states. Thus, CRTK defines commands to initiate transitions from one meta-state to another and to query the current meta-state.
The robot meta-states (hereafter called states) are illustrated in the following notional state machine:

For clarity, all state names are UPPER-CASE and commands to transition between states are lower-case. Although not shown in the figure, state queries are also represented in lower-case. The following subsections describe the states.
In this state, the drive (motor) power is disabled. This is typically the initial state of the robot.
This state applies to robots that require a homing operation to determine the absolute joint positions. In this state, the motor power is enabled and the robot has limited motion capability. For example, it can perform homing motions, such as moving until a limit switch is encountered, or it may be able to make relative motions in joint space. For robots that do not require homing, this state is essentially combined with the HOMED state.
In this state, the motor power is enabled and the robot is able to move, or is already moving. For robots that do not require homing, this state is essentially combined with the ENABLED state. Note that specific robot implementations may have several states in this category; for example, a separate state for each motion type.
In this state, the motor power is enabled, but the robot cannot be moved. The system transitions to this
state in response to a pause
command or some types of safety violations. Exiting this state requires an
explicit command, such as resume
to return to the HOMING or ENABLED state.
The robot enters the FAULT state when a fault condition (safety violation) causes the motor power to be disabled.
If robot system is able to monitor the fault condition, the system will remain in this state until the fault is cleared;
once cleared, the system transitions to the DISABLED state. If the system cannot monitor the fault condition,
the higher-level software can issue a disable
command to attempt to transition to the DISABLED state.
The following table indicates the state transitions corresponding to the commands listed in the top row.

- Immediate transition to HOMED if robot does not require homing.
-
home
command initiates homing sequence; system remains in ENABLED state until it completes.
The following table indicates the results of the state query commands listed in the top row.
