What is a robot? Sense, plan, act
The loop that every robot runs, how to count degrees of freedom, the difference between workspace and configuration space, and the main kinds of robot you will meet at work
You will learn
- Draw the sense-plan-act loop for a given robot and name the hardware and software in each block
- Count the degrees of freedom of a rigid body, a serial arm, a wheeled base and a quadrotor
- Explain the difference between configuration space and workspace using a two-link arm as the example
- Place an unfamiliar robot into one of five families and say which control problem dominates it
This lesson sets up the vocabulary for the rest of the beginner track. It is for engineers who can program but have not worked on robots, and for robotics people who want a shared set of words before the maths starts. There is no code here. From lesson 02 onwards every lesson has runnable Python.
A working definition
A robot is a machine that measures the physical world, decides what to do from those measurements, and then moves itself or something else in that world. All three parts matter. A CNC mill moves under computer control, but it follows a fixed program and does not change its plan when the stock is in the wrong place. A smart speaker senses and decides, but it moves nothing. A robot closes the loop through the physical world: its own motion changes what it measures next.
That loop is what makes robotics hard. Wheels slip, parts arrive rotated, links bend under load, sensors drift and people walk into the way. Most of the engineering in a robot exists to cope with the gap between the model in the computer and the world outside it.
Sense, plan, act
The oldest and still the most useful way to organise a robot’s software is the sense-plan-act loop. Sensors produce raw measurements. An estimation stage turns them into a belief about the state of the robot and its surroundings. A planner chooses what to do next. A controller turns the plan into commands for the motors, and the motors push on the world. Then the loop runs again.
Each block maps onto real hardware and software, and onto later lessons in this track.
- Sense. Joint encoders report angles. An IMU reports angular rate and acceleration. Cameras, lidar and force-torque sensors report on the surroundings and on contact. Every one of them is noisy and some are late, which is the subject of lesson 06.
- Estimate. Raw readings are turned into a state: joint angles and velocities for an arm, a pose on a map for a mobile robot. Filters such as the Kalman filter combine several imperfect sensors into one better estimate. The state estimation hub covers this.
- Plan. Given the state and a goal, the planner chooses a path around obstacles or a sequence of joint positions. Lesson 08 plans on a grid with A*.
- Control. The controller compares where the robot should be with where it is and computes motor commands that shrink the difference. Lesson 05 builds a PID controller for one joint.
- Act. Motor drives turn commands into current, motors turn current into torque, and gearboxes trade speed for torque. The actuators and drives hub covers motors such as the BLDC motor and gear types such as the harmonic drive.
The loops run at different rates. The joint servo inside a drive runs far faster than the planner, because a joint needs correcting long before a new path is worth computing. This is why the diagram shows a separate inner loop. In practice a robot is a stack of nested loops, fast and simple at the bottom, slow and deliberate at the top.
Where sense-plan-act falls short
A strict sense-plan-act pipeline waits for the plan before it moves. If planning is slow and the world changes, the robot acts on stale information. Rodney Brooks argued in 1985 that a mobile robot should instead be built from layers of task-achieving behaviours, where a simple layer such as obstacle avoidance keeps working while higher layers are added on top and can override it. Modern systems borrow from both views. A navigation stack plans a global path at a low rate and runs a local controller at a high rate that dodges obstacles the global plan never saw. Keep the loop in mind as a map of the jobs to be done, not as a rule that they run in strict sequence.
Degrees of freedom
The degrees of freedom (DoF) of a system are the number of independent numbers you need to say where every part of it is. That number is the size of the robot’s configuration, and it fixes how much the robot can do.
A rigid body moving in a plane has 3 DoF: two positions (x, y) and one heading angle. A rigid body moving in space has 6 DoF: three positions (x, y, z) and three angles. Those two numbers come up constantly. A gripper that has to put a part anywhere, in any orientation, needs to control all 6.
For a serial arm, where each link hangs off the previous one, every one-axis joint adds one DoF. A revolute joint adds an angle and a prismatic (sliding) joint adds a length. A planar arm with two revolute joints therefore has 2 DoF, and you will meet it in lesson 03. A typical industrial arm has 6 revolute joints, which is the minimum to reach a general position and orientation in space. An arm with 7 is redundant: it can hold the gripper still while moving its elbow, which helps it work around obstacles and stay away from joint limits.
Closed chains, where links form a loop, need more care. Parallel robots, legged robots standing on several feet and a hand grasping an object all have loops, and the joints in a loop are not all independent. Grübler’s formula counts the DoF in that case. Lynch and Park cover it in chapter 2 of Modern Robotics (see Further reading).
- Actuated versus unactuated. A quadrotor has 6 DoF but only 4 motors, so it cannot command all 6 independently. To move sideways it must first tilt. Such a system is underactuated. Legged robots in flight phase, and balancing robots, are other examples.
- Constraints on velocity. A differential-drive base has 3 DoF in the plane (x, y, heading) but only 2 wheel motors, and it cannot slide sideways. It can still reach any pose by manoeuvring, like parallel parking a car. Lesson 07 works through this.
Configuration space and workspace
Two spaces describe a robot, and mixing them up is one of the most common beginner mistakes.
The configuration space, or C-space, is the set of all possible configurations. For an arm it is the set of all joint-angle vectors. A planar two-link arm whose joints rotate fully has a C-space made of two angles, each wrapping around at 360 degrees. Topologically that is the surface of a torus. Joint limits cut pieces out of it, and obstacles carve out regions where the arm would collide.
The workspace is the set of positions the end-effector can reach. For the same two-link arm with links of 0.4 m and 0.3 m it is a flat ring around the base, with an outer radius of 0.7 m (arm straight) and an inner radius of 0.1 m (arm folded back on itself). Lesson 03 computes that ring by sweeping the joints.
The map from C-space to workspace is forward kinematics. It is always defined and always unique: given the joint angles there is one tip position. The map back, inverse kinematics, is harder. A point in the workspace usually corresponds to two configurations of the two-link arm (elbow up and elbow down), points on the edges correspond to one, and points outside correspond to none. Lesson 04 solves it.
Arm planners usually work in C-space, where joint limits and collisions are easy to express, while tasks are stated in the workspace (“put the bolt here”). The kinematics hub and the motion planning hub cover moving between the two.
The main kinds of robot
Robots in industry and research fall into a handful of families. The boundaries blur (a mobile manipulator is an arm on a wheeled base), but each family has a dominant problem that shapes its software.
| Family | Typical DoF | Main sensors | Hardest problem | Where to read more |
|---|---|---|---|---|
| Industrial arms | Usually 6, SCARA types 4 | Joint encoders, sometimes a camera or force sensor | Precise, fast trajectories behind guarding | Kinematics, Manipulation |
| Cobots | 6 or 7 | Encoders, joint torque or current sensing | Sharing space with people safely | Safety and standards |
| Mobile robots (AMRs, AGVs) | 3 (planar base) | Wheel odometry, lidar, IMU, cameras | Knowing where it is and finding a path | Mobile robots, SLAM |
| Legged robots and humanoids | 6 for the body plus one per leg or arm joint | IMU, joint encoders, foot contact, cameras | Balance and contact with uneven ground | Legged and humanoid |
| Drones and field robots | 6 (body), fewer actuated | IMU, GNSS, cameras, lidar | Underactuation, weather, terrain, long missions | Aerial and field |
Industrial arms do welding, painting, palletising and machine tending. They work inside fenced cells, so the software can assume the cell is empty of people while the arm runs, and the effort goes into speed and repeatability. The ABB, FANUC and KUKA platform pages describe the main controller ecosystems.
Collaborative robots are arms designed to work near people without a full fence, subject to a risk assessment of the whole application. They limit force and speed and detect unexpected contact. The Universal Robots and Franka Robotics pages cover two common makers.
Mobile robots move goods in warehouses and hospitals, clean floors and inspect sites. A wheeled base is easy to model and hard to localise: the robot must work out where it is on a map from noisy sensors, which is the SLAM problem.
Legged robots and humanoids trade simple wheels for the ability to cross steps, gaps and rough ground. Every step is a controlled fall and a contact event, so control and state estimation dominate. The Boston Dynamics and Unitree pages cover two makers that sell legged robots.
Drones and other field robots work outdoors: aerial, agricultural, underwater, in mines and on construction sites. They face weather, poor or missing GNSS, and long unsupervised missions. The drones platform page covers the open flight stacks.
The robot catalogue lists specific models in each family with their maker-published specifications.
What the rest of the track builds
The beginner track walks once around the loop with small, runnable programs.
- Lesson 02: frames, rotations and homogeneous transforms with numpy.
- Lesson 03 and lesson 04: forward and inverse kinematics of a planar two-link arm.
- Lesson 05: PID control of one simulated joint, with saturation and windup.
- Lesson 06 and lesson 07: sensor noise and filtering, then wheeled odometry.
- Lesson 08: path planning on an occupancy grid.
- Lesson 09 and lesson 10: a physics simulation of an arm in MuJoCo, then a first ROS 2 node.
After the track, the two-link arm project combines lessons 03 and 04 into an arm that draws a shape.
Exercise
Pick a robot vacuum cleaner and answer the following on paper.
- Draw its sense-plan-act loop. In each block, name at least one concrete component (a sensor, an algorithm or a motor) that you would expect it to have.
- Count the degrees of freedom of its body on the floor and the number of drive motors. Is it underactuated in the sense used above? Can it reach every position and heading on an open floor?
- Describe its configuration space and its workspace. Are they the same set for this robot? Why does that differ from an arm?
- Repeat question 2 for a quadrotor and for a 7-joint arm, and say which of the three needs a planner that understands velocity constraints.
Summary
- A robot senses the physical world, decides, and acts on it, and its own motion changes what it senses next.
- The sense-plan-act loop is a map of the jobs a robot’s software does. Real systems nest a fast inner servo loop inside slower estimation and planning loops.
- Degrees of freedom count the independent numbers that fix a robot’s configuration: 3 for a rigid body in a plane, 6 in space, one per joint for a serial arm.
- Configuration space is the set of joint values. Workspace is the set of reachable end-effector positions. Forward kinematics maps the first to the second, and inverse kinematics maps back.
- Industrial arms, cobots, mobile robots, legged robots and humanoids, and drones and field robots each have a dominant problem that shapes their software.
Further reading
- Lynch and Park, Modern Robotics: Mechanics, Planning, and Control, Cambridge University Press, 2017: chapter 2 defines configuration space, degrees of freedom and Grübler’s formula, and section 2.5 separates task space from workspace. Free lecture videos are on the Northwestern companion site.
- Siciliano, Sciavicco, Villani and Oriolo, Robotics: Modelling, Planning and Control, Springer, 2009: a graduate textbook that takes the topics of this track further. Its first chapter is an introduction to the field.
- Corke, Robotics, Vision and Control: Fundamental Algorithms in Python, 3rd edition, Springer, 2023: a code-first tour of mobile robots, arms and vision that this track follows in spirit.
- Brooks, “A robust layered control system for a mobile robot”, IEEE Journal on Robotics and Automation, 2(1), 1986: the layered alternative to a strict sense-plan-act pipeline. The earlier MIT AI Memo 864 (September 1985) has the same title.