Types of SLAM-Problems CSE-571 • Grid maps or scans Probabilistic Robotics [Lu & Milios, 97; Gutmann, 98: Thrun 98; Burgard, 99; Konolige & Gutmann, 00; Thrun, 00; Arras, 99; Haehnel, 01;…] Mapping • Landmark-based [Leonard et al., 98; Castelanos et al., 99: Dissanayake et al., 2001; Montemerlo et al., 2002;… Problems in Mapping Occupancy Grid Maps • Sensor interpretation • Introduced by Moravec and Elfes in 1985 • Represent environment by a grid. • How do we extract relevant information from raw sensor data? • Estimate the probability that a location is occupied by an obstacle. • How do we represent and integrate this information over time? • Key assumptions • Occupancy of individual cells is independent • Robot locations have to be known = Bel ( m ) P ( m | u , z … , u , z ) t t 1 2 t − 1 t ∏ • How can we estimate them during = [ xy ] Bel ( m ) t mapping? x , y • Robot positions are known! 1
Inverse Sensor Model Updating Occupancy Grid Maps for Occupancy Grid Maps • Idea: Update each individual cell Combination of linear function and Gaussian: using a binary Bayes filter. ∑ [ xy ] | m t − 1 [ xy ] ) = η p ( z t | m t [ xy ] ) [ xy ] , u t − 1 ) Bel ( m t − 1 [ xy ] ) Bel ( m t p ( m t [ xy ] m t − 1 • Additional assumption: Map is static. [ xy ] ) = η p ( z t | m t [ xy ] ) Bel ( m t − 1 [ xy ] ) Bel ( m t ( ) ( ) ( ) ( ) = − + B m [ xy ] log odds m [ xy ] | z , x log odds m [ xy ] B m [ xy ] − t t t t t t 1 Incremental Updating Alternative: Simple Counting of Occupancy Grids (Example) • For every cell count • hits( x , y ): number of cases where a beam ended at < x , y> • misses( x , y ): number of cases where a beam passed through <x,y> hits( x , y ) = Bel ( m [ xy ] ) + hits( x , y ) misses( x , y ) • Assumption: P ( occupied ( x,y )) = P ( reflects ( x,y )) 2
Resulting Map Obtained with Occupancy Grids: From scans to maps Ultrasound Sensors Tech Museum, San Jose OctoMap A Probabilistic, Flexible, and Compact 3D Map Representation for Robotic Systems K.M. Wurm, A. Hornung , M. Bennewitz, C. Stachniss, W. Burgard University of Freiburg, Germany CAD map occupancy grid map http://octomap.sf.net 3
Robots in 3D Environments 3D Map Requirements § Full 3D Model § Volumetric representation § Free-space § Unknown areas (e.g. for exploration) § Updatable Mobile manipulation Outdoor navigation § Probabilistic model (sensor noise, changes in the environment) § Update of previously recorded maps Humanoid robots Flying robots 3D Map Requirements Map Representations § Flexible Pointclouds § Map is dynamically expanded § Multi-resolution map queries § Pro: § No discretization of data § Compact § Mapped area not limited § Memory efficient § Map files for storage and exchange § Contra: § Unbounded memory usage § No direct representation of free or unknown space 4
Map Representations Map Representations 3D voxel grids 2.5D Maps § 2D grid § Height value(s) in each cell § Pro: § Probabilistic update § Pro: § Constant access time § Memory efficient § Contra: § Contra: § Not completely probabilistic § Memory requirement § No distinction between free and unknown § Extent of map has to be known space § Complete map is allocated in memory Map Representations Map Representations Octrees Octrees § Pro: § Tree-based data structure § Full 3D model § Recursive subdivision of § Probabilistic space into octants § Flexible, multi-resolution § Volumes allocated § Memory efficient as needed § Contra: § Multi-resolution § Implementation can be tricky (memory, update, map files, …) 5
OctoMap Framework Probabilistic Map Update § Based on octrees § Occupancy modeled as recursive binary Bayes filter [Moravec ‘ 85] § Probabilistic representation of occupancy including unknown § Supports multi-resolution map queries § Lossless compression § Compact map files § Efficient update using log-odds notation § Open source implementation as C++ library available at http://octomap.sf.net Probabilistic Map Update Lossless Map Compression § Lossless pruning of nodes with identical § Clamping policy ensures updatability [Yguel ‘ 07] children § Update of inner nodes enables multi- § High compression ratios esp. in free space resolution queries 0.08 m 0.64 m 1.28 m [Kraetzschmar 04] 6
Map Files Examples § Cluttered office environment § Maximum-likelihood map stored as compact bitstream § Occupied, free, and unknown areas § Very moderate space requirements (usually less than 2 MB) Map resolution: 2 cm Examples: Office Building Examples: Large Outdoor Areas § Freiburg, building 079 § Freiburg computer science campus (292 x 167 x 28 m ³ , 20 cm resolution) 7
Examples: Tabletop Adding Color Memory Usage Memory Usage FR-079 dataset Freiburg campus outdoor dataset 8
Insert time for 100,000 beams OctoMap Implementation § Open source C++ library § Fully documented § Can be easily adapted to your projects § ROS integration § Includes OpenGL viewer § Already used by several other researchers http://octomap.sf.net Distance Function CSE 571 SIGNED DISTANCE FUNCTIONS 9
Signed Distance Function Projective Distance Function Projective Truncated Distance Projective Truncated Signed Function Distance Function 10
Recommend
More recommend