ME 115(a): Solution to Homework #4

Problem 1: (Problem 11(a,b,d,e) in Chapter 2 of MLS).

Part (a): Recall that the matrix exponential of a twist, ξ̂, is:

e^{ϕξ̂} = I + \frac{ϕ}{1!}ξ̂+ \frac{ϕ^{2}}{2!} ξ̂^{2} + \frac{ϕ^{3}}{3!} ξ̂^{3} + ⋯

First, let’s consider the case of ξ = (v, ω), with ω = 0. If:

ξ̂ = [\begin{matrix}0 & 0 & v_{x} \\ 0 & 0 & v_{y} \\ 0 & 0 & 0 \end{matrix}]

then ξ̂^{2} = 0. Thus

e^{ϕξ̂} = [\begin{matrix}1 & 0 & ϕv_{x} \\ 0 & 1 & ϕv_{y} \\ 0 & 0 & 1 \end{matrix}] = [\begin{matrix}I & v⃗ϕ \\ 0^{t} & 1 \end{matrix}]

To compute the exponential for the more general case in which ω ≠ 0, let us assume that ||ω|| = 1. In this case, note that ω̂^{2} = −I, where I is the 2 × 2 identity matrix. It is easiest if we choose a different coordinate system in which to perform the calculations. Let

ξ̂ = [\begin{matrix}0 & −ω & v_{x} \\ ω & 0 & v_{y} \\ 0 & 0 & 0 \end{matrix}] = [\begin{matrix}ω̂ & v⃗ \\ 0^{T} & 0 \end{matrix}]

Let

g = [\begin{matrix}I & ω̂v⃗ \\ 0^{T} & 1 \end{matrix}]

Let is define a new twist, ξ̂′:

ξ̂′ = g^{−1}ξ̂g

= [\begin{matrix}I & −ω̂v⃗ \\ 0 & 1 \end{matrix}] [\begin{matrix}ω̂ & v⃗ \\ 0 & 0 \end{matrix}] [\begin{matrix}I & ω̂v⃗ \\ 0 & 1 \end{matrix}]

= [\begin{matrix}ω̂ & (ω̂^{2}v⃗ + v⃗) \\ 0 & 0 \end{matrix}] = [\begin{matrix}ω̂ & 0 \\ 0 & 0 \end{matrix}]

where we made use of the identity ω̂^{2} = −I. That is, we have chosen a coordinate system in which ξ̂′ corresponds to a pure rotation. Thus,

e^{ϕξ̂′} = [\begin{matrix}e^{ϕω̂} & 0 \\ 0 & 1 \end{matrix}] .

Using Eq. (2.35) on page 42 of the MLS text:

e^{ϕξ̂} = ge^{ϕξ̂′}g^{−1} = [\begin{matrix}e^{ϕω̂} & (I − e^{ϕω̂})ω̂v⃗ϕ \\ 0 & 1 \end{matrix}]

which is clearly an element of SE(2).

Part(b): It is easy to see from part (a) that the twist ξ = (v_{x}, v_{y}, 0)^{T} maps directly to the planar translation (v_{x}, v_{y}).

The twist corresponding to pure rotation about a point q⃗ = (q_{x}, q_{y}) can be thought of as the Ad-transformation of a twist, ξ′ = (0, 0, ω), which is pure rotation, by a transformation, g, which is pure translation by q⃗:

ξ = Ad_{h}ξ′ = (hξ̂′h^{−1})^{∨}  (1)

where

h = [\begin{matrix}I & q⃗ \\ 0 & 1 \end{matrix}] and ξ̂′ = [\begin{matrix}ω̂ & 0 \\ 0^{T} & 0 \end{matrix}] .

Expanding Eq. (1) gives:

ξ = (hξ̂′h^{−1})^{∨} = [\begin{matrix}ω̂ & −ω̂q⃗ \\ 0^{T} & 0 \end{matrix}]^{∨} = [\begin{matrix}q_{y} \\ −q_{x} \\ 1 \end{matrix}]

assuming ω = 1.

Part (d): Let

g = [\begin{matrix}A & p⃗ \\ 0^{T} & 1 \end{matrix}]

where A ∈ SO(2) and p⃗ ∈ R^{2}. Then direct calculation shows that ġg^{−1} and g^{−1}ġ are twists. The spatial and body velocities have definitions analogous to those for 3-dimensional rigid bodies

Part (e): Let V̂^{b} denote the planar body velocity:

V̂^{b} = [\begin{matrix}ω̂^{b} & v^{b} \\ 0^{T} & 0 \end{matrix}]

where ω̂^{b} ∈ so(2), v^{b} ∈ R^{2}. Then the planar spatial velocity is:

V̂^{s} = Ad_{g}V̂^{b} = gV̂^{b}g^{−1}

