Mobile Robot Position Determination

One of the most important reasons for the popularity of mobile robots in industrial manufacturing is their capability to move and operate freely. In order for the robots to perform to the expectations in manufacturing, their position and orientation must be determined accurately. In addition, there is a strong tendency to grant more autonomy to robots when they operate in hazardous or unknown environments which also requires accurate position determination. Mobile robots are usually divided into two categories of legged and wheeled robots. In this chapter, we focus on wheeled mobile robots. Techniques used for position determination of wheeled mobile robots (or simply, mobile robots) are classified into two main groups: relative positioning and absolute positioning (Borenstein, 1996, 1997). In relative positioning, robot’s position and orientation will be determined using relative sensors such as encoders attached to the wheels or navigation systems integrated with the robots. Absolute positioning techniques are referred to the methods utilizing a reference for position determination. The Global Positioning Systems, magnetic compass, active beacons are examples of absolute positioning systems. Calculating position from wheel rotations using the encoders attached to the robot’s wheels is called Odometry. Although odometry is the first and most fundamental approach for position determination, due to inherent errors, it is not an accurate method. As a solution to this problem, usually odometry errors are modeled using two different methods of benchmarks and multiple sensors. In this chapter, we will discuss odometry and two different methods to model and estimate odometry errors. At the end, an example for mobile robot position determination using multiple sensors will be presented.


Introduction
One of the most important reasons for the popularity of mobile robots in industrial manufacturing is their capability to move and operate freely.In order for the robots to perform to the expectations in manufacturing, their position and orientation must be determined accurately.In addition, there is a strong tendency to grant more autonomy to robots when they operate in hazardous or unknown environments which also requires accurate position determination.Mobile robots are usually divided into two categories of legged and wheeled robots.In this chapter, we focus on wheeled mobile robots.Techniques used for position determination of wheeled mobile robots (or simply, mobile robots) are classified into two main groups: relative positioning and absolute positioning (Borenstein, 1996(Borenstein, , 1997)).In relative positioning, robot's position and orientation will be determined using relative sensors such as encoders attached to the wheels or navigation systems integrated with the robots.Absolute positioning techniques are referred to the methods utilizing a reference for position determination.The Global Positioning Systems, magnetic compass, active beacons are examples of absolute positioning systems.Calculating position from wheel rotations using the encoders attached to the robot's wheels is called Odometry.Although odometry is the first and most fundamental approach for position determination, due to inherent errors, it is not an accurate method.As a solution to this problem, usually odometry errors are modeled using two different methods of benchmarks and multiple sensors.In this chapter, we will discuss odometry and two different methods to model and estimate odometry errors.At the end, an example for mobile robot position determination using multiple sensors will be presented.

Odometry
There is a consensus among researcher that odometry is the vital technique for mobile robot position determinations.The governing equations of odometry are based on converting rotational motion of robot wheels to a translational motion (Borenstein, 1996(Borenstein, , 1997)).Although odometry is an inexpensive method for position determination, it has several inherent issues.One issue is that errors accumulate over time and consequently make odometry unreliable over time.The odometry errors are mainly classified as systematic and nonsystematic (Borenstein, 1996).The source of systematic errors usually caused by: • Average of both wheel diameters differs from nominal diameter • Misalignment of wheels Wheel-slippage Since these errors drastically affect the accuracy of odometry over short and long distances, it is empirical to accurately estimate the errors.The techniques used to overcome problems with odometry can be categorized to benchmark techniques and utilizing multiple sensors.

