Octomapsharp
Un cadre de cartographie 3D probabiliste efficace basé sur les OCTRES. Un port Unity C # de l'implémentation C ++ d'origine.
Remerciements
- Livre blanc d'octomap et implémentation C ++ développé à l'origine par Kai M. Wurm et Armin Hornung. LIEN
- Bitstream Stream Wrapper pour lire / écrire des bits et d'autres types de données développés par Rubendal. LIEN
Exigences
- Unity Scripting Runtime Version .NET 4.x équivalent
Caractéristiques
- Créez une structure de données octomap en définissant une position de départ et une taille ainsi que la taille minimale du nœud.
- Ajoutez des points 3D aux nœuds octomap et marquez comme occupé. La subdivision récursive est utilisée pour marquer le nœud feuille (tel que défini par la taille du nœud minimum) qui englobe le point ajouté comme occupé.
- Marquez les nœuds le long d'un rayon comme gratuit. La subdivision récursive est utilisée pour trouver des nœuds de feuilles que le rayon se croise comme les marque comme gratuits.
- Les nœuds enfants sont taillés (supprimés) s'ils partagent le même état d'occupation et que la valeur d'occupation du nœud parent y est définie.
- La sérialisation compacte Bitstream (comme définie d'abord dans le livre blanc) qui réduit l'octomap à une petite taille en ne stockant que des relations parent-enfant par opposition aux positions des nœuds individuels.