ME3120 · Dynamic Modelling
Theme 4 · Robot geometry

Velocity kinematics & the Jacobian

We know where each link is. The energy needs how fast it moves — so we differentiate the centre-of-mass positions, and a clean matrix pattern appears.

Source: course notes, Week 3 worked example 3.

Before you start

What you need first

  • The 2-link FK — centre-of-mass positions (Topic 18).
  • Velocity from position — differentiate, square, add (Topic 11).
  • \(T=\tfrac12 mv^2\) — why we want \(v^2\).

What you'll be able to do

  • Differentiate a link's CoM position to get its speed.
  • Write \(v_{c2}^2\) for the 2-link arm (with the \(\cos\theta_2\) cross term).
  • Recognise the Jacobian pattern \( \dot{\mathbf p}=J(q)\dot q\).

From position to velocity

Kinetic energy needs the speed of each centre of mass:

$$T=\tfrac12 m\, v^2, \qquad v^2=\dot x_c^{\,2}+\dot y_c^{\,2}$$
So we differentiate each centre-of-mass position in time — the same "position → velocity" move we used for the pendulum bob (Topic 11), now on the arm.

Link 1 — the easy one

Link 1's centre of mass is at \(x_{c1}=\ell_1\cos\theta_1,\ y_{c1}=\ell_1\sin\theta_1\) — only \(\theta_1\) appears. Differentiate and square:

$$\dot x_{c1}=-\ell_1\sin\theta_1\,\dot\theta_1, \quad \dot y_{c1}=\ell_1\cos\theta_1\,\dot\theta_1 \;\Longrightarrow\; v_{c1}^2=\ell_1^{2}\dot\theta_1^{2}$$
Exactly the pendulum-bob result: a point at radius \(\ell_1\) turning at \(\dot\theta_1\) moves at \(v_{c1}=\ell_1\dot\theta_1\).

The meaty one

Link 2 — two angles change at once

Link 2's CoM depends on both angles, so both \(\dot\theta_1\) and \(\dot\theta_2\) appear. Start from the FK position and differentiate (chain rule, with \(\frac{d}{dt}(\theta_1+\theta_2)=\dot\theta_1+\dot\theta_2\)):

1CoM-2 position (from Topic 18):
$$x_{c2}=L_1\cos\theta_1+\ell_2\cos(\theta_1+\theta_2)$$
2Differentiate in time:
$$\dot x_{c2}=-L_1\sin\theta_1\,\dot\theta_1-\ell_2\sin(\theta_1+\theta_2)(\dot\theta_1+\dot\theta_2)$$$$\dot y_{c2}=\ \ L_1\cos\theta_1\,\dot\theta_1+\ell_2\cos(\theta_1+\theta_2)(\dot\theta_1+\dot\theta_2)$$
v_c2 ℓ₂ L₁
The speed \(v_{c2}\) of link 2's centre of mass — what \(T=\tfrac12 m_2 v_{c2}^2\) needs.
📄 Full line-by-line derivation (printable PDF) — both centres of mass, the square-and-add, and the \(\cos\theta_2\) simplification. A pen-and-paper companion; this page already has the steps.

Square and add: the result

Squaring \(\dot x_{c2}\) and \(\dot y_{c2}\) and adding, the cross term simplifies with \(\cos\theta_1\cos(\theta_1+\theta_2)+\sin\theta_1\sin(\theta_1+\theta_2)=\cos\theta_2\):

$$v_{c2}^2=L_1^{2}\dot\theta_1^{2}+\ell_2^{2}(\dot\theta_1+\dot\theta_2)^2+2L_1\ell_2\cos\theta_2\,\dot\theta_1(\dot\theta_1+\dot\theta_2)$$
where:
SymbolMeaningSI unit
\(v_{c2}\)speed of link 2's centre of massm/s
\(L_1\)length of link 1m
\(\ell_2\)distance to link 2's CoMm
\(\dot\theta_1,\dot\theta_2\)joint speedsrad/s
🔭 Looking ahead: this \(v_{c2}^2\) is exactly the kinetic-energy term next theme drops into \(T=\tfrac12 m_2 v_{c2}^2\) — and the \(2L_1\ell_2\cos\theta_2\) term becomes the off-diagonal coupling of the mass matrix \(M(q)\).

The pattern: velocity = (matrix) × (joint speeds)

Every velocity came out as the joint speeds \(\dot\theta_1,\dot\theta_2\) multiplied by geometry. In matrix form:

