Top Banner
Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage http://gamma.cs.unc.edu/POINTC/
49

Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Dec 18, 2015

Download

Documents

Katherine Lynch
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Proximity Computations between Noisy Point Clouds using Robust Classification

1Jia Pan, 2Sachin Chitta, 1Dinesh Manocha1UNC Chapel Hill 2Willow Garage

http://gamma.cs.unc.edu/POINTC/

Page 2: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Main Result

• Proximity computation and collision detection algorithm between noisy point cloud data

• Computes collision probability instead of simple yes-no result

• Important for safety and feasibility of robotics applications

Page 3: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Proximity and Collision Computations

• Geometric reasoning with noisy point cloud data vs. mesh based representations

• Integral part of motion planning and grasping algorithms

• Contact computations for dynamic simulation

Page 4: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Background

Page 5: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Motion Planning: Assumptions

• Motion planning has a long history (30+ years)• Assumptions

– Exact environment (mesh world)– Exact control– Exact localization– No joint limit and torque limit– No quality control

• Output:– Collision-free path

Page 6: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Environment Uncertainty

• Uncertainty can be large due to sensor error, poor sampling, physical representations, etc.

• Need to model order to improve the safety and robustness of motion planning

• Relative less work – Previous methods only consider 2D cases with

specific assumptions on uncertainty

Page 7: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Sensors

• Robot uses sensors to compute a representation of the physical world

• But sensors are not perfect or may not be very accurate….

Page 8: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Robot Sensors: Data Collection

Cameras: may have low resolution

Page 9: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Robot Sensors: Data Collection

Laser Scanners: may have limited range

Page 10: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Point Clouds Captured by Robot

Page 11: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Recent Trend: Depth Cameras

Primesense

Pr2’s

CamcubeSwissranger 4000

Kinect

Page 12: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Kinect

http://graphics.stanford.edu/~mdfisher/Kinect.html

Page 13: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Kinect Reconstruction

http://groups.csail.mit.edu/rrg/index.php?n=Main.VisualOdometryForGPS-DeniedFlighthttp://www.cs.washington.edu/ai/Mobile_Robotics/projects/rgbd-3d-mapping/

Page 14: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Uncertainty From RGB-D Sensors

• Sensors may have low resolution low resolution of point clouds – Kinect has relatively high resolution, but may still

be not enough for objects far away• Sensors may be influenced by noise, especially

in outdoor environments noise in point clouds

• Sensors may have limited ranges (near range and far range) unknown areas

Page 15: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Handling Noisy Point Cloud

• Planning, navigation and grasping• Scene reasoning• Noisy data• Real-time processing

Page 16: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Related Work

• Collision Detection for meshes– Fast and robust– Not designed for (noisy) point-clouds

• Motion planning with environment uncertainty– 2D polygons– Vehicle planning

Page 17: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Uncertainty Model of Point Cloud

Page 18: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Errors in Point Clouds

Discretization (sampling) error

Page 19: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Errors in Point Clouds

Position error

Page 20: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Point Cloud Collision Detection

In-collision In-collision ?

Page 21: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Point Cloud Collision Detection

In-collision In-collision ?

Page 22: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Point Cloud Collision Detection

collision-free Collision-free ?

Page 23: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Point Cloud Collision DetectionCollision-free

Collision-free?

Page 24: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Handling Point Cloud Collision: Two Methods

Reconstr

uction

Mesh Collision

Point Cloud Collision

Page 25: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Mesh Reconstruction => Collision

Mesh CollisionReconstruction

Reconstruction is more difficult then collision detection

Solve an easier problem by conquering a more difficult one?

Page 26: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Mesh Reconstruction => Collision

• Reconstruction process is not robust, and is sensitive to noise and high order features

• Error in reconstructed result can be amplified by subsequent collision checking

• Reconstruction process is slow (few seconds)• The final result is YES/NO answer, which is

sensitive to noise.