Correcting odometry using benchmark techniques
Benchmark techniques are based on testing robots over some predefined paths.In each experiment, the actual position and orientation of the robot is compared with the theoretical final position and orientation of the robot.Using the robot's kinematic equation a series of correction factors are derived to be incorporated in future position determination.Borenstein and Feng proposed a test bench to model and estimate systematic errors (Borenstein, 1995).The method is called UMBmark and is based on running a robot with differential wheel drives on a square clockwise and counter clockwise paths for several times and compare the recording with the actual final position and orientation of the robot to generate the odometry errors.The errors are then classified as type A and type B. Type A error is the error that increases (or decreases) amount of rotation of the robot during the square path experiment in both clockwise and counter clockwise direction while type B error is the kind of error that increases (decreases) amount of rotation in one direction (clockwise or counter clockwise) and decreases (increases) amount of rotation in other direction (counter clockwise or clockwise).The robot's geometric relations are used to calculate the wheelbase and distance errors in terms of type A and B errors.Finally, the results are used to find two correction factors for right and left wheels of the robot to be applied to odometry calculation to improve the positioning system.The advantage of this method lies in the fact that mechanical inaccuracies such as wheel diameters can be modeled and compensated for.However, the method is only suitable to overcome systematic errors and does not estimate nonsystematic errors.Chong and Kleeman modified UMBmark to model odometry positioning system more effectively by offering a mechanism to include odometry's nonsystematic errors (Chong, 1997).This approach uses robot's geometric and dynamical equation in a more fundamental way to generate an error covariance matrix for estimating the odometry errors.The technique also utilizes an unloaded wheel installed independently on linear bearings of each wheel to minimize wheel slippage and motion distortion.As a result of these modifications, odometry errors are minimized to a level that could be considered a zero-mean white noise signal.The other important characteristic of this method is that the errors calculated at each given time are uncorrelated to the next or from previous errors.The systematic errors are calibrated using UMBmark test.To model non-systematic errors, it is assumed that the robot motion can be divided to small segments of translational and rotational motions.For each segment the associated covariance matrix is calculated based on the physical model of the motion.The covariance matrix is updated using the previous calculation of the matrix.This method does not use any signal processing filter to estimate the errors.The main drawback of the method is the use of unloaded wheels along with drive wheels which limits the robot motion significantly.Antonelli and coworkers proposed a method to calibrate odometry in mobile robots with differential drive (Antonelli, 2005).This method is based on estimating some of odometry parameters using linear identification problems for the parameters.These parameters come from kinematic equations of the odometry which are the sources of odometry's systematic errors.The estimation model is derived from the least square technique which allows a numerical analysis of the recorded data.Unlike UMBmark, this method is based on a more flexible platform and does not require a predefined path for the robot.Since the precision of the robot position and orientation at any given time is very important in estimating the robot position at the next moment, a vision-based measurement system is used to record robot's position and orientation.The experimental results shows this technique provide less error in estimating the robot position and orientation when compared to UMBMark technique.Larsen and co-workers reported a method to estimate odometry systematic errors using Augmented Kalman Filter (Larsen, 1998).This technique estimates the wheel diameter and distance traveled with a sub-percent precision by augmenting the Kalman filter with a correction factor.The correction factor changes the noise covariance matrix to rely on the measurements more than the model by placing more confidence on the new readings.The augmented Kalman filter uses encoder readings as inputs and vision measurements as the observations.The only condition to achieve such precision is to use more sensitive measurement system to measure the robot position and orientation.Martinelli and Siegwart proposed a method to estimate both systematic and nonsystematic errors odometry errors during the navigation (Martinelli, 2003).The systematic errors are estimated using augmented Kalman filter technique proposed in (Larsen, 1998) and the nonsystematic errors are estimated using another Kalman Filter.The second Kalman filter observations is called Observable Filter (OF) come from the estimates of the robot configuration parameters of the segmented Kalman filter.The main idea of Observable filters is to estimate the mean and variance of the observable variables of the robot parameters which are characterizing the odometry error.