$$\begin{bmatrix}\dot x_c\\ \dot y_c\end{bmatrix}=J(q)\begin{bmatrix}\dot\theta_1\\ \dot\theta_2\end{bmatrix}$$
The matrix \(J(q)\) is the Jacobian — it maps joint speeds to point speeds, and it depends on the pose \(q\). You do not need its full theory now; just notice the clean structure: point velocity is linear in the joint speeds.

How this plugs into the energy method

$$q \;\to\; \text{CoM positions} \;\to\; \text{CoM velocities} \;\to\; T \text{ and } V$$
Theme 4 hands Theme 5 exactly what it needs: where each mass is, and how fast it moves. Then Lagrange's equation finishes the job — and the robot equation \(M(q)\ddot q + C(q,\dot q)\dot q + G(q)=\tau\) falls out.
📐 Worked example

Evaluate \(v_{c2}^2\) at a pose

For \(L_1=1\ \text{m}\), \(\ell_2=0.5\ \text{m}\), at the instant \(\theta_2=60^\circ\), \(\dot\theta_1=2\ \text{rad/s}\), \(\dot\theta_2=1\ \text{rad/s}\), find \(v_{c2}^2\) (\(\cos 60^\circ=0.5\)).

1Evaluate the three terms (\(\dot\theta_1+\dot\theta_2=3\)):
$$L_1^2\dot\theta_1^2=1(4)=4, \quad \ell_2^2(\dot\theta_1+\dot\theta_2)^2=0.25(9)=2.25$$
2The cross term \(2L_1\ell_2\cos\theta_2\,\dot\theta_1(\dot\theta_1+\dot\theta_2)\):
$$2(1)(0.5)(0.5)(2)(3)=3$$
3Add them up:
$$v_{c2}^2=4+2.25+3=9.25\ \text{m}^2/\text{s}^2 \quad(v_{c2}\approx 3.04\ \text{m/s})$$
The cross term is non-zero because \(\theta_2\ne 90^\circ\) — the two joints' motions reinforce each other. That coupling is the heart of the robot's mass matrix.

✏️ Try it yourself

For \(L_1=2\ \text{m}\), \(\ell_2=1\ \text{m}\), at \(\theta_2=90^\circ\), \(\dot\theta_1=1\ \text{rad/s}\), \(\dot\theta_2=1\ \text{rad/s}\), find \(v_{c2}^2\) (\(\cos 90^\circ=0\)).

Terms. \(L_1^2\dot\theta_1^2=4(1)=4\); \(\ell_2^2(\dot\theta_1+\dot\theta_2)^2=1(4)=4\) Cross term. \(2(2)(1)\cos 90^\circ(\dots)=0\) — it vanishes because \(\cos 90^\circ=0\) Total. \(v_{c2}^2=4+4+0=8\ \text{m}^2/\text{s}^2\) (\(v_{c2}\approx 2.83\ \text{m/s}\)). At \(\theta_2=90^\circ\) the coupling term disappears.

Common mistakes to avoid

MistakeFix
Differentiating only \(\theta_1\)Both \(\theta_1\) and \(\theta_2\) change in time — link 2's CoM needs both.
Dropping the \((\dot\theta_1+\dot\theta_2)\) factorDifferentiating \(\sin(\theta_1+\theta_2)\) brings down \(\dot\theta_1+\dot\theta_2\) by the chain rule.
Forgetting the cross term in \(v_{c2}^2\)Squaring a sum gives a middle term: \(2L_1\ell_2\cos\theta_2\,\dot\theta_1(\dot\theta_1+\dot\theta_2)\).
Using \(L_2\) instead of \(\ell_2\) for the CoMThe mass sits at \(\ell_2\) along link 2, not at its tip \(L_2\).

Recap — the whole topic on one screen

$$v_{c2}^2=L_1^{2}\dot\theta_1^{2}+\ell_2^{2}(\dot\theta_1+\dot\theta_2)^2+2L_1\ell_2\cos\theta_2\,\dot\theta_1(\dot\theta_1+\dot\theta_2)$$
IdeaWhat you own now
Position → velocityDifferentiate each CoM position in time
Link 1\(v_{c1}^2=\ell_1^2\dot\theta_1^2\) — like the pendulum bob
Link 2\(v_{c2}^2\) with the \(\cos\theta_2\) coupling term
The Jacobian\(\dot{\mathbf p}=J(q)\dot q\) — speeds are linear in joint speeds

Next topic

DH parameters & 3-D (enrichment)

For 2–3 link arms, direct geometry is fastest. For 6-joint arms there is a systematic bookkeeping recipe — Denavit–Hartenberg parameters — and the same ideas extend to 3-D. A short "know it exists" tour closes the theme.

→ DH parameters & 3-D