I ntroduction to Mobile Robotics Gaussian Processes Wolfram - - PowerPoint PPT Presentation

i ntroduction to mobile robotics
SMART_READER_LITE
LIVE PREVIEW

I ntroduction to Mobile Robotics Gaussian Processes Wolfram - - PowerPoint PPT Presentation

I ntroduction to Mobile Robotics Gaussian Processes Wolfram Burgard Cyrill Stachniss Giorgio Grisetti Maren Bennewitz Christian Plagemann SS08, University of Freiburg, Department for Computer Science Announcem ent Sommercampus 2008


slide-1
SLIDE 1

I ntroduction to Mobile Robotics

Gaussian Processes

SS08, University of Freiburg, Department for Computer Science

Wolfram Burgard Cyrill Stachniss Giorgio Grisetti Maren Bennewitz Christian Plagemann

slide-2
SLIDE 2

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 2

  • Sommercampus 2008 will feature a

hands-on course on “Gaussian processes”

  • Topics: Understanding and applying GPs
  • Pre-requisites: Programming, basic maths
  • Tutor: Sebastian Mischke
  • Duration: 4 sessions

Announcem ent

slide-3
SLIDE 3

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 3

Overview

  • The regression problem
  • Gaussian process models
  • Learning GPs
  • Applications
  • Summary

Some figures were taken from Carl E. Rasmussen: NIPS 2006 Tutorial

slide-4
SLIDE 4

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 4

The regression problem

  • Given n observed points
  • how can we recover the dependency
  • to predict new points

?

slide-5
SLIDE 5

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 5

The regression problem

  • Given n observed points
slide-6
SLIDE 6

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 6

The regression problem

  • Solution 1: Parametric models
  • Linear
  • Quadratic
  • Higher order polynomials
  • Learning: optimizing the parameters
slide-7
SLIDE 7

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 7

The regression problem

  • Solution 1: Parametric models
slide-8
SLIDE 8

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 8

The regression problem

  • Solution 1: Parametric models
slide-9
SLIDE 9

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 9

The regression problem

  • Solution 2: Non-parametric models
  • Radial Basis Functions
  • Neural Networks
  • Splines, Support Vector Machines
  • Histograms, …
  • Learning: finding the model structure and
  • ptimize the parameters
slide-10
SLIDE 10

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 10

The regression problem

  • Given n observed points
slide-11
SLIDE 11

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 11

The regression problem

  • Solution 3: Express the model directly in

terms of the data points

  • Idea: Any finite set of values sampled from
  • has a joint Gaussian distribution
  • with a covariance matrix given by
slide-12
SLIDE 12

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 12

Gaussian process m odels

  • Then, the n+ 1 dimensional vector

which includes the new target that is to be predicted, comes from an n+ 1 dimensional normal distribution.

  • The predictive distribution for this new

target is a 1-dimensional Gaussian.

slide-13
SLIDE 13

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 13

The regression problem

  • Given n observed points
slide-14
SLIDE 14

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 14

Gaussian process m odels

  • Example
  • Given the n observed points
  • and the squared exponential covariance function
  • with
  • and a noise level
slide-15
SLIDE 15

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 15

Gaussian process m odels

  • Example
slide-16
SLIDE 16

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 16

  • The squared exponential covariance

function:

  • The parameters are easy to interpret!

Learning GPs

amplitude index/ input distance characteristic lengthscale noise level

slide-17
SLIDE 17

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 17

Learning GPs

  • Example: low noise
slide-18
SLIDE 18

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 18

Learning GPs

  • Example: medium noise
slide-19
SLIDE 19

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 19

Learning GPs

  • Example: high noise
slide-20
SLIDE 20

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 20

Learning GPs

  • Example: small lengthscale
slide-21
SLIDE 21

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 21

Learning GPs

  • Example: large lengthscale
slide-22
SLIDE 22

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 22

Learning GPs

  • Covariance function specifies the prior

prior posterior

slide-23
SLIDE 23

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 23

Gaussian process m odels

  • Recall, the n+ 1 dimensional vector

which includes the new target that is to be predicted, comes from an n+ 1 dimensional normal distribution.

  • The predictive distribution for this new target

is a 1-dimensional Gaussian.

  • Why?
slide-24
SLIDE 24

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 24

The Gaussian Distribution

  • Recall the 2-dimensional joint Gaussian:
  • The conditionals and the marginals

are also Gaussians

Figure taken from Carl E. Rasmussen: NIPS 2006 Tutorialc

slide-25
SLIDE 25

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 25

