karunanidhi prabhu u4720898 supervisor: dr jon kim...

25
1 Using Gaussian Process for Terrain mapping Karunanidhi Prabhu U4720898 Supervisor: Dr Jon Kim (COMP8740) Artificial Intelligence Project Semester 2, 2010

Upload: others

Post on 29-Oct-2019

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Karunanidhi Prabhu U4720898 Supervisor: Dr Jon Kim ...courses.cecs.anu.edu.au/courses/CS_PROJECTS/10S2/Reports/Karunanithi... · 1 Using Gaussian Process for Terrain mapping Karunanidhi

1

Using Gaussian Process for Terrain mapping

Karunanidhi Prabhu

U4720898

Supervisor: Dr Jon Kim

(COMP8740) Artificial Intelligence Project

Semester 2, 2010

Page 2: Karunanidhi Prabhu U4720898 Supervisor: Dr Jon Kim ...courses.cecs.anu.edu.au/courses/CS_PROJECTS/10S2/Reports/Karunanithi... · 1 Using Gaussian Process for Terrain mapping Karunanidhi

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.

Page 3: Karunanidhi Prabhu U4720898 Supervisor: Dr Jon Kim ...courses.cecs.anu.edu.au/courses/CS_PROJECTS/10S2/Reports/Karunanithi... · 1 Using Gaussian Process for Terrain mapping Karunanidhi

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

Page 4: Karunanidhi Prabhu U4720898 Supervisor: Dr Jon Kim ...courses.cecs.anu.edu.au/courses/CS_PROJECTS/10S2/Reports/Karunanithi... · 1 Using Gaussian Process for Terrain mapping Karunanidhi

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

Page 5: Karunanidhi Prabhu U4720898 Supervisor: Dr Jon Kim ...courses.cecs.anu.edu.au/courses/CS_PROJECTS/10S2/Reports/Karunanithi... · 1 Using Gaussian Process for Terrain mapping Karunanidhi

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.

Page 6: Karunanidhi Prabhu U4720898 Supervisor: Dr Jon Kim ...courses.cecs.anu.edu.au/courses/CS_PROJECTS/10S2/Reports/Karunanithi... · 1 Using Gaussian Process for Terrain mapping Karunanidhi

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.

Page 7: Karunanidhi Prabhu U4720898 Supervisor: Dr Jon Kim ...courses.cecs.anu.edu.au/courses/CS_PROJECTS/10S2/Reports/Karunanithi... · 1 Using Gaussian Process for Terrain mapping Karunanidhi

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.

Page 8: Karunanidhi Prabhu U4720898 Supervisor: Dr Jon Kim ...courses.cecs.anu.edu.au/courses/CS_PROJECTS/10S2/Reports/Karunanithi... · 1 Using Gaussian Process for Terrain mapping Karunanidhi

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

Page 9: Karunanidhi Prabhu U4720898 Supervisor: Dr Jon Kim ...courses.cecs.anu.edu.au/courses/CS_PROJECTS/10S2/Reports/Karunanithi... · 1 Using Gaussian Process for Terrain mapping Karunanidhi

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

Page 10: Karunanidhi Prabhu U4720898 Supervisor: Dr Jon Kim ...courses.cecs.anu.edu.au/courses/CS_PROJECTS/10S2/Reports/Karunanithi... · 1 Using Gaussian Process for Terrain mapping Karunanidhi

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

Page 11: Karunanidhi Prabhu U4720898 Supervisor: Dr Jon Kim ...courses.cecs.anu.edu.au/courses/CS_PROJECTS/10S2/Reports/Karunanithi... · 1 Using Gaussian Process for Terrain mapping Karunanidhi

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.

Page 12: Karunanidhi Prabhu U4720898 Supervisor: Dr Jon Kim ...courses.cecs.anu.edu.au/courses/CS_PROJECTS/10S2/Reports/Karunanithi... · 1 Using Gaussian Process for Terrain mapping Karunanidhi

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

Page 13: Karunanidhi Prabhu U4720898 Supervisor: Dr Jon Kim ...courses.cecs.anu.edu.au/courses/CS_PROJECTS/10S2/Reports/Karunanithi... · 1 Using Gaussian Process for Terrain mapping Karunanidhi

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)

Page 14: Karunanidhi Prabhu U4720898 Supervisor: Dr Jon Kim ...courses.cecs.anu.edu.au/courses/CS_PROJECTS/10S2/Reports/Karunanithi... · 1 Using Gaussian Process for Terrain mapping Karunanidhi

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 �.

Page 15: Karunanidhi Prabhu U4720898 Supervisor: Dr Jon Kim ...courses.cecs.anu.edu.au/courses/CS_PROJECTS/10S2/Reports/Karunanithi... · 1 Using Gaussian Process for Terrain mapping Karunanidhi

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

Page 16: Karunanidhi Prabhu U4720898 Supervisor: Dr Jon Kim ...courses.cecs.anu.edu.au/courses/CS_PROJECTS/10S2/Reports/Karunanithi... · 1 Using Gaussian Process for Terrain mapping Karunanidhi

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

Page 17: Karunanidhi Prabhu U4720898 Supervisor: Dr Jon Kim ...courses.cecs.anu.edu.au/courses/CS_PROJECTS/10S2/Reports/Karunanithi... · 1 Using Gaussian Process for Terrain mapping Karunanidhi

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.

Page 18: Karunanidhi Prabhu U4720898 Supervisor: Dr Jon Kim ...courses.cecs.anu.edu.au/courses/CS_PROJECTS/10S2/Reports/Karunanithi... · 1 Using Gaussian Process for Terrain mapping Karunanidhi

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)

Page 19: Karunanidhi Prabhu U4720898 Supervisor: Dr Jon Kim ...courses.cecs.anu.edu.au/courses/CS_PROJECTS/10S2/Reports/Karunanithi... · 1 Using Gaussian Process for Terrain mapping Karunanidhi

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.

Page 20: Karunanidhi Prabhu U4720898 Supervisor: Dr Jon Kim ...courses.cecs.anu.edu.au/courses/CS_PROJECTS/10S2/Reports/Karunanithi... · 1 Using Gaussian Process for Terrain mapping Karunanidhi

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.

Page 21: Karunanidhi Prabhu U4720898 Supervisor: Dr Jon Kim ...courses.cecs.anu.edu.au/courses/CS_PROJECTS/10S2/Reports/Karunanithi... · 1 Using Gaussian Process for Terrain mapping Karunanidhi

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.

Page 22: Karunanidhi Prabhu U4720898 Supervisor: Dr Jon Kim ...courses.cecs.anu.edu.au/courses/CS_PROJECTS/10S2/Reports/Karunanithi... · 1 Using Gaussian Process for Terrain mapping Karunanidhi

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.

Page 23: Karunanidhi Prabhu U4720898 Supervisor: Dr Jon Kim ...courses.cecs.anu.edu.au/courses/CS_PROJECTS/10S2/Reports/Karunanithi... · 1 Using Gaussian Process for Terrain mapping Karunanidhi

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.

Page 24: Karunanidhi Prabhu U4720898 Supervisor: Dr Jon Kim ...courses.cecs.anu.edu.au/courses/CS_PROJECTS/10S2/Reports/Karunanithi... · 1 Using Gaussian Process for Terrain mapping Karunanidhi

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.

Page 25: Karunanidhi Prabhu U4720898 Supervisor: Dr Jon Kim ...courses.cecs.anu.edu.au/courses/CS_PROJECTS/10S2/Reports/Karunanithi... · 1 Using Gaussian Process for Terrain mapping Karunanidhi

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/