ECE276A: Sensing & Estimation in Robotics Lecture 11: Simultaneous Localization and Mapping using a Particle Filter

Similar documents
Overview. EECS 124, UC Berkeley, Spring 2008 Lecture 23: Localization and Mapping. Statistical Models

L17. OCCUPANCY MAPS. NA568 Mobile Robotics: Methods & Algorithms

This chapter explains two techniques which are frequently used throughout

Probabilistic Robotics

IROS 05 Tutorial. MCL: Global Localization (Sonar) Monte-Carlo Localization. Particle Filters. Rao-Blackwellized Particle Filters and Loop Closing

Final project: 45% of the grade, 10% presentation, 35% write-up. Presentations: in lecture Dec 1 and schedule:

Announcements. Recap Landmark based SLAM. Types of SLAM-Problems. Occupancy Grid Maps. Grid-based SLAM. Page 1. CS 287: Advanced Robotics Fall 2009

Navigation methods and systems

Probabilistic Robotics

Probabilistic Robotics

COS Lecture 13 Autonomous Robot Navigation

L10. PARTICLE FILTERING CONTINUED. NA568 Mobile Robotics: Methods & Algorithms

Autonomous Mobile Robot Design

Introduction to Mobile Robotics SLAM Grid-based FastSLAM. Wolfram Burgard, Cyrill Stachniss, Maren Bennewitz, Diego Tipaldi, Luciano Spinello

Introduction to robot algorithms CSE 410/510

Introduction to Mobile Robotics Bayes Filter Particle Filter and Monte Carlo Localization. Wolfram Burgard

Particle Filters. CSE-571 Probabilistic Robotics. Dependencies. Particle Filter Algorithm. Fast-SLAM Mapping

Gaussian Processes, SLAM, Fast SLAM and Rao-Blackwellization

Introduction to Mobile Robotics SLAM Landmark-based FastSLAM

Particle Filter in Brief. Robot Mapping. FastSLAM Feature-based SLAM with Particle Filters. Particle Representation. Particle Filter Algorithm

Humanoid Robotics. Monte Carlo Localization. Maren Bennewitz

Simultaneous Localization and Mapping

Robotics. Chapter 25-b. Chapter 25-b 1

Probabilistic Robotics

Probabilistic Robotics. FastSLAM

Robot Mapping. Grid Maps. Gian Diego Tipaldi, Wolfram Burgard

Survey: Simultaneous Localisation and Mapping (SLAM) Ronja Güldenring Master Informatics Project Intellgient Robotics University of Hamburg

AUTONOMOUS SYSTEMS. LOCALIZATION, MAPPING & SIMULTANEOUS LOCALIZATION AND MAPPING Part V Mapping & Occupancy Grid Mapping

Robot Mapping. A Short Introduction to the Bayes Filter and Related Models. Gian Diego Tipaldi, Wolfram Burgard

Visual Bearing-Only Simultaneous Localization and Mapping with Improved Feature Matching

Practical Course WS12/13 Introduction to Monte Carlo Localization

Spring Localization II. Roland Siegwart, Margarita Chli, Juan Nieto, Nick Lawrance. ASL Autonomous Systems Lab. Autonomous Mobile Robots

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

SLAM: Robotic Simultaneous Location and Mapping

Revising Stereo Vision Maps in Particle Filter Based SLAM using Localisation Confidence and Sample History

ME 456: Probabilistic Robotics

Statistical Techniques in Robotics (16-831, F12) Lecture#05 (Wednesday, September 12) Mapping

Simultaneous Localization and Mapping (SLAM)

What is the SLAM problem?

7630 Autonomous Robotics Probabilities for Robotics

Artificial Intelligence for Robotics: A Brief Summary

Spring Localization II. Roland Siegwart, Margarita Chli, Martin Rufli. ASL Autonomous Systems Lab. Autonomous Mobile Robots

Simultaneous Localization

Statistical Techniques in Robotics (STR, S15) Lecture#05 (Monday, January 26) Lecturer: Byron Boots

Monte Carlo Localization using Dynamically Expanding Occupancy Grids. Karan M. Gupta

Statistical Techniques in Robotics (16-831, F10) Lecture#06(Thursday September 11) Occupancy Maps

W4. Perception & Situation Awareness & Decision making

Introduction to Mobile Robotics. SLAM: Simultaneous Localization and Mapping

Nonlinear State Estimation for Robotics and Computer Vision Applications: An Overview

Adapting the Sample Size in Particle Filters Through KLD-Sampling

Robotics. Chapter 25. Chapter 25 1

Adapting the Sample Size in Particle Filters Through KLD-Sampling

Sensor Models / Occupancy Mapping / Density Mapping

CSE 490R P1 - Localization using Particle Filters Due date: Sun, Jan 28-11:59 PM

EE565:Mobile Robotics Lecture 3

SLAM Part 2 and Intro to Kernel Machines

Final Exam Practice Fall Semester, 2012

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

Vision-based Mobile Robot Localization and Mapping using Scale-Invariant Features

A Sample of Monte Carlo Methods in Robotics and Vision. Credits. Outline. Structure from Motion. without Correspondences