The Gaussian Distribution

  • Simple bivariate example:
slide-26
SLIDE 26

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 26

The Gaussian Distribution

  • Simple bivariate example:

joint marginal conditional

slide-27
SLIDE 27

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 27

The Gaussian Distribution

  • Marginalization:
slide-28
SLIDE 28

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 28

The Gaussian Distribution

  • The conditional:
slide-29
SLIDE 29

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 29

The Gaussian Distribution

  • Slightly more complicated in the general case:
  • The conditionals and the marginals

are also Gaussians

Figure taken from Carl E. Rasmussen: NIPS 2006 Tutorialc

slide-30
SLIDE 30

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 30

The Gaussian Distribution

  • Conditioning the joint Gaussian in general
  • With zero mean:
slide-31
SLIDE 31

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 31

Gaussian process m odels

  • Recall the GP assumption
slide-32
SLIDE 32

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 32

Gaussian process m odels

  • Mean and variance of the predictive distribution

have the simple form

  • with
slide-33
SLIDE 33

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 33

Learning GPs

  • Learning a Gaussian process means
  • choosing a covariance function
  • finding its parameters and the noise level
  • How / to what objective?
slide-34
SLIDE 34

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 34

Learning GPs

  • The hyperparameters

can be found by maximizing the likelihood

  • f the training data

e.g., using gradient methods

slide-35
SLIDE 35

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 35

Learning GPs

  • Or, for a fully Bayesian treatment, by

integrating over the hyperparameters using their priors

  • This integral can be approximated

numerically using Markov chain sampling.

slide-36
SLIDE 36

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 36

Learning GPs

  • Objective: high data likelihood
  • Due to the Gaussian assumption, GPs

have Occam’s razor built in.

data fit complexity penalty const

slide-37
SLIDE 37

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 37

Occam ‘s razor

  • “use the simplest explanation for the data”
slide-38
SLIDE 38

Too long Lengthscale just right Too short

slide-39
SLIDE 39

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 39

Understanding Gaussian processes

  • GP mean prediction can be seen as

weighted summation over the data

  • Thus, for every mean prediction, there

exist an equivalent kernel the produces the same result

  • But: hard to compute
  • Purpose: Visualization / understanding

weights

slide-40
SLIDE 40

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 40

The GP Equivalent Kernel

  • For different lengthscales
slide-41
SLIDE 41

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 41

The GP Equivalent Kernel

  • At different locations
slide-42
SLIDE 42

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 42

Classification

  • Task:
  • Predict discrete (e.g. binary) target values
  • Learn the class probabilies from observed cases
  • Problem: Noise is not Gaussian
  • Approach:
  • Introduce latent real-valued variables for each

(discrete) target such that

slide-43
SLIDE 43

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 43

Classification

  • Problem: Integration over latent variables

intractable

  • Approximations necessary
slide-44
SLIDE 44

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 44

Advanced Topics / Extensions

  • Classification / non-Gaussian noise
  • Sparse GPs: Approximations for large data

sets

  • Heteroscedastic GPs: Modeling non-

constant noise

  • Nonstationary GPs: Modeling varying

smoothness (lengthscales)

  • Mixtures of GPs
  • Uncertain inputs
  • Kernels for non-vectorial inputs
slide-45
SLIDE 45

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 45

Further Reading

slide-46
SLIDE 46

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 46

Applications

  • 1. Learning sampling models for DBNs
  • 2. Body scheme learning for manipulation
  • 3. Learning to control an aerial blimp
  • 4. Monocular range sensing
slide-47
SLIDE 47

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 47

Applications

( 1 ) Learning sam pling m odels for dynam ic Bayesian netw orks ( DBNs)

Joint work with Dieter Fox and Wolfram Burgard

slide-48
SLIDE 48

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 48

Learning sam pling m odels

  • A mobile robot collides with obstacles
slide-49
SLIDE 49

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 49

Learning sam pling m odels

  • A mobile robot collides with obstacles
slide-50
SLIDE 50

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 50

Learning sam pling m odels

  • A mobile robot collides with obstacles
  • Recursive state estimation problem

failure event (binary) failure parameters world pose command measurement

slide-51
SLIDE 51

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 51

Bayesian Filtering

  • We approximate the posterior

using a Particle Filter

  • Sample the failure mode
  • Sample the failure parameters
  • Sample the robot state
  • Weight the samples using the current observation
  • Problem: Low frequency of failure events
  • Related work:
  • [ de Freitas et al. 2003] Look-ahead particle filter
  • [ Thrun et al. 2001] Risk sensitive particle filter
