Solutions For Exercises in Mobile Robotics Mathematics by Kelly
Solutions For Exercises in Mobile Robotics Mathematics by Kelly
com
WhatsApp: https://wa.me/message/2H3BV2L5TTSUF1 Telegram: https://t.me/solutionmanual
INTRODUCTION 2
ssm
Chapter 1: Introduction
1.3.5 Mobile Robot Engineering
mtt
1.3.5.1 Mobility
Comment in one or two sentences for each subsystem on how the goal of mobility
requires that a mobile robot have such a subsystem.
• position estimation
bb99
• perception
• control
• planning
• locomotion
• power/computing
1.3.5.1 Mobility: Solution
88@
a) Closed loop directed motion requires position feedback. Open loop control not usually
feasible.
b) Must perceive environment in order to compute terrainability or avoid obstacles, or to
satisfy mission objectives (not mobility).
@
c) Must be able to execute motion commands on real hardware.
d) Must look ahead to predict consequences of decisions now. In this way, avoid getting
trapped.
e) Must move.
f) Mobile robots must carry their own power and smarts wherever they go.
ggm
maa
iill..cc
oom
m
6
exp 6 0 = e 0
0 –2 0 e
–2
2.2.9.1 Solution
Using the formula for matrix exponential:
2
1
exp 6 0 = I + 6 0 + ----- 6 0 +
0 –2 0 – 2 2! 0 – 2
1 2
6 0 1 + 6 + --- 6 + 0 6
exp = 2 = e 0
0 –2 1 2
0 e
–2
0 1 – 2 + --- – 2 +
2
A = a b
c d
T T
and the vectors dx = dx 0 and dy = 0 dy . Using the result for the area of a
parallelogram defined by two vectors in Figure 2.8, show that the area formed by the
vectors du = Adx and dv = Ady is det A dxdy .
2.2.9.2 Solution
The output vectors are:
–1
d A A d I
= = 0
dt dt
We have:
–1 –1
A· A + A A· = 0
Which gives the time derivative of the matrix inverse as:
–1 –1 –1
A· = – A A· A
2.3.5.1 Solution
From left to right: translation, scale, xy shear (preserves z), perspective projection to plane
at z = d, orthographic projection to plane at z = 0.
MATH FUNDAMENTALS 5
2.3.5.2 Operators and Frames
2D Homogeneous transforms work just like 3D ones except that a rigid body in 2D has
only three degrees of freedom – translation along x or y or rotation in the plane. Consider
the transform:
0 –1 7
T = 1 0 3
0 0 1
(i) Recall that the unit vectors and origin of a frame can be represented in its own
coordinates as an identity matrix. Let such a matrix represent frame a . Consider
the T matrix to be an operator and operate on the unit vectors and origin of frame
a expressed in its own coordinates to produce another frame, called b . Write
explicit vectors down for the unit vectors and origin of the new frame b . Use a
notation that records the coordinate system in which they are expressed.
(ii) Visualization of the New Frame. When a transform is interpreted as an operator,
the output vector is expressed in the coordinates of the original frame. Get out
some graph paper or draw a grid in your editor with at least 10 10 cells. Draw a
set of axes to the bottom left of the paper called frame a . Draw the transformed
frame, called b in the right place with respect to frame a based on the above
result. Label the axes of both frames with x or y .
(iii)Homogeneous Transforms as Frames. Consider the coordinates of the unit vectors
and origin of the transformed frame when expressed with respect to the original
frame. Compare these coordinates to the columns of the homogeneous transform.
How are they related? Explain why this means homogeneous transforms are also
machines to convert coordinates of general points under the same relationship
between the two frames involved. HINT: how is a general point related to unit
vectors and origin of any frame.
2.3.5.2 Solution
(i) The unit vectors and origin expressed in frame ‘b’ are:
ˆa 0 –1 7 ˆa 0 –1 7 1 0
xb = 1 0 3 xa = 1 0 3 0 = 1
0 0 1 0 0 1 0 0
ˆa 0 –1 7 ˆ a 0 –1 7 0 –1
yb = 1 0 3 ya = 1 0 3 1 = 0
0 0 1 0 0 1 0 0
ˆa 0 –1 7 ˆ a 0 –1 7 0 7
ob = 1 0 3 oa = 1 0 3 0 = 3
0 0 1 0 0 1 1 1
MATH FUNDAMENTALS 6
(ii) Frames ‘a’ and ‘b’ can be visualized as follows:
ˆa
xb
ˆa
yb
ˆa
ya
ˆa
xa
(iii) The first column is the transformed x axis, second is the y, third is the origin. Any
general point is a linear combination of the basis vectors. Since these basis vectors are
transformed correctly, any point will be as well.
p p'
ˆa
xb
ˆa
yb
ˆa
ya
ˆa
xa
b) The coordinates of the transformed point in the transformed frame are identical to the
coordinates of the original point in the original frame. In other words:
a b
p = p'
c) Lengths are preserved. This shows that the transform moves all of space rigidly.
0 –1 7 0 –1 7 4 6
b) a b
q = 1 0 3 q = 1 0 3 1 = 7
mtt
0 0 1 0 0 1 1 1
ˆa
yb
88@
ˆa
@
ya
ˆa
xa
iii) The key difference was that the input was specified wrt frame b, so the matrix is being
ggm
used as a transform. In all earlier cases, the input was expressed with respect to frame a
and the matrix was used as an operator.
iv) The previous operation on point p can be interpreted as a conversion of coordinates
for p' from frame b to frame a.
maa
pose. What does the second solution look like? If you are ambitious, try a case near
singularity, and experiment with the mechanism Jacobian.