Octomapsharp
Ein effizientes probabilistisches 3D -Mapping -Framework basierend auf Octrees. Ein Einheit C# Port der ursprünglichen C ++ - Implementierung.
Anerkennung
- Octomap Whitepaper und C ++ Implementierung, die ursprünglich von Kai M. Wurm und Armin Hornung entwickelt wurde. LINK
- Bitstream -Stream -Wrapper zum Lesen/Schreiben von Bits und anderen von Rubendal entwickelten Datentypen. LINK
Anforderungen
- Unity Scripting Runtime Version .net 4.xäquivalent
Merkmale
- Erstellen Sie eine Octomap -Datenstruktur, indem Sie eine Ausgangsposition und -größe sowie die minimale Knotengröße definieren.
- Fügen Sie 3D -Punkte zum Octomap und markieren Sie die Knoten als besetzt hinzu. Eine rekursive Unterteilung wird verwendet, um den Blattknoten (wie durch die minimale Knotengröße definiert) zu markieren, die den zugesetzten Punkt wie besetzt umfasst.
- Markieren Sie Knoten entlang eines Strahls als frei. Eine rekursive Unterteilung wird verwendet, um Blattknoten zu finden, die der Strahl als frei markiert.
- Kinderknoten werden beschnitten (entfernt), wenn sie denselben Belegungszustand teilen und der Belegungswert des Elternknotens darauf eingestellt ist.
- Kompakte Bitstream-Serialisierung (wie erstmals im Weißbuch definiert), das den Oktomap auf eine geringe Größe reduziert, indem nur Eltern-Kind-Beziehungen im Gegensatz zu einzelnen Knotenpositionen gespeichert werden.