Joint-Space Control
关节空间控制CommonControlling a robot using each joint's own angle as the target and error, with every joint tracking its own desired trajectory.
Joint-space control writes the goal as a sequence of joint angles over time, q_d(t), and compares each actual angle q against its target individually, outputting torque or velocity from the error. The simplest form is independent PD control per joint: τ = Kp(q_d − q) + Kd(q̇_d − q̇), where Kp and Kd are stiffness and damping gains; computed torque control goes further, using a dynamics model to also cancel inertia, Coriolis forces, and gravity. Task-space control, by contrast, works directly with end-effector pose error and converts it to joint torques through the Jacobian matrix, which makes it easier to command the end-effector to move in a straight line or apply a contact force. Joint-space control is simple to implement and immune to kinematic singularities, but any desired end-effector path must first be converted into a joint trajectory by inverse kinematics or a planner. Reinforcement-learning locomotion policies for legged and humanoid robots, which output joint target positions, also belong to this layer.
ExampleAfter MoveIt plans a joint trajectory, it hands it to ros2_control's joint_trajectory_controller, which interpolates between waypoints over time and sends each joint's target position (or a PID-derived torque) to the drive every control cycle.
- Also called
- Joint-Level Control
- Related
- Joint Space · Task-Space Control · Proportional-Derivative Control · Computed Torque Control · Inverse Kinematics (IK) · ros2_control
- Sources
- Modern Robotics 11.4: Motion Control with Torque or Force Inputs (Part 3 of 3)
ros2_controllers: joint_trajectory_controller 文档 (Chinese)