karunanidhi prabhu u4720898 supervisor: dr jon kim...
TRANSCRIPT
1
Using Gaussian Process for Terrain mapping
Karunanidhi Prabhu
U4720898
Supervisor: Dr Jon Kim
(COMP8740) Artificial Intelligence Project
Semester 2, 2010
2
Abstract
This Project work is about understanding Gaussian process and to do a detail study on
Gaussian process and how it can be used in occupancy mapping. The paper presents a detail
study conducted on Gaussian process, and a GP regression code in MATLAB. As part of learning,
the GP code is also run with synthetic data to do basic regression process. To study the
application of GP in occupancy mapping a 2-Dimensional virtual environment is created. The
data from the 2-D simulator is used for GP regression. The data from this simulation is used in
the GP method.
3
Table of Contents
1. Glossary ..................................................................................................................... 4
2. Aims and contributions .............................................................................................. 5
3. Introduction ............................................................................................................... 6
4. Literature Review ....................................................................................................... 8
5. Background Theory .................................................................................................. 12
5.1 What is Gaussian Process: ............................................................................................... 12
5.2 Gaussian Process for regression: ..................................................................................... 13
5.3 Gaussian Process Test Results: ........................................................................................ 15
6. Contextual Occupancy mapping using GP: ................................................................ 18
7. Implementation and Experimental setup: ................................................................. 20
8. Experimental Results: ............................................................................................... 22
9. Conclusion: .............................................................................................................. 24
4
1. Glossary
2-D 2 Dimensional
3-D 3 Dimensional
GP Gaussian Process
COM Contextual occupancy mapping
SE Squared-Exponential
LIDAR Light Detection and Ranging (Laser Range finder system)
MATLAB MATrix LABoratory, A engineering software package
5
2. Aims and Contributions:
The project undertaken is a robotic mapping project with goals of understanding the Gaussian
process and applying it to terrain mapping methods. Due to low level of background knowledge
and experience, the objective was not to make contributions to the field of robotic mapping.
Rather it was to familiarize with field of robotic terrain mapping techniques and to get good
experience in MATLAB.
The following were project outcomes that were set as goal and accomplished:
1. A 2-D Environment was created to simulate a scanning robot.
2. A detailed investigation on Gaussian process and its role in occupancy mapping.
3. Gaussian Process Regression done on the simulated 2-D environment data.
4. The code was done in MATLAB therefore a significant byproduct of the project was the
learning of MATLAB
5. Learning of Linear algebra as it is must to learn about Gaussian Process
In this project I was asked by my supervisor to do a detail study on GP before doing the
contextual mapping process. The supervisor provided input and direction an all the work
relating to the study of the Gaussian Process and creating the environment was done by
student and supervisor guided in relating the Gaussian process to Terrain mapping technique.
6
3. Introduction:
Robotics is all about making autonomous machines that can take decisions and work
autonomously with certain degree of freedom without human intervention. While the core part
of the robotics deals with making the robots learn and think through learning algorithms the
other part is providing is the robot with perceptual abilities. Both these aspects are two key
sides of robotics. In this project we focus is on Perceptual part.
The crucial aspect of making a robot autonomous is developing a mechanism that provides the
robot the capability to perceive its environment. Terrain mapping is one of such mechanisms to
give the robot a perception about its environment. It helps the robot in recognizing the
obstacles and potentially traversable and non-traversable areas. This gives a intelligent machine
more freedom and required information to take appropriate decisions in occasions where we
cannot expect humans to intervene to control the Robot.
Such kind of intelligent navigating robots could be used in highly risky environments and places
where humans cannot survive, like deep water and other planets and moons, etc. All of these
risky environments mostly require the robots to take decisions on their own for which the robot
might require more detailed information of the surrounding. Once the robot is provided with
such ability to perceive its environment the task of navigating in that environment becomes a
easy task. Terrain maps enhance the robots vision capabilities and provide more detailed
information about the environment.
Terrain mapping is all about building maps from sequences of range data from sensors.
Mapping of an environment allows the robot to perceive the environment in detail in order to
extract pattern of the traversable path in its environment. Terrain maps mark whether areas of
terrain and potential obstacles are traversable or need to be avoided. The advantage of Terrain
mapping is that it makes the robot capable of recognizing the path on its own without any need
for a decision from humans and makes it independent. And it can be applied to multiple areas
of path planning.
A specific interest of this project is to take advantage of the Terrain mapping in path planning
tasks where mobile cameras can be installed in helicopters and can be sent to far unreachable
location in interiors of the forest or any other risky environments and can be used to scan the
environment. The scanned data can be later used to develop the 3-D model of the area. For
example a helicopter equipped with a stereo can be sent to the interiors of the forest and scan
the forest to required extent. Using this scanned data the map of the interiors of the forest can
be scanned without humans going into the forest. Terrain mapping will be of great use in such
tasks.
7
Apart from specific interests such maps are useful for a number of robotic applications and are
central to the goals of navigation [1], path planning [2], localization (Where is the robot now?),
and tele-operation (viewing the environment while controlling a robot remotely).
The study of Terrain mapping has been a established field of study for few decades and all
these methods mostly employees probabilistic methodologies to estimate the occupancy
probability of each every discrete elements of its environment. This eventually gives the map of
occupied and non-occupied discrete elements of the cell thus giving the map of the
environment as a spatial model. The occupancy grid mapping is more popular than others, it
has the reputation of being extremely robust and easy to implement. Occupancy maps have
been built using various sensors such as sonar sensor, laser range finders, and stereo vision, etc.
However, all these sensors are subject to errors, which are often referred to as measurement
noise. The occupancy grid mapping resolves such problems by generating probabilistic maps
and it is represented by grids. However Occupancy grids have few significant limitations which
make them to be not a proper choice for all applications.
This is report is organized as follows: Section 4 presents literature survey on past occupancy
methods and development in the field of terrain mapping. Section 5 will provide a theoretical
explanation of Gaussian process and also presents a result of regression done on one
dimensional data. Section 6 explains the contextual approach to Occupancy mapping which
done with help of Gaussian process. Section-7 explains about the basic experimental setup.
Section 8 Experimental results are explained. Section 9 is the final section which gives the
conclusions and future works.
8
4. Literature Survey:
Terrain mapping process is all about creating spatial model of the environment which can be
used by the robot to find its traversable path on its own to make it self-sufficient in decision
making; an important aspect in the field of self-sufficient robotics. Developing such a kind of
algorithm is a challenging task as it holds lot of difficulties behind it due to the computational
and various other limitations, which is the reason why the field of terrain mapping has been a
active area of research in the field of robotics. Developing this algorithm provides a means to
capture the 3D world detail in the form of a map. The main goal of Terrain mapping is
interpreting the environment in the form of map. It provides extra perceptual capability to the
robot and gives detailed information to the robot for making rite decision during the course of
navigation.
There are many challenges that should be overcome in developing a terrain map of an
environment. But they can be mainly classified as two basic problems one is related with
dealing with errors that are inbuilt in sensors and pose estimation algorithms of the robot. Next
deals with effective construction of the terrain map which has closest representation to the
actual environment.
In terrain mapping process the input is a sequence of data which is recorded by a range finding
instruments (sensor) like LIDAR(Light Detection And Ranging), RADAR, ultra-sonic sound, sonar
or laser. This sequential data contains the information of range and the angle of deviation of
reflected laser ray from point of impact. This information is interpreted as form of 3D location
when the map is constructed.
The most popular technique of terrain mapping is occupancy grid mapping which was
developed by Elfes and Moravec [3] in mid-1980s. This is the standard occupancy grid mapping
algorithm. Since then occupancy grids have been widely used throughout the mobile robotics
community. The simple and easily implementable nature of the algorithm made the occupancy
grid mapping popular in mobile robotics. As the algorithm is based on simple principle of
finding the probability of each grid it is computationally very effective. The main goal of
standard occupancy grid mapping is to estimate the posterior probability over maps provided
the data.
Occupancy gridding is the first approach to robot perception and world modeling that uses
probabilistic tessellated representation of spatial information. The occupancy grid is a
multidimensional (practically 3or2 dimensional) random field that maintains stochastic
estimates of the occupancy state of the cells in a spatial lattice. To construct a sensor-derived
map of the robot's world the cell state estimates are obtained by interpreting the incoming
range readings using probabilistic sensor models. Bayesian probabilistic estimation procedures
9
allow the incremental updating of the occupancy grid, using readings taken from several
sensors over multiple points of view.
The standard Occupancy method decomposes the multi-dimensional mapping problem into
multiple one-dimensional grid estimation problems and these individual one-dimensional are
just binary estimation problems. That is, the estimation of the posterior probability over the
map given the data is broken down to estimating the posterior of each grid, of the
environment, given the data. Occupancy grid has been a successful approach, but besides the
acclaims occupancy models has been suffering from number of crucial draw backs. The most
visible problem is that, since occupancy grids decompose the high dimensional mapping into
one-dimensional estimations the cells become independent.
A key feature of the Occupancy Grid representation is the simplicity and uniformity with which
it treats sensor data. Range measurements from each sensor are converted directly to a
common representation that makes statements about spatial occupancy. Once in the
Occupancy Grid representation, data from different views and different sensors are combined
naturally to map out free space and extend occupied regions. Though this technique might yield
better computational efficiency it does not give us the required information along with the
context of the environment, because it treats the cells independently. So the dependencies
between the grids are not explained, while in real world we expect all the occupied grids to
have dependency to each of its neighboring cells. This gives a extra information about the
physical structure of the environment. Occupancy grids fails to capture this dependences
exactly and it is not consistent to be trusted in all time.
The occupancy approach looses the spatial correlation between the grids and the grids are
treated separately. So we often get cells of high uncertainty in the map that we develop out of
occupancy grid. Occlusion is best case to prove the inability of occupancy gridding in predicting
a grid exactly, in such cases the techniques might make the background get exposed or we may
get holes in the surface where it is not supposed to be. Apart from occlusion problem we may
also get numerous other errors in prediction of the grids, as a result we get maps that is
cluttered.
Since the development of occupancy grid technique the area of robotics mapping has been
dominated by probabilistic techniques and there has been many changes and modification that
has been done to the algorithm or it has been used along with additional techniques in order to
overcome its limitations.
A paper by Elfes et al [4] proposed a new and more rigorous Bayesian based map updating
formula. The paper has attempted to come up with a new paradigm as a alternate to traditional
paradigm for recovering spatial information from range data. The traditional paradigm
10
emphasizes the extraction of a geometric model directly from the sensor readings. The new
paradigm uses Occupancy Grids as an intermediate representation, avoiding early commitment
to geometric descriptions. In this paper single map was used during operation rather than the
empty, occupied and integrated maps utilized by Moravec and Elfes previously. The new
rigorous Bayesian update formula from this paper has two main disadvantages. Firstly a single
update can change the occupancy value of a cell drastically which means that cell values can
fluctuate. The second disadvantage is that once a cell has converged to certainty i.e. either 0 or
1 the occupancy value cannot be changed.
In 1993 Thrun published a new idea of utilizing neural networks for occupancy grid in his paper
[5] . Thrun tried a different technique for sensory interpreting mechanism to make the sensory
modal more robust. In the algorithm presented in this paper the sensory interpretation part is
implicitly defined as sensor interpretation network which is basically neural network. These
networks are trained using the back propagation training procedure to encode the specific
characteristics of the sensors as well as those of typical environments of a mobile robot. This
network outputs the value within the range between 0, 1. Once an occupancy value has been
determined it is integrated using a formula which is presented in the paper. The idea behind
whole method is to develop a instance-based learning technique for modeling environments.
This algorithm was applied to navigation robot called "COLOMBUS". The robot was able to
generalize the real world experience in form of neural networks. Once trained, these networks
allow for the transfer of knowledge across different environments. However the limitation of
this paradigm arises from the nature of neural networks. When dealing with neural networks it
is desirable to train the network until convergence. However it is not practical to train the
sensor interpretation network to convergence in this context. Because, doing so would encode
environmental characteristics in addition to sensory characteristics in the network which
degrades generalization.
In 2003 another paper written by Thrun [6] proposed a new alternative approach. In this paper
Thrun came up with a interesting approach which is better than all other previous works. The
method does not rely on a cell-wise independence assumption, instead it solves the mapping
problem in the original, high dimensional space rather than breaking down the map learning
problem into a multitude of independent binary estimation problems; as it is done by all
previously existing occupancy grid mapping algorithms. This approach formulates the mapping
problem as a maximum likelihood estimation problem in the high-dimensional space of all grid
maps. The estimation is carried out using the expectation maximization algorithm (in short: EM)
[7], which is a popular statistical tool. A key feature of this approach is its reliance on forward
probabilistic models of sensors. Forward models describe the physics of sensors and
compensates for the error made due to sensor. This forward model was quit specific to
different types of sensors. This is in contrast to the literature on occupancy grid mapping, which
11
typically invokes inverse models. To obtain a probabilistic map with uncertainty, application of
Laplacian approximation proposed. While the paper has managed to arrive at solution that
could overcome the limitations of standard occupancy grid method, the disadvantage is the
increased sensitivity to changes in a non-stationary environment and more over though the grid
treats the environment as whole map it still has the basic independence assumption in its
approach.
All the grid based techniques which were proposed based on occupancy grid technique which
suffered from the limitations that is caused due to the independent cell assumption. In 2009 a
paper [8] was submitted in IEEE International Conference on Robotics and Automation. This
paper explained about the new approach called “Contextual Occupancy Mapping”. This was a
terrain mapping approach that applied Gaussian process for occupancy mapping. As the name
implies the approach gave a way to construct maps along with context of the occupied
locations i.e. the approach provides both the continuous representation of the robot’s
surroundings along with the associated predictive variance. This technique exploits the fact that
real world has structure in it inherently. As the approach captures the shape or context of the
robots environment in the form of continuous function it gives the information of the
correlation between the points of the environment which was not done by any previous
mapping technique. The method employed a trained neural network covariance function in
order to capture the highly non-stationary datasets which means that the technique is useful in
changing environment. But using of this neural network imposed a severe burden on the
computational costs. Besides the set back of being computationally hungry the method
introduced a new paradigm for terrain mapping problem. This has the potential to be
developed into a computationally efficient algorithm. The approach followed in this project
based on this paper with few modifications.
12
5. Background Theory:
5.1 What is Gaussian Process:
Before moving on to see how GP is applied to contextual mapping this section will explain the
basics and background concepts about GP.
In this project a 2-D environment is created in which a robot scans the obstacles in the
environment and gives the scanned 2-D coordinates as data. This data is being used for the
construction of the Contextual map. So the input � for the gaussian is 2-D. The goal is to infer the
function that maps the inputs ��, … … … … , �� from the simulated 2-D environment to the target
value � which is either +1 or -1(occupied or un-occupied). But in this section we treat � in a more
general way so that it can be taken as multi-dimensional in order to explain the GP.
GP is a regression and classification technique used in supervised machine learning and is also
an important part of statistics. The goal of GP is to present the joint distribution over N variables
in terms of mean and covariance functions. Unlike Bayesian logistic regression, GP is free of
parameters and it places a prior on space of the function directly. So GP is more general than
logistic regression since it is independent of parameters.
A typical Bayesian regression is of the following form.
��� = � � � �����
��= �����
(5.1)
Where � is the multi-dimensional input vector, � are parameters that define the function, ��� is
the predicted function and ���is the fixed linear basis functions. Now let us consider a prior
distribution over � which is given by isotropic Gaussian form as following. If we take the
Gaussian distribution over � and if we consider the Guassian to be isotropic we get the
probability distribution as follows.
��� = ���|�, ���Ι
(5.2)
Where, the hyperparameter � is the accuracy of the distribution.
The probability distribution over � defined by (1.2) therefore induces a probability distribution
over functions ���. So the motivation is to evaluate this function at specific values of �. The
goal of Gaussian process is to find joint probability distribution of functions ��� of each data
point. GP acts as a prior to the function of a set of data points. This method is based on the
assumption that each and every data point in a data set belong to functions. So in GP we wish
13
to find joint distribution of values ����, … … … … , ���� at each given points of �, for example
at the training data points ��, … … … … , ��. This is given as follows.
��� = � = �
(5.3)
5.2 Gaussian Process for regression:
A Gaussian process is a stochastic process which is defined by two parameters, mean function
and co-variance function. It is used as prior for Bayesian inference which specifies the
properties of the function. The idea in Gaussian process is to update the prior in the light of the
data and get the rite covariance and mean function which would help us in inferring the
function that is close to the exact function of data.
A GP is given by its Mean function which is the mean of the predicted function.
! = "#�$ = �"# $ = �
(5.4)
In most applications, we will not have any prior knowledge about the mean of the function. So
the mean is symmetrically taken to be equal to zero and the data is scaled to have mean equal
to zero.
And, a covariance function is the covariance matrix which explains the covariance of the
variable with respect other variables in the input vector �.
% = &��, �' = "#))'$ (5.5)
The priors over the function space can be expressed directly by choosing a covariance function.
In our case the choice of covariance for the project is explained later in section of Contextual
Occupancy Approach.
In short a Gaussian Process is defined as probability distribution over ��� so that when evaluated
at a collection of points ��, … … … … , �� has a joint distribution which is Gaussian.
Let us now consider the noise error on the observed target values �* which is given as follows.
�* = �* + ,*
(5.6)
This error ,* is due to the error we get in observing the data. So the predicted �* is always
different from target -*. Then the joint distribution of the target variables . =�-�, … … … , -*/conditioned on 0 is given as follows.
��0|�) = �(0|�, 1��2*)
(5.7)
14
Where, 34is the unit matrix of N rows and coloumns and 1�� represents the noise preceision
parameter. Now on integrating on � in (1.6) we get the marginal distribution �(0).
�(0) = 5 �(0|�)�(�)6� = �(7|8, 9)
(5.8)
9 is the N × N covariance matrix and its elements are,
;(�*, �<) = &(�*, �<) + 1��=*<
(5.9)
Where, =*< is the error in observation.
Now we are interested in finding the prediction for unseen test case �*>� for corresponding input ��>�.
0 are the target values of known test cases ��. The joint distribution �(0?>@) is given by
�(0?>@) = �(0?>@|�, 9?>@)
(5.10)
9?>@ is a (N + 1) × (N + 1) covariance matrix with elements as (5.10). And it is split as following.
9B>� = C9B DD/ EF
(5.11)
Where E is covariance of the new test input E = &(��>�, ��>�) + 1��,
Finally we get the mean and covariance given by
G(�B>�) = D/9B��0
(5.12)
HI(�B>�) = E − D/9B��D
(5.13)
The Gaussian process is defined based on these two terms. And further more these terms are
fixed by inferring the parameters that define these functions from the data observed. To do this
the likelihood function �(0|K) is evaluated by maximizing the log of this likelihood.
The log likelihood function for a regression model is done as follows.
LM �(0|�) = − 12 ln |9B| − 1
2 0/9B�� − N2 ln (2π)
(5.14)
We can now find the values of the hyperparameters which optimizes the marginal likelihood
based on its partial derivatives as follows.
RRST LM �(0|�) = − 1
2 Tr C9B�� R9BWST F + 12 9B�� R9BWST 9B��0
(5.15)
Finally after learning the parameters GP gives a predictive distribution whose mean and
variance are functions of the input vector �.
15
5.3 Gaussian Process Test Results:
As a part of the detailed study on Gaussian Process the GP regression was tried on a one-
dimensional synthetic (generated) data and tested. This was done as part of understanding
Gaussian Process using a GPML toolbox [9]. The purpose of this testing is to understand how
Gaussian process can give closer fit to the data and also to understand the GPML toolbox.
To apply the GP regression a one dimensional test data set is created by drawing values
randomly. The corresponding target values of the data are generated with a chosen covariance
and mean functions by adding extra noise to the data. And following are the details of the mean
and covariance functions respectively.
G(�T) = �X �TI , Y = 1, . . , M and
&[�T , � \ exp `J �
I [�T J � \Ia Y, b 1, … , M
Above covariance function is chosen because it is similar to the function chosen in for the
contextual mapping problem in this project. The data is generated with 0.1 standard deviation
of noise. The generated data is shown in the Figure 1
Figure-1
At first GP regression is done on this data by providing the form of the covariance and mean
functions. And appropriate hyperparameters are learned through the process of inference.
For this testing the covariance function is given to be squared exponential and which takes two
hyperparameters, the length scale and standard deviation which are non-negative and the
values of these hyperparameters are taken to be one. The mean function is assumed to be zero
16
in this step. With these prior assumption the inference and learning of hyperparameters is
conducted over the data. Figure 2 shows predictive distribution plot after the regression.
Figure-2
In the above step the inferred standard deviation noise is 0.15 and the final negative marginal likelihood
is = 14.13. The distribution obtained is different from the actual method that generated the data. This is
because the regression was not done freely of the assumption we had on the covariance and the mean
functions and we assumed the mean function assumed to be zero. In the next process an affine mean
function is added to the GP and then regression done in order provide more generalization. The
predictive distribution after this process is shown in Figure 3.
Figure-3
17
This approach shows a closer fit to the data than the previous approach where there was no
mean function added and in this case all the hyperparameters are learned by likelihood
minimization.
18
6. Contextual Occupancy mapping using GP:
Contextual occupancy mapping (COM) approach overcomes the limitations of grid-based
approach by using Gaussian process occupancy map for path planning. This approach is based
on the paper [6]. In the traditional grid method occupancy mapping problem is treated as
classification problem whereas, in case of contextual mapping algorithm regression is done
initially on the processed sensor data and in later stage probabilistic least square algorithm is
trained on the data to identify the region of occupied and non-occupied regions.
Let we consider a typical training data vector �T ℝdwhich represents a D dimensional
training input, the location in the 2 or 3-dimensional space, then �T ℝ denotes the occupancy
of the location, either +1 or -1 to show occupancy and non-occupancy. The idea is to fit a
likelihood function on the training data e�T, �Tf, where i = 1:n.
In this process the Gaussian process itself is treated as distribution over function. The
motivation is to find the joint distribution of all the distributions. So the predictive distribution
of the function output is.
�∗|�∗, �T~i(!∗, H∗I)
(6.1)
Where mean is,
!∗ = &(�∗, �)[j(�, �) + σ4lm]�@0
(6.2)
And Variance is,
σ∗l = &(�∗, �∗) − &(�∗, �)[j(�, �) + σ4lm]�@&(�, �∗)
(6.3)
Above mean and covariance functions are same as in (5.13) and (5.14) where D/ = &(�∗, �)and
9B�� = [j(�, �) + σ4lm]�@ and.
And, the distribution above gives the probability for any test location where �∗is the location of
query and 0 is the input data with noise, σ4l is the variance of the whole data.
Selection of appropriate covariance function always depends on the application for which it is
applied. The most chosen covariance function is the Squared-Exponential kernel function. In
our case the model is non-continuous and so Squared-Exponential is suitable and it is far more
computationally efficient. Thought the paper uses neural network covariance function we have
choose to use this function as it is computationally efficient. Following is the SE equation.
&(�, �') = HnIexp o− 12 (� − �')/M(� − �')q
(6.4)
19
Where, M diag[ �vwx
, … . LdI ], where LT is the length that sets th kernel smoothness
characterstics. HnI is the signal strength. After training the covariance function it acts as a prior
knowledge about the underlying function that defines the data. The training of this covariance
function is done by optimizing the hyperparameters HnI, σ4l, M is done by maximization of log of
the marginal likelihood as explained in Section 3.2.
Maximizing a log marginal likelihood function is as follows
LM �(0|�) = − 12 ln [y + σ4lm] − 1
2 0/[y + σ4lm]�@ − N2 ln (2π)
(6.5)
The main aim in this approach is to treat the classification as a GP regression problem so the
next step is to squash the GP predictions through a Gaussian sigmoid function to obtain valid
probability. Following is the sigmoid functions used for obtaining valid probability.
�(�T|�, ��T, S) = Φ o�T(�!T + 1)1 + �IHTI
q
(6.6)
Where, Φ is the unit Gaussian and ��T is the occupancy vector for the training data. !T and HT are the predictive mean and variance at the point �T and the trained hyperparameters are
represented by S.
20
7. Implementation and Experimental setup:
Simulator:
In order to apply the COM method a 2-D environment was created instead of using a real robot
scanner. The environment consists of a robot and a obstacle structure of irregular shape. The
Robot in the environment simulates a scanning mobile vehicle which scans any occupied region
within its range. The robot goes around the environment in a number of cycles, which is
configurable, and it returns the x, y coordinate of any occupied point location in its range. This
data is then stored in a text file. The robot’s speed and the error in its sensors are configurable.
The scanning of the objects in the environment is done with finite error which is done in order
to reflect the noisy data that a real typical sensor would send due to lack of precision. The
magnitude of the error with which the robot scans is also configurable.
In order to get the obstacle in the range of the scanning robot a way point is drawn near the
obstacle such the distance between the robot is not more than the maximum sensing range of
the laser of the sensor. The robot is then moved along the way points while robots scans the
part of the obstacle in its range.
Following Figure 4 shows the view of the environment simulation. The green line shows
waypoint and this path which robot follows. The robot is denoted by red arrow.
21
Figure 4
Figure 5
In Figure 5 the environment shows the robot while scanning, the robot follows waypoint and it
scans the walls of the obstacles when on the move. The scanning lines are illustrated with red
lines running from the robot to the obstacle
The scanned data points are saved in a text file it is used by the Gaussian process to find the
predictive distribution.
22
8. Experimental Results:
The results of mapping the simulated environment is presented here and discussed in this
section. The approach slightly varies than the original Contextual mapping explained above. It is
due to omission of few steps considering the time constraints and limited knowledge.
The data obtained from the environment is saved in a text file and the 2-D plot of the scanned
data of the environment was plotted as shown in the following Figure 6.
Figure 6
The GP regression was conducted with squared exponential covariance function and zero mean
function. The resulting GP was plotted as shown in Figure 7. The horizontal axis represents the
input vector and the vertical axis represents the target values.
23
In the above image the horizontal axis consists of random test points generated from the x y
space of the simulated environment. The corresponding distribution of target Y is shown in Y
axis. In this image there are few input points whose variance are very minimal and those
variance lies between 0 and +1 approximately. So it was inferred that these points are occupied
because their variance lie between 0 and 1. This shows that the corresponding input space
locations are occupied. So all those input points with minimal variance and which lie between 0
and 1 was plotted in the x y plane as in the simulation, it is shown in the following Figure 8
This image shows the occupancy hypothesis of the very few points and leaving other points.
These points are nearly close to the real occupied space in the simulation. But this occupancy
hypothesis is not completely satisfactorial as the original probabilistic approach was not applied
for the final classification.
Due to time constraints and limited knowledge the final classification process was omitted so
instead of the probabilistic least square function we decided to do the above process.
24
9. Conclusion:
This project helped in a better way to understand how Gaussian process can be applied to
contextual mapping. The experimental and theoretical study shows that when Gaussian process
is applied the continuity in the space is not lost and it gives the detail of both the shape and
occupancy of the environment in single process.
The method can be more robust in capturing the environment if a neural network covariance
function is used instead of Squared exponential which is stationary function. Using a neural
network covariance function would be a potential improvement in achieving an accurate map.
The work can be further extended to 3 dimensions. If there is some means to overcome the
computational cost in using the neural network then the process of contextual mapping would
be much easier and faster. This method is for sure a new paradigm in robotics mapping field.
But still it has to overcome its limitations which are due to its demand for higher computational
power this makes it much more difficult when applied in 3-D.
If this project study is extended further to 3-D it could be combined with stereoscopic vision
sensors to classify terrain outside the laser range. This would also allow the recognition of more
terrain types as the laser scanning can only produce data points, while a visual system would be
capable of identifying textures.
The primary goal for the future is to extend the study further to 3-D and adding path planning
and robot control algorithms so that it makes fully automated robot. The robot would be fully
capable of mapping its environment, circumvigating obstacles, and making its way alone the
most efficient path towards a designed target set of coordinates.
25
Reference:
[1] B. Schiele and J. L. Crowley, “A comparison of position estimation techniques using
occupancy grids,”IEEE International Conference on Robotics and Automation, 1994
[2] D. Kortenkamp, M. Huber, C. Cohen, U. Raschke, F. Koss, and C. Congdon, “Integrating
high-speed obstacle avoidance, global path planning, and vision sensing on a mobile
robot,”, 1998.
[3] H. Moravec and A. Elfes, “High resolution maps from wide angle sonar,”, IEEE
International Conference on Robotics and Automation, 1985
[4] L. Matthies and A. Elfes, “Integration of sonar and stereo range data using a grid.-based
representation,”, IEEE International Conference on Robotics and Automation, 1988.
[5] S. Thrun, “Exploration and model building in mobile robot domains.” USA, IEEE neural
Network Council, 1993.
[6] S. Thrun, “Learning occupancy grids with forward models,” (IROS’2001), 2001.
[7] A.P. Dempster, A.N. Laird, and D.B. Rubin. Maximum likelihood from incomplete data via
the EM algorithm. Royal Statistical Society
[8] S. O’Callaghan, F. T. Ramos, and H. Durrant-Whyte. Contextual Occupancy Maps using
Gaussian Processes. In 2009 ICRA.
[9] http://www.gaussianprocess.org/