280 likes | 475 Views
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
E N D
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 ERKthetaKrho • 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 wheel-variation-covariance matrix (Q)
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 • Uncertainty about effective wheelbase • 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 (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)
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 samples instead of Gaussian probability • 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 to return to a feature who’s location and 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