Autonomous mobile robot localization using Kalman filter

Autonomous mobile robot field has gain interest among researchers in recent years. The ability of a mobile robot to locate its current position and surrounding environment is the fundamental in order for it to operate autonomously, which commonly known as localization. Localization of mobile robot are commonly affected by the inaccuracy of the sensors. These inaccuracies are caused by various factors which includes internal interferences of the sensor and external environment noises. In order to overcome these noises, a filtering method is required in order to improve the mobile robot’s localization. In this research, a 2wheeled-drive (2WD) mobile robot will be used as platform. The odometers, inertial measurement unit (IMU), and ultrasonic sensors are used for data collection. Data collected is processed using Kalman filter to predict and correct the error from these sensors reading. The differential drive model and measurement model which estimates the environmental noises and predict a correction are used in this research. Based on the simulation and experimental results, the x, y and heading was corrected by converging the error to10 mm, 10 mm and 0.06 rad respectively.


Introduction
A fully automated mobile robot will require the robot to be able to pinpoint its current poses and heading in a stated map of an environment.The process of determining its pose is named localization.Mobile robot localization often gets intact with accuracy and precision problem.Commonly known as position tracking or position estimation.Localization is a fundamental perceptual problem in robotics [1].
In a study [2] stated that the real challenge in localization of mobile robot is to perform correct error association between data collected from sensor and its environmental model.Localization is the process of establishing correspondence between robot's local coordinate system and the map coordinate system, which is described in a global coordinate system and entirely independent of a robot's pose.Knowing the facts that most sensors integrated to robot are not to be a noise-free sensor [3], pinpointing the pose of a robot requires to be inferred from a certain preset data.Depending on a single sensor is usually insufficient for defining the robot's pose.Several sensors are required in order to increase the precision of the integrated data.
Acquired data from robot sensors is required to be combined in order to estimate the actual pose of the robot.The Kalman filter is considered to be the best possible, optimal, estimator for systems with uncertainty [4][5].The Kalman filter is a data processing algorithm or filter, which is useful for the reason that only knowledge about system inputs and outputs is available for estimation purposes [6].In short, Kalman filter is an iterative mathematical process which uses sets of equations and consecutive data inputs in estimating the true value in a system containing uncertainty.Kalman filter is implemented for combining the sensory data for estimating the state of the robot which is the location and current heading of the robot [7].
This paper presents the implementation of Kalman filter to improve the mobile robot localization by developing a sets of mathematical models correlates to the driving model, position prediction, and position estimation models.Furthermore, the fabrication of 2wheeled mobile robot for the purpose of collecting measurements of its surrounding based on the integrated sensors.The study is bounded by only considering a static, known indoor environment.

Simulation and experimental setup 2.1 Kalman filter modelling
In general, mobile robots require a driving system which allows it to move about its specified surrounding environment.Mobile robot uses in this project are based on a twowheeled mobile robot driving system.These two-wheeled mobile robot are controlled referencing differential drive system which makes it the least complex system and suitable for a common indoor environment navigation.Thus, less complexity in its position estimation.AiGEV 2016

Position prediction model
angle, ϕ. is first assumed that no noise is affecting the system for constructing the system model.This is to idealize the system to accurately estimate robots pose.
Updated position of a mobile robot X k ,,are estimated based on its previous position X k-1 , previous heading angle ∆θ k-1 , and the previous travels displacement s k-1 .
The priori coordinate and priori error covariance can be measured as Denoting U k as controlled noise which is due respect to steer angle and velocity.∇݂ ௫ and ∇݂ ௨ are Jacobian matrices describing the function of state transition referencing the state X and control input U.

Position estimation model
Reference walls are placed as landmarks with a ready set distance from square path sets for the mobile robot.Actual range between the robot and the reference wall are estimated using ultrasonic sensors.The centre of gravity of the mobile robot, ‫ݔ(‬ , ‫ݕ‬ ) are set to be the origin on the local coordinate frame.Coordinate positioning the ultrasonic sensor are defined as ‫ݔ(‬ ௦ ᇱ , ‫ݕ‬ ௦ ᇱ ) as shown in Figure 2.

