Operational Space Control
操作空间控制OSCCommonComputing desired end-effector acceleration and force directly, then converting them to joint torque through the robot's dynamics.
Proposed by Stanford's Oussama Khatib in 1987. It rewrites arm dynamics in the ‘operational space’ at the end-effector: F = Λ(q)·ẍ + η, where ẍ is end-effector acceleration, Λ the effective inertia matrix felt at the end-effector, η collects Coriolis, gravity, and related terms, and F is the force and torque to apply at the end-effector. The controller first computes a desired ẍ from pose error with a PD law, substitutes it in to get F, then converts to joint torque via τ = Jᵀ·F (J being the Jacobian matrix). The advantage is being able to set stiffness and damping directly at the end-effector while compensating for the arm's own inertia. Unlike ‘inverse kinematics plus joint position control,’ it outputs torque directly, so it needs a reasonably accurate dynamics model. The OSC_POSE controller in the robosuite simulation framework implements exactly this.
ExampleControlling a Panda arm in robosuite with OSC_POSE, the policy only outputs an incremental end-effector displacement and an axis-angle rotation increment each step, and the controller internally converts these into torques for the 7 joints.
- Also called
- OSC, Operational Space Formulation, OSC_POSE
- Related
- Task-Space Control · Impedance Control · Jacobian Matrix · Null-Space Control · Mass Matrix · Whole-Body Control
- Sources
- Lynch & Park, Modern Robotics(§8.6 Dynamics in the Task Space;引 Khatib 1987, IEEE J. Robotics and Automation 3(1):43–53) (Chinese)
robosuite Docs: Controllers(OSC_POSE)