Overview of Robot Controllers

Overview of Robot Controller Categories

Control Type Control Dimension Applicable Level Common Uses
Position Control Joint Position Basic/Low Level Simple trajectory tracking, calibration
Velocity Control Joint Velocity Intermediate Smooth movement, planning execution
Torque Control Joint Torque Advanced Fine dynamic operations
Impedance Control End Effector Force + Desired Position Advanced Tasks involving contact or flexible operations
Wrench Control End Effector Force / Torque Advanced Tasks like pushing, tapping, inserting
Servo Control Comprehensive Control Low to High Level Real-time control systems (integrating the previous types)

1. Position Control

Principle:

The most basic method – the controller continuously adjusts the current joint position towards the target position, similar to the P control term in a PID controller.

Python

tau = kp * (q_desired – q_current)

Characteristics:

  • Easy to implement, good stability

  • Does not rely on robot dynamics modeling

  • Accuracy depends on the frequency and gain settings of the position control loop

Limitations:

  • Ignores real external forces and contact forces

  • Prone to oscillation or even damaging objects in rigid contact scenarios (e.g., grasping, inserting)

Applications:

  • Initial calibration

  • Simple trajectory following

  • Tasks that do not require contact sensing

2. Velocity Control

Principle:

Allows joints to change at a specified speed, representing a low-inertia dynamic control.

Python

q_dot_command = q_dot_desired

Characteristics:

  • Smooth motion, less prone to jitter

  • Suitable for executing soft path planning

  • Can combine PID’s speed loop to adjust accuracy

Limitations:

  • If the trajectory is not smooth, it can lead to discontinuous end effector motion

  • No tactile feedback, still unsuitable for complex contact

Applications:

  • Path following in obstacle avoidance

  • Smooth interpolation execution of paths (e.g., DMP)

3. Torque Control

Principle:

The controller directly outputs joint torque, completely determined by the strategy or upper-level controller.

Python

tau = tau_desired

Characteristics:

  • Maximum degrees of freedom, flexible control

  • Can express all dynamic behaviors (vibration, bouncing, etc.)

Limitations:

  • Very prone to instability (small errors can amplify)

  • High hardware requirements: high-frequency sampling, high stability

Applications:

  • Simulating training reinforcement learning strategies

  • Complex real operations (e.g., fine striking, quick response)

4. Impedance Control

Principle:

Simulates a spring + damping system, allowing the robot end effector to approach the target “softly”, naturally absorbing external forces and responding.

Plain Text

F = k_p * (x_desired – x) + k_d * (v_desired – v)

tau = J.T @ F

Where:

  • x is the actual end effector position, x_desired is the target position

  • F is the equivalent control force

  • J is the Jacobian matrix

Characteristics:

  • Supports soft contact, natural control

  • Can flexibly set “rigidity” or “softness”

  • Widely used in human-robot collaboration, wiping, grasping, etc.

Limitations:

  • Complex implementation (involves Jacobian, torque conversion)

  • If parameters are not well-tuned (stiffness, damping), it may become unstable or perform sluggishly

Applications:

  • Human-robot collaboration (human pushing the robot)

  • Tasks involving changes in external forces

  • Drag teaching / trajectory imitation learning

5. Wrench Control

Principle:

The strategy or controller directly controls the desired force (Fx, Fy, Fz) and torque (Tx, Ty, Tz) in the end effector coordinate system, converting it to joint torque through the Jacobian matrix.

Python

tau = J.T @ wrench_desired

Characteristics:

  • Precise control of interaction forces with the environment

  • Suitable for tasks requiring “pushing” or “maintaining contact force”

  • Can directly implement force feedback or force control loops

Limitations:

  • High requirements for robot modeling

  • Sensitive to errors (pose errors can lead to force errors)

  • Prone to instability (requires high frequency + force sensors)

Applications:

  • Socket (plug and socket), friction sliding

  • Pushing doors, dragging objects

  • Precise interaction with rigid obstacles

6. Servo Control (Operational Space / Cartesian Servo)

Principle:

The goal is to achieve the desired trajectory/velocity/acceleration in Cartesian space, then map it to joint space torque through the dynamic model.

For example, Operational Space Control (OSC) is a representative of servo control.

Python

tau = M(q) * x_ddot_desired + C(q, q_dot) * q_dot + G(q)

Characteristics:

  • Direct control of end effector path

  • High dynamic performance, suitable for complex trajectories

  • Supports multi-task collaboration (e.g., simultaneously controlling pose + force)

Limitations:

  • Complex dynamic modeling

  • Jacobian and inertia matrix must be computed online

  • Suitable for high-performance robots, not for resource-limited platforms

Applications:

  • Fast grasping, aerial flipping

  • Simultaneously controlling multiple target points (multi-task)

Summary Comparison (Recommended for Collection)

Control Method Advantages Disadvantages Recommended Tasks
Position Control Simple and stable, easy to implement No contact sensing Trajectory calibration
Velocity Control Smooth control, good real-time performance No contact handling capability Path following
Torque Control Maximum flexibility, suitable for RL Unstable, requires modeling Advanced simulation / real machine training
Impedance Control Simulates spring-damping, good resistance to contact forces Parameter tuning is difficult, complex modeling Collaboration, flexible tasks
Wrench Control Direct control of forces, precise Unstable, relies on sensors Pushing/wiping/inserting tasks
Servo Control Strong dynamic performance, direct control in Cartesian space Mathematically complex, relies on dynamic models Advanced coordination tasks (operation + trajectory)

Summary Learning Recommendations

  • Beginner Stage: It is recommended to start with position/velocity control for better understanding of feedback loops;

  • Application Stage: Gradually introduce impedance control to understand its natural interaction capabilities;

  • Research or Challenge Stage: Learn torque control and Operational Space Control to achieve advanced dynamic tasks.

Overview of Robot ControllersOverview of Robot Controllers

Leave a Comment