௧
as the coordinate of the predicted landmark, and ℎ , as the actual displacement measured from the ultrasonic sensor.The distance ℎ , ௧ between ultrasonic sensor and landmark can be estimated one the predicted landmark coordinate ݈ , ௧ is acquired, based on Difference between predicted heading and the actual heading measured by the encoder and yaw orientation ∅ get from IMU are determined by Kalman gain, ‫ܭ‬ , the posterior state, ܺ ା , and the posterior error covariance, ܲ ା can be estimated and update by taking

Design of experiment
Figure 3 shows the robot and environmental setup being done to monitor the mobile robot poses in a known static environment.Four landmarks is set as B1, B2, B3, ad B4.The initial position of the robot is placed at the bottom right corner of the 1x1 meter square, and it is defined as the origin coordinate (x, y, θ).The robot is programmed to move along the four line creating a square path referencing the 1x1 meter square making counter-clockwise movements.Error variance on the ultrasonic sensor are determined by comparing the raw data initially measured by the sensors, and the actual-measured distances between the sensors and the landmark placed.By means of performance, the sensors are capable of detecting range 0.04 to 30 meter, with resolution of 0.01 meter.

Robotics parameters
Based on the calibration done on sensors and several measurements on the mobile robot's base, robotics parameters are declared as presets for the system.3 Results and discussion

Error variance
To capture the motion data, mobile robot was programmed to navigate through 1x1 meter square path for 10 cycles to determine the encoder error.Odometry error variance, position displacement and robot's heading are closely noted.Robotics trajectory for a single run is as shown in Figure 5 where points of measurement are denoted as labelled.From the figure, it can be seen that the reading is increasingly deviated from its original value due to error affecting its performance.

Kalman filter localization
Based on the previously stated mobile robot parameters, the error variance of the ultrasonic sensor, distances and orientation are uses as the initial state noise covariance and the measurement noise covariance to be post process in the Kalman filter for determining the mobile robot location in current environment.Figure 7 shows the exact same data as in Figure 6 which plotted all the sensory data but using Kalman filter as inaccuracy filter.The path can be seen clearly to have improved in its accuracy and precision.It had improved the localization error through the runs.Based on the experiment done, it can be assumed that the average error affecting the robot's localization as shown in

Conclusions
In this paper, the localization of the robot was improved by the implementation of Kalman filter.Based on the experimental and simulation results of the proposed system, the x, y, and heading or orientation errors is observed to be reduced to 0.1 meter, 0.1 meter and 0.06 rad angles respectively.The implementation of Kalman filter somehow introduces to delay in the systems processing.Kalman filter also depends greatly on the prediction model, an error in creating the prediction model will surely cause all the output data to be deviated from the required reference data.

Figure 1
Figure 1 shows the position and orientation of mobile robot for certain different time steps.An initial coordinate denotes X k are made up of x and y coordinate and heading angle θ referencing the centre of gravity of the mobile robot.The time step is denoted as k.The control input denotes as U k are is based on robot relative displacement, s, and heading

Figure 8 ,
Figure 8, Figure 9, Figure 10 are showing the error comparisons between the estimated and the Kalman-filtered error for the x-coordinate, y-coordinate and the θ-orientation of the mobile robot for the above plotted mobile robot trajectory.Based on the figures, 0 on the xaxis represents the actual desired data which is comprised with zero error.Data plotted based on raw data are represented with the red lines, while the data implemented with Kalman filter are distinguished with the blue lines.From the results shown by the figure, it

Table 1 .
Specified mobile robot parameters.

Table 2 .
Average position and orientation error.
be clearly seen that Kalman filter implementation provides more accurate data which is much closer to the actual data.The Kalman filter implemented is proven to reduce an average of 23.25% of the error in mobile robot localization. can