Implementation of Odometry with EKF for Localization of Hector SLAM Method

F1/10 th Autonomous Racing. Localization. Nischal K N

Introduction to SLAM Part II. Paul Robertson

ECE521: Week 11, Lecture March 2017: HMM learning/inference. With thanks to Russ Salakhutdinov

Simultaneous Localization and Mapping! SLAM

SLAM with SIFT (aka Mobile Robot Localization and Mapping with Uncertainty using Scale-Invariant Visual Landmarks ) Se, Lowe, and Little

PML-SLAM: a solution for localization in large-scale urban environments

MULTI-MODAL MAPPING. Robotics Day, 31 Mar Frank Mascarich, Shehryar Khattak, Tung Dang

Jurnal Teknologi PARTICLE FILTER IN SIMULTANEOUS LOCALIZATION AND MAPPING (SLAM) USING DIFFERENTIAL DRIVE MOBILE ROBOT. Full Paper

Zürich. Roland Siegwart Margarita Chli Martin Rufli Davide Scaramuzza. ETH Master Course: L Autonomous Mobile Robots Summary

Topological Mapping. Discrete Bayes Filter

Mobile Robot Map Learning from Range Data in Dynamic Environments

Robot Mapping. Graph-Based SLAM with Landmarks. Cyrill Stachniss

CSE-571 Robotics. Sensors for Mobile Robots. Beam-based Sensor Model. Proximity Sensors. Probabilistic Sensor Models. Beam-based Scan-based Landmarks

Robot Localization based on Geo-referenced Images and G raphic Methods

Multi-Robot Navigation and Cooperative Mapping in a Circular Topology

Mobile Robot Mapping and Localization in Non-Static Environments

Vehicle Localization. Hannah Rae Kerner 21 April 2015

Offline Simultaneous Localization and Mapping (SLAM) using Miniature Robots

Basics of Localization, Mapping and SLAM. Jari Saarinen Aalto University Department of Automation and systems Technology

High-precision, consistent EKF-based visual-inertial odometry

Robotics. Lecture 5: Monte Carlo Localisation. See course website for up to date information.

L15. POSE-GRAPH SLAM. NA568 Mobile Robotics: Methods & Algorithms

10-701/15-781, Fall 2006, Final

Inference and Representation

Probabilistic Robotics

3D Point Cloud Processing

CVPR 2014 Visual SLAM Tutorial Efficient Inference

How to Learn Accurate Grid Maps with a Humanoid

Robot Mapping. SLAM Front-Ends. Cyrill Stachniss. Partial image courtesy: Edwin Olson 1

Computer Vision 2 Lecture 8

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

AN INCREMENTAL SLAM ALGORITHM FOR INDOOR AUTONOMOUS NAVIGATION

Kaijen Hsiao. Part A: Topics of Fascination

Monte Carlo Methods for SLAM with Data Association Uncertainty

Introduction to Mobile Robotics Techniques for 3D Mapping

Monte Carlo Localization

Grid-Based Models for Dynamic Environments

Dense Tracking and Mapping for Autonomous Quadrocopters. Jürgen Sturm

Robotics Programming Laboratory

Transcription:

ECE276A: Sensing & Estimation in Robotics Lecture 11: Simultaneous Localization and Mapping using a Particle Filter Lecturer: Nikolay Atanasov: natanasov@ucsd.edu Teaching Assistants: Siwei Guo: s9guo@eng.ucsd.edu Anwesan Pal: a2pal@eng.ucsd.edu 1

Markov Localization Robot Localization Problem: Given a map m, a sequence of control inputs u 0:t 1, and a sequence of measurements z 0:t, infer the state (e.g., pose) of the robot x t Approach: use a Bayes filter with a multi-modal distribution in order to cature multiple hypotheses about the robot state, e.g.: Gaussian mixture filter Particle filter Histogram filter Pruning: need to keep the number of hypotheses/components under control Important considerations: What are the motion and observation models and how is the map represented? 2

Histogram Filter Localization (1-D) Prior: 3

Histogram Filter Localization (1-D) Prior: Update: 3

Histogram Filter Localization (1-D) Prior: Update: Predict: 3

Histogram Filter Localization (1-D) Prior: Update: Predict: Update: 3

Histogram Filter Localization (2-D) 4

Particle Filter Localization (1-D) Prior: 5

Particle Filter Localization (1-D) Prior: Update: 5

Particle Filter Localization (1-D) Prior: Update: Predict: 5

Particle Filter Localization (1-D) Prior: Update: Predict: Resample: 5

Particle Filter Localization (1-D) Prior: 6

Particle Filter Localization (1-D) Prior: Update: 6

Particle Filter Localization (1-D) Prior: Update: Predict: 6

Particle Filter Localization (1-D) Prior: Update: Predict: Resample: 6

Particle Filter Localization (2-D) 7

Particle Filter Localization (2-D) 8

Particle Filter Localization (2-D) 9

Particle Filter Localization (2-D) 10

Particle Filter Localization (2-D) 11

Particle Filter Localization (2-D) 12

Particle Filter Localization (2-D) 13

