Robot Localization Using Relative and Absolute Position Estimates
Robot Localization Using Relative and Absolute Position Estimates
Robot Localization Using Relative and Absolute Position Estimates
Abstract
A low cost strategy based on well calibrated odometry is presented for localizing mobile robots. The paper describes a two-step process for correction of 'systematic errors' in encoder measurements followed by fusion of the calibrated odometry with a gyroscope and GPS resulting in a robust localization scheme. A kalman lter operating on data from the sensors is used for estimating position and orientation of the robot. Experimental results are presented that show an improvement of at least one order of magnitude in accuracy compared to the un-calibrated, un- ltered case. Our method is systematic, simple and yields very good results. We show that this strategy proves useful when the robot is using GPS to localize itself as well as when GPS becomes unavailable for some time. As a result robot can move in and out of enclosed spaces, such as buildings, while keeping track of its position on the y.
1 Introduction
In order to autonomously navigate and perform useful tasks, a mobile robot needs to know its exact position and orientation. Robot localization is thus a key problem in providing autonomous capabilities to a mobile robot. The di erent techniques that have been developed to tackle this problem can be classi ed into two main categories: Relative (local) localization: evaluating the position and orientation using information provided by various on-board sensors (e.g. encoders, gyroscopes, accelerometers etc). Absolute (global) localization: obtaining the absolute position using beacons, landmarks or satellitebased signals (e.g. GPS).
contact author for correspondence
A popular local technique, dead reckoning, employs simple geometric equations (a kinematic model of the robot) on odometric data to compute the position of the robot relative to its start position. Dead reckoning cannot be used for long distances because it su ers from various drawbacks. The kinematic model alway has some inaccuracies, encoders have limited precision and there are external sources a ecting the motion that are not observable by the sensors (e.g. wheel slippage). The localization error grows with time. Applying Kalman lter techniques can provide substantial improvement 1], 9]. In case of absolute localization the error growth is mitigated when measurements are available. The position of the robot is externally determined and its accuracy is usually time and location independent. In other words integration of noisy data is not required and thus there is no accumulation of error with time or distance traveled. The problem in absolute localization (e.g. using GPS) is that one cannot keep track of the robot for small distances (barring exceptionally accurate GPS estimates). Commercial o the shelf GPS gives errors on the order of 10 cm at each measurement. If the robot moves at 1 m/s one cannot use GPS at each second since the odometric estimate is less errorprone than the GPS measurement. Various people have presented work related to absolute localization . Leonard and Durrant-Whyte 6] developed a system in which the basic algorithm is formalized as a vehicle tracking problem, employing an Extended Kalman Filter (EKF) to match beacon observations to a navigation map to maintain an estimate of the position of the mobile robot. Thrun et.al. 10] have developed a learning algorithm that enables a mobile robot to learn what features/landmarks are best suited for localization. They also use map matching 11], 4] using information from wheel encoders and information on wall orientation to localize
the robot. In 7] measurements from a sun sensor and a 3-axis accelerometer are used for absolute localization. The authors incorporate two Kalman lters in the form of a smoother. While one of them has the typical formulation of an indirect Kalman lter processing sensor measurements as they come in real time, the second one is involved every time an absolute measurement is available and it runs (o -line) backwards in time to correct the error accumulated in the path estimates. Several groups have also tried improving odometry for robot localization. J. Borenstein and L. Feng 2] presented a calibration technique called the UMBmark test. The dominant systematic error sources were identi ed as the di erence in wheel diameter and the uncertainty about the e ective wheelbase. In another paper 3] the same authors introduce the term 'gyrodometry' where the localization algorithm relies on odometry most of the time while substituting gyro data only during those brief instances during which gyro and odometry data di er substantially. The authors in 1] use a low cost INS system (three gyroscopes, a triaxial accelerometer) and two tilt sensors for their localization algorithm. Error models for the inertial sensors are generated and included in an EKF for estimating the position and orientation of the robot. The major drawback of this work is that orientation information is missing from the calculation of position. The major missing element from all the above work is the absence of a technique that can localize a robot both indoors and outdoors. Also, absolute measurements are useful when the robot is traversing relatively large distances but a careful mix of odometry, inertial sensing and absolute sensing is needed to provide accurate localization when the distances covered are relatively small and absolute positions are available intermittently. How can one localize a robot in an urban terrain where GPS is lost frequently? In this paper we propose a solution to this problem by using a backup system based on well calibrated odometry and a gyroscope. The overall scheme is robust and allows the robot to reliably navigate in areas where GPS (or any other form of absolute measurement) is available intermittently. In Section 2 the robot model is presented and the calibration procedure is described. Section 3 describes the gyroscope model used and the structure of Kalman Filter. Section 4 presents the experimental results and one of the many practical instances where the proposed strategy is useful. Section 5 concludes with a summary and a discussion of ongoing and fu-
2 Robot Model
The Pioneer AT used for experiments is a four wheeled robot shown in Figure 1. The wheels on the same side are mechanically coupled. The encoders return only two distinct speeds one for the right pair of wheels and other for the left pair of wheels. The kinematics of the Pioneer AT are given in Equations 1-4. xk+1 = xk ; vtot dt sin k+1 yk+1 = yk + vtot dt cos k+1 k+1 = k + _ dt _ = vR ; vL vtot = vR + vL l 2 (1) (2) (3) (4)
where l is the vehicle axle length, vL and vR are the velocities of the left and right wheels respectively. xk and yk denote the position of the center of axle. _ is the yaw rate of the robot in the x-y plane and is the angle between the vehicle axle and x axis. For the experiments reported here, the frame of reference is chosen in such a way that the start location of the robot is the origin facing in the positive y direction. This de nes the co-ordinate system with respect to which xk and yk are calculated at each time step k. The kinematic quantities of interest are shown in Figure 2. Experiments with the Pioneer AT reveal that localization which relies on velocities returned by the encoders can produce 20%-25% error in the position estimates. Some of the main reasons for this are the limited precision of the encoders, the low sampling frequency of their values and the inaccessibility to raw data that can give angular velocities of the wheels. In addition, a signi cant portion of the error comes from
VR Y VL
Figure 2: The Robot Kinematics the radius of the wheels chosen to convert rotational velocities of the wheels to linear velocities. This contains some systematic error and can be compensated for. The calibration procedure followed required the use of a precise tachometer (Extech Microprocessor Tachometer). While the robot was sitting on a box and the wheels rotated freely in the air, the velocity measurements from the encoders were compared to the reference (more precise) velocities that were obtained from the wheel RPM measurements given by the tachometer. The data obtained from this experiment was plotted to give a relationship between the velocity returned by encoders and by the tachometer. The plot is shown in Figure 3. The proportionality factor to convert from the encoder speed to the calibrated speed is denoted by . This form of systematic error is also responsible for part of the error involved with the calculation of the yaw rate using the velocities from the encoders. This is show in the following equation. ^ ; !R R ^ vR ; vL _ = !R R ; !L R = !L R = R (5) ^ ^ l lR lR R where !R and !L are the angular velocities of the right and left wheel respectively. R is the radius of the two wheels (assumed to be the same for the time being). The velocities returned by the encoders are assumed ^ and !R R ^. to be equivalent to !L R Another source of systematic error is involved in the determination of yaw rate in the x ; y plane using the velocities from the encoders. The speci cations for the Pioneer AT give the axle length l but during a turn, the wheels do not pivot at their center and thus the e ective axle length is changed. The e ective axle length due to skid steering changes the kinematic constraint on the vehicle from equation 5 to 6. _ = vR ;^ vL = vR ; vL (6) ^ l lR R
3 Kalman Filter
Kalman ltering 5] is a well known technique for state and parameter estimation. It is a recursive estimation procedure that uses sequential sets of measurements. Prior knowledge of the state (expressed by the covariance matrix) is improved at each step by taking the prior state estimates and new data for the subsequent state estimation. In recent years Kalman lter based localization has become common practice 8], 9] in the robotics literature. To improve on the estimate of yaw rate in the x-y plane an inexpensive gyroscope (QRS14-64-109 from Systron Donner) with a range of ;64 o =s to +64 o =s was used. Before using it for estimating orientation its bias was empirically determined. The mean value of a set of gyro measurements (when the robot was stationary) was calculated. Observations show that this value (mean) does not change signi cantly with time and thus it was assumed to be constant for the duration of the motion reported here. The bias (0:4 o =s) is thus subtracted each time from the gyro signal. In the experiments reported here the measurement vector used in the localization is composed of the two translational speeds of left and right wheels and the
yaw rate of the chassis as measured by the gyro. The state estimate is denoted by ^ x, z is the measurement vector, r is the residual vector and ^ z is the measurement estimate. _]T r = z ; ^ z = vL vR _]T ^ z=^ x= v ^L v ^R ^ z (7)
Simple Calib. Kalman Filter Exp. No. Odom. Odom. (Gyro & calib. odom.) 1. 22.7% 14.0% 2.5% 2. 21.5% 17.4% 0.4% 3. 23.1% 17.1% 0.9% 4. 20.5% 15.7% 2.6% Table 1:Actual Error comparison of three di erent techniques. Final Position ; Estimated Final Position
Error =
Total Distance Traversed
shows the estimated path of the robot if no calibration is performed and only odometry is used. The dasheddotted line shows the estimated path when calibrated Satisfying the constraints given by equation (4) and applying teh results from calibration discussed earlier, odometry (incorporating both and ) is used for localization and the solid line shows the path from the the system matrix is given by: complete system, that is, from the Kalman lter that 3 2 combines information from calibrated odometry and 1 0 0 gyroscope. =4 0 1 0 5 The rst sub- gure in Figure 4 is the case of tri;1 1 0 l l angular trajectory. The robot was started pointing towards the positive y-direction and after completion The equations for update are of the trajectory it re-orients itself to face the positive K = Pk+1=k (Pk+1=k + R);1 (10) x-direction. One can easily see how poor raw odometry is. x ^k+1=k+1 = x ^k+1=k + K r (11) In the rest of the three experiments the robot was Pk+1=k+1 = (I ; K) Pk+1=k (12) manually moved closeto the start location in the end. The third and fourth experiments are more revealing. where P is the error covariance matrix, Q is the sysIn the third experiment the robot traveled in a straight tem noise covariance matrix, K is the Kalman gain line and followed almost the same straight line while matrix and R is the measurement noise covariance returning. The Kalman lter relying on calibrated matrix. odometry and gyroscope data localizes the robot up The system noise covariance matrix Q is deterto an accuracy of 1% of the length of the traverse mined empirically. Di erent sets of experimental data while the estimates from other two methods shown in were processed to calculate the system driving noise. the gure are quite poor by comparison. The values of measurement noise matrix R are based The fourth and last experiment shown here is ilon sensor speci cations as well as empirical observalustrative due to the number of turns and the length tions. of the trajectory. This experiment was performed " # " # indoors on the second oor of the Computer Sci1 92 0 0 0 832 0 0 ence building at USC. The achieved accuracy is 98%. 0 1 92 0 0 0 832 0 Q= R= ; 4 ; 6 Table 1 summarizes the results of the four exper0 0 10 0 0 10 iments conducted using three di erent localization techniques. These results show that one cannot rely on un-calibrated odometry even for small distances 4 Experimental Results (on the order of 10 meters).
: : : :
(8) (9)
4.1 Indoors
We rst report here on four indoor experiments. Consider Figure 4. Each sub- gure shows the case of a di erent trajectory. In every experiment the initial position of the robot is at (0,0). In each gure all the measurements are in centimeters. The dashed line
4.2 Outdoors
The Pioneer AT is equipped with GPS (NovAtel 3111RE) and is capable of localizing itself globally when it is outdoors and the GPS signals are not occluded by tall buildings or other structures. The local-
ization error is constant (1 = 0:8m) and independent of the time of the day. Its accuracy though, can seriously degrade depending on the location. The number of satellites in sight determines the achieved level of accuracy. When some of these signals are not available the triangulation performed by the GPS provides poor results. The outdoor experiments performed, required the robot to move between pre-speci ed locations. The positions of these locations wer marked with the GPS value (latitude and longitude). A simple P (proportional) controller was implemented for the purpose of driving the robot from one location to the other. This controller servos on the di erences in the longitude and latitude between the current and the desired position of the robot. A lower level obstacle avoidance behavior bypassed it whenever the robot was in danger of collision with structures or people moving around it. For most of the locations that were tested the performance of the system was satisfactory and the achieved accuracy was as expected from GPS. When the same robot was commanded to navigate from one position to another in the vicinity of tall buildings, the controller was unable to drive the robot to its goal. Extensive testing revealed that between the initial and desired position there were areas where the GPS signals were either unavailable or occluded. To overcome this problem the control strategy had to be redesigned. The proposed method requires the desired locations as well as the necessary intermediate ones to be speci ed using two di erent representations. The rst one uses the value of the GPS signal at these locations. The second one (which is used when the above mentioned controller fails) requires the coordinates of these locations to be calculated beforehand using a map of the area. These new coordinates with respect to some arbitrary de ned local frame are given in meters (x, y) while the previous ones (longitude, latitude) are in degrees with respect to the geo-centric coordinate system. The new dual controller was tested in a scenario depicted in Figure 5: the robot was commanded to start from building A, travel to building B and then return to its initial position. Starting from point o and until the position a, the robot depended on the controller which uses the GPS signal to drive the robot to the goal. At position a, the GPS signal is a ected by the tall buildings and the system has to switch to the back-up controller which uses the Kalman lter estimate for the current location and the predetermined metric information for the destination. The calibrated
odometry, fused with the gyro signal in the Kalman lter, allows for precise localization of the robot and thus the performance of the system remains at the same level as before switching from the GPS driven controller. The robot continues to move between positions a and b by navigating on the metric ( x y) which is the di erence between its location at every time step and the desired location (Building B). At position b the GPS signal becomes available again and the robot switches to the controller that uses the GPS signal. The robot reaches Building B, takes a turn and heads towards Building A. The trajectory followed is almost parallel to the previous one (there is only one free path between the two buildings). As before the robot has to switch controllers for the part of the trajectory between positions c and d (in the vicinity of a and b). The GPS signal was poor for the area near a, b, c, and d. Finally, for the rest of its route between position d and Building A the robot again uses the GPS based controller. At this point it is worth mentioning that the accuracy of the GPS signal is almost the same for all the locations where it is available. However it is not desirable to fuse it with the gyro signal and the calibrated odometry data in the Kalman lter. For example at each time step (one tenth of a second) the robot moved for about 4 cm while the accuracy of the GPS is (at its best) 80 cm. This is because of the transformation from the longitude and latitude measurements available in degrees into meters on the plane of motion. This is the main reason for combining these two independent sources of localization information in time instead of in frequency. Switching in time from one controller (and thus localization algorithm) to the other is very well suited for cases like this where the locations of interest are marked with their coordinates in the geo-centric coordinate system as well as with their coordinates with respect to some arbitrarily dened local (to the area) coordinate frame. Another advantage of the current implementation is that the robot can be used to map its surroundings within an area of interest. The precision of the GPS signal is not adequate when we want to specify the locations of objects that can be a few meters apart, e.g. when locating landmines. The dual internal representation of locations allows the robot to navigate between remote positions without depending solely on the availability of the GPS signal. At the same time it provides the capability to mark the locations of objects of interest with higher precision estimates (from the Kalman lter based localization) with respect to some arti cial or natural landmarks. Maps built using
it for some time and when it has moved a su ciently long distance GPS can be used for absolute localization. We have obtained very good results in localization accuracy and robustness with an inexpensive backup system. The position estimates have accuracy up to 2% of the distance traveled over traverses as large as 100 m with intermittent GPS. In the present system, the e ective length of the axle is calculated o -line and is assumed to be constant. We plan to build an adaptive Kalman lter which can update at each time step. Also we have neglected gyro drift in this work. In our future work we plan to incorporate it in the state to provide better orientation estimates.
Acknowledgments
The authors thank G. Dedeoglu for help with data collection. The authors also thank K. Harbick and J. Montgomery for providing information and hardware support on the gyroscope and GPS. This research is sponsored in part by a contract #959816 from JPL/Caltech and contracts #F04701-97-C-0021 and #DAAE07-98C-L028 from DARPA.
References
1] B. Barshan and H. F. Durrant-Whyte. Inertial navigation systems for mobile robots. IEEE Transactions on Robotics and Automation, 11(3):328{342, June 1995. 2] J. Borenstein and L. Feng. Correction of systematic concurrency errors in mobile robots. In Proceedings of the 1995 IEEE International Conference on Robotics and Automation, pages 569{574, 1995. 3] J. Borenstein and L. Feng. Gyrodometry: A new method for combinig data from gyros and odometry in mobile robots. In Proceedings of the 1996 IEEE International Conference on Robotics and Automation, pages 423{428, 1996. 4] A. Elfes. Sonar-based real world mapping and navigation. IEEE Journal of Robotics and Automation, RA-3(3):249{265, June 1987. 5] R.E. Kalman. A new approach to linear ltering and prediction problems. ASME Journal of Basic Engineering, 86:35{45, 1960. 6] J. J. Leonard and H. F. Durrant-Whyte. Mobile robot localization by tracking geometric beacons. IEEE Transactions on Robotics and Automation, 7(3):376{382, June 1991. 7] S.I. Roumeliotis, G.S. Sukhatme, and G.A. Bekey. Smoother based 3d attitude estimation for mobile robot localization. Technical report, University of Southern California, August 1998. 8] S.I. Roumeliotis, G.S. Sukhatme, and G.A. Bekey. Circumventing dynamic modeling: Evaluation of the error-state kalman lter applied to mobile robot localization. In Proceedings of the 1999 IEEE International Conference in Robotics and Automation, May 1999. 9] S.I. Roumeliotis, G.S. Sukhatme, and G.A. Bekey. Smoother based 3-d attitude estimation for mobile robot localization. In Proceedings of the 1999 IEEE International Conference in Robotics and Automation, May 1999. 10] S. Thrun. Bayesian landmark learning for mobile robot localization. Machine Learning, 33(1), 1998. 11] S. Thrun. Learning maps for indoor mobile robot navigation. Arti cial Intelligence, 1999.
Point o a b c d
spaces.
Table 2: Co-ordinates of various points in two metric GPS signals as well as Kalman lter based localization can coexist in parallel.
800
odom. calib. KF
700
600
500
400
300
200
100
900
800
700
odom. calib. KF
600
500
400
300
200
100
2500
odom. calib. KF
2000
1500
1000
500
2000
1500
1000
500
500
1000
1000
500
500
odom. calib. KF
1000 0 500 1000 1500 2000 2500
Figure 4: Each gure above shows three traces. The traces are from un-calibrated odometry(- -), calibrated odometry(-.)
and from the Kalman lter using information from calibrated odometry and gyroscope (solid line). Measurements are in centimeters.