= [\begin{matrix}R & p⃗ \\ 0^{T} & 1 \end{matrix}] [\begin{matrix}ω̂^{b} & v^{b} \\ 0^{T} & 0 \end{matrix}] [\begin{matrix}R^{T} & −R^{T} p⃗ \\ 0^{T} & 0 \end{matrix}]

= [\begin{matrix}Rω̂^{b}R^{T} & −Rω̂^{b}R^{T} p⃗ + Rv^{b} \\ 0^{T} & 0 \end{matrix}]

Therefore:

ω̂^{s} = Rω̂^{b}R^{T} v^{s} = Rv^{b} − Rω̂^{b}R^{T} p⃗ = Rv^{b} − ω̂^{s}p⃗

The spatial angular velocity can be simplified as follows:

ω̂^{s} = Rω̂^{b}R^{T} = [\begin{matrix}r_{11} & r_{12} \\ r_{21} & r_{22} \end{matrix}] [\begin{matrix}0 & −ω \\ ω & 0 \end{matrix}] [\begin{matrix}r_{11} & r_{21} \\ r_{12} & r_{22} \end{matrix}] = ω [\begin{matrix}0 & − det(R) \\ det(R) & 0 \end{matrix}] = ω [\begin{matrix}0 & −1 \\ 1 & 0 \end{matrix}] = ω̂^{b}

Using this result:

v^{s} = Rv^{b} − ω̂^{s}p⃗ = Rv^{b} + ω^{b} [\begin{matrix}p_{y} \\ −p_{x} \end{matrix}]  (2)

Therefore:

V^{s} = [\begin{matrix} & v^{s} \\ ω^{s} \end{matrix}] = [\begin{matrix}R & [\begin{matrix}p_{y} \\ −p_{x} \end{matrix}] \\ 0^{T} & 1 \end{matrix}] V^{b}

Problem 2: (Problem 14 in Chapter 2 of MLS). Part (a): Let g ∈ SE(3) denote a homogeneous transformation matrix:

g = [\begin{matrix}R & p⃗ \\ 0^{T} & 1 \end{matrix}] Ad_{g} = [\begin{matrix}R & p̂R \\ 0 & R \end{matrix}]

Then:

g^{−1} = [\begin{matrix}R^{T} & −R^{T} p⃗ \\ 0^{T} & 1 \end{matrix}] Ad_{g^{−1}} = [\begin{matrix}R^{T} & − ˆ (R^{T} p⃗)R^{T} \\ 0^{T} & R^{T} \end{matrix} ] = [\begin{matrix}R^{T} & −R^{T} p̂ \\ 0 & R^{T} \end{matrix}]

where we have made use of the identity ˆ (R^{T} p⃗) = R^{T} p̂R. Let’s now compute Ad_{g}Ad_{g^{−1}}:

Ad_{g}Ad_{g^{−1}} = [\begin{matrix}R & p̂R \\ 0 & R \end{matrix}] [\begin{matrix}R^{T} & −R^{T} p̂ \\ 0 & R^{T} \end{matrix}] = [\begin{matrix}I & 0 \\ 0 & I \end{matrix}]

Hence, Ad_{g^{−1}} must equal (Ad_{g})^{−1} since Ad_{g}Ad_{g^{−1}} = I. Part (b): If

g_{1} = [\begin{matrix}R_{1} & p⃗_{1} \\ 0^{T} & 1 \end{matrix}] g_{2} = [\begin{matrix}R_{2} & p⃗_{2} \\ 0^{T} & 1 \end{matrix}]

Then

g_{1}g_{2} = [\begin{matrix}R_{1}R_{2} & p⃗_{1} + R_{1}p⃗_{2} \\ 0^{T} & 1 \end{matrix}]

Hence:

Ad_{g_{1}g_{2}} = [\begin{matrix}R_{1}R_{2} & (p⃗_{1} + R_{1}p⃗_{2})^{}R̂_{1}R_{2} \\ 0 & R_{1}R_{2} \end{matrix}]

= [\begin{matrix}R_{1}R_{2} & p̂_{1}R_{1}R_{2} + R_{1}p̂_{2}R_{1}^{T} R_{1}R_{2} \\ 0 & R_{1}R_{2} \end{matrix}]

= [\begin{matrix}R_{1}R_{2} & p̂_{1}R_{1}R_{2} + R_{1}p̂_{2}R_{2} \\ 0 & R_{1}R_{2} \end{matrix}]

= [\begin{matrix}R_{1} & p̂_{1}R_{1} \\ 0 & R_{1} \end{matrix}] [\begin{matrix}R_{2} & p̂_{2}R_{2} \\ 0 & R_{2} \end{matrix}] = Ad_{g_{1}}Ad_{g_{2}}

Problem 3: (Problem 15 in Chapter 2 of MLS).