Correcting odometry using multiple sensors
The other method to estimate the odometry errors is to integrate odometry with information from another sensor.The information from another sensor eventually is used to reset odometry errors especially during long runs.In many studies Global Positioning System (GPS), Inertial Navigation System (INS), compass, vision and sonar have been used in conjunction with odometry for position determination.In most cases Kalman filter or a derivation of Kalman filter, such as Indirect Kalman filter (IKF), Extended Kalman filter (EKF) and Unscented Kalman filter (UKF) has been used to integrate the information.In the following, we discuss few works have been done in this direction.Park and coworkers employed a dead reckoning navigation system using differential encoders installed on the robot wheels and a gyroscope which is attached to robot (Park, 1997).The approach is based on estimation and compensation of the errors from the differential encoders and the gyroscope angular rate output.An Indirect Kalman filter (IKF) is used to integrate heading information from gyroscope and odometry.The output of IKF is used to compensate the errors associated with heading information in odometry as well as www.intechopen.comthe error in gyroscope readings.The improved heading has been used in some formalism to give more accurate position and heading of the mobile robot.The work is followed by introducing a system of linear differential equations for each one of position errors on x-and y-directions, heading rate error, left and right wheel encoder errors, gyro scale factor error, and gyro bias drift error and wheel base error.The differential matrix derived from that linear differential equation is the equation that is used as the input for Indirect Kalman filter.The advantage of this method is that by including both the encoder and the gyroscope errors as the input of Kalman filter, both odometry and gyroscope errors can be estimated.Cui and Ge in their work utilized Differential Global Positioning System (DGPS) as the basic positioning system for autonomous vehicle (Cui, 2001).GPS is currently used in many applications of land vehicle navigation and it is based on using information about the location and direction of motion of a moving vehicle which received from different satellites orbiting the earth.The expected accuracy of this technique is less than 0.5 meters.DGPS is similar to GPS but it uses two or more different satellite signals to localize a moving vehicle with more accuracy.One of the problems with both GPS and DGPS is when these methods are used to track a moving vehicle in an urban canyon.In such an environment, tall buildings prevent GPS to receive signals from the satellites.Therefore, it's critical to decrease the number of required satellite signals when the vehicle is moving in urban canyons.To achieve this goal, a constrained method was used that approximately modeled the path of the moving vehicle in an urban canyons environment as pieces of lines which is the cross section of two different surfaces.Each surface can be covered by two satellites at each moment.This will decrease the number of different satellite signals needed for vehicle localization to two.However, the method can switch back to use more than two satellite signals once the vehicle is not in moving in an urban canyon.In this method a pseudorange measurement is proposed to calculate distance from each satellite.Since the GPS receiver is modeled so that the measurement equation is nonlinear, the Extended Kalman Filter is used to the augmented matrix generated from the measurements to estimate the vehicle's position.While this work has not used odometry as the basic method for positioning of the vehicle, it decreases the number of required satellite signals to estimate the vehicle position when it travels in urban canyons.Recently Chae and coworkers have reported a method that uses EKF to efficiently integrate data from DGPS and INS sensors (Chae, 2010).The proposed method is designed to cover the task of mobile robot position determination during the times the robot navigates in urban areas with very tall buildings in which GPS signals are inaccessible.Borenstein and Feng in another work have introduced a method called gyrodometry (Bronstein, 1996).In this method, the odometry is corrected for systematic errors using UMBmark.The approach intends also to get around non-systematic errors such as the errors generated when the robot traverses on a bump.The nonsystematic errors impact the robot for short period and is not detected by odometry.Once the robot faced a bump or another source of nonsystematic errors, odometry is replaced by gyro-based positioning system which doesn't fail in that situation and can provide a reliable information as the robot passes the bump.In practice both sets of information are available all the time and it is assumed that two sets of data, as long as there is no bump or object ahead of the robot, return almost the same information.In fact the procedure starts when odometry data differs substantially from gyro data.At the end of the time period robot traversing on a bump, the odometry is set by gyro positioning system.Afterwards, the odometry is the main positioning system and uses the correct new starting point.The gyro output drifts over time and this was compensated using the method proposed by Barshan and White (Barshan, 1993, 1994, 1995).Using this method both types of odometry errors are compensated and as result more reliable position and orientation are calculated.This approach is simple and doesn't need any sensor integration.While the method is reliable for the conditions it was tested for, it does not include the situation where odometry fails due to other nonsystematic errors such as moving on an uneven surface or in presence of wheel slippage.Using ultrasonic beacons is another option to improve odometry which is proposed by Kleeman (Kleeman, 1992).In this approach active ultrasonic beacons are used to locate the robot at any given time.The information from beacons was used as a reliable position to reset the odometry.It is well known that ultrasonic measurements have random errors which don't accumulate over time but in contrast are not smooth and require to be compensated.In this method, an ultrasonic localizer is used which has six ultrasonic beacons and a transmitter controller which sequences the firing of the beacons in a cyclic manner.Beacons have 150 milliseconds intervals to have the previous pulse reverberation settled.Beacon 1 is distinguished by transmitting two bursts 3 milliseconds apart.The robot has an onboard receiver which is composed of eight ultrasonic receiver arranged at 45 degrees intervals.In modeling the positioning system, in addition to position of robot in both x-and y-directions, velocity of the robot, beacon cycle time, speed of sound and beacon firing time are introduced as the states of the system.An Iterative Extended Kalman Filter (IEKF) is utilized to integrate two sets of data from the beacons and from odometry.This method provides reliable information about the robot position in a constructed environment.However, it has several important drawbacks which make it unsuitable in many situations.For example, there is a problem with having delayed time arrival of an ultrasonic beacon due to an indirect path incorporating reflection off obstacles, walls, ceiling or floor.These echoed arrival time should be identified and must not be taken into account in estimation otherwise IEKF result in erroneous state estimation.In addition, one could easily point out that this method is appropriate only for indoor applications when ultrasonic beacons can be installed.Barshan and Whyte have developed an Inertial Navigation system to navigate outdoor mobile robots (Barshan, 1993(Barshan, , 1994(Barshan, , 1995)).In this system, three solid states gyroscope, a triaxial accelerometer and two Electrolevel tilt sensor are used.One of the important results of this work was the development of a method to model drift error of inertial sensors as an exponential function with time.Modeling the drift error for each sensor was done by leaving the sensor on a surface motionless.The sensor's readings were recorded until it was stabled.The sensor's readings are then modeled as an exponential function.The proposed Navigation system has been tested on radar-equipped land vehicles.The orientation from inertial sensors is reliable for 10 minutes.However, in the presence of electromagnetic fields information regarding the heading is valid only for 10 seconds.Although, using the inertial sensors reliably (after the drift errors were modeled) for 10 minutes is an improvement for vehicle position determination, it is not good enough when compared with systems which integrate two or more sensors.It is assumed that in all cases the errors associated with inertial sensor have been modeled and were taken in to account before the position and orientation of the vehicle was calculated.Gyro's scale factor is provided by manufacturer to convert gyro output (digital or analog signal) to degrees per second.The scale factor is not a fixed and varies slightly with gyro's temperature, direction of rotation and rate of rotation.Therefore, modeling the variation of scale factor is critical to accurate calculation of gyro's angular information.Borenstein has used odometry and a gyroscope which was corrected for its scale factor variation along with its drift error (Borenstein, 1998).In addition, an Indirect Kalman Filter is used to model all errors corresponding with this method.Roumeliotis and Bekey have utilized multiple sensors to navigate a mobile robot with two drive wheel and one cast (Roumeliotis, 2000).In this work one sensor (a potentiometer) was installed on rear wheel, to measure robot's steering angle.Additional sensors were: 1) two encoders on each wheel, 2) one single axis gyroscope, and 3) one sun sensor.A sun sensor is capable of measuring of the robot's absolute orientation based on sun position.Such sensor could be an effective alternative in applications such as Mars explorations where there is no access to GPS signals or strong magnetic field.It is indicated that sun sensor data should be used as often as one fifth of other sensors to achieve better estimation.Also this research shows that, by excluding robot's angular velocity and acceleration and translational acceleration into the estimation system state (in simulations), the system is very sensitive to changes in orientation caused by external sources such as slippage.Therefore to reduce this effect, robot angular velocity and angular acceleration as well as the robot translational acceleration are included into the estimation system's state.Amarasinghe and co-workers have reported a method to integrate information from a laser range finder and a laser camera to navigate a mobile robot (Amarasinghe, 2010).In this technique, a camera is used to detect landmarks and the position of the landmark is measured by the laser range finder using laser camera.The information from two sensors is integrated in a Simultaneous Localization and Mapping (SLAM) platform supported by an Extended Kalman Filter (EKF).While the main advantage of this work is using appropriate sensors for detecting the landmarks and calculating the robot's position, it provides unreliable information in an indoor setting with no landmarks or in an unfavorable lighting condition such as a smoke-filled environment.