Particle Filter Localization (2-D) 14

Particle Filter Localization (2-D) 15

Particle Filter Localization (2-D) 16

Particle Filter Localization (2-D) 17

Particle Filter Localization (2-D) 18

Particle Filter Localization (2-D) 19

Particle Filter Localization (2-D) 20

Particle Filter Localization (2-D) 21

Particle Filter Localization (2-D) 22

Particle Filter Localization (2-D) 23

Map Representations I Landmark-based: a collection of objects, each having a position, orientation, and object class I Polygonal mesh: a collection of points and connectivity information among them, forming polygons I Surfels: a collection of oriented discs containing photometric information I Occupancy grid: a discretization of space into cells with a binary occupancy model 24

Occupancy Grid An occupancy grid is a collection m {0, 1} d of independent Bernoulli random variables m i for i = 1,..., d Given occupancy measurements z 0:t, the distribution of m i is: { Occupied (1) with prob. γ i,t := p(m i = 1 z 0:t ) m i z 0:t = Free (0) with prob. 1 γ i.t How do we update the map distribution over time? Estimate the occupancy probability γ i,t using the measurements z 0:t and the robot state to transform them to the world frame Keep track of the cell log-odds: λ i,t+1 = λ i,t + λ i,t Measurement trust Usually constrain λ MIN λ i,t λ MAX May put a decay on λ i,t to handle changing maps 25

Bayes Rule using Log-Odds The odds ratio of a binary random variable m i updated over time via Bayes rule and measurements z is: p(m i = 1 z) = 1 η p h(z m i = 1)p(m i = 1) p(m i = 0 z) = 1 p(m i = 1 z) = p h(z m i = 1) p(m i = 1) η p p(m h(z m i = 0)p(m i = 0) i = 0 z) p }{{} h (z m i = 0) p(m }{{} i = 0) }{{} o(m i z) g(z) o(m i ) A simple observation model, specifying how much we trust occupancy measurements (e.g., from a Laser scanner), can be used. Example: g(1) = p h(z m i = 1) p h (z m i = 0) = 80% 20% = 4 g(0) = 1 4 Estimating the pdf of m i conditioned on z 0:t is equivalent to accumulating the log-odds ratio: t λ(m i z 0:t ) := log o(m i z 0:t ) = log(g(z t m i )o(m i z 0:t 1 )) = λ(m i ) + log g(z s m i ) Recover pdf from log-odds: p(m i = 1 z 0:t ) = 1 1 1+exp(λ(m i z 0:t )) s=0 26

Scan Matching Observation Model An observation model for a laser scan z obtained from sensor pose x in an occupancy map m can be obtained by modeling the correlation between z and m as follows: 1. Transform the scan z to the world frame using x and find all points (or only hit points) y in the grid that correspond to the scan 2. Let the observation model be proportional to the similarty corr(y, m) between the transformed scan y and the grid m The correlation is large if y and m agree: corr(y, m) := i 1{m i = y i } The weights can be converted to probabilities via the softmax function: p h (z x, m) = ecorr(y,m) v ecorr(v,m) ecorr(y,m) 27

Simultaneous Localization & Mapping (SLAM) Chicken-and-egg problem: Given the pose it is easy to build a map (accumulate log-odds!) Given the map it is easy to localize (particle filter + scan matching) EM: suppose x t is a hidden variable and m are the parameters. Given an inital map m (0), e.g., obtained from the first scan, iterate: E: Estimate the distribution of x t given m (i) M: Update m (i+1) by maximizing (over m) the log-likelihood of the measurements conditioned on x t and m Filtering: maintain a joint pdf over the robot state x t and map m via KF, EKF, UKF: p(x t, m z 0:t, u 0:t 1 ) Smoothing: maintain a pdf over the robot trajectory x 0:t and map m: Occupancy grid: Fast SLAM exploits that the occupancy grid cells are independent conditioned on the robot trajectory: p(x 0:t, m z 0:t, u 0:t 1 ) = p(x 0:t z 0:t, u 0:t 1 ) i p(m i z 0:t, x 0:t ) Landmark-based: Rao-Blackwellized Particle Filter uses particles for x 0:t and Gaussian distributions for the landmark poses Landmark-based: Kalman smoothing and Factor graphs are the state-of-the-art 28

Project 3: Humanoid THOR I RGBD camera I 2D Lidar I IMU I Odometry I Transforms 29

Project 3: Localization and Textured Map 30

Project 3: Overview Initial particle set µ (k) 0 0 = (0, 0, 0)T SE(2) with weights α (k) 0 0 = 1 N Use first laser scan to initialize the map: 1. use head angle to remove the ground plane from the scan 2. convert the scan to Cartesian coordinates 3. convert the scan to cells and update the map log-odds (via bresenham2d or cv2.drawcontours) Use an odometry motion model to predict motion for each particle Use the laser scan from each particle to compute map correlation (via getmapcorrelation) and update the particle weights Choose the best particle, project the laser scan, and update the map log-odds (in general, each particle should maintain its own map) Textured map: use RGBD images from the best particle pose to assign colors to the occupancy grid cells 31