CV Courseversity

Robotics

An introduction to how robots sense, plan, and act, how kinematics and dynamics govern manipulator control, and how simulation-trained reinforcement learning transfers to physical hardware.

“A tabletop robot arm needs to pick up a block its camera just spotted. Before a single motor turns, that one instruction quietly passes through several different kinds of computation: turning pixels into an estimate of where the block actually is, deciding what path the end effector should trace through space to reach it, and then computing the actual joint torques needed to move a real, inertia-laden arm along that path against gravity and friction — the same three-stage division that separates a purely reactive robot, which skips straight from sensing to acting, from one that plans first. It's also why a control policy trained entirely inside a physics simulator can compute flawless torques in a simulated world and still fail the first time it's asked to lift something real. What exactly changes at each handoff — sensing to planning, planning to control, simulation to reality — and why does getting the geometry right at one stage never guarantee getting the physics right at the next?”

Control Architectures and the Kinematics of Manipulation · 15 min

For much of the history of robotics, the dominant way of organizing a robot's software has been the sense-plan-act loop, sometimes called the hierarchical or deliberative paradigm. In this architecture the robot first senses, gathering raw information about the world through cameras, range finders, joint encoders, or force sensors. It then plans, fusing that sensor data into an internal model of the world and using that model to decide on a sequence of actions that will achieve a goal, such as a path to a target location or a trajectory for a robot arm. Finally it acts, sending commands to motors or actuators that carry out the planned sequence, after which the cycle repeats with a fresh round of sensing. This loop gives a robot the ability to reason ahead and avoid mistakes that a purely instinctive system might make, because every action is filtered through an explicit model of the situation before it is executed.

The sense-plan-act loop is not the only way to organize robot control, and its weaknesses motivated alternative architectures. Because planning requires building and searching a world model before any action is taken, a purely hierarchical robot can be slow to respond when conditions change quickly, and errors in the model can propagate into bad decisions. Reactive, or behavior-based, architectures were developed partly as a response to this problem: rather than building a central world model, they couple simple behaviors directly to sensor inputs, so that a robot can flinch away from an obstacle or follow a wall using tight, low-latency feedback loops with little or no deliberation in between. Many practical systems today use a hybrid approach, running fast reactive behaviors for immediate safety and stability while a slower deliberative layer still plans over longer horizons, combining the responsiveness of reactive control with the foresight of explicit planning. Recognizing where a given robot's software sits on this spectrum, from strictly sequential sense-plan-act to purely reactive to hybrid, is one of the first steps in understanding how it will behave.

Within the planning and acting stages of this loop, robot arms and other manipulators are described using two related but distinct branches of analysis: kinematics and dynamics. Kinematics is the study of motion in purely geometric terms, describing the positions, velocities, and accelerations of a manipulator's joints and end effector without reference to the forces or torques that produce that motion; forward kinematics computes where the end effector ends up given a set of joint angles, while inverse kinematics computes the joint angles needed to reach a desired end-effector position. Dynamics, by contrast, brings mass, inertia, friction, and force into the picture, relating the torques applied at each joint to the resulting accelerations, and it is dynamics that a controller must account for to move an arm quickly and precisely rather than merely trace a geometrically correct path in slow motion. A motion planner typically works in kinematic terms to decide what path the arm should follow, while a lower-level controller uses a dynamic model of the arm to compute the actual joint torques needed to track that path under real physical loads. Treating these as separate but connected problems, geometry first and forces second, is standard practice across manipulator design and control curricula and reflects how the sense-plan-act loop's planning and acting stages typically divide the underlying computation.

Simulation, Reinforcement Learning, and Sim-to-Real Transfer · 15 min

Training a robot's control policy directly on physical hardware is slow, expensive, and risky: reinforcement learning algorithms typically need millions of trial-and-error interactions to learn a good policy, and a real robot arm can break itself, its surroundings, or an expensive object long before it converges on good behavior. Simulation offers a way around this bottleneck, since a physics engine can run far faster than real time, be reset instantly after a failure, and be copied across thousands of parallel machines to generate experience at a scale no physical lab could match. The catch is what researchers call the reality gap: a policy trained in a simulator that models friction, contact, sensor noise, and object properties only approximately will often perform poorly when it is finally run on the real robot, because the simulated and real dynamics do not match closely enough. Bridging that gap, so that a policy learned entirely in simulation can be transferred to physical hardware with little or no additional real-world training, is the central challenge of what is known as sim-to-real transfer.

One widely cited demonstration of sim-to-real transfer in manipulation is OpenAI's research on dexterous in-hand manipulation, published as "Learning Dexterous In-Hand Manipulation." The researchers trained a control policy to reorient a block held in a physical Shadow Dexterous Hand, a five-fingered robotic hand, using reinforcement learning conducted entirely in simulation, with the same distributed training infrastructure previously used to train the OpenAI Five game-playing system. To close the reality gap, they applied domain randomization, repeatedly varying simulated physical properties such as friction coefficients and the object's visual appearance during training so that the resulting policy would be robust to the fact that the real world would never exactly match any single simulated instance. Despite never being trained on the physical hand itself, the resulting policy transferred successfully to the real robot, and the researchers observed that behaviors resembling human manipulation, including finger gaiting, coordinated use of multiple fingers, and deliberate use of gravity, emerged from the training process without being explicitly programmed or demonstrated by a human. No human ever showed the system how to reorient a block by hand; the coordination patterns it discovered were a byproduct of reinforcement learning alone, refined over an enormous number of randomized simulated trials.