slide-52
SLIDE 52

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 52

Data-driven Proposals

  • Idea: Learn proposal distributions

and utilizing the latest observation .

slide-53
SLIDE 53

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 53

Gaussian Process Proposals

  • The learning task is
  • for
  • for

where is a feature vector computed from .

  • We apply Gaussian processes for this learning

task, since they

  • are applicable to regression and classification
  • and provide predictive distributions.
slide-54
SLIDE 54

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 54

Gaussian Process Proposals

  • Idea of Gaussian process regression
  • Any finite set of values sampled from

has a joint Gaussian distribution with a covariance matrix given by

  • Thus,
slide-55
SLIDE 55

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 55

Learning the Proposals

  • Learning from many collisions without

destroying the robot.

slide-56
SLIDE 56

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 56

Learning the Proposals

  • Resulting training set: hard classification

problem without clear class boundaries

slide-57
SLIDE 57

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 57

Learning the Proposals

  • Learned collision probabilities using Gaussian

processes for classification

slide-58
SLIDE 58

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 58

Learning the Proposals

  • Learned predictor for collision contact points

using Gaussian process regression

slide-59
SLIDE 59

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 59

Experim ental Results

  • Experiments with a mobile robot colliding with

not directly observable objects

slide-60
SLIDE 60

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 60

Experim ental Results

  • Comparison of an optimized standard particle

filter (Std PF) with our approach (GP-PF)

  • The GP-PF detected nearly all collisions with a

low rate of false alarms

25 50 75 100 Std PF 150 particles Std PF 950 particles GP-PF 50 particles GP-PF 300 particles Detection rate False positives

slide-61
SLIDE 61

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 61

Applications

( 2 ) Body Schem e Learning for Robotic Manipulation

Joint work with Jürgen Sturm and Wolfram Burgard

slide-62
SLIDE 62

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 62

Body Schem e Learning

Existing robot models are typically

  • specified (geometrically) in advance and the
  • parameters are calibrated manually
slide-63
SLIDE 63

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 63

Sense 6D Poses Act Joint angles Think

Bootstrap, monitor, and maintain internal representation of body

Problem Description

slide-64
SLIDE 64

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 64

Body Schem e Factorization

Idea: Factorize the model

We represent the kinematic chain as a Bayesian network

slide-65
SLIDE 65

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 65

Bootstrapping

Learning the model from scratch consists of two steps:

  • 1. Learning the local models (conditional

density functions)

  • 2. Finding the network/ body structure
slide-66
SLIDE 66

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 66

Learning the Local Models

  • Using Gaussian process regression
  • Learn 1D 6D transformation function for each

(action, marker, marker) triple

slide-67
SLIDE 67

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 67

Finding the Netw ork Structure

  • Select the most likely network topology
  • Corresponding to the m inim um spanning tree
  • Maximizing the data likelihood
slide-68
SLIDE 68

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 68

Model Selection

7-DOF example Fully connected BN

slide-69
SLIDE 69

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 69

Model Selection

7-DOF example Fully connected BN Selected minimal spanning tree

slide-70
SLIDE 70

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 70

Experim ents

slide-71
SLIDE 71

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 71

Applications

( 3 ) Learning to Control an Aerial Blim p

Joint work with Axel Rottmann and Wolfram Burgard

slide-72
SLIDE 72

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 72

Learning to Control a Blim p

  • Indoor Blimp (1.8m length,

0.9m diameter)

  • 1 horizontal propeller
  • 2 tiltable propellers for

height control and in-plane movement

  • Total lift: 420 grams
  • Total weight: 310 grams

(envelope, gondola, fins, propellers, cables)

  • Remaining payload for

hardware: 110 grams

slide-73
SLIDE 73

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 73

Goal

Altitude Control using Reinforcement Learning

  • Learning from interaction with the environment
  • Learning online from scratch

environment agent action reward state

slide-74
SLIDE 74

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 74

Altitude Control w ith RL

Problem description:

  • States:
  • Actions:

engine speed in percent

  • Reward:

height goal-height Height and vertical velocity are Kalman filtered estimates using the downward-facing sonar sensor

slide-75
SLIDE 75

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 75

Altitude Control w ith RL

Our approach

  • Monte Carlo:

Learn expected long-term reward of state-action pairs Learn online while the blimp is in operation

  • On-policy:

Continuous learning and planning

slide-76
SLIDE 76

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 76

Learning the Q-function

Use GPs to approximate the Q-function

  • Points
  • Targets are given by the expected

long-term reward

