Page 160 - Designing Autonomous Mobile Robots : Inside the Mindo f an Intellegent Machine
P. 160
Navigation as a Filtering Process
the mobile platform itself, and those from the surface it is running on. A robot run-
ning in snow will likely under-run the distance it thinks it has traveled.
Longitudinal uncertainty is thus nothing more than the distance traveled, multiplied
by an error factor. Longitudinal uncertainty is not generally symmetric. On level ground,
a robot may tend to underrun the path but will seldom overrun it. On an uphill slope,
this tendency is more significant yet. On a downhill slope, the robot will tend to
overrun its path if slippage occurs during braking. Again, reasonable results can be
gained with a symmetric assumption about longitudinal uncertainty, but the advan-
tage of keeping separate values for the two directions is fairly strong.
As the robot turns, the accumulated lateral and longitudinal uncertainty are simply
converted into a vector, rotated, and converted back into lateral and longitudinal
components. If a robot turns 90 degrees, then the lateral uncertainty will become
the longitudinal uncertainty and vice versa.
Lateral uncertainty
Lateral error is predominantly accumulated as the result of driving with a heading
error. Thus, lateral uncertainty is accumulated by multiplying the distance traveled
by the sine of the heading error. If this accumulation is done frequently, the fact that
the heading error is not constant can be ignored. Since heading can be approximated as
being symmetric, so can the accumulated increments of lateral uncertainty.
Reducing uncertainty
Up until now, we have been mostly concerned about accumulating uncertainty. Clearly
there must also be a way of diminishing it. When an axis accepts a fix, its uncertainty
should also be reduced. But beware, this process is not as simple as zeroing the accum-
ulator for the axes that were corrected.
First, if we allow uncertainty to go to zero, we will not be able to accept any new fixes
until we have traveled enough to accumulate new uncertainty. Since there is always
a bit of error in sensor readings, building measurements, and other factors, we need
to establish a minimum uncertainty threshold below, which we do not go.
Let’s assume that we have just received a correction of the lateral position of the ro-
bot. No matter how good our filtering is, there is always a finite chance that this
correction is not valid. If we reduce our uncertainty too much, we may lock our filter
into this correction and refuse to believe the correct data when we next receive it.
143

