OctoMap
八叉树地图AdvancedA 3D probabilistic occupancy map stored hierarchically as an octree, commonly used for robot obstacle avoidance and planning.
OctoMap is an open-source C++ library developed by Armin Hornung, Kai M. Wurm, and colleagues at the University of Freiburg, described in a 2013 paper in Autonomous Robots. It recursively splits space into eight sub-cubes (an octree), and each cell stores a probability of being occupied, distinguishing three states — occupied, free, and unknown — with sensor noise and environment changes corrected gradually through probabilistic updates. Compared with dividing all of space into equal-sized voxels, it subdivides only where there is something to represent, which saves a great deal of memory, and it can be queried at a coarse or fine resolution as needed. Point clouds from a depth camera or lidar can be written directly into it for collision checking; MoveIt’s perception pipeline uses OctoMap to represent obstacles around the robot.
ExampleA depth camera mounted beside a robot arm continuously feeds its point cloud into OctoMap through MoveIt, so the arm automatically plans around clutter newly placed on the table.
- Also called
- Octree Map, Octree Occupancy Map
- Related
- Occupancy Grid Map · Voxel · Point Cloud · Truncated Signed Distance Function · MoveIt Motion Planning Framework · Collision Checking
- Sources
- OctoMap 官方主页 (Chinese)
MoveIt Perception Pipeline Tutorial