Documente Academic
Documente Profesional
Documente Cultură
to Mobile Robotics
Lecture 2
Dr. Carlotta A. Berry
Spring 06 - 07
Kinematics
Chapter 3
C.A. Berry
C.A. Berry
YI
YR
XR
XI
x
Robot position
I x
C.A. Berry
Relative Positioning:
Odometry and Kinematics
Self-contained
Can get positions anywhere along curved paths
Always provides an estimate of position
Disadvantages
C.A. Berry
sin
cos
0
0
0
1
R R I R x y
C.A. Berry
( x , y , )
Rotation Example
XR
YR
P
C.A. Berry
XI
9
( x , y , )
Rotation Example 2
0
1
This robot will rotate with the same speed with respect to the
robot reference frame as the global reference frame. However
the linear velocity along the robots x-axis and y-axis are a
combination of the velocities with respect to the global reference
frame.
C.A. Berry
10
( x , y , )
0
1 5
5
C.A. Berry
11
x
I y f ( l , r , ,1 , 2 )
C.A. Berry
12
R
from the local reference frame use I
x r 1 1 2 r1
x r 2 1 2 r 2
C.A. Berry
13
w1
2l
r 2
w2
2l
x r
x r 1 x r 2 cos
1
1
1
I R R R y r R 0 sin
r
w1 w2 0
C.A. Berry
sin
cos
0
0 r2 r2
0 0
1 r2l r2l
1
14
p / 3
r 1
l2
1 4
2 2
C.A. Berry
r1
x r 1
2
r 2
x r 2
2
r1
w1
2l
r 2
w2
2l
15
Constraints
The wheel must roll when motion takes place in the opposite direction
The wheel must not slide orthogonal to the wheel plane
r
v
C.A. Berry
16
C.A. Berry
17
sina b
cosa b
l cos b R
r 0
cosa b
C.A. Berry
sina b l sin b R 1 0
ECE 497: Introduction to Mobile Robotics Locomotion & Kinematics
18
Rolling constraint:
J1 is the matrix for projections for all wheels to their motions along their individual
wheel planes
Sliding constraint:
J 1 b s R 1 J 2 0
C1 b s R 1 0
C1is the matrix for projections for all wheels to their components of motion
orthogonal to their wheel planes
For the differential-drive robot, the rolling and sliding constraints are
J 1 b s
J 2
I
C b
0
1 s
1 0 l
R J 2
I
0
1 0 l
0 1 0
0.5
0.5 0
J
1
I R 0
0
1 2
0
1
1
0
2l
2l
ECE 497: Introduction to Mobile Robotics C.A. Berry
19
J 1 b s
J 2
I
C b
0
1 s
1 0 l
r1
R r
I
1 0 l
2
0
1
0
1 0 2
4
R p
1 0 2 3 I 2
0 1 0
0
0.5
0 4
1 0.5
p
I R 0
0
1 2
3
0.25 0.25 0 0
1.5
I 2.5981
0.5
20
C.A. Berry
21
http://www.scs.carleton.ca/~lanthier/teaching/COMP4900A/Notes/5%20-%20PositionEstimation.pdf
C.A. Berry
22
http://www.scs.carleton.ca/~lanthier/teaching/COMP4900A/Notes/5%20-%20PositionEstimation.pdf
C.A. Berry
23
Robot mobility is the ability of a robot chassis to directly move in the environment
Robot mobility is a function of the number of constraints on the robots motion, not the
number of wheels
A differential drive robot has one independent kinematic constraint (see Figures
3.12, 3.13)
ICR lies along a line, 2nd wheel imposes no additional kinematic constraint
So the bicycle has 2 independent kinematic constraints while the differential drive robot
has only one
The rank of the matrix of all of the sliding constraints imposed by wheels of the mobile
robot is the number of independent constraints
C.A. Berry
24
l sinb1
cosa 1 b1 sina 1 b1
C1 b s C1 f
cos(
a
b
)
sin
a
b
l
sin
b
p
1
1
1
1
1
C.A. Berry
rank C1 ( b s ) 3
25
C.A. Berry
rank C1 ( b s ) 3
26
C.A. Berry
rank C1 ( b s ) 3
27
C.A. Berry
28
The robots overall degrees of freedom (DOF) or degree of maneuverability is defined in terms of
mobility and steerability:
dM = dm + ds
Includes degrees of freedom that a robot manipulates through wheel velocity and degrees of
freedom that it indirectly manipulates through steering configuration and moving
Two robots with same dM are not necessarily equal (i.e. tricycle and differential drive robot)
For any robot wit dM = 2, the ICR is always constrained to lie on a line
For any robot with dM = 3, the ICR is not constrained and can be set to any point on the plane
C.A. Berry
29
C.A. Berry
30
C.A. Berry
31
Right wheel
(-50,0,-50)
new
C.A. Berry
32
Motion Control:
Open Loop Control (3.6.1)
yI
goal
control problem:
xI
C.A. Berry
33
Motion Control:
Open Loop Control (3.6.1)
Disadvantages:
C.A. Berry
34
xR
y
R
R
v( t )
w( t )
Transducer
v(t)
xR
w(t)
start
goal
(encoder)
C.A. Berry
35
Motion Control:
Feedback Control, Problem Statement (3.6.2.1)
k
k
k
22
23
such that the control signals, v(t) and w(t) 21
R
x
v(t )
y
w (t )
C.A. Berry
Pose-error =
current position
goal position
lim e(t ) 0
t
36
x cos
y sin
0
0
0
1
v
w
Dy
C.A. Berry
for
37
Robot is facing
the goal point
a p 2 ,p 2
a p 2 ,p p , p 2
Dy
C.A. Berry
38
C.A. Berry
39
C.A. Berry
40
Forward Kinematics
Assume that at each instance of time, the robot is following
the ICR with radius R at angular rate w,
v
w
v2
2l
l v1 v2
R
w v1 v2
V
s = r
v = rw
41
Forward Kinematics
Given some control parameters (e.g. wheel velocities) determine the poses of
the robot
C.A. Berry
42
Forward Kinematics:
instantaneous pose
t wD
ECE 497: Introduction to Mobile Robotics C.A. Berry
43
Forward Kinematics:
linear displacement
(t + D) = t
C.A. Berry
44
45
http://www.scs.carleton.ca/~lanthier/teaching/COMP4900A/Notes/5%20-%20PositionEstimation.pdf
C.A. Berry
46
Now the robot sets the right wheel to 3 cm/s and the left
wheel to 2 cm/s and moves for 10 more seconds
Where is the robot at t = 20 seconds, D = 10 seconds?
47
Forward Kinematics:
counterclockwise turn
http://www.scs.carleton.ca/~lanthier/teaching/COMP4900A/Notes/5%20-%20PositionEstimation.pdf
C.A. Berry
48
Forward Kinematics:
counterclockwise spin
Now set the robots right wheel to 2 cm/s and the left wheel
to -2 cm/s for 5 seconds
C.A. Berry
49
Forward Kinematics:
counterclockwise spin
http://www.scs.carleton.ca/~lanthier/teaching/COMP4900A/Notes/5%20-%20PositionEstimation.pdf
C.A. Berry
50
Forward Kinematics:
clockwise turn
Now set the robots right wheel to 3 cm/s and the left
wheel to 3.5 cm/sec for 15 seconds
x(40) = 23.52 cm
y(40) = 60.55 cm
(40) = (25) + wD = 162 - (0.047 rad/s)(15 sec) = 121
C.A. Berry
51
Forward Kinematics:
clockwise turn
http://www.scs.carleton.ca/~lanthier/teaching/COMP4900A/Notes/5%20-%20PositionEstimation.pdf
C.A. Berry
52
Forward Kinematics:
clockwise spin
53
http://www.scs.carleton.ca/~lanthier/teaching/COMP4900A/Notes/5%20-%20PositionEstimation.pdf
C.A. Berry
54
Inverse Kinematics
http://www.scs.carleton.ca/~lanthier/teaching/COMP4900A/Notes/5%20-%20PositionEstimation.pdf
C.A. Berry
55
Inverse Kinematics
C.A. Berry
56
Inverse Kinematics:
spin time and velocities
t + D) = t - wD D = (( t + D) - ( t) )/w
Since
D
= l (( t + D) - ( t) )/v1
Alternately, set the spin time and calculate the wheel velocities
v1
C.A. Berry
= l (( t + D) - ( t) )/ D
ECE 497: Introduction to Mobile Robotics Locomotion & Kinematics
57
Inverse Kinematics:
forward time
if x(t + D) xt
if x(t + D) = x(t)
C.A. Berry
D = (x(t+ D) xt)/(vtcos(t), or
D = (y(t+ D) yt)/(vtsin(t))
ECE 497: Introduction to Mobile Robotics Locomotion & Kinematics
58
Inverse Kinematics:
forward velocities
if x(t + D) xt
if x(t + D) = x(t)
C.A. Berry
59
C.A. Berry
60