Lect05 4up
Lect05 4up
Richard Williams
1 / 46 2 / 46
Kinematics Kinematics
3 / 46 4 / 46
A formal model No kinematic model needed
pxI , yI , θq
and the speed with which those steering angles are changing. • Forward kinematics
β91 , . . . β9m
7 / 46 8 / 46
Reverse kinematics Reverse kinematics
θ9 — β1 ffi
— ffi
— .. ffi
— ffi
— . ffi “ f ´1 px9I , y9I , θq
9
is not what we want.
— βm ffi
— ffi
• We want to know how to set ϕ9i etc to get a given: — ffi
— β91 ffi
— .. ffi
— ffi
x9I , y9I , θ9 – . fl
β9m
• Reverse kinematics
9 / 46 10 / 46
11 / 46 12 / 46
Frame transformation Frame transformation
• In other words
• Robot position:
» fi » fi
x9 R x9 I
ξI “ rxI , yI , θI s T
– y9 R fl “ R pθq – y9 I fl
θ9 R θ9 I
• Mapping between frames: » fi » fi
cospθq sinpθq 0 x9 I
ξ9R “ R pθqξ9I “ – ´ sinpθq cospθq 0 fl – y9 I fl
“ R pθq x9I , y9I , θ9I
“ ‰T 0 0 1 θ9 I
meaning that:
where
x9 R “ x9 I cospθq ` y9 I sinpθq ` θ9 I .0
» fi
cospθq sinpθq 0
R pθq “ – ´ sinpθq cospθq 0 fl y9 R “ ´x9 I sinpθq ` y9 I cospθq ` θ9 I .0
0 0 1 θ9 R “ x9 I .0 ` y9 I .0 ` θ9 I .1
13 / 46 14 / 46
• In other words
» fi » fi
x9 R x9 I
– y9 R fl “ R pθq – y9 I fl • On other words, given how the robot moves in the world, we can
θ9 R θ9 I compute how the robot moves relative to its centre of rotation.
» fi » fi
cospθq sinpθq 0 x9 I • This is (part of) the forward kinematic model, but this isn’t what we
“ – ´ sinpθq cospθq 0 fl – y9 I fl want.
0 0 1 θ9 I • We want to be able to calculate how the robot moves in the world,
given how it moves relative to its centre of rotation.
meaning that:
• That is we want the reverse of this model.
x9 R “ x9 I cospθq ` y9 I sinpθq
y9 R “ ´x9 I sinpθq ` y9 I cospθq
θ9 R “ θ9 I
15 / 46 16 / 46
Reverse kinematics Reverse kinematics
• To do this we compute:
• We want the reverse kinematic model:
» fi » fi
»
x9 I
fi
x9 R
» fi x9 I x9 R
– y9 I fl “ R pθq´1 – y9 R fl – y9 I fl “ R pθq´1 – y9 R fl
θ9 I θ9 R θ9 I θ9 R
» fi » fi
cospθq ´ sinpθq 0 x9 R
where R pθq´1 is the inverse of R pθq. “ – sinpθq cospθq 0 fl – y9 R fl
• Often R pθq´1 is hard to compute, but luckily for us in this case it isn’t. 0 0 1 θ9 R
• We have: »
cospθq ´ sinpθq 0
fi meaning that:
´1
R pθq “ – sinpθq cospθq 0 fl
x9 I “ x9 R cospθq ´ y9 R sinpθq ` θ9 R .0
0 0 1
y9 I “ x9 R sinpθq ` y9 R cospθq ` θ9 R .0
which we can use to establish x9I , y9I , θ9I θ9 I “ x9 R .0 ` y9 R .0 ` θ9 R .1
17 / 46 18 / 46
• To do this we compute:
» fi » fi
x9 I x9 R
– y9 I fl “ R pθq´1 – y9 R fl
θ9 I θ9 R
» fi » fi
cospθq ´ sinpθq 0 x9 R
“ – sinpθq cospθq 0 fl – y9 R fl
0 0 1 θ9 R
meaning that:
x9 I “ x9 R cospθq ´ y9 R sinpθq
• We can now identify the motion of the robot, in the global frame, if we
y9 I “ x9 R sinpθq ` y9 R cospθq know:
θ9 I “ θ9 R . x9 R , y9 R , θ9
but how do we tell what these are?
19 / 46 20 / 46
Down to the structure of the robot Down to the structure of the robot
• We compute them from what we can measure, like the speed of the
wheels: • Some assumptions — constraints on the motion of the robot:
• Movement on a horizontal plane
• Point contact of the wheels; wheels not deformable
• Pure rolling, so v “ 0 at contact point; no slipping, skidding or sliding
• No friction for rotation around contact point
• Steering axes orthogonal to the surface
• Wheels connected by rigid frame (chassis)
• These won’t always be true, why?
21 / 46 22 / 46
23 / 46 24 / 46
Differential drive Differential drive
25 / 46 26 / 46
• Making sure the assumptions hold • Knowing what the assumptions are:
imposes constraints on robot imposes constraints on the applicability of the model.
• For example, ensuring a rigid chassis. • For example, ensuring wheels don’t slip.
27 / 46 28 / 46
Why you keep track of assumptions More complex scenarios
• More parameters.
• Only fixed and steerable standard wheels impose constraints.
29 / 46 30 / 46
Instantaneous
center of rotation
• Thus its rotation is not constrained
• It can move in any circle it wants.
• Makes it very easy to move around.
• Has to move along a circle whose center is on the zero motion line.
31 / 46 32 / 46
Robot mobility Robot mobility
33 / 46 34 / 46
• Differential drive has two standard wheels, but they are on the same
axis. • A bicycle has two independent wheels, so two constraints.
• So not both independent.
• δm “ 1
• Number of constraints is 1.
• Can only alter x9 using wheel velocity.
• So δm “ 2 for a differential drive robot
• Can alter x9 and θ9 just through wheel velocity.
35 / 46 36 / 46
Steerability and maneuverability Robot maneuverability
37 / 46 38 / 46
39 / 46 40 / 46
Robot maneuverability Holonomy
41 / 46 42 / 46
Holonomy
43 / 46 44 / 46
Summary
45 / 46 46 / 46