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.
Chapter 11
Robot control closes the loop between desired motion and physical effort. Chapter 11 ties together feedback error dynamics, velocity commands, torque commands, force control, hybrid motion-force control, and impedance.
Control pattern
command = feedforward + feedback(error)Feedforward uses the planned trajectory and model. Feedback reacts to tracking error, disturbances, contact, and model mismatch.
Detailed map
Keep this as the chapter checklist: control-system structure, linear error dynamics, velocity-input control, torque-input control, task-space control, force control, hybrid motion-force control, impedance/admittance, low-level torque loops, and practical limitations.
Sections 11.2 and 11.3
A velocity-controlled joint receives a commanded velocity. With pure feedforward, errors can persist. With P or PI feedback, the controller commands velocity from position error and possibly accumulated error.
Section 11.4
Torque-input robots let the controller request effort directly. PD and PID shape second- and third-order error dynamics; computed torque adds inverse dynamics so each joint behaves more like a simple decoupled system.
Sections 11.5 through 11.8
In contact, pure position control can fight the environment. Force control regulates wrench components; hybrid control separates constrained force directions from free motion directions; impedance and admittance specify how motion and force should relate.
Controller selection
Chapter 11 is less about memorizing acronyms and more about matching the controller to the plant input, the model quality, and the task constraint.
Use P, PI, or feedforward plus PI when the low-level hardware accepts velocity commands and tracks them internally.
Use PID, gravity compensation, inverse dynamics, or computed torque when the robot exposes joint effort commands.
Use twists, Jacobians, and adjoint transforms to regulate the end-effector pose rather than only joint angles.
Use force, hybrid, impedance, or admittance control when the environment imposes constraints or desired interaction forces.
Active recall
These checks separate feedforward, feedback, velocity control, torque control, force control, and impedance.
Chapter 12
Chapter 12 moves the focus from the robot alone to the object being manipulated. Contacts constrain object twists, friction limits contact forces, and good grasps use those constraints to immobilize, support, push, roll, or carry objects.
Contact duality
feasible motion and feasible wrench are dual picturesContact normals cut away object motions. Contact forces and friction cones describe which external wrenches the grasp can resist.
Detailed map
The chapter builds from first-order contact kinematics to friction cones, form closure, force closure, motion-force duality, and manipulation strategies such as grasping, pushing, rolling, and fixturing.
Section 12.1
At first order, a contact normal defines an impenetrability constraint. The object can break contact, slide along the tangent, or roll/stick with no relative velocity at the contact point.
Section 12.2
Coulomb friction says the tangential force cannot exceed mu times the normal force. In planar problems this creates a two-edge cone that can be converted into wrench rays about the object.
Sections 12.1.7 and 12.2.3
Form closure is about whether contact normals eliminate all object twists. Force closure is about whether available contact wrenches positively span the wrench space around the origin.
Section 12.3
A manipulation plan is often a sequence of contact modes: grasp, push, roll, slide, release, or fixture. The right model depends on whether the object motion or contact force is the active constraint.
Use contacts to hold the object against disturbance wrenches while the arm moves it.
Use stationary contacts to remove object freedoms during assembly, inspection, or machining.
Exploit frictional contact to move an object without fully enclosing it.
Change contact modes deliberately when the current grasp cannot produce the next desired motion.
Active recall
These checks separate contact kinematics, friction cones, form closure, force closure, and manipulation planning.
Chapter 13
Chapter 13 studies robots whose bases move through the plane. Some bases are omnidirectional, so any planar chassis velocity can be commanded. Others are nonholonomic: they cannot move sideways instantaneously, yet can still reach sideways configurations by maneuvering.
Two model shapes
omni: u = H Vb; nonholonomic: qdot = G(q)uOmni bases map body twist directly to wheel speeds. Nonholonomic bases obey rolling constraints and need planned maneuvers for some motions.
Detailed map
The chapter separates omnidirectional and nonholonomic bases, then covers wheel-speed models, planning, feedback control, controllability, odometry, and mobile manipulation.
Sections 13.1 and 13.2
Mecanum and omniwheel bases allow sideways chassis motion because their passive rollers permit free sliding in one direction. Move the desired body twist and watch the four wheel speeds change.
Section 13.3
A unicycle or differential-drive base has controls for forward speed and angular speed. It cannot command body-frame sideways velocity directly, but Lie-bracket maneuvers create a small net sideways displacement.
Section 13.4
Wheel encoders estimate motion by integrating the model. Small radius, baseline, slip, or encoder errors accumulate, so odometry is useful but rarely sufficient without external sensing.
Section 13.5
A mobile manipulator combines chassis motion with arm motion. The base changes the arm's reachable workspace, while the arm gives dexterity near the object. Planning and control must coordinate both.
The full state includes planar base pose, arm joints, and often wheel angles for odometry.
The task-space twist combines the base Jacobian and the manipulator Jacobian.
The base handles gross positioning; the arm handles accurate local manipulation.
Base odometry and arm encoders need feedback from vision, lidar, force, or localization to stay useful.
Active recall
These checks separate omni models, nonholonomic constraints, controllability, odometry, and mobile manipulation.
Appendix A
Appendix A is the book's quick-reference sheet. It gathers the equations that keep reappearing: degrees of freedom, SO(3), SE(3), twists, wrenches, product of exponentials, Jacobians, dynamics, trajectories, control, contact, and wheeled-base models.
How to use it
choose the object, then choose the mapMost robotics formulas answer one of three questions: what is the state, how does it move, or what effort/contact/control produces that motion?
Formula index
Use these cards as the master checklist after studying the chapters. Each card points to a repeated mathematical object or equation family.
Interactive reference
Pick a formula family. The explorer shows the object, the map it belongs to, and the practical question it answers while the diagram highlights the same part of the robotics pipeline.
Study patterns
The appendix is easier to remember if you recognize the repeated patterns instead of treating every equation as isolated.
Forward kinematics maps joint values to T, usually with products of exponentials.
Jacobians map generalized speeds to spatial or body twists.
Transpose Jacobians map endpoint wrenches back to joint torques.
Dynamics maps acceleration, velocity, gravity, friction, and loads to required torque.
Feedback laws turn pose, velocity, force, or task-space error into commanded velocity or torque.
Contact and wheel constraints remove instantaneous motions, while Lie brackets can recover reachability.
Active recall
These checks test whether you know which formula family answers which robotics question.
Appendix B
Appendix B compares common orientation coordinates beyond axis-angle: ZYX Euler angles, XYZ roll-pitch-yaw angles, unit quaternions, and Cayley-Rodrigues parameters. Each represents the same SO(3) rotation with different tradeoffs.
Main warning
three coordinates are compact, but singularities are unavoidableQuaternions avoid local singularities by using four constrained numbers. Euler-style coordinates are intuitive but can hit gimbal-lock cases.
Representation map
This appendix is a conversion guide: it explains how several coordinate choices describe the same rotation matrix and where each choice becomes awkward.
Interactive conversion
Move the three angles and choose a representation. The underlying rotation matrix is the same for ZYX Euler angles and XYZ roll-pitch-yaw, but the physical interpretation of the ordered rotations is different.
Choosing coordinates
No representation is best everywhere. The right choice depends on whether you need intuitive angles, smooth interpolation, compact local coordinates, or simple composition.
Good for yaw-pitch-roll-like reasoning, but beta near +/-90 degrees creates a one-parameter family of angle solutions.
Uses fixed-frame rotations; the same matrix product can be interpreted differently from body-frame Euler rotations.
Four numbers on the unit 3-sphere avoid local singularities, but q and -q represent the same rotation.
Compact three-parameter local coordinates with simple composition, but not valid for rotations with trace equal to -1.
Active recall
These checks test the difference between Euler-style angles, quaternions, and Cayley-Rodrigues parameters.
Appendix C
Appendix C explains the classic D-H convention for assigning link frames and computing open-chain forward kinematics from four parameters per joint: link twist, link length, link offset, and joint angle.
Link transform
T(i-1,i) = Rx(alpha) Tx(a) Tz(d) Rz(phi)The four-parameter shortcut works because the link frames are not arbitrary: their axes are assigned by a strict geometric convention.
Frame-assignment map
This appendix is a practical recipe: choose link frames, fill a D-H table, multiply adjacent-link transforms, and compare the convention with PoE.
Interactive D-H row
Adjust the four D-H parameters for a single adjacent-link transform. The matrix is the product of a rotation about x, translation along x, translation along z, and rotation about z.
Special cases
D-H tables are compact only because the frame assignment rules remove freedoms. Intersecting axes, parallel axes, prismatic joints, and arbitrary end frames all need care.
The mutual perpendicular has zero length, so set a = 0 and choose an x-axis perpendicular to the plane of the joint axes.
Many mutual perpendiculars exist; choose one that is physically intuitive and creates zeros in the table.
The z-axis follows the positive translation direction; d becomes the joint variable and phi is constant.
Choose frames that make the task natural and simplify the table, but remember arbitrary frames may not admit D-H parameters.
Active recall
These checks test D-H frame assignment, parameter meaning, special cases, and relation to PoE.
Appendix D
Appendix D gives the optimization facts used throughout robotics: gradients identify stationary points, least squares leads to normal equations, and equality constraints introduce Lagrange multipliers.
Equality-constrained stationarity
grad f(x*) + (dg/dx)^T lambda* = 0, g(x*) = 0At a constrained local minimum, the objective gradient is balanced by a weighted combination of constraint normals.
Optimization map
This appendix is short but important: it connects calculus, least squares, rank assumptions, regular constraints, and quadratic programs.
Interactive constraint lab
Minimize a circular bowl f(x,y) = (x - cx)^2 + (y - cy)^2 while staying on the equality constraint g(x,y) = x^2 + y^2 - r^2 = 0. The best feasible point is where grad f is parallel to the constraint normal.
Robotics pattern
Many robotics problems are "make an error small, while obeying constraints." Appendix D gives the algebraic skeleton behind those solvers.
When Ax = b has no exact solution, minimize 0.5 ||Ax - b||^2 and solve A^T A x = A^T b when A has full column rank.
Numerical IK often solves a least-squares correction, then adds constraints for joint limits, contacts, or task priorities.
Contact constraints introduce unknown multipliers that act like forces enforcing no-slip or no-penetration conditions.
For 0.5 x^T Q x + c^T x subject to Ax = b, stationarity and feasibility form a coupled linear system in x and lambda.
Active recall
These checks test gradients, least squares, regular constraints, multipliers, and equality-constrained quadratic programs.