Skip to content
⚙ Development Guide > SDK > API > Data Structures

Controller#

The Controller class contains the SDK's four built-in controllers and is defined as follows:

class Controller(Enum):
    """
    High-level controller state.

    Defines the active control pipeline used by the arm controller.
    """

    idle = 0
    direct_control = 1
    servo_control = 2
    planning_control = 3
    mit_control = 4
Controller Description Notes
idle Idle The robotic arm continuously holds its current joint positions without engaging the brakes.
direct_control Direct motor control Similar to the Ros2 Controller forward controller; sends CAN frames directly to the motors.
servo_control Servo Adds a smoothing filter algorithm in the servo controller. This generally makes control smoother, less noisy, and seemingly more accurate, but inevitably introduces phase lag.
planning_control Trajectory control Uses a planner for trajectory planning and control.
mit_control MIT hybrid force-position control MIT hybrid force-position controller; use with caution.