OpenAI extended this line of work in a follow-up system that used the same robotic hand to manipulate a Rubik's cube, introducing automatic domain randomization, a technique that automatically increases the difficulty and variability of the simulated environment as the policy improves, rather than requiring engineers to hand-tune the randomization ranges. Reported results showed the trained policy solving cube scrambles requiring 15 rotations about 60 percent of the time, with performance falling to roughly 20 percent on the hardest scrambles requiring 26 rotations, and failures still occurred from the cube being dropped or the attempt timing out. These figures illustrate an honest picture of where sim-to-real transfer for dexterous manipulation stood at the time: simulation-trained policies could handle real, previously unseen physical conditions and even recover from significant disturbances, but reliability dropped noticeably as task difficulty increased, and the approach was demonstrated on a specific hand and task rather than as a general-purpose solution for all manipulation problems. This combination of genuine capability and clearly bounded limitations is characteristic of sim-to-real research more broadly, and it is why the field continues to treat domain randomization and related simulation techniques as an active area of ongoing improvement rather than a solved problem.

Practice

Robotics: Control and Sim-to-Real

Sense Plan Act

The classic hierarchical control loop — reactive architectures skip straight from sense to act for low-latency responses.

  • Kinematics and dynamics are separate problems: kinematics describes a manipulator's motion geometrically (positions, velocities, joint angles) with no reference to force, while dynamics relates the torques applied at joints to the resulting accelerations — a motion planner works in kinematic terms, a lower-level controller uses dynamics.
  • Domain randomization is the key trick behind OpenAI's sim-to-real transfer: repeatedly varying simulated friction, appearance, and physical properties during training so the resulting policy is robust to the fact that the real world never exactly matches any single simulated instance.
  • Sim-to-real success is bounded, not universal: the Rubik's cube policy solved 15-rotation scrambles about 60% of the time but only ~20% on the hardest 26-rotation scrambles — reliability drops as task difficulty rises, even with domain randomization.

Recall Practice

Sense-plan-act orderClick to reveal
What is the correct order of stages in the classic sense-plan-act control loop, and what comes after “act”?
Sense, then plan, then act — gather sensor data, build a world model and decide on actions, then execute commands through actuators. After acting, the cycle repeats with a fresh round of sensing.
Kinematics vs. dynamicsClick to reveal
A controller computes the joint torques needed to move a robot arm along a path, accounting for its mass and inertia. Is this kinematics or dynamics?
Dynamics — it relates forces and torques applied at the joints to the resulting motion, accounting for mass, inertia, and friction. Kinematics, by contrast, describes motion purely geometrically, without reference to the forces that cause it.
Why reactive architecturesClick to reveal
Why were reactive (behavior-based) control architectures developed as an alternative to strict sense-plan-act control?
Because they couple sensing directly to action with tight, low-latency feedback loops, avoiding the delay of building and searching a full world model before responding — which lets a robot flinch from an obstacle or follow a wall reactively rather than deliberating first.
Domain randomization's purposeClick to reveal
In OpenAI's dexterous in-hand manipulation research, why did they use domain randomization during simulated training?
To vary simulated properties like friction coefficients and object appearance so the learned policy wouldn't overfit to one exact simulated setup — making it robust enough to transfer successfully to the real, imperfectly modeled physical hand despite the reality gap.

Glossary

Sense-Plan-Act Loop
The classic hierarchical (deliberative) robot control architecture in which a robot senses its environment, plans a course of action using an internal world model, and then acts by executing that plan through its actuators, before repeating the cycle.
Reactive (Behavior-Based) Architecture
A robot control architecture that couples simple behaviors directly to sensor inputs with tight, low-latency feedback loops, skipping the deliberate world-modeling and search of a sense-plan-act loop so the robot can respond immediately to changing conditions.
Forward Kinematics
The kinematic computation of where a manipulator's end effector ends up in space given a specific set of joint angles, described purely in geometric terms with no reference to force or torque.
Inverse Kinematics
The kinematic computation of what joint angles a manipulator needs in order to reach a desired end-effector position, the geometric inverse of forward kinematics.
Dynamics (Robotics)
The branch of manipulator analysis that relates the torques applied at a robot's joints to the resulting motion, accounting for mass, inertia, and friction, as opposed to kinematics, which describes motion geometrically without reference to force.
Domain Randomization
A sim-to-real technique that repeatedly varies simulated physical and visual properties, such as friction or object appearance, during reinforcement learning training so the resulting policy is robust to the fact that the real world never exactly matches any single simulated instance.
Practical Activity

Sort the Stack: Architecture, Kinematics vs. Dynamics, and the Reality Gap

A virtual, paper-based sorting worksheet — no physical robot, simulator, or live code of any kind is used. Learners are given eight short, invented scenario cards describing a moment in a robot's control software (for example: 'the arm computes the joint torques needed to carry a heavy payload along a path without overshooting,' 'the mobile robot swerves away from a suddenly detected obstacle before any planning step has run,' or 'a policy trained for months entirely inside a physics simulator is deployed on the physical arm and immediately drops the object it was gripping'). For each card, learners place it into two separate two-column sorting grids: the first classifies whether the scenario best illustrates a reactive/behavior-based architecture, a deliberative sense-plan-act architecture, or a hybrid of the two; the second classifies whether the core computation described is fundamentally a kinematics problem or a dynamics problem. A final short-answer section asks learners to pick the simulation-trained-policy card and explain, in two or three sentences, what specific mismatch between simulated and real-world conditions could plausibly explain the failure it describes.

Ready to test yourself?

5 questions on this module.

Start Quiz