Space form
T(theta) = e^[S1]theta1 e^[S2]theta2 ... e^[Sn]thetan M
Axes Si are expressed in the fixed space frame at home.
Modern Robotics study path
Reference: Lynch and Park, Modern Robotics, May 2017 preprint, Chapter 1.
Chapter 1 does not teach one isolated technique. It gives the mental map: robots are rigid bodies connected by joints, driven by actuators, measured by sensors, planned through configuration space, and controlled through forces, torques, velocities, and feedback.
The book in one navigable picture
Chapter 1 previews every major block. Select a chapter to see the question it answers, the core object it studies, and the reason it matters later.
What is a robot mechanism?
The book starts with a deliberately mechanical view. A robot mechanism is a set of rigid links connected by joints. Actuators create motion and forces at those joints; sensors report joint motion, forces, torques, or the surrounding scene.
The vocabulary Chapter 1 seeds
Move the joint sliders. The left plot is a point in configuration space: one coordinate for each joint. The right plot is the end-effector location produced by those coordinates. This is why forward kinematics is easy to ask, while inverse kinematics is trickier.
The recurring robotics loop
Most of the book can be read as one pipeline. Represent where the robot can be, compute where the hand goes, invert that relationship when needed, choose a path, assign timing, then control the actuators while using feedback.
Active recall
Answer these before moving to Chapter 2. They test the map, not formulas.
Chapter 2
Chapter 2 answers the most basic robotics question: where is the robot? The answer is not usually a drawing in ordinary 3D space. It is a point in configuration space, whose dimension is the robot's degrees of freedom and whose shape can wrap, bend, or be cut by constraints.
Core count
dof = m(N - 1 - J) + sum fiUse this when the mechanism has independent joint constraints. For closed chains, treat the result as a lower bound if constraints are dependent or special geometry creates extra motion.
Full chapter spine
Keep this as the detailed checklist. The interactives below are built around these exact ideas: dimension, joint constraints, topology, representation, holonomic and nonholonomic constraints, task space, and workspace.
Definition 2.1, made tactile
A configuration is a complete specification of every point of the robot. Degrees of freedom are the fewest real-valued coordinates needed to do that. Choose an example and watch which coordinates are enough.
Joint freedoms as constraints
A joint can be read two ways. It grants relative motion between two links, and it also imposes constraints. In space, a revolute joint grants one freedom and removes five; in the plane, it removes two.
| Joint | Freedom fi | Planar constraints | Spatial constraints |
|---|
Mechanism mobility
Count links including ground, count joints, choose planar or spatial motion, then add the freedoms provided by each joint. Try the presets first, then perturb the numbers to feel what the formula is doing.
Live result
1 dofDimension is not shape
A line, a circle, a sphere, a cylinder, and a torus can have related coordinate counts but different wrapping behavior. Coordinate choices are representations; topology is the underlying shape of the space.
Constraints
Loop-closure constraints such as g(q) = 0 reduce the dimension of the configuration space. Rolling without slipping gives velocity constraints A(q)qdot = 0 that restrict instantaneous motion without reducing the set of reachable configurations.
End-effector spaces
Task space is chosen from the job. Workspace is what the robot can reach. They are related to the end-effector, not the full robot configuration.
Active recall
These are the questions to own before Chapter 3 starts using matrices.
Chapter 3
Chapter 3 builds the language used by the rest of the book. A robot link is a rigid body, so we need precise ways to describe orientation, position, velocity, force, and moment. The chapter's core move is to package geometry into matrices and six-vectors that transform cleanly between frames.
Chapter 3 ladder
SO(3) -> SE(3) -> twists -> wrenchesRotations describe orientation. Homogeneous transforms describe full pose. Twists describe rigid-body velocity. Wrenches describe forces and moments.
Detailed map
This chapter is not just notation. It is a compact geometry engine. Each block below becomes a dependency for forward kinematics, Jacobians, inverse kinematics, dynamics, and control.
Section 3.1
A planar rigid body pose needs x, y, and theta. The same physical motion can be read actively, as moving a body, or passively, as changing coordinates between frames.
Section 3.2
A rotation matrix is three orthonormal body-frame axes written in another frame. Exponential coordinates compress a rotation into an axis multiplied by an angle.
Angular velocity
The book writes angular velocity as omega in vector form and [omega] as a skew-symmetric matrix. Multiplying [omega] by a point gives omega cross p, the instantaneous velocity contribution from rotation.
Section 3.3.1
A transform T in SE(3) packages orientation R and position p. It can represent a configuration of one frame relative to another, a coordinate transform, or a displacement operation. The matrix form keeps all three uses consistent.
Sections 3.3.2 and 3.3.3
A twist V = (omega, v) is a six-vector velocity of a rigid body. Its exponential coordinates S theta produce a finite rigid-body motion, which is the idea behind the product of exponentials formula in Chapter 4.
Section 3.4
A wrench combines moment and force. The dot product of a wrench with a twist gives power, so the pair belongs together: twists describe motion, wrenches describe the effort doing work through that motion.
Power pairing
P = F dot V = m dot omega + f dot vActive recall
Own these distinctions before moving to product-of-exponentials kinematics.
Chapter 4
Forward kinematics asks for the end-effector pose when the joint coordinates are known. Chapter 4 starts with a planar 3R arm, then gives the systematic product-of-exponentials formula for general open-chain robots.
Core formulas
T(theta) = e^[S1]theta1 ... e^[Sn]thetan MSpace form uses screw axes expressed in the fixed base frame. Body form uses screw axes expressed in the end-effector frame at the home configuration.
Detailed map
The chapter is a bridge from rigid-body motion notation to robot arms. The key skill is turning a robot's home pose and joint screw axes into a pose function T(theta).
Opening example
For a 3R planar chain, the end-effector position is a sum of link vectors. The tool angle is the cumulative joint angle. This is the concrete example the chapter uses before moving to spatial notation.
Screw axes
To use PoE, each joint axis must become a screw axis. For a revolute joint, choose a point q on the axis and a unit direction omega. The linear part is v = -omega x q. For a prismatic joint, omega is zero and v is the translation direction.
Section 4.1
Each joint motion is an exponential map of a screw axis. The product composes those rigid-body motions, then applies the home configuration M.
Space and body forms
The space form orders exponentials before M. The body form puts M first and uses screw axes written in the body frame. The two formulas produce the same transform when the screw lists match the same physical robot.
T(theta) = e^[S1]theta1 e^[S2]theta2 ... e^[Sn]thetan M
Axes Si are expressed in the fixed space frame at home.
T(theta) = M e^[B1]theta1 e^[B2]theta2 ... e^[Bn]thetan
Axes Bi are expressed in the end-effector frame at home.
Bi = [Ad M^-1] Si
The adjoint from Chapter 3 converts the coordinate description of the same screw axis.
Section 4.2
The Universal Robot Description Format is an XML format for tree-structured robots. It names links, joints, joint origins, joint axes, geometry, mass, inertia, and limits. It is not the PoE formula itself, but it stores the information a kinematics tool needs.
<joint name="shoulder_pan_joint" type="continuous">
<parent link="base_link" />
<child link="shoulder_link" />
<origin xyz="0 0 0.089159" rpy="0 0 0" />
<axis xyz="0 0 1" />
</joint>
Active recall
These checks make sure the PoE formula is a usable recipe, not just a symbol.
Chapter 5
Chapter 5 differentiates forward kinematics. The Jacobian maps joint rates to end-effector twists, reveals singularities, defines manipulability, and gives the static dual relationship between endpoint wrenches and joint torques.
Two central maps
V = J(theta) thetadotStatics uses the dual map: tau = J(theta)^T F.
Detailed map
The Jacobian is the local linear map around the current configuration. It tells you how small joint motions create task motion, how forces load the joints, and when motion directions are lost.
Section 5.1
Move the joints and joint-rate sliders. The arm pose determines the Jacobian; the joint rates pass through that matrix to produce the end-effector velocity.
Space and body Jacobians
A space Jacobian expresses the end-effector twist in the fixed space frame. A body Jacobian expresses the same physical twist in the end-effector frame. Chapter 5 uses the adjoint from Chapter 3 to relate them.
Columns are joint screw axes transformed forward by earlier joint motions.
Columns are body screw axes transformed backward by later joint motions.
Js(theta) = [Ad Tsb(theta)] Jb(theta)
Section 5.2
If the end-effector applies or feels a wrench F, the equivalent generalized joint torques are tau = J^T F. This is the force-side dual of the velocity map.
Sections 5.3 and 5.4
Near a singularity, the Jacobian loses rank. Some task-space velocity directions become hard or impossible, and endpoint force capability changes dramatically. The ellipse below is drawn from J J^T for the planar arm.
Active recall
These checks keep the Jacobian connected to motion, force, and singularity intuition.
Chapter 6
Inverse kinematics asks for joint coordinates that achieve a desired end-effector pose. Chapter 6 contrasts analytic solutions for special robots with numerical Newton-Raphson methods for general open chains.
Reverse problem
Find theta so T(theta) = XdSolutions may be multiple, unique, nonexistent, or sensitive near singularities. Numerical IK iteratively reduces pose error.
Detailed map
The chapter shows when IK can be solved by geometry and when it becomes an iterative root-finding problem on the forward kinematics map.
Analytic IK intuition
This 2R planar arm is simpler than a PUMA or Stanford arm, but it exposes the same core IK facts: geometry gives branches, and reachability matters.
Section 6.2
Numerical IK linearizes the pose error using the Jacobian, solves for a joint correction, updates theta, and repeats until the error is small enough.
Section 6.3
Each Newton step asks for a joint change that would create a desired small end-effector motion. That is the inverse velocity problem: solve V = J(theta) thetadot, often with a pseudoinverse when J is not square.
thetadot = J^-1 V
Use a pseudoinverse plus optional null-space motion.
Corrections can explode, so damping or step limits become practical.
Section 6.4
For closed-chain mechanisms, IK must satisfy loop-closure constraints as well as task goals. Chapter 6 flags this before the book turns fully to closed-chain kinematics in Chapter 7.
Mental model
task error + closure error -> solve togetherYou are no longer only steering an open chain. Passive joints and loop constraints must remain compatible.
Active recall
These checks separate FK, IK, inverse velocity IK, and numerical iteration.
Chapter 7
Closed-chain robots use multiple kinematic loops to constrain a moving platform. Chapter 7 studies inverse and forward kinematics, differential kinematics, and singularities for parallel mechanisms.
Loop constraint view
g(theta, x) = 0Serial arms map joint values forward. Closed chains must also keep every loop closed, so actuator and platform velocities are tied by constraints.
Detailed map
The chapter uses planar and spatial parallel robots to show why closed-chain kinematics can invert the difficulty pattern of serial arms: inverse kinematics may be straightforward while forward kinematics can be hard.
Section 7.1.1 intuition
Move the triangular platform. The inverse kinematics are the three leg lengths from fixed base anchors to moving platform anchors. The same geometry is the source of the loop constraints.
Section 7.2
Differentiate the loop lengths. Each leg rate is the projection of the moving platform anchor velocity onto that leg direction.
Section 7.1.2
A Stewart-Gough platform has six extensible legs between a base and a moving platform. The inverse kinematics are leg lengths; forward kinematics asks which platform pose those six lengths imply.
Three platform coordinates: x, y, phi. Three leg lengths constrain them.
Six platform coordinates. Six leg lengths constrain spatial pose.
Inverse length calculation is often easy; forward pose recovery can have multiple solutions.
Section 7.3
Closed-chain singularities can create uncontrollable platform motions or actuator motions that do not move the platform. The exact type depends on which constraint Jacobian loses rank.
The actuators cannot create some platform velocity direction.
The closed chain may gain an uncontrolled motion even with locked actuators.
Parallel robots can be stiff and accurate, but singularity avoidance is central.
Active recall
These checks keep closed-chain kinematics distinct from the open-chain story.
Chapter 8
Dynamics asks how torques, forces, inertia, gravity, velocity coupling, motors, gears, and friction produce robot motion. Chapter 8 gives both energy-based and Newton-Euler views of the same open-chain physics.
Closed-form dynamics
tau = M(theta) thetaddot + c + gThe mass matrix changes with configuration. Velocity terms, gravity, motor effects, and friction add the real effort needed at the joints.
Detailed map
The chapter moves from basic energy ideas to recursive inverse dynamics and practical actuator details. The interactives below keep the core terms visible.
Sections 8.1 and 8.4
Move the two-link arm and choose desired accelerations. The simplified model shows how configuration-dependent inertia, velocity coupling, gravity, and friction contribute to joint torque.
Section 8.5
Inverse dynamics asks for torque from desired acceleration. Forward dynamics asks what acceleration results from applied torque.
Given theta, thetadot, thetaddot, compute tau.
Given theta, thetadot, tau, solve M(theta) thetaddot = tau - c - g.
Compute acceleration, integrate velocity, then integrate configuration.
Section 8.3
The algorithm propagates velocities and accelerations outward from the base, then propagates forces and torques inward from the end-effector. It is the efficient workhorse for open-chain inverse dynamics.
Compute link twists and accelerations from base to tip.
Use spatial inertia to get each link's required wrench.
Accumulate transmitted forces from tip back to base.
Project each wrench onto the joint screw axis.
Section 8.9
Real robots do not apply ideal torques directly. Motors, gear ratios, rotor inertias, Coulomb friction, viscous friction, and flexibility affect the effort that appears at the joint.
Other Chapter 8 pieces
Once joint-space dynamics are available, the book extends them to task-space apparent inertia, constrained motion, and robot-description files.
Transforms joint-space inertia through the Jacobian to reason about endpoint acceleration and force.
Adds constraint forces when contacts or closed-chain constraints restrict motion.
URDF can include inertial frames, masses, inertia matrices, joint limits, and transmissions.
Active recall
These checks keep the dynamics terms and algorithms distinct.
Chapter 9
Trajectory generation turns a geometric path into a time-indexed motion. Chapter 9 explains straight-line paths, time scalings, polynomial via-point trajectories, and the phase-plane idea behind time-optimal timing.
Path plus timing
theta(t) = theta_start + s(t)(theta_end - theta_start)The path says where to go. The time scaling s(t) says how quickly to move along it while respecting velocity and acceleration constraints.
Detailed map
The chapter separates geometry from timing. That simple separation lets robots create smooth motion from sparse waypoints.
Sections 9.2.1 and 9.2.2
Choose a duration and time-scaling type. The plot shows position fraction s(t), velocity sdot(t), and acceleration sddot(t).
Section 9.3
Sparse via points shape a trajectory. The app draws a smooth interpolation through the points and highlights why velocity continuity matters.
Section 9.4
Time-optimal time scaling follows acceleration limits in a phase plane. The useful intuition: push acceleration as hard as allowed, switch at the right curve, then brake as hard as allowed to arrive exactly at rest.
Active recall
These checks separate path geometry, timing, via points, and time-optimal scaling.
Chapter 10
Motion planning finds a collision-free route through configuration space. Chapter 10 surveys complete planners, grid methods, sampling methods, potential fields, nonlinear optimization, and smoothing.
Planning question
Find q(s) in Cfree from qstart to qgoalObstacles in the workspace become forbidden regions in C-space. Planners search the remaining free space for a connected route.
Detailed map
The chapter moves from problem definitions and C-space obstacles to graph search, grids, sampling, potential fields, optimization, and smoothing.
Sections 10.2 through 10.4
Choose a planner mode. The grid is a tiny C-space: blocked cells are obstacles, and the planner searches graph edges through free cells.
Section 10.5
RRTs grow trees from existing nodes toward samples. PRMs sample many milestones, connect nearby collision-free neighbors, and then search the roadmap.
Section 10.6
Attractive potential pulls toward the goal; repulsive potential pushes away from obstacles. It is intuitive and useful, but local minima are the classic failure mode.
Gradient view
qdot follows negative potential gradientNavigation functions are designed to avoid unwanted local minima.
Sections 10.7 and 10.8
Search often gives a jagged route. Smoothing shortcuts and nonlinear optimization can shorten and regularize it while keeping collision constraints.
Try replacing path subsections with direct collision-free segments.
Optimize path quality while penalizing or constraining collisions.
Completeness, optimality, speed, and implementation complexity rarely all improve together.
Active recall
These checks distinguish grid search, sampling, potential fields, and smoothing.