From e596ace1f4dfcca4035d58ef7b1a301810e31df3 Mon Sep 17 00:00:00 2001 From: Jan Kuhlmann <33833587+M2-TE@users.noreply.github.com> Date: Wed, 18 Jun 2025 14:50:19 +0200 Subject: [PATCH] Update README.md --- README.md | 84 ++++++++++++++++++++++++------------------------------- 1 file changed, 36 insertions(+), 48 deletions(-) diff --git a/README.md b/README.md index 3551ab0..8e6054d 100644 --- a/README.md +++ b/README.md @@ -3,45 +3,11 @@ CHAD TSDF structure for SLAM ## Description - -TODO: link to ros implementation +TSDF mapping backend with real-time capabilities and high compression. +It is tailored towards large-scale maps, while still being able to handle smaller voxel sizes (~0.05). ## Getting Started - -
- CMake options - -TODO: -set(CHAD_POPCOUNT_INSTRUCTION std::popcount) -set(CHAD_NORM_NEIGH_UPPER 20) -set(CHAD_NORM_NEIGH_LOWER 2) -set(CHAD_NORM_MIN_NEIGH 3) -set(CHAD_NORM_RADIUS_MOD 1.5) -set(CHAD_LEAF_RESOLUTION 0.1) -set(CHAD_LEAF_BITS 8) -
- -
- CMake Build - -#### 1. CMake local build - -``` -cmake -B build -cmake --build build -TODO: install -TODO: CMake find() -``` - -#### 2. CMake subdirectory - -```cmake -add_subdirectory(${CHAD_DIRECTORY}) -target_link_libraries(${PROJECT_NAME} PUBLIC chad::tsdf) -``` - -#### 3. CMake FetchContent - +### CMake ```cmake include(FetchContent) FetchContent_Declare(chad_tsdf @@ -51,18 +17,40 @@ FetchContent_Declare(chad_tsdf FetchContent_MakeAvailable(chad_tsdf) target_link_libraries(${PROJECT_NAME} PUBLIC chad::tsdf) ``` -
- - -## Authors - -Jan Kuhlmann - -## Version History +### C++ + +```cpp +#include + +int main() { + float sdf_size = 0.05f; + float sdf_trunc = 0.10f; + chad::TSDFMap map(sdf_size, sdf_trunc); + + // insert glm points + std::vector points_glm; + glm::vec3 position_glm; + map.insert(points_glm, position_glm); + + // insert eigen points + std::vector points_eigen; + Eigen::Vector3f position_eigen; + map.insert(points_eigen, position_eigen); + + // reconstruct 3D mesh + map.save("mesh.ply"); + return 0; +} +``` -* 0.1 - * Initial Release +## Roadmap +* [x] Compressed sparse TSDF map +* [x] Submapping +* [ ] Loop closure +* [ ] Space carving ## Acknowledgments -* [parallel-hashmap](https://github.com/greg7mdp/parallel-hashmap) +* [gtl](https://github.com/greg7mdp/gtl) +* [libmorton](https://github.com/Forceflow/libmorton) +* [lvr2](https://github.com/uos/lvr2)