slide-77
SLIDE 77

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 77

Learning procedure

We learn from a sequence of state-action pairs For each state-action pair in the sequence:

  • generate an episode until
  • add it to the training set of the GP
  • adapt the parameters of the covariance

function

slide-78
SLIDE 78

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 78

Typical Optim al Policy

Solving the MDP with known dynamics

slide-79
SLIDE 79

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 79

  • 0.8
  • 0.6
  • 0.4
  • 0.2

0.2 0.4 0.6 0.8 distance to goal (m) velocity (m/s2) best action

  • 1
  • 0.5

0.5 1

  • 0.4
  • 0.2

0.2 0.4

  • 0.8
  • 0.4

0.4 0.8

Typical Optim al Policy

  • Solving the MDP with known dynamics
slide-80
SLIDE 80

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 80

Learning in Sim ulation

Comparison with standard Monte-Carlo RL

slide-81
SLIDE 81

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 81

Experim ents

Learning on the real blimp

slide-82
SLIDE 82

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 82

Experim ents

Online learning vs. manually tuned controller

slide-83
SLIDE 83

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 83

Applications

( 4 ) Monocular Range Sensing

Joint work with Jürgen Hess, Felix Endres, Cyrill Stachniss and Wolfram Burgard

slide-84
SLIDE 84

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 84

Monocular Range Sensing Can we learn range from single, monocular camera images?

slide-85
SLIDE 85

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 85

Training Setup Mobile robot + laser range finder Omni-directional monocular camera

slide-86
SLIDE 86

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 86

Training Setup

DFKI Saarbrücken University of Freiburg

slide-87
SLIDE 87

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 87

Learning Range from Vision Associate (polar) pixel columns with ranges

Extract features Associate with ranges

slide-88
SLIDE 88

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 88

Pre-processing Warp images into a panoramic view 120 pixels per column Transform to HSV -> 420 dimensions

slide-89
SLIDE 89

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 89

Visual Features

  • We evaluated two types of features
  • 1. No human engineering: Principle

components analysis (PCA) on raw input

  • 2. Use of domain specific knowledge: Edge

features that shall correspond to floor boundaries

slide-90
SLIDE 90

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 90

Experim ents

1 2 3 4 5 6 7 8 9 3 2 1 1 2 3 4 5 Ground Truth Distances (Laser) Predicted means (FeatureGP)

Typical 1 8 0 ° scan

slide-91
SLIDE 91

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 91

Experim ents Prediction errors (RMSE on test set)

1 2 3 4 5 6 0 200 400 600 800 1000 1200 1400 RMSE Image Number Laws3+Canny Laws3+Canny+LMD Laws5 Laws5+LMD Feature-GP Feature-GP+GBP 1 2 3 4 5 6 500 1000 1500 2000 2500 RMSE Image Number Laws3+Canny Laws3+Canny+LMD Laws5 Laws5+LMD Feature-GP Feature-GP+GBP

Saarbrücken Freiburg

1 2 3 4 5 6 7 8 9 3 2 1 1 2 3 4 5 Ground Truth Distances (Laser) Predicted means (FeatureGP)

Typical 1 8 0 ° scan

slide-92
SLIDE 92

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 92

Edge-A1 + Link function 1.70 m 2.86 m Edge-A2 + Link function 2.01 m 2.08 m Edge-B1 + Link function 1.74 m 2.87 m Edge-B2 + Link function 2.06 m 2.59 m Feature-GP 1 .0 4 m 1 .0 4 m Feature-GP + GBP 1 .0 3 m 0 .9 4 m PCA-GP 1.24 m 1.40 m PCA-GP + GBP 1.22 m 1.41 m

Experim ents Prediction errors (RMSE on test set)

Saarbrücken Freiburg

slide-93
SLIDE 93

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 93

Mapping Results

Laser-based Vision-based Saarbrücken: Freiburg:

slide-94
SLIDE 94

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 94

Mapping Results

slide-95
SLIDE 95

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 95

More Applications

  • Time-series forecasting
  • Visualization of high-dimensional data
  • Learning in Geo-Statistics
  • Localization in cellular networks
  • Terrain regression
slide-96
SLIDE 96

Mobile Robotics, SS08, Universität Freiburg, Gaussian Processes 96

Sum m ary

  • GPs are a flexible and practical approach

to Bayesian regression.

  • Prior knowledge is encoded in a human

understandable way.

  • Learned models can be interpreted.
  • Efficiency mainly depends on the number
  • f training points.
  • Real-world problem sizes require sparse

approximations.