Since g_{ac} = g_{ab}g_{bc}, using the product rule for differentiation yields:

V̂_{ac}^{b} = g_{ac}^{−1}ġ_{ac}
= g_{bc}^{−1}g^{−1}ab(ġ_{ab}g_{bc} + g_{ab}ġ_{bc})
= g_{bc}^{−1}V̂_{ab}^{b}g_{bc} + V̂_{bc}^{b}  (3)

Converting to vector form via the ∨ operator yields:

V⃗_{ac}^{b} = (V̂_{ac}^{b})^{∨} = Ad_{g_{bc}^{−1}} V⃗_{ab}^{c} + V⃗_{bc}^{b}

Problem 4: (Problem 18(e) in Chapter 2 of MLS.)

Part (e): Let the position and orientation of a moving rigid body be given by R(t) and p⃗(t). Let V^{b} be the body velocity of the rigid body, and let F^{b} be a wrench applied to the body, expressed in body coordinates. The power applied to the body due to this wrench is given by:

V^{b} · F^{b} = (V^{b})^{T} F^{b}  (4)

Let V^{h} denote the velocity of the body in hybrid coordinates. Similarly, define the hybrid wrench to be F^{h}. We will define F^{h} to be the wrench that preserves the amount of power in Eq. (4):

V^{b} · F^{b} = (V^{b})^{T} F^{b} = V^{h} · F^{h}

= (V^{h})^{T} F^{h}

= ([\begin{matrix}R & 0 \\ 0 & R \end{matrix}] V^{b})^{T} F^{h}

= (V^{b})^{T} [\begin{matrix}R^{T} & 0 \\ 0 & R^{T} \end{matrix} ] F^{h}

Hence, it must be true that:

F^{b} = [\begin{matrix}R^{T} & 0 \\ 0 & R^{T} \end{matrix} ] F^{h} or F^{h} = [\begin{matrix}R & 0 \\ 0 & R \end{matrix}] F^{b}

Problem 5: Let points P, Q, and R be located at positions r⃗_{1}, r⃗_{2}, and r⃗_{3} with respect to a fixed observer. Let the velocities of each of these points be ṙ_{1}, ṙ_{2}, and ṙ_{3}. Recall that a spatial velocity has the form

V̂^{s} = [\begin{matrix}ω̂^{s} & v^{s} \\ 0^{T} & 0 \end{matrix}]

In general, let p⃗ denote the location of a particle in the moving body, with respect to the observing frame. Recall that the velocity of this particle, ṗ, as seen in the observing frame, is related to the location of the particle (as seen in the stationary observing frame) by ṗ = V̂^{s}p⃗—where we have used the same notation for homogeneous coordinates. Thus, for each of the particles the following relationship holds:

ṙ_{1} = ω^{s} × r⃗_{1} + v^{s}  (5)
ṙ_{2} = ω^{s} × r⃗_{2} + v^{s}  (6)
ṙ_{3} = ω^{s} × r⃗_{3} + v^{s}  (7)

Hence, we have three simultaneous equations in the unknowns ω^{s} and v^{s}. To solve these equations, we follow closely the technique that was used in the handout entitled “ Computing the Screw Parameters of a Rigid Body Displacement.”

Step 1: subtract Equation 7 from Equations (5) and (6).

ṙ_{1} − ṙ_{3} = ω^{s} × (r⃗_{1} − r⃗_{3})  (8)
ṙ_{2} − ṙ_{3} = ω^{s} × (r⃗_{2} − r⃗_{3})  (9)

Step 2: Take the cross product of the vector (ṙ_{2} − ṙ_{3}) with Equation (8).

(ṙ_{2} − ṙ_{3}) × (ṙ_{1} − ṙ_{3}) = (ṙ_{2} − ṙ_{3}) × (ω^{s} × (r⃗_{1} − r⃗_{3})).  (10)

Step 3: We now use two facts. First, we use the triple vector identity a⃗ × (b⃗ × c⃗) = (a⃗ · c⃗)b⃗ − (a⃗ · b⃗)c⃗. Second, from Equation (9) we know that ṙ_{2} − ṙ_{3} is orthogonal to ω⃗. Hence, Equation (10) reduces to

(ṙ_{2} − ṙ_{3}) × (ṙ_{1} − ṙ_{3}) = ω⃗[(ṙ_{2} − ṙ_{3}) · (r⃗_{1} − r⃗_{3})].

The quantity ω⃗ is then easily found as

ω⃗ = [(ṙ_{2} − ṙ_{3}) · (r⃗_{1} − r⃗_{3})]^{−1}(ṙ_{2} − ṙ_{3}) × (ṙ_{1} − ṙ_{3}).

Step 4: Any one of Equations (5), (6), or (7) could be used to solve for v^{s}.