Operational space control lets a robot be controlled in the coordinates where the task actually exists—such as end-effector position, orientation, velocity, or contact force—while null-space control uses any remaining degrees of freedom for secondary goals without disturbing the primary task.
This lesson follows OSREC.009: Hybrid Motion-Force Control, OSREC.008: Impedance and Admittance Control, OSREC.007: Robot Force Control, and OSREC.002: Robot Jacobians. Those lessons provide the Jacobian, force-control, and interaction foundations needed here.
This operational-space-control demonstration from the Intelligent Autonomous Systems group shows task-space control behavior on a redundant manipulator.
What You’ll Learn
- Explain the difference between joint-space and operational-space control.
- Define task coordinates and task Jacobians.
- Understand operational-space inertia and why Cartesian axes do not all feel dynamically identical.
- Explain dynamically consistent inverse mappings.
- Define kinematic redundancy.
- Use null-space projection conceptually to add secondary objectives without disturbing a primary task.
- Explain joint-limit avoidance, posture control, manipulability optimization, and collision-margin objectives.
- Recognize singularity and model-error problems.
- Understand why task hierarchies need priorities rather than simple command summation.
- Troubleshoot unexpected motion in redundant manipulators.
Why Joint Control Is Not Always the Best Task Description
A joint-space controller thinks in variables such as shoulder angle, elbow angle, wrist angle, joint velocity, and joint torque. That is useful because motors act at joints. But many real tasks are specified somewhere else: keep a tool tip at a Cartesian position, hold a camera orientation, move along a surface normal, maintain a contact force, or keep a gripper aligned with a workpiece.
Operational-space control moves the control problem into that task description. Stanford’s robotics curriculum describes operational-space control as a method for controlling motion and interaction directly in the task space rather than controlling each joint independently. Oussama Khatib’s operational-space formulation was developed specifically to coordinate articulated robots around task variables. Stanford Robotics notes that the formulation was introduced to avoid treating highly articulated robots as independent joint problems and instead coordinate them in the space where the task is specified.
Task Coordinates and the Jacobian
Let the robot joint configuration be q. A task variable can be written conceptually as x = φ(q). The task could contain three-dimensional position, full six-dimensional pose, one orientation axis, a center-of-mass coordinate, or another quantity derived from the joint configuration.
The Jacobian connects joint motion to task motion. In compact form, ẋ = J(q) q̇. The same geometric relationship is also what lets joint torques and task-space forces be related through the transpose mapping. This Jacobian is therefore the bridge between the robot’s actuators and the coordinates that matter to the task.
The University of Illinois Robotic Systems control notes describe operational space as the task space defined by a mapping from joint coordinates and emphasize that controlling task-space force or motion requires transforming both kinematics and dynamics between those spaces.
Operational-Space Dynamics
Moving the end effector one centimeter in one Cartesian direction may require a different joint-motion pattern and different torque than moving it one centimeter in another direction. The effective inertia seen at the end effector therefore depends on robot configuration.
Operational-space control accounts for that configuration-dependent dynamics. Conceptually, the controller transforms the robot’s joint-space mass matrix into a task-space inertia matrix often denoted by Λ. That matrix tells the controller how the robot dynamically responds in the task coordinates.
This is what separates classical operational-space dynamics from a simple Cartesian position target followed by inverse kinematics. Both can command an end effector, but operational-space control explicitly models the dynamic relationship between task accelerations or forces and the actuator torques required to produce them.
Dynamically Consistent Mapping
A plain Moore-Penrose pseudoinverse gives one useful way to map a task-space velocity into joint velocity. Dynamic control introduces an additional requirement: the mapping should respect the robot’s inertia so that secondary motions do not inject unwanted task-space forces into the primary task.
The operational-space framework therefore uses a dynamically consistent generalized inverse rather than treating all joint motion as equally costly. The exact expression depends on notation, but the engineering idea is simple: choose joint actions that realize the task while respecting how mass and inertia are distributed through the mechanism.
A robotics discussion explains why null-space projection is useful on redundant arms: secondary joint motion can be added while preserving the commanded end-effector motion.
What Redundancy Means
A manipulator is redundant relative to a task when it has more controllable degrees of freedom than the task consumes. A seven-joint arm controlling a full six-degree-of-freedom tool pose has one extra degree of freedom in many configurations. If the task controls only Cartesian position, an even larger portion of the robot’s joint motion may remain free.
Redundancy means there can be many joint configurations that produce the same end-effector pose. That freedom is not a defect. It becomes a design resource when the controller uses it deliberately.
The Null Space
The null space of the task Jacobian contains joint motions that produce no instantaneous motion in the selected primary task. If a joint-velocity vector lies in that null space, the joints can move while the controlled end-effector coordinate remains unchanged to first order.
A null-space projector is commonly written conceptually as N = I − J#J, where J# is an appropriate generalized inverse. Multiplying a secondary joint command by N removes the part of that command that would interfere with the primary task.
The resulting joint command can be viewed as the sum of two pieces: one part that achieves the primary task and another part that lives in the null space. This lets the end effector continue its job while the elbow, shoulder, or other joints reorganize themselves for a secondary objective.
This seven-degree-of-freedom arm demonstration shows visible posture change while the primary end-effector objective is preserved through redundancy.
Secondary Objective: Joint-Limit Avoidance
One of the most useful secondary objectives is keeping joints away from their mechanical limits. The controller can define a cost that becomes larger as a joint approaches a limit, then create a joint-space gradient that pushes the robot toward a safer posture.
Projecting that gradient into the null space lets the robot improve its joint margin without changing the commanded end-effector task. This does not eliminate every joint-limit problem, especially near singularities or hard constraints, but it gives the controller a continuous preference for safer configurations.
Secondary Objective: Posture Control
A redundant robot can also be given a preferred posture. For example, the controller may favor a particular elbow height, keep the shoulder away from a fixture, or bias the robot toward a neutral joint configuration. The primary task says where the tool must go; the posture objective says how the rest of the robot should arrange itself while doing it.
This is particularly important for human-like and whole-body robots. Stanford’s Advanced Robotic Manipulation course treats operational-space control, redundancy, multiple contacts, posture, and whole-body coordination as one unified control problem.
Secondary Objective: Manipulability
A robot may be able to reach the current task point but be poorly positioned for the next motion. Near a singularity, one or more task directions can become difficult or impossible to produce without extreme joint motion.
A manipulability objective can bias the robot toward configurations where the Jacobian has better directional authority. In practice, this can improve numerical conditioning, increase motion margin, and reduce the risk that the controller drives toward a posture where tiny Cartesian commands demand very large joint velocities or torques.
Secondary Objective: Collision and Self-Collision Margin
Null-space freedom can also be used to move links away from obstacles or from other robot links while preserving the primary end-effector task. This requires additional geometric information, such as collision points, distances, surface normals, or potential functions.
Collision avoidance is more difficult than a simple posture preference because secondary avoidance goals can conflict with each other or consume the remaining redundancy. If the primary task itself becomes infeasible under the constraints, a null-space term cannot create missing degrees of freedom. The controller must then modify task priority, slow down, replan, or declare the task infeasible.
A robotics discussion shows how null-space projection is used for joint constraints and secondary tasks such as joint-limit avoidance on redundant manipulators.
Task Priorities Matter
Multiple robot objectives should not always be added with equal authority. A tool-position task, collision-avoidance task, posture preference, and manipulability objective can conflict. If they are merely summed, a low-importance posture term may accidentally degrade a high-importance task.
Hierarchical control solves this by assigning priorities. The highest-priority task is solved first. Lower-priority objectives are then projected into the null space of the tasks above them. Each lower layer receives only the freedom that remains after the higher-priority requirements are protected.
Singularities Change the Available Null Space
The rank of the Jacobian determines how many independent task directions can be controlled. Near a singularity, the Jacobian loses conditioning and may lose rank. This changes both the primary task mapping and the structure of the null space.
Damped pseudoinverses, singular-value thresholds, task scaling, and trajectory modification are common tools for keeping the controller numerically stable. A null-space controller should therefore never be designed in isolation from singularity handling.
Model Error Can Break the Ideal Separation
The mathematics may say that a secondary command lies perfectly in the null space, but a real robot has model error, friction, compliance, sensor noise, actuator dynamics, time delay, and finite control bandwidth. A joint motion that is theoretically invisible to the primary task can still create small end-effector disturbances.
This is one reason Stanford’s advanced robotics courses pair operational-space theory with simulation, model validation, and compliant control. The controller should be tested first in simulation, then introduced to hardware with conservative gains, bounded commands, and clear stop criteria.
A Practical Troubleshooting Workflow
- Verify the task definition. Confirm which Cartesian coordinates, orientations, forces, or other variables are actually controlled.
- Verify frames. A wrong base, tool, sensor, or world frame can look like a controller failure.
- Check the Jacobian. Confirm dimensions, ordering, reference frame, and sign conventions.
- Inspect singular values. Determine whether the robot is approaching a singular or poorly conditioned configuration.
- Disable secondary objectives. Run the primary task alone to prove that the base operational-space controller behaves correctly.
- Add one null-space objective at a time. This isolates posture, limit, or collision terms that are producing unexpected motion.
- Check priorities. Confirm lower-priority objectives are projected through the null spaces of higher-priority tasks.
- Limit gains and velocities. An aggressive null-space posture controller can create large joint motion even when the end effector appears stable.
- Compare model and measured behavior. Look for friction, payload, inertia, calibration, or compliance errors.
- Test transitions. Watch what happens when task rank changes, a secondary constraint activates, or the robot crosses a configuration boundary.
Engineering Exercise
- Choose a seven-degree-of-freedom arm model controlling a six-degree-of-freedom end-effector pose.
- Identify the primary task coordinates and the corresponding Jacobian dimensions.
- Explain why one degree of kinematic redundancy remains in a full-rank configuration.
- Define a secondary posture objective that prefers the elbow to remain above a chosen height.
- Explain how a null-space projector prevents that posture objective from changing the primary end-effector motion to first order.
- Add a joint-limit cost and describe what should happen as one joint approaches its soft limit.
- Describe what changes if the robot approaches a singularity and the Jacobian loses conditioning.
- List three real-world model errors that could cause secondary motion to leak into the primary task.
- Propose a test sequence that starts with the primary task only and progressively enables redundancy objectives.
Knowledge Check
- What is operational space?
- What mathematical object maps joint velocity to task-space velocity?
- How is classical operational-space control different from merely sending a Cartesian target to an inverse-kinematics solver?
- What makes a robot redundant relative to a task?
- What is the null space of a task Jacobian?
- Why is null-space projection useful?
- Name three secondary objectives that can use redundancy.
- Why should lower-priority tasks be projected through higher-priority null spaces?
- What happens to the controller near a singularity?
- Why can a theoretically correct null-space controller still disturb the end effector on real hardware?
Answers
- The coordinate space in which the robot task is defined, such as end-effector pose, force, or another task variable.
- The Jacobian.
- Operational-space control explicitly incorporates task-space dynamics and inertia, not just geometric inverse kinematics.
- The robot has more controllable degrees of freedom than the task consumes.
- The set of joint motions that produce no instantaneous motion in the selected task coordinates.
- It lets secondary joint motion be added while protecting the primary task.
- Joint-limit avoidance, posture optimization, manipulability improvement, and collision avoidance are examples.
- So lower-priority objectives use only the freedom left after higher-priority tasks are satisfied.
- The Jacobian becomes poorly conditioned or loses rank, changing the available task directions and null space.
- Real robots contain model error, friction, compliance, sensor noise, delay, and finite bandwidth.
Key Takeaway
Operational-space control tells the robot what to do where the task exists; null-space control tells the remaining joints how to behave without disturbing that task. Together, they provide a powerful framework for redundant manipulators, whole-body robots, interaction control, joint-limit avoidance, posture shaping, and multi-task coordination.
References
Primary learning references: Stanford CS225A — Experimental Robotics, Stanford CS223A — Introduction to Robotics, Stanford Robotics — Operational Space Formulation, and University of Illinois — Robot Control.
Next: OSREC.011 will continue the advanced manipulation sequence with another multi-objective robot-control topic.
Safety: advanced robot-control experiments can command unexpected high-speed joint motion even when the end effector appears nearly stationary. Validate controllers in simulation first, enforce joint/velocity/torque limits, maintain approved safeguarding, and use qualified procedures before testing on physical hardware.

Leave a Reply