Principle:ARISE Initiative Robosuite Joint Position Control
| Knowledge Sources | |
|---|---|
| Domains | Robotics, Control Theory, Servo Control |
| Last Updated | 2026-02-15 07:00 GMT |
Overview
Joint position control uses proportional-derivative (PD) feedback in joint space to compute torques that drive each joint toward a desired angular position, providing precise position-level trajectory tracking.
Description
Joint position control is one of the most fundamental and widely used control strategies for articulated robots. The controller accepts desired joint positions (either as absolute targets or as deltas relative to the current configuration) and computes the torques necessary to drive the robot's joints to those positions. The control law is based on PD (proportional-derivative) feedback: a proportional term penalizes the position error between the desired and current joint angles, while a derivative term penalizes the joint velocity to provide damping.
The torque for each joint is computed as tau_i = M(q) * (K_p * (q_des_i - q_i) + K_d * (0 - dq_i)) + g(q), where M(q) is the joint-space mass matrix, K_p is the proportional gain, K_d is the derivative gain (typically set as 2 * sqrt(K_p) * zeta for a desired damping ratio zeta), and g(q) is the gravity compensation torque. Multiplying by the mass matrix provides inertia decoupling, ensuring uniform dynamic response across joints with different effective inertias.
The controller supports configurable impedance modes. In fixed mode, the PD gains are constants set at initialization. In variable mode, the gains become part of the action space, allowing a learned policy to dynamically adjust stiffness and damping during execution. A variable_kp mode provides a middle ground where only the stiffness varies and the system remains critically damped. Optional joint position limits and interpolation between setpoints provide additional safety and smoothness guarantees.
Usage
Apply joint position control when the task is naturally expressed in joint space (e.g., following a pre-planned joint trajectory, maintaining a specific arm configuration) or as the inner loop of a higher-level controller such as inverse kinematics. It is the most straightforward control mode and is well-suited for tasks where precise joint-level positioning is required without explicit task-space force control.
Theoretical Basis
PD Joint Position Control Law:
Given:
- Desired joint positions: q_des (N-dimensional)
- Current joint positions: q (from simulator)
- Current joint velocities: dq (from simulator)
- Proportional gain: K_p (N-dimensional)
- Derivative gain: K_d = 2 * sqrt(K_p) * damping_ratio
- Mass matrix: M(q) (NxN)
- Gravity compensation: g(q)
1. Compute position error:
e_pos = q_des - q
2. Compute velocity error (desired velocity is zero):
e_vel = 0 - dq = -dq
3. Compute desired acceleration:
a_des = K_p * e_pos + K_d * e_vel
4. Compute joint torques with inertia decoupling:
tau = M(q) * a_des + g(q)
5. Clip torques to actuator limits:
tau = clip(tau, tau_min, tau_max)
Key design decisions:
- Inertia decoupling: Multiplying by M(q) ensures the effective closed-loop dynamics are uniform across joints, preventing joints with larger inertia from responding more sluggishly.
- Gravity compensation: Adding the bias force vector g(q) cancels gravitational effects, ensuring the PD terms act purely on tracking error.
- Impedance modes: Variable impedance allows a policy to modulate compliance online, enabling behaviors like gentle grasping (low stiffness) followed by firm holding (high stiffness).
- Delta vs. absolute input: Delta mode interprets actions as increments to the current position; absolute mode sets the target directly. Delta mode is more natural for learned policies; absolute mode is useful for trajectory replay.
- Interpolation: An optional linear interpolator smooths transitions between setpoints when the policy frequency is lower than the control frequency.