An example of using multiple sensors for position determination
In this section an example of position determination using sensor integration is discussed.The mobile considered is a wheeled robot with two driving wheels in the front and one dummy wheel in the back.The mobile robot position and orientation is represented by vector () [ () , () ] T ss s P kT p kT kT =ψ at time step s kT , where k is a positive integer and s T is the sampling period.For simplicity, s T will be dropped from notation after this point and the mobile robot is assumed to be traveling on a flat surface.The vector () [() , () ] T Pk p kk =ψ specifies the Cartesian coordinates of the robot, and the () k ψ defines the orientation (heading) of the robot.The position and orientation vector () Pk is updated in each sampling period during the robot's motion.Two coordinate frames are assigned as shown in figure 1. Body coordinate frame which is attached to the robot and moves with the robot.World coordinate frame, which sometimes is called navigation coordinate frame, is fixed at a reference point and the robot position is measured with respect to this frame.The superscript 'O' is used to denote the information obtained from odometry.The robot position () o p k is determined incrementally by where () er vk is the measured translational velocity of robot's right wheel and () el vk is the left wheel's translational velocity.Figure 1 shows the geometric relations between robot's position and orientation in three consequent samples.

The heading angle ()
x is the translation velocity of mobile robot in world coordinate frame.The orientation based on odometry is updated by where the rate of change of orientation where b is the robot's wheelbase.
To alleviate the errors from odometry, the information from second sensor is integrated with odometry.Since based on the equations ( 1) and ( 4), the robot's heading plays an important role in position determination, a single axis gyroscope is used to determine the heading of the robot.The gyro's drift error is modeled using the technique introduced by Barshan (Barshan, 1993(Barshan, -1995)).Figure 2 shows the gyro's output when the gyro examined on a flat and stationary surface for 14 hours.The result suggests that the gyro output increases exponentially when it was stationary during the test.Gyro's output consists of gyro accurate angle rate, the modeled error and a white noise:  A nonlinear parametric model for bias error was fitted to the data from gyroscope using least square fit method: Fig. 3. Unscented Transformation (Wan, 2000).
The next step is to effectively integrate the information from odometry and gyroscope so that the odometry errors can be accurately estimated.As shown, the Kalman filter gives optimal state estimation to a linear system (Kalman, 1982).The EKF is an extension of the Kalman filter for nonlinear functions.The EKF is based on linearizing the nonlinear functions and applying Kalman filter for the estimation.Due to nonlinear nature of errors associated with odometry and other sensors, many studies have used Extended Kalman filter to integrate two or more sets of data for more accurate position determination.
However, since the level of nonlinearity for odometry's nonsystematic error is high, the EKF may not be the best choice.Unscented Kalman filter (UKF) is another extension for Kalman filter which can provide accurate estimation for systems with high nonlinearity such as our system.
An important aspect of the UKF is that it can be applied to nonlinear functions without a need for linearizing (Julier, 1995(Julier, , 1996)).It is much simpler than EKF to implement because it doesn't require the calculation of Jacobian matrix which may provide some difficulties in the implementation.
The UKF is based on Unscented Transform (UT) that transforms the domain of the nonlinear function to another space of sigma points that has the same statistics as the original points (Julier, 2000).The UT is capable of estimating the statistics of a random variable defined by a nonlinear function (Julier, 2000).Figure 3 shows the general idea of the UT (Wan, 2000).In this transformation, a set of points called sigma point, are chosen such that it has mean of x and covariance of x P .The first two moments of x can be calculated by choosing 2n+1 sample points (also called sigma points) as follow 0 The sigma point are propagated through the nonlinear function of () Mean of output of function () f x can be determined as Therefore, it is possible to estimate the statistics of a nonlinear function without taking derivatives from the function as it is needed in the case of EKF.This makes implementation much easier than EKF which needs linearizing of the nonlinear function around the operating points and calculation of the Jacobian matrices.The parameter provides another degree of freedom to eliminate the estimation error for higher order statistics.It can be positive or negative but choosing a negative number returns a non-positive semi-definite estimation for P yy (Wan, 2000).Julier and Uhlmann (Julier, 1995(Julier, , 1996) ) were first to introduce the UT as a technique for the estimation of nonlinear systems.Their work was based on the intuition that, with a fixed number of parameters it should be easier to approximate a Gaussian distribution than it is to approximate an arbitrary nonlinear function or transformation.This could be easily drawn from the way the sigma points of the UT are being calculated.There are few versions for the UKF which they differ from each other based on whether to include the random noise into the calculations.
Houshangi and Azizi have used the UKF to successfully integrate information from odometry and a single axis gyroscope (Houshangi, 2005(Houshangi, , 2006;;Azizi, 2004).The mobile robot used in their work is a Pioneer 2-Dxe from ActivMedia Robotics Corporation.Figure 4 illustrates the robot and the single axis gyroscope used as the second sensor for position determination.The robot is a two-wheel drive and incremental encoders are installed on each wheel.These wheels have pneumatic rubber tires which give better mobility but potentially are additional source of error for positioning based on odometry such as inequality of wheel diameters which inescapable.One rear caster is used to stabilize the robot's motion and standing.The difference between robot position and orientation comes from odometry and robot position and orientation are calculated by Three independent UKF described in equations (11)(12)(13)(14)(15)(16)(17)(18) are applied to each one of the errors defined in equation ( 22).The estimated errors are included when an accurate position and orientation for the robot were calculated in the next sampling interval.The results were compared to the results of applying EKF to equation ( 22).
To evaluate the approach an experiment was designed so that the robot was run over a 3meter square for eleven runs.The final position of the robot was calculated with respect to the actual final position.As shown in Figure 5, the UKF returns more accurate results compared to the EKF and better than using odometry or gyroscope alone.This is partly due the nature of odometry errors which are nonlinear and can be estimated more effectively using UKF rather than EKF.

Conclusions
Mobile robot position determination is vital for the effectiveness of robot's operation regardless of the task.Odometry is the fundamental technique for position determination but with many issues described in this chapter.The odometry's errors can be estimated using benchmark techniques and utilizing multiple sensors.Kalman Filtering is the most popular technique to integrate information from multiple sensors.However, most of physical and engineering phenomena are nonlinear and it is necessary to modify Kalman filter to estimate nonlinear systems.The EKF is able to deal with nonlinear systems and is used for mobile robot position determination.As was discussed, the odometry errors have high nonlinearity in nature.The newer extension of Kalman Filter using a transform called Unscented Transform provides another alternative for sensor integration.An example was provided using UKF to integrate gyro data and odometry.The implementation results indicated utilizing multiple sensors using UKF provided more accurate position even as compared to EKF.
mobile robot based on odometry.The velocity component () b y vk is assumed to be zero because of forward motion of the mobile robot and ()
parameter value to experimental data obtained from gyroscope with zero input for 14 hours sampled every second are C 1 =0.06441,T=30.65 s, and C 2 =0.06332.If we assume that the original position is known, the next position of the robot in the world frame can be determined using equation (1) by replacing the robot's heading with the information calculated from the gyro.The mobile robot position () G p k in world coordinate frame based on gyro's readings