Octomapsharp
Octreesに基づく効率的な確率3Dマッピングフレームワーク。元のC ++実装のUnity C#ポート。
謝辞
- OctomapホワイトペーパーとC ++実装は、もともとKai M. WurmとArmin Hornungが開発しました。リンク
- Rubendalによって開発されたビットやその他のデータ型を読み書きするためのビットストリームストリームラッパー。リンク
要件
- Unity Scripting Runtimeバージョン.NET 4.x同等
特徴
- 開始位置とサイズ、および最小ノードサイズを定義して、Octomapデータ構造を作成します。
- Octomapに3Dポイントを追加し、占有されているマークノードをマークします。再帰的な区画は、追加されたポイントを占有していると包含する葉のノード(最小ノードサイズで定義されている)をマークするために使用されます。
- 光線に沿ったノードを自由にマークします。再帰的な区画は、光線が自由としてマークするものとして交差する葉のノードを見つけるために使用されます。
- 子ノードは、同じ占有状態を共有し、親ノードの占有率が設定されている場合、剪定(削除)されます。
- 個々のノードポジションとは対照的に、親子関係のみを保存することにより、Octomapを小さなサイズに削減するコンパクトなビットストリームシリアル化(ホワイトペーパーで最初に定義されています)。