Octomapsharp
Uma estrutura de mapeamento 3D probabilística eficiente baseada em octrees. Uma porta C# da unidade da implementação C ++ original.
Agradecimentos
- O Octomap White Paper e a implementação de C ++ originalmente desenvolvidos por Kai M. Wurm e Armin Hornung. LINK
- BitStream Stream Wrapper para ler/gravar bits e outros tipos de dados desenvolvidos pela Rubendal. LINK
Requisitos
- Versão de tempo de execução de script de unidade .NET 4.x equivalente
Características
- Crie uma estrutura de dados OCTOMAP definindo uma posição e tamanho inicial, bem como o tamanho mínimo do nó.
- Adicione os pontos 3D aos nós Octomap e Marque como ocupados. A subdivisão recursiva é usada para marcar o nó foliar (conforme definido pelo tamanho mínimo do nó) que abrange o ponto adicionado conforme ocupado.
- Marque nós ao longo de um raio como livre. A subdivisão recursiva é usada para encontrar nós foliares que o raio cruza como marca -os como livres.
- Os nós da criança são podados (removidos) se compartilharem o mesmo estado de ocupação e o valor de ocupação do nó pai.
- A serialização compacta do BitStream (conforme definida pela primeira vez no white paper) que reduz o octomap a um tamanho pequeno, armazenando apenas relacionamentos entre pais e filhos, em oposição às posições individuais do nó.