Skip to content

An Efficient Probabilistic 3D Mapping Framework Based on Octrees. A Unity C# port of the original C++ implementation.

License

Notifications You must be signed in to change notification settings

alexander-scott/OctoMapSharp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OctoMapSharp

An Efficient Probabilistic 3D Mapping Framework Based on Octrees. A Unity C# port of the original C++ implementation.

Acknowledgements

  • OctoMap white paper and C++ implementation originally developed by Kai M. Wurm and Armin Hornung. LINK
  • BitStream stream wrapper to read/write bits and other data types developed by Rubendal. LINK

Requirements

  • Unity Scripting Runtime Version .NET 4.x Equivalent

Features

  • Create an OctoMap data structure by defining a starting position and size as well as the minimum node size.
  • Add 3D points to the OctoMap and mark nodes as occupied. Recursive subdivision is used to mark the leaf node (as defined by the minimum node size) that encompasses the added point as occupied.
  • Mark nodes along a ray as free. Recursive subdivision is used to find leaf nodes that the ray intersects as marks them as free.
  • Child nodes are pruned (removed) if they share the same occupancy state and the parent node's occupancy value is set to it.
  • Compact bitstream serialization (as first defined in the white paper) that reduces the OctoMap to a small size by only storing parent-child relationships as opposed to individual node positions.

About

An Efficient Probabilistic 3D Mapping Framework Based on Octrees. A Unity C# port of the original C++ implementation.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages