Robot Localisation. Henrik I. Christensen. January 12, 2007

Similar documents
Mobile Robot Localization

Mobile Robot Localization

Vlad Estivill-Castro. Robots for People --- A project for intelligent integrated systems

ROBOTICS 01PEEQW. Basilio Bona DAUIN Politecnico di Torino

L11. EKF SLAM: PART I. NA568 Mobile Robotics: Methods & Algorithms

Bayes Filter Reminder. Kalman Filter Localization. Properties of Gaussians. Gaussians. Prediction. Correction. σ 2. Univariate. 1 2πσ e.

Robotics. Mobile Robotics. Marc Toussaint U Stuttgart

Robotics. Lecture 4: Probabilistic Robotics. See course website for up to date information.

Probabilistic Fundamentals in Robotics. DAUIN Politecnico di Torino July 2010

1 Kalman Filter Introduction

Vlad Estivill-Castro (2016) Robots for People --- A project for intelligent integrated systems

Probabilistic Fundamentals in Robotics

Introduction to Mobile Robotics SLAM: Simultaneous Localization and Mapping

EKF and SLAM. McGill COMP 765 Sept 18 th, 2017

UAV Navigation: Airborne Inertial SLAM

Simultaneous Localization and Mapping (SLAM) Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo

Probabilistic Fundamentals in Robotics. DAUIN Politecnico di Torino July 2010

Particle Filters; Simultaneous Localization and Mapping (Intelligent Autonomous Robotics) Subramanian Ramamoorthy School of Informatics

Using the Kalman Filter for SLAM AIMS 2015

Vision for Mobile Robot Navigation: A Survey

Simultaneous Localization and Mapping

Robot Localization and Kalman Filters

Autonomous Mobile Robot Design

Introduction to Mobile Robotics Information Gain-Based Exploration. Wolfram Burgard, Cyrill Stachniss, Maren Bennewitz, Giorgio Grisetti, Kai Arras

Introduction to Mobile Robotics Bayes Filter Particle Filter and Monte Carlo Localization

Robotics 2 Target Tracking. Giorgio Grisetti, Cyrill Stachniss, Kai Arras, Wolfram Burgard

Sensors Fusion for Mobile Robotics localization. M. De Cecco - Robotics Perception and Action

Gradient Sampling for Improved Action Selection and Path Synthesis

ECE276A: Sensing & Estimation in Robotics Lecture 10: Gaussian Mixture and Particle Filtering

Rao-Blackwellized Particle Filtering for 6-DOF Estimation of Attitude and Position via GPS and Inertial Sensors

Recursive Bayes Filtering

Particle lter for mobile robot tracking and localisation

SLAM for Ship Hull Inspection using Exactly Sparse Extended Information Filters

Modeling and state estimation Examples State estimation Probabilities Bayes filter Particle filter. Modeling. CSC752 Autonomous Robotic Systems

Probability Map Building of Uncertain Dynamic Environments with Indistinguishable Obstacles

Particle Filters. Pieter Abbeel UC Berkeley EECS. Many slides adapted from Thrun, Burgard and Fox, Probabilistic Robotics

Robotics 2 Target Tracking. Kai Arras, Cyrill Stachniss, Maren Bennewitz, Wolfram Burgard

Distributed Intelligent Systems W4 An Introduction to Localization Methods for Mobile Robots

Multi-Sensor Fusion for Localization of a Mobile Robot in Outdoor Environments

CS325 Artificial Intelligence Ch. 15,20 Hidden Markov Models and Particle Filtering

CSE 473: Artificial Intelligence

2D Image Processing (Extended) Kalman and particle filter

Consistent Triangulation for Mobile Robot Localization Using Discontinuous Angular Measurements

SLAM Techniques and Algorithms. Jack Collier. Canada. Recherche et développement pour la défense Canada. Defence Research and Development Canada

Mobile Robots Localization

Autonomous Mobile Robot Design

Introduction Neural Networks - Architecture Network Training Small Example - ZIP Codes Summary. Neural Networks - I. Henrik I Christensen

AUTOMOTIVE ENVIRONMENT SENSORS

Field Navigation of Mobile Robots

RL 14: POMDPs continued

Exact State and Covariance Sub-matrix Recovery for Submap Based Sparse EIF SLAM Algorithm

Bayesian Methods in Positioning Applications

Simultaneous Localization and Mapping Techniques

Localización Dinámica de Robots Móviles Basada en Filtrado de Kalman y Triangulación

Manipulators. Robotics. Outline. Non-holonomic robots. Sensors. Mobile Robots

A Review of Kuiper s: Spatial Semantic Hierarchy

CS 532: 3D Computer Vision 6 th Set of Notes

CIS 390 Fall 2016 Robotics: Planning and Perception Final Review Questions

TSRT14: Sensor Fusion Lecture 9

Probabilistic Fundamentals in Robotics. DAUIN Politecnico di Torino July 2010

Markov Models. CS 188: Artificial Intelligence Fall Example. Mini-Forward Algorithm. Stationary Distributions.

A Method for Dealing with Assignment Ambiguity

(W: 12:05-1:50, 50-N201)

Sensor Tasking and Control

been developed to calibrate for systematic errors of a two wheel robot. This method has been used by other authors (Chong, 1997). Goel, Roumeliotis an

COS Lecture 16 Autonomous Robot Navigation

The Belief Roadmap: Efficient Planning in Belief Space by Factoring the Covariance. Samuel Prentice and Nicholas Roy Presentation by Elaine Short

A Study of Covariances within Basic and Extended Kalman Filters

Lego NXT: Navigation and localization using infrared distance sensors and Extended Kalman Filter. Miguel Pinto, A. Paulo Moreira, Aníbal Matos

A Deterministic Filter for Simultaneous Localization and Odometry Calibration of Differential-Drive Mobile Robots

Introduction to Mobile Robotics Probabilistic Robotics

E190Q Lecture 10 Autonomous Robot Navigation

Introduction to Mobile Robotics Probabilistic Motion Models

How Sensor Graph Topology Affects Localization Accuracy

Computer Vision Group Prof. Daniel Cremers. 14. Sampling Methods

VEHICLE WHEEL-GROUND CONTACT ANGLE ESTIMATION: WITH APPLICATION TO MOBILE ROBOT TRACTION CONTROL

Combining Kalman Filtering and Markov. Localization in Network-Like Environments. Sylvie Thiebaux and Peter Lamb. PO Box 664, Canberra 2601, Australia

CONDENSATION Conditional Density Propagation for Visual Tracking

Lecture 7: Optimal Smoothing

CS 5522: Artificial Intelligence II

Semantic maps - a multi-hierarchical model

CONTROL OF ROBOT CAMERA SYSTEM WITH ACTUATOR S DYNAMICS TO TRACK MOVING OBJECT

CS 5522: Artificial Intelligence II

Information Exchange in Multi-rover SLAM

Incorporation of Time Delayed Measurements in a. Discrete-time Kalman Filter. Thomas Dall Larsen, Nils A. Andersen & Ole Ravn

Computer Vision Group Prof. Daniel Cremers. 11. Sampling Methods

Sensor Localization and Target Estimation in Visual Sensor Networks

Data assimilation in high dimensions

Fast Incremental Square Root Information Smoothing

Introduction Dual Representations Kernel Design RBF Linear Reg. GP Regression GP Classification Summary. Kernel Methods. Henrik I Christensen

Robots Autónomos. Depto. CCIA. 2. Bayesian Estimation and sensor models. Domingo Gallardo

Simultaneous Localization and Map Building Using Natural features in Outdoor Environments

Markov localization uses an explicit, discrete representation for the probability of all position in the state space.

Autonomous Navigation for Flying Robots

Sensor Fusion: Particle Filter

L06. LINEAR KALMAN FILTERS. NA568 Mobile Robotics: Methods & Algorithms

Localization. Howie Choset Adapted from slides by Humphrey Hu, Trevor Decker, and Brad Neuman

From Bayes to Extended Kalman Filter

Comparision of Probabilistic Navigation methods for a Swimming Robot

Automatic Self-Calibration of a Vision System during Robot Motion

Transcription:

Robot Henrik I. Robotics and Intelligent Machines @ GT College of Computing Georgia Institute of Technology Atlanta, GA hic@cc.gatech.edu January 12, 2007

The Robot Structure

Outline 1 2 3 4 Sum of 5 6

A fundamental part of mobile robotics Two problems: 1 Pose initialisation / Kidnapped Robot Initialising the system / recovery 2 Pose Maintenance pose as the robot moves about

Pieces for the puzzle A model for the robot Model of the environment Representation of environment A method for feature extraction A strategy to match features to the model A method to update the pose estimate

The basic pieces in localisation Update of map & pose estimate Pose estimate Corrected pose est World Model of pose & map features

The issues involves Managing the uncertainty for the pose estimate 1 vs Many hypotheses for pose Selecting a model for the environment Modelling of the system Efficient Implementation(s)

Approach Uncertainty in vehicle model the pose estimate Selection of different models for uncertainty

Outline 1 2 3 4 Sum of 5 6

Representation Already covered in lecture on sensors and features A number of different options: 1 Topological maps 2 Feature maps 3 Probability Grid 4 Appearance based/raw models

Topological Map Example C8 R6 C14 R5 C7 C6 R15 R4 C5 R3 C4 C13 R2 R1 C10 C3 C2 C1 C9 R12 R11 C12 R7 R8 C11 R10 R13 R9 R14

Metric Maps: Grids and Features

Appearance / Raw Sensor Map Example

Outline 1 2 3 4 Sum of 5 6

of vehicle motion Consider the process as sense-move-sense-... As part of the movement step there is a need to estimate the new pose of the robot and the associated uncertainty in the position. is based entirely on odometric information and a model of the robot as discussed in kinematic modelling. Uncertainty is modelled by covariance propagation as discussed in under sensing

Model for differential drive robot Y I Y R P X R θ X I Assume a pose estimate of x p = y θ A motion of left and right wheel by s l and s r respectively. The distance between the wheel is assumed to be 2l

Pose prediction Differential drive robot Consequently: s = s l + s r 2 θ = s r s l 2l ( x = s cos θ + θ ) 2 ( y = s sin θ + θ ) 2

Pose prediction Differential drive robot Or in condensed form: x p = y + θ s cos ( θ + θ ) 2 s sin ( θ + θ ) s r s l 2l 2

Pose Uncertainty estimate Need to provide an estimate of uncertainty in position Σ p Assume the initial uncertainty is Σ p Assume motion uncertainty is [ ] kr s Σ = r 0 0 k l s l Assumption of uncertainty, and proportional to distance travelled. k i is determined by calibration

Pose prediction Uncertainty estimate Update can be generate by covariance propagation, i.e.: Σ p = p f Σ p p f T + rl f Σ rl f T Where p f and rl f is the Jacobians for the pose and the motion, respectively.

Pose Pose/Motion Jacobian p f = [ f x f y 2 1 2 cos θ + θ 2 rl = 6 1 4 2 sin θ + θ 2 f θ s 4l s 4l 1 4l ] 1 0 s sin ( θ + θ ) 2 = 0 1 s cos ( θ + θ ) 2 0 0 1 sin θ + θ 2 cos θ + θ 2 1 2 cos θ + θ 2 1 2 sin θ + θ 2 + s 4l + s 4l 1 4l sin θ + θ 3 2 cos θ + θ 7 2 5

Pose prediction Linear Motion Example

Pose prediction Circular Motion Example

Outline 1 2 3 4 Sum of 5 6

Pose Given an estimate of where the robot might be p Acquire sensor data Extract Features Match features to model Update the pose estimate based on feature information

Pose updating Uncertainty Model The selection of an uncertainty model Single hypothesis s Probability grid Topological Graph Particle Based

Pose updating - Uncertainty Model The selection of an uncertainty model influences the updating methodology The uncertainty model is coupled to the environmental representation The model influences strongly the computational requirements

Uncertainty Modelling Markov Approach Assume the world is divided into places/states s P of p(s t ) given s t 1 and sensory data z t Formally p(s t z t ) = p(s t s t 1, z t )p(s t 1 )ds t 1 Integration needed as s t could be reached from multiple locations

Uncertainty modelling Markov Approach Markov assumption: all knowledge encoded in the pose/state estimate There is a probability model for motion updating There is a model for p(z s) i.e. a sensor model, as p(s z) = p(z s)p(s) p(z) where p(s) is location model and p(z) is the sensor noise model These assumptions are relative weak

Topological modelling dervish example

Topological modelling dervish example Here the probability updating is used for direct lookup of p(s z), where s is any of the nodes in the topological map As robot moved through environment the graph is updated with new information The probability table is small and efficient to handle The localisation is coarse (location oriented)

Pose estimation with Gaussian Model The pose is approximated by a single Gaussian function p(s) = ( ) 1 1 2 exp (s s)σ 1 s (s s) T 2πΣs 2 s is here a continuous function and Σ s is the associated uncertainty estimate is normally performed using a Kalman filter model

Kalman filter State space model s t = Fs t 1 + Gu t + w t z t = Hs t + v t where F is the system model, G is the deterministic input, H is a prediction of where features are in the world, w is the system noise, and v is the measurement noise

Detour Probability Assume two measurement x 1 and x 2 with associated uncertainties σ 1 and σ 2. How does one generate an optimal estimate ˆx? Doing a weighted least square S = w i (ˆx x i ) 2 i=1,2 what are the optimal weights w i? From S ˆx = 0 we get...

Detour Probability ˆx = wi q i wi with w i = 1 σ 2 i and we get ˆx = σ2 2 σ1 2 + x 1 + σ2 1 σ2 2 σ1 2 + x 2 σ2 2 σˆx = σ2 1 σ2 2 σ 2 1 + σ2 2

Detour Probability The update can be rewritten to ˆx = x 1 + σ2 1 σ1 2 + (x 2 x 1 ) σ2 2 I.e. the updating = the value + a correction term

The Kalman model Composed of a prediction and an update of the estimate is the same as kinematic prediction of pose Update is based on the sensory feedback

Kalman s t t 1 = Fs t 1 t 1 + Gu t Σ t t 1 = F Σ t 1 t 1 F T + Q t where Q is the uncertainty of the kinematic motion (odometric uncertainty)

Kalman s t t = s t t 1 + K t (z t Hs t t 1 ) K t = Σ t t 1 H T S 1 t S t = HΣ t t 1 H T + R t Σ t t = (I K t H)Σ t t 1

Kalman interpretation F is the kinematic update H is the measurement prediction p(z s) ie a prediction of where features in the world are in the sensory frame Σ is the uncertainty in the pose/state estimate s t t. S t is the uncertainty in the sensory measurements R t is the sensor noise

Use of the Kalman filter Sensor Data Feature Extraction Matching Odometric Data / Update as described above Matching typically based on the Mahalanobis distance M = z t St 1 zt T A validation gate may be used: M < ρ Model/Pose

Kalman Example Kinematic prediction of position and uncertainty Standard model

Kalman Example Features

Kalman Example Matching using nearest neighbour and predicted features matching is easy

Kalman Example Matched features generates an error in estimates (purple - model), (green - measured), and (red - update) is now trivial

Kalman Discussion Makes an assumption of a single pose estimate By far the most frequently used model Easy to compute. of F and H can be difficult. For non-linear systems that are Jacobians and must be computed for each step.

s Sometimes there might be multiple interpretations of the feature matches Each interpretation generates a hypothesis for the robot pose Multiple Distributions are generated and a number of them are used in different Kalman updates. When a model receives no matches or the uncertainty grows too large, i.e. trace(σ) > δ then the model is terminated. Can be computationally challenging

Sum of Gauss/Hypothesis Door Detection

Sum of Gauss/Hypothesis More Evidence

Space can be tessellated and the update can be performed directly in pose space p(s) = α s P p(s )p(s s, o) where α is a normalising factor

Grid updating during motion

Grid updating example

Probability grids For accurate localisation in pose space the process can become challenging Say, a 100 100 m space with a resolution of 10 cm and an angular resolution of 0.1 deg the space is 1000 1000 or 3.6 GB of data that must be updated in each time step. Various approximation (windowing) methods can be used.

Based based methods is using a sample model for approximation of the pose estimate Using a grid model as presented earlier Assume with have a number of particles in a collection { } S t =, π (i) ) i = 1..N (s (i) t each particle is a hypothesis for the position of the robot, and π (i) t is an associated weight We can now approximate p(s t z 0, z 1,...z t ) for any distribution of the pose hypotheses t

Strategy 1 Draw N samples from an initial. Typically a uniform distribution. Give each sample a weight of 1 N 2 Propagate the motion information and draw a new sample from the distribution p(s (i) t+1 s(i) t, o t ) 3 Set the weight of the sample to π (i) t+1 = p(z t+1 s (i) t+1 ) π(i) t based on sensory input 4 Generate a new sample set by drawing samples from the current set and a basis distribution (typically uniform). Normalize the weights 5 Go back to step 2

Example Example of particle distribution about estimate of position Sonar readings for update of the position Video of system in operation

Example Burgard, Fox & Thrun

Discussion Efficient to approximate any distribution of the pose The number of particles can be adopted to a particular platform Can be used both for simple and multi robot localisation

Outline 1 2 3 4 Sum of 5 6

/ Mapping Example Now mapping and localisation is also integrated to allow for autonomous operation in general environments The mapping and localisation can be integrated to generate Simultaneous and Mapping (SLAM) Indoor example VIDEO Outdoor example VIDEO

Outline 1 2 3 4 Sum of 5 6

Wrap-Up is a fundamental competence in mobile robotics Involves two major steps of motion (kinematic modelling) of pose estimate(s) The method used depends upon the adopted model for handling of uncertainty and the associated world model Brief introduction to the main methods for estimation A few illustrative examples