Lesson 03 · Book chapter pointer
Kinematics
Read the chapter source: kinematics.tex — do not treat this note as the book.
Learning goals
- Write forward kinematics as a composition of known joint transforms.
- State what inverse kinematics asks and why it can have zero, one, or many answers.
- Use the unicycle / differential-drive model and integrate a short path.
- Explain the Jacobian as a local map from joint velocity to task velocity.
- Know when a singularity is a math event and when it is a mechanical one.
Teaching note
Kinematics is geometry with time turned down. No masses, no motors — only the question: if the joints sit here, where is the thing we care about? Forward kinematics is the friendly direction. You know the joint angles or the wheel ticks, and you chain transforms until a gripper tip or a robot center appears in the world frame. It is bookkeeping, but bookkeeping that must be boringly correct. One sign error in a rotation and every later controller looks haunted.
Inverse kinematics asks the rude question: I want the hand here, what should the joints do? There may be no solution (the point is outside the workspace), one solution, or a family of them (redundant arms, or a mobile base that can spin in place). Numerical IK is an iterative guess; analytic IK is a closed form you derive once for a specific geometry. Do not sell students a single IK library as if geometry had been repealed.
Mobile robots get their own dialect. The unicycle state \((x,y,\theta)\) driven by \((v,\omega)\) is the model you should be able to write asleep. A differential-drive robot is the same model with \(v=(v_R+v_L)/2\) and \(\omega=(v_R-v_L)/L\). Equal wheel speeds go straight. Opposite speeds turn in place. Integrate with a small timestep and you will see why discrete odometry drifts even with perfect wheels — you are approximating a curve by chords.
The Jacobian is the linearization of forward kinematics. If \(\dot{p}=J(q)\dot{q}\), then near a configuration you can ask which joint rates produce a desired tip velocity. When \(J\) loses rank you have a singularity: some task directions become expensive or impossible. On a mobile robot, “I want to slide sideways right now” is exactly that kind of refusal. In the studio, push the left and right sliders and watch the body frame vote with its wheels.
Teach this chapter with pencil first. Pick a two-link arm, write \(x=\ell_1\cos q_1+\ell_2\cos(q_1+q_2)\), differentiate, and only then open a simulator. Students who meet Jacobians as an API never believe they are just derivatives. Then send them to the book chapter — it spends the pages this note is not allowed to copy on coordinate systems, forward and inverse detail, and differential kinematics.
Unicycle: \(\dot{x}=v\cos\theta,\quad \dot{y}=v\sin\theta,\quad \dot{\theta}=\omega\).