### Document

```Odometry Error Modeling
Three noble methods to model
random odometry error
Two types of odometer errors
• Systematic error
– Can be avoided by calibrating the wheel encoder
– Can accounted for in software
• Random error
– Difficult to calibrate or find a closed form formula
– Mathematically modeled
– Significant source of confidence level degradation
Systematic error
• UMBmark test
– Let the robot follow a defined path several times
– Compare the deviation of the robot in CW/CCW
– Calculate the weighted Cartesian offsets
– Correct error in software/hardware
Example, UMBmark with square of side D
Robot covers a square of side D, n times in both CW and CCW sense. At
the end of each lap, the error in x and y direction are recorded.
Random error modeling 1
• This model expresses the covariance matrix in
terms of four parameters: ET ER Ktheta Krho
• Here are the relations:
– Vtheta = Ktheta * (Translation speed)
– Vrho = Krho * (Translational speed)
– Note: V stands for variance
• The other two parameters describe
systematic errors (thus uninteresting)
How to determine parameters
• Perform simple robot movements, such as
moving back and fro for a certain number of
times.
• Measure several “observables”, quantities to be
measured from the robot’s movement
• Calculate the four parameters from the measured
observables.
• Certain observables give a better estimation of
the parameters. The paper lists best observable
to estimate each model parameter.
Model 2
• Any robot path can be decomposed into three
primitive movements: circular motion, turn on
spot, straight motion.
• This model finds closed form formula for error
propagation for circular motion.
• Using this model the robot updates its odometery
covariance matrix only when the robot changes
type of motion. So faster computation and
independent of sequence of action
Model 3
• This model takes into account the variation in
the wheel diameter and wheel separation.
• A model that incorporates the random wheel
variation to covariance matrix was found.
• Result shows final error propagation is just the
sum of covariance propagation with no wheel
variation and a new error factor.
• The new error factor updates the wheelvariation-covariance matrix (Q)
Result of model 3
Odometry Error Correction
• Nonsystematic Error Correction
– OmniMate Design
– Sensor Fusion
• Systematic Odometry Error Correction
– Systematic Error Compensation
Systematic and Nonsystematic Errors
• Systematic errors: errors in design
–
–
–
–
Unequal wheel diameters
Misalignment of wheels
Limited sampling resolution
• Nonsystematic: errors due to environment
-Travel over uneven floor
-Unexpected object on the floor
-Wheel slippage
Nonsystematic Error Correction:
OmniMate Design
• Freedom mobile
platform
• omnidirectional
capabilities
• Two differential-drive
TRC LabMate platforms
• Front and rear can
rotate around A and B
OmniMate Design (continue)
OmniMate (continue)
• IPEC: Internal Position Error Correction
(OmniMate control System)
• Detect automatically and correct
nonsystematic odometry errors
Nonsystematic Error Correction:
Sensor Fusion
• Fusion of data from gyroscope and odometry
systems for a long time travel
– If dataG – dataE > prefix threshold, dataG is used
to compute orientation angle. Otherwise use
dataE
– Threshold adapted to different environment
– Kalman filters to reduce noise and measure
angular position
Systematic Error Correction
• Substantial odometry error: effect on straight
line motion
– Ed=DR/DL
• Wheelbase error: effect when turning
Eb=bactual/bnominal:
expressed as a function of the nominal value
Systematic Odometry Errors
Compensation
• R=(L/2)/sin(beta/2)
• Eb=(R+b/2)/(R-b/2)=
DR/DL
• Da=(DR+DL)/2
• DL=2Da/(Ed+1)
• DR=2Da/((1/Ed)+1)
• Correction Factors:
– Cl=2/(Ed+1)
– Cr=2/((1/Ed)+1)
Simultaneous Location and
Mapping (SLAM)
Purpose
• Replace the need to manually create and
update maps
– Map becomes invalid if an object begins moving
or the map is rearranged
– Allows for the robot to be truly autonomous
Primary Goal
• Be able to start from an arbitrary point
• autonomously explore the local environment
using its on-board sensors,
• analyze the location and map the area
• determine its actual location on the self
constructed map
Popular Implementations
• Visual-SLAM algorithm on the extended
Kalman filter
• Graph-SLAM algorithm
• Particle-filter slam
Visual-SLAM algorithm on the
extended Kalman filter
• Combines the extended Kalman filter results
with robot pose and feature locations
• Data is updated each iteration which leads to
high computation costs with a lot of features
• Implementations have been progressive to
allow for maps to be broken down to more
manageable datasets
Graph-based SLAM
• Constraints between robot and feature are
seen as “soft” constraints
• Creates a grid map of the robot location and
features
• Capable of solving the SLAM problem by
calculating the area of least required engergy
on the grid
Particle filter Slam
• Represents the object location certainty in
• Good for nonlinear transformations and any
type of non-Gaussian distribution
Handling Errors
• Any error in one iteration will continue to
grow as more iterations are done
• Common approach for correcting this error is
characteristics are well know
• This minimizes uncertainty across the rest of
the map as well
Room for Improvement
• Dynamic object pose a large problem for
SLAM
– Robot is quickly working within an invalid map
– Attempt at a solution is to treat a dynamic object
differently from a static feature on the map
(outlier)
– Any successful attempt at determining moving
objects and their destination would drastically
improve the SLAM process
Room for Improvement
• SLAM is very sensitive to errors
• This error is especially detrimental when the
robot attempts to minimize uncertainty by
returning to a know object
• Commonly used laser rangefinders are prone
to missing some of the feature’s details
– The use of an on board camera is useful for
features
– SIFT Function
Q&A
```