Robotics foundations
The ideas every other hub builds on. What makes a machine a robot, how the sense-plan-act loop is layered, what degrees of freedom and configuration space mean, and how the main robot types differ.
Overview
A robot is a machine that measures the physical world, decides what to do and then moves something in that world, over and over. The repetition is what matters. A CNC mill follows a fixed program and checks only its own axes. A robot closes the loop through its environment, so what it does next depends on what it sensed a moment ago.
This hub is for engineers arriving from software, machine learning or mechanical design who want the shared vocabulary before going into a specialist hub. ISO maintains the formal terms in ISO 8373:2021, Robotics: Vocabulary. This page uses the working meanings that most textbooks and codebases share.
Key ideas
The sense-plan-act loop and its layers
The classical picture splits a robot into three stages. Sensing turns raw measurements into an estimate of the robot and its surroundings. Planning chooses a path, a trajectory or a task sequence. Acting turns that plan into motor commands. The physical result is sensed again, and the loop repeats.
Real systems are layered rather than strictly sequential. Each layer runs at its own rate. A motor drive closes its current loop many thousands of times a second: according to mjbots, the moteus r4.11 controller runs its control loop at 15 to 30 kHz. A joint position controller runs slower, a planner runs when the goal or the map changes, and a task layer may run only when a person gives a new instruction. Most robot bugs that look like intelligence failures are rate or latency mismatches between these layers.
Degrees of freedom and configuration space
The degrees of freedom (DoF) of a robot are the number of independent numbers needed to pin down where every part of it is. A rigid body moving freely in space has 6: three for position and three for orientation. A serial arm with six revolute joints also has 6, one per joint. An arm with seven joints has more DoF than a 6-DoF task needs, so it is redundant and can move its elbow without moving its gripper. See degrees of freedom.
The configuration space (C-space) is the set of all those configurations. Each point in it is one complete pose of the robot. Obstacles in the room become forbidden regions of C-space, and motion planners search for a path through the free part. Mobile robots add a twist: a wheeled base on a floor has a 3-DoF configuration (x, y, heading) but a differential drive can command only two velocities, so it cannot slide sideways. That is a nonholonomic constraint, covered in /topics/mobile-robots/.
Workspace
The workspace is the set of positions the end-effector can reach. The reachable workspace includes every point the tool can touch in at least one orientation. The dexterous workspace is the smaller set where it can reach in every orientation. A datasheet reach figure is the radius of the outer boundary. It says nothing about the dexterous region, joint limits or the singular configurations described in /topics/kinematics/.
The main robot types
- Industrial arms are serial manipulators, usually with 6 joints, built for speed and repeatability inside guarded cells.
- Cobots are arms designed to work near people, with force limits and torque sensing. See cobot and /topics/safety-and-standards/.
- SCARA, delta and gantry robots trade generality for speed in pick-and-place and assembly. Delta robots are parallel mechanisms, with several chains joining the base to the tool.
- Mobile robots include warehouse AMRs, service robots and outdoor platforms. See /topics/mobile-robots/.
- Legged robots and humanoids trade simplicity for the ability to cross rough ground and use spaces built for people. See /topics/legged-and-humanoid/.
- Aerial and field robots cover multirotors, fixed-wing drones, agricultural and underwater vehicles. See /topics/aerial-and-field-robots/.
The datasheet numbers for the robots we track are in /reference/robots/.
Where to start
Begin with /learn/beginner/01-what-is-a-robot/, which builds the loop in this page in code. Then /learn/beginner/02-frames-and-rotations/ gives you the coordinate frames every later lesson uses. /learn/beginner/09-simulate-an-arm-in-mujoco/ runs a robot without hardware, and /learn/beginner/10-hello-ros2/ introduces the middleware most robots use.
Tools and platforms
| Tool | What it is for | Licence | Platform |
|---|---|---|---|
| ROS 2 | Middleware, drivers, transforms and tooling for most research and many commercial robots | Apache-2.0 (core) | /platforms/ros/ |
| MuJoCo | Physics simulation of arms, hands and legged robots, fast enough for learning | Apache-2.0 | /platforms/mujoco/ |
| Gazebo | Simulation with sensors and ROS 2 integration | Apache-2.0 | /platforms/ros/ |
| PyBullet | Lightweight physics simulation from Python | zlib | /platforms/opensource/ |
| Robotics Toolbox for Python | Kinematics, dynamics and planning for teaching and prototyping | MIT | /platforms/opensource/ |
Common mistakes
- Reading the datasheet reach as the usable workspace. Orientation requirements and joint limits shrink it, often a lot.
- Counting the robot’s DoF without counting the task’s. A 6-DoF arm doing a 5-DoF task (a symmetric drill, for example) has one spare DoF to use.
- Mixing degrees and radians. ROS follows REP 103, which uses SI units and radians throughout.
- Designing the planner before drawing the loop. Write down each layer, its input, its output and its rate first.
- Assuming the simulator’s timing is the robot’s timing. Real sensors arrive late and out of order.
Going deeper
- Kevin M. Lynch and Frank C. Park, Modern Robotics: Mechanics, Planning, and Control, Cambridge University Press, 2017. Chapter 2 covers configuration space. A free preprint PDF is on the book’s site.
- Steven M. LaValle, Planning Algorithms, Cambridge University Press, 2006, free online. Chapter 4 is the standard treatment of configuration space.
- Bruno Siciliano, Lorenzo Sciavicco, Luigi Villani and Giuseppe Oriolo, Robotics: Modelling, Planning and Control, Springer, 2009.
- Peter Corke, Robotics, Vision and Control: Fundamental Algorithms in Python, 3rd edition, Springer, 2023.
- Bruno Siciliano and Oussama Khatib (eds), Springer Handbook of Robotics, 2nd edition, Springer, 2016.