Open Source Robotics

A curated collection of high-quality open source robotics projects, tools, and software to propel the robotics community forward.

Operational Space Control

  • Also called: OSC, operational space formulation
  • Category: Control › Force & interaction control
  • Tags: task-space-control, torque-control, manipulation, dynamics, redundancy

A torque-level control method that writes a manipulator's dynamics in end-effector coordinates, so the end effector can be commanded directly as a mass-spring-damper in task space.

Definition

Operational space control is a framework introduced by Oussama Khatib in 1987 for controlling a robot directly in the coordinates of its task, usually the position and orientation of the end effector, rather than in joint coordinates. Its starting point is to rewrite the robot's equations of motion in those task coordinates. The result has the same structure as joint-space dynamics, with a task-space inertia matrix Λ = (J M⁻¹ Jᵀ)⁻¹, built from the joint-space inertia matrix M and the Jacobian J, plus Coriolis, centrifugal and gravity terms expressed at the end effector.

With that model, the controller computes the force and moment the end effector should apply, typically a PD law on pose error scaled by Λ and with the dynamic terms cancelled, and converts it to joint torques with the Jacobian transpose. The effect is that the end effector behaves like a simple, decoupled mass-spring-damper in Cartesian space, with predictable response in every direction. Because the controller works with forces, it extends naturally to unified motion and force control and to compliant contact.

For redundant robots, which have more joints than the task needs, operational space control adds secondary objectives in the null space of the main task, using a dynamically consistent projection so that, for example, a posture or joint-limit objective does not disturb the end effector. This idea of stacked, prioritized tasks is the basis of many whole-body controllers for humanoids. The method relies on a reasonable dynamics model and on joint torque control, and the task-space inertia becomes ill-conditioned near singularities, so practical implementations add damping and fall back to simpler task-space impedance laws when the model is uncertain.

Why it matters

Manipulation tasks are specified in terms of where the tool is and how it should push, not joint angles. Operational space control lets a robot track and react in those terms with consistent stiffness and compliance, which is why it is a common low-level controller beneath learned policies that output end-effector targets.

Key applications

  • Low-level control of end-effector poses output by learned manipulation policies
  • Compliant contact tasks such as wiping, insertion and pushing
  • Combined motion and force control along different task directions
  • Whole-body control of humanoids and mobile manipulators with prioritized tasks
  • Teleoperation where operator commands are given in Cartesian space

In practice

In a learning setup built on a torque-controlled arm, a policy or a set of behavior primitives outputs a sequence of target end-effector poses at a low rate, for example ten times per second. An operational space controller running at several hundred hertz or more turns each target into joint torques: it computes the pose error, applies stiffness and damping gains, scales by the task-space inertia, adds gravity compensation and maps the result through the Jacobian transpose. A null-space term keeps the elbow near a comfortable posture. Engineers tune the stiffness so the arm tracks well in free space but yields when it contacts a shelf or an object, and they lower the gains or add damping where the arm approaches a singular configuration.

Common misconceptions

  • Operational space control is the same as inverse kinematics — it works at the torque level with the robot's dynamics, rather than converting poses to joint angles for a position controller
  • It needs a perfect dynamics model — it benefits from a good model, but many deployed versions use approximate inertia and rely on feedback gains to absorb errors
  • Commanding the end effector fixes the whole arm — on redundant robots the null-space motion must be controlled separately or the arm can drift

Who should know this

  • Manipulation control engineers
  • Robot learning researchers choosing an action space
  • Humanoid and whole-body control developers
  • Robotics students studying robot dynamics

Related technologies

  • Computed Torque Control
  • Impedance Control
  • Null-Space Projection
  • robosuite
  • Pinocchio

Related terms

  • Jacobian
  • Torque Control
  • Impedance Control
  • Whole-Body Control
  • Hybrid Position/Force Control
  • Motion Primitive

Related projects

  • LeRobot: HuggingFace ML library for real-world robotics in PyTorch
  • Isaac Lab: NVIDIA robot learning framework: one task API across Newton, PhysX and Isaac Sim
  • NVIDIA Isaac GR00T: NVIDIA open foundation model for humanoid robot reasoning and skills
  • OpenVLA: 7B-parameter Vision-Language-Action model for robotic manipulation
  • Drake: MIT robotics toolbox for model-based dynamics, optimization, and control system design
  • OpenArm: 7DOF humanoid arm for physical AI research in contact-rich environments

This website requires JavaScript to function properly. Please enable JavaScript to explore our collection of open source robotics projects.