28
Fast Sampling Plane Filtering and Indoor Mobile Robots Joydeep Biswas, Manuela Veloso [email protected], [email protected]

Joydeep Biswas, Manuela Veloso [email protected], [email protected]

Embed Size (px)

Citation preview

Page 1: Joydeep Biswas, Manuela Veloso joydeepb@ri.cmu.edu, mmv@cs.cmu.edu

Fast Sampling Plane Filtering and Indoor Mobile Robots

Joydeep Biswas, Manuela [email protected], [email protected]

Page 2: Joydeep Biswas, Manuela Veloso joydeepb@ri.cmu.edu, mmv@cs.cmu.edu

2

Motivation

Goal: Indoor Mobile Robot Localization & Mapping

Challenges / Constraints:▪ Clutter▪ Volume of data : 9.2 M points/sec!▪ Real time processing (640x480 @ 30fps)▪ Limited computation power on robot

Page 3: Joydeep Biswas, Manuela Veloso joydeepb@ri.cmu.edu, mmv@cs.cmu.edu

3

Possible Approaches

Down – Sampling Look for geometric features : planes

Hough Transform Region Growing [Poppinga et al, IROS 2008]

RANSAC based filtering : Fast Sampling Plane Filtering

Page 4: Joydeep Biswas, Manuela Veloso joydeepb@ri.cmu.edu, mmv@cs.cmu.edu

4

Fast Sampling Plane Filtering

The Problem: (Efficiently) Estimate points P and normals R belonging to planes given depth image

image

Page 5: Joydeep Biswas, Manuela Veloso joydeepb@ri.cmu.edu, mmv@cs.cmu.edu

5

Fast Sampling Plane Filtering

Sample point p1, then p2 and p3 within distance η of p1

Page 6: Joydeep Biswas, Manuela Veloso joydeepb@ri.cmu.edu, mmv@cs.cmu.edu

6

Fast Sampling Plane Filtering

Estimate Plane parameters (normal, offset)

Page 7: Joydeep Biswas, Manuela Veloso joydeepb@ri.cmu.edu, mmv@cs.cmu.edu

7

Fast Sampling Plane Filtering

Compute Window size ~ World plane size at mean depth

Page 8: Joydeep Biswas, Manuela Veloso joydeepb@ri.cmu.edu, mmv@cs.cmu.edu

8

Fast Sampling Plane Filtering

Sample l -3 additional points within window

Page 9: Joydeep Biswas, Manuela Veloso joydeepb@ri.cmu.edu, mmv@cs.cmu.edu

9

Fast Sampling Plane Filtering

If fraction of inliers > f , store all inliers + normals

Page 10: Joydeep Biswas, Manuela Veloso joydeepb@ri.cmu.edu, mmv@cs.cmu.edu

10

Fast Sampling Plane Filtering

Do nmax times, or until num inlier points > kmax

Page 11: Joydeep Biswas, Manuela Veloso joydeepb@ri.cmu.edu, mmv@cs.cmu.edu

11

FSPF - Computational Requirements

Scene Inliers Sampled points(valid depth)

Sampling Efficiency(total)

FSPF Run Time (ms)(per frame)

1 2002 5434 36.84 % 1.86

2 2004 8620 24.27 % 1.39

3 2006 8620 23.28 % 1.66

4 2001 6861 19.17 % 1.66

5 2001 11009 18.18 % 2.06

1 2 3 4 5

Tests run on a single core of 3.06GHz Intel Core i7 950 CPU

Page 12: Joydeep Biswas, Manuela Veloso joydeepb@ri.cmu.edu, mmv@cs.cmu.edu

12

FSPF For Mobile Indoor Robot Localization

Use Existing 2D Vector Map Planes generated by extruding lines Correspond FSPF inlier points to planes

(Ignore non-vertical planes) Use Corrective Gradient Refinement (CGR)

[Biswas and Veloso, 2011] MCL for localization

Page 13: Joydeep Biswas, Manuela Veloso joydeepb@ri.cmu.edu, mmv@cs.cmu.edu

13

The Map

Map - List of Geometric Features (Lines) Use Available Architectural Plans

Page 14: Joydeep Biswas, Manuela Veloso joydeepb@ri.cmu.edu, mmv@cs.cmu.edu

14

Sensor Model / Observation Function

Analytic Ray Casting to associate planes from map with observed points pi given robot pose xr

Page 15: Joydeep Biswas, Manuela Veloso joydeepb@ri.cmu.edu, mmv@cs.cmu.edu

15

Sensor Model / Observation Function

1. Associate points pi with line li, given robot pose xr

