Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Control Structure
Prior Knowledge
Operator Commands
Localization
Cognition
Perception
Motion Control
Motion Uncertainty
1. Odometry & Dead Reckoning
2. Modeling motion
3. Odometry on the X80
Dead Reckoning
Use wheel sensors and heading sensor to update
position
Motion Uncertainty
1. Odometry & Dead Reckoning
2. Modeling motion
3. Odometry on the X80
Modeling Motion
If a robot starts from a position p, and the right and
left wheels move respective distances sr and sl,
what is the resulting new position p ?
YI
sl
sr
XI
Modeling Motion
To start, lets model the change in angle and
distance travelled s by the robot.
Assume the robot is travelling on a circular arc of
constant radius.
sl
sr
Modeling Motion
Begin by noting the following holds for circular arcs:
sl = R
sr = (R+2L)
s = (R+L)
R
2L
10
sl
s
sr
Modeling Motion
Now manipulate first two equations:
sl = R
sr = (R+2L)
To:
R = sl
L = (sr - R)/2
= sr /2 sl /2
11
Modeling Motion
Substitute this into last equation for s:
s = (R+L)
= R + L
= sl + sr /2 sl /2
= sl /2 + sr /2
= sl + sr
2
12
Modeling Motion
Or, note the distance the center travelled is simply
the average distance of each wheel:
s = sr + sl
2
sl
s
13
sr
Modeling Motion
To calculate the change in angle , observe that it
equals the rotation about the circular arcs center point
14
Modeling Motion
So we solve for by equating from the first two
equations:
sl = R
sr = (R+2L)
This results in:
sl / R = sr / (R+2L)
(R+2L) sl = R sr
2L sl = R (sr - sl )
2L sl = R
(sr - sl )
15
Modeling Motion
Substitute R into
= sl / R
= sl (sr - sl ) / (2L sl )
= (sr - sl )
2L
So
= (sr - sl )
2L
16
Modeling Motion
Now that we have and s, we can calculate
the position change in global coordinates.
We use a new segment of length d.
YI
+
d
s
17
XI
Modeling Motion
Now calculate the change in position as a function of
d.
YI
+
d
y
+ /2
18
x
XI
Modeling Motion
Using Trig:
x = d cos( + /2)
y = d sin( + /2)
YI
d
y
+ /2
19
x
XI
Modeling Motion
Now if we assume that the motion is small, then we
can assume that d s :
+
d
s
So
20
x = s cos( + /2)
y = s sin( + /2)
Modeling Motion
Summary:
21
22
x = s cos( + /2)
y = s sin( + /2)
However, the term affects each direction differently.
If e = 2 deg and es = 0 meters, then:
23
24
x = 0.9998
y = 0.0175
But the robot is supposed to go to x=1,y=0, so
the errors in each direction are
x = +0.0002
y = -0.0175
THE ERROR IS BIGGER IN THE Y
DIRECTION!
25
26
Motion Uncertainty
1. Odometry & Dead Reckoning
2. Modeling Uncertainty in motion
3. Odometry on the X80
27
Method:
Use the forward kinematics equation from last lecture.
28
29
s = sr + sl
2
= (sr - sl )
2L
30