Modern Robotics study path

Modern Robotics Study Lab

Reference: Lynch and Park, Modern Robotics, May 2017 preprint, Chapter 1.

Before equations, learn the shape of the subject.

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 roadmap

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?

Links, joints, actuators, sensors

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

Configuration space, task space, workspace

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.

Configuration space

Task/workspace view

The recurring robotics loop

From task to torques

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

Chapter 1 checkpoint

Answer these before moving to Chapter 2. They test the map, not formulas.

Chapter 2

Configuration Space

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 fi

Use 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

What Chapter 2 covers

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

Configuration and degrees of freedom

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

Joints remove motion

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.

JointFreedom fiPlanar constraintsSpatial constraints

Mechanism mobility

Grubler calculator

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 dof

Dimension is not shape

Topology explorer

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

Holonomic cuts space; nonholonomic limits velocity

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 versus workspace

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

Chapter 2 checkpoint

These are the questions to own before Chapter 3 starts using matrices.

Chapter 3

Rigid-Body Motions

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 -> wrenches

Rotations describe orientation. Homogeneous transforms describe full pose. Twists describe rigid-body velocity. Wrenches describe forces and moments.

Detailed map

What Chapter 3 is really teaching

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

Rigid-body motions in the plane

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

Rotation matrices and exponential coordinates

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 bracket operator turns vectors into cross products

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

Homogeneous transformation matrices

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

Twists and screw motions

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

Wrenches are dual to twists

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 v

Active recall

Chapter 3 checkpoint

Own these distinctions before moving to product-of-exponentials kinematics.

Chapter 4

Forward Kinematics

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 M

Space 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

What Chapter 4 covers

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

Planar 3R forward kinematics

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

A revolute joint becomes S = (omega, -omega x q)

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

Product of exponentials, step by step

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

Same pose, different screw-axis coordinates

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.

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.

Body form

T(theta) = M e^[B1]theta1 e^[B2]theta2 ... e^[Bn]thetan

Axes Bi are expressed in the end-effector frame at home.

Relationship

Bi = [Ad M^-1] Si

The adjoint from Chapter 3 converts the coordinate description of the same screw axis.

Section 4.2

URDF describes robot links and joints

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

Chapter 4 checkpoint

These checks make sure the PoE formula is a usable recipe, not just a symbol.

Chapter 5

Velocity Kinematics and Statics

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) thetadot

Statics uses the dual map: tau = J(theta)^T F.

Detailed map

What Chapter 5 covers

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

Jacobian velocity lab

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

Same twist, different coordinates

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.

Space Jacobian Js

Columns are joint screw axes transformed forward by earlier joint motions.

Body Jacobian Jb

Columns are body screw axes transformed backward by later joint motions.

Relationship

Js(theta) = [Ad Tsb(theta)] Jb(theta)

Section 5.2

Statics: endpoint wrench to joint torques

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

Singularities and manipulability

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

Chapter 5 checkpoint

These checks keep the Jacobian connected to motion, force, and singularity intuition.

Chapter 6

Inverse Kinematics

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) = Xd

Solutions may be multiple, unique, nonexistent, or sensitive near singularities. Numerical IK iteratively reduces pose error.

Detailed map

What Chapter 6 covers

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

A target can have elbow-up, elbow-down, or no solution

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 as Newton-Raphson correction

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

Inverse velocity kinematics is the linear subproblem

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.

Square, full rank

thetadot = J^-1 V

Redundant

Use a pseudoinverse plus optional null-space motion.

Near singular

Corrections can explode, so damping or step limits become practical.

Section 6.4

Closed loops add constraint equations

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 together

You are no longer only steering an open chain. Passive joints and loop constraints must remain compatible.

Active recall

Chapter 6 checkpoint

These checks separate FK, IK, inverse velocity IK, and numerical iteration.

Chapter 7

Kinematics of Closed Chains

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) = 0

Serial arms map joint values forward. Closed chains must also keep every loop closed, so actuator and platform velocities are tied by constraints.

Detailed map

What Chapter 7 covers

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