Page 27: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Use Ideas from Classification

• Two methods to classify two sets (Machine Learning)– Generative model

• First estimate the joint distribution (more difficult!)• Then compute the classifier

– Discriminative function• Directly compute the classifier

• If we only need to classify, discriminative function usually is the better choice.

Page 28: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Our Solution• Return to the basic definition of collision-free

– Two objects are collision-free if they are separable by a continuous surface and is in-collision when such surface does not exist.

Page 29: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Classification-based Collision Detection

• Find a separating surface that separates two points clouds as much as possible

Page 30: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Collision Detection based on Robust Classification

• We compute the optimal (i.e. minimize the separating error) separating surface using a SVM-like algorithm

• Use supervised machine learning methods for geometric classification

• Different from standard SVM: each training data point has noise – corresponds to robust classification in machine learning

Page 31: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Robust Classification

Standard SVM Robust Classification: aware of noise

Page 32: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Compute the Separating Surface

Page 33: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Per-point Collision Probability

• Collision probability: the probability that one point is on the wrong side of separating surface.

• Robust classification computes collision probability for each single point sample

Page 34: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Probabilistic Collision between Two Objects

• For each object– Cluster the points and only keep one point in each

cluster: compute collision probability for independent points

– Overall object collision probability

Page 35: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Three Collision Cases

Deep collision In-contact Large distance

Collision probability near 1

Collision probability near 0.5

Collision probability near 0

Difficult: small noise will bring reverse of yes/no answer

EasyEasy

Page 36: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Results: Small Noise

Deep Collision Configurations

Large Distance Configurations

In Contact Configurations (Difficult)

Very few configurations are in the difficult region

Page 37: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Results: Large Noise

Deep Collision Configurations

Large Distance Configurations

In Contact Configurations (Difficult)

More configurations are in the difficult region!

Page 38: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

PR2 Robot Sensor Results

Deep Collision Configurations

In Contact Configurations (Difficult)

Large Distance Configurations

same distance to obstacle collision probability with wide spread.

Page 39: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Range of Collision Probability

• Collision probability’s wide range:– It is a more complete description of collision state

than distance or yes/no answer

– Important for grasping or planning in constrained environment

Page 40: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Kinect Data

Office data from Peter Henry,Dieter Fox @RSE-lab UW

Page 41: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Result on Kinect Data

Page 42: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

BVH Hierarchy Acceleration

• Bounding volume hierarchy is widely used in mesh collision detection for acceleration

• Basic idea: decomposeobjects into many cells andcull collision test between cells that are far away.

Page 43: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Application to Motion Planning

• Use overall collision probability for the objects as a cost in motion planning algorithms to compute the trajectory with minimum collision probability

Page 44: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Other Applications

• The per-point collision probability is more useful– Provides finer control in terms of handling

environment uncertainty– Can use work space information to guide the

planning procedure in order to avoid collision

Page 45: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Conclusions

• A robust proximity computation and collision detection algorithm for noisy point cloud data

• Problem reduced to robust classification• Initial results on point-cloud data from PR2

sensors

Page 46: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Future Work

• Currently we directly use point clouds, which can only model the space with/without obstacles

• Due to sensor range, part of the space is unknown

• So we will apply our algorithm to the data structure that can encode ‘unknown’ space, such as the octomap in ROS

• Also more useful for sensor with dense resolution, like kinect

Page 47: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Future Work

• Currently implementation is on static models• Extend to dynamic environments

– New objects added or deleted– Handle deformable objects and update sensor

uncertainty • SVM has incremental variations that can

handle dynamic data

Page 48: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Acknowledge

• National Science Foundation• Army Research Office• Willow Garage

Page 49: Proximity Computations between Noisy Point Clouds using Robust Classification 1 Jia Pan, 2 Sachin Chitta, 1 Dinesh Manocha 1 UNC Chapel Hill 2 Willow Garage.

Thanks