(Analytic Ray-casting)2. Compute offset of point from

line, di

3. Compute likelihood of having observed point pi from line li

4. Combine likelihoods of points, using geometric mean to discount for inter-dependence

Page 16: Joydeep Biswas, Manuela Veloso joydeepb@ri.cmu.edu, mmv@cs.cmu.edu

16

Localization: MCL - CGR

Monte Carlo Localization, with Corrective Gradient Refinement [Biswas et al, To appear in IROS’11]

Key Idea: Use state space gradients of observation likelihood to refine proposal distributions (rotation + translation)

Efficiently computed analytically due to vector nature of map

Page 17: Joydeep Biswas, Manuela Veloso joydeepb@ri.cmu.edu, mmv@cs.cmu.edu

17

Results (Video)

Robot pose hypotheses in orange, projected plane filtered points in red

Page 18: Joydeep Biswas, Manuela Veloso joydeepb@ri.cmu.edu, mmv@cs.cmu.edu

18

Kinect Localization Results

Mean accuracy: 20cm, 0.5° Error along halls for lack of

features Robust recovery using CGR

Localizes Cobot (our indoor mobile robot) on multiple floors: 21km Since March ‘11 and counting!

Page 19: Joydeep Biswas, Manuela Veloso joydeepb@ri.cmu.edu, mmv@cs.cmu.edu

19

Towards 3D Plane SLAM

Sub-problems required for 3D Plane-SLAM: Plane filtering, polygon construction Correspondence matching Pose update Polygon update

Page 20: Joydeep Biswas, Manuela Veloso joydeepb@ri.cmu.edu, mmv@cs.cmu.edu

20

Polygon Construction

Used to construct a convex polygon for each neighborhood of plane filtered pointsFor each local neighborhood of “inlier” points :1. Compute Centroid and Scatter Matrix:

2. Plane Normal and basis vectors found by eigenvector decomposition of S

3. Construct convex hull using Graham scan over 2D projected points

Page 21: Joydeep Biswas, Manuela Veloso joydeepb@ri.cmu.edu, mmv@cs.cmu.edu

21

Polygon Update

Key idea: Decompose Scatter matrix S into two components S = S1 + nS2 where S1 depends only on the absolute location of the points (not relative to the centroid), and S1 depends only on the centroid:

Page 22: Joydeep Biswas, Manuela Veloso joydeepb@ri.cmu.edu, mmv@cs.cmu.edu

22

Polygon Update

Polygons are thus merged as follows:1. Merged centroid is given by:

2. S2m is computed from pm

3. Merged scatter matrix is given by:

4. New convex hull is found as the convex hull of the convex hulls of individual polygons

Page 23: Joydeep Biswas, Manuela Veloso joydeepb@ri.cmu.edu, mmv@cs.cmu.edu

23

Correspondence Matching

1. Colour index polygons2. Render scene of polygons on GPU using

OpenGL3. Inspect colour of pixels in rendered image to

find matching polygons4. Runs at > 4000fps (nVidia GTX 460), hence

faster than real time!

Page 24: Joydeep Biswas, Manuela Veloso joydeepb@ri.cmu.edu, mmv@cs.cmu.edu

24

Polygon / Point to plane matching

Sample rendered scene in hallway:

Page 25: Joydeep Biswas, Manuela Veloso joydeepb@ri.cmu.edu, mmv@cs.cmu.edu

25

Experimental Results

Page 26: Joydeep Biswas, Manuela Veloso joydeepb@ri.cmu.edu, mmv@cs.cmu.edu

26

Computational Requirements

Scene Polygons per frame

Merged Polygons FSPF + Polygon Merge time (ms)

1 71 14 2.23

2 70 14 2.51

3 81 5 2.37

4 67 7 2.61

5 82 3 2.44

1 2 3 4 5

Tests run on a single core of 3.06GHz Intel Core i7 950 CPU

Page 27: Joydeep Biswas, Manuela Veloso joydeepb@ri.cmu.edu, mmv@cs.cmu.edu

27

Summary

Fast Sampling Plane Filtering 3-DOF Indoor Mobile robot localization

using plane filtered points and vector map Polygon estimation and update from plane

filtered point cloud Point to plane correspondence matching All algorithms run faster than real time at

full resolution and frame rates!

Page 28: Joydeep Biswas, Manuela Veloso joydeepb@ri.cmu.edu, mmv@cs.cmu.edu

28

Questions?

Open Source Code (and test Data) of FSPF and Kinect Localization will be available by August 2011

www.cs.cmu.edu/~coral/projects/localization Contacts:

Joydeep Biswas, [email protected] Manuela Veloso, [email protected]