Planar parallel platform lab

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

Differential kinematics: platform velocity to actuator rates

Differentiate the loop lengths. Each leg rate is the projection of the moving platform anchor velocity onto that leg direction.

Section 7.1.2

Stewart-Gough platform generalizes the same idea

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.

Planar parallel

Three platform coordinates: x, y, phi. Three leg lengths constrain them.

Stewart-Gough

Six platform coordinates. Six leg lengths constrain spatial pose.

Common pattern

Inverse length calculation is often easy; forward pose recovery can have multiple solutions.

Section 7.3

Closed-chain singularities

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.

Serial-like singularity

The actuators cannot create some platform velocity direction.

Constraint singularity

The closed chain may gain an uncontrolled motion even with locked actuators.

Design consequence

Parallel robots can be stiff and accurate, but singularity avoidance is central.

Active recall

Chapter 7 checkpoint

These checks keep closed-chain kinematics distinct from the open-chain story.

Chapter 8

Dynamics of Open Chains

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 + g

The mass matrix changes with configuration. Velocity terms, gravity, motor effects, and friction add the real effort needed at the joints.

Detailed map

What Chapter 8 covers

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

Mass matrix and inverse dynamics lab

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

Forward dynamics reverses inverse dynamics

Inverse dynamics asks for torque from desired acceleration. Forward dynamics asks what acceleration results from applied torque.

Inverse dynamics

Given theta, thetadot, thetaddot, compute tau.

Forward dynamics

Given theta, thetadot, tau, solve M(theta) thetaddot = tau - c - g.

Simulation loop

Compute acceleration, integrate velocity, then integrate configuration.

Section 8.3

Newton-Euler inverse dynamics is recursive bookkeeping

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.

1

Outward pass

Compute link twists and accelerations from base to tip.

2

Link wrench

Use spatial inertia to get each link's required wrench.

3

Inward pass

Accumulate transmitted forces from tip back to base.

4

Joint torque

Project each wrench onto the joint screw axis.

Section 8.9

Motors, gearing, apparent inertia, and friction

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

Task-space, constrained, and URDF dynamics

Once joint-space dynamics are available, the book extends them to task-space apparent inertia, constrained motion, and robot-description files.

Task-space dynamics

Transforms joint-space inertia through the Jacobian to reason about endpoint acceleration and force.

Constrained dynamics

Adds constraint forces when contacts or closed-chain constraints restrict motion.

Dynamics in URDF

URDF can include inertial frames, masses, inertia matrices, joint limits, and transmissions.

Active recall

Chapter 8 checkpoint

These checks keep the dynamics terms and algorithms distinct.

Chapter 9

Trajectory Generation

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

What Chapter 9 covers

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

Straight-line path with cubic or quintic timing

Choose a duration and time-scaling type. The plot shows position fraction s(t), velocity sdot(t), and acceleration sddot(t).

Section 9.3

Via points create piecewise polynomial motion

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 timing lives in the s, sdot phase plane

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

Chapter 9 checkpoint

These checks separate path geometry, timing, via points, and time-optimal scaling.

Chapter 10

Motion Planning

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 qgoal

Obstacles in the workspace become forbidden regions in C-space. Planners search the remaining free space for a connected route.

Detailed map

What Chapter 10 covers

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

Grid search through C-space obstacles

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

Sampling planners build graphs in free space

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

Potential fields can guide or trap motion

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 gradient

Navigation functions are designed to avoid unwanted local minima.

Sections 10.7 and 10.8

Optimization and smoothing improve rough paths

Search often gives a jagged route. Smoothing shortcuts and nonlinear optimization can shorten and regularize it while keeping collision constraints.

Shortcut smoothing

Try replacing path subsections with direct collision-free segments.

Nonlinear optimization

Optimize path quality while penalizing or constraining collisions.

Planner property tradeoffs

Completeness, optimality, speed, and implementation complexity rarely all improve together.

Active recall

Chapter 10 checkpoint

These checks distinguish grid search, sampling, potential fields, and smoothing.