{"id":13436102,"url":"https://github.com/PRBonn/vdbfusion_ros","last_synced_at":"2025-03-18T12:31:14.349Z","repository":{"id":40682447,"uuid":"501659493","full_name":"PRBonn/vdbfusion_ros","owner":"PRBonn","description":"ROS1 Wrapper for VDBFusion https://github.com/PRBonn/vdbfusion","archived":false,"fork":false,"pushed_at":"2024-02-16T01:13:54.000Z","size":90,"stargazers_count":62,"open_issues_count":2,"forks_count":16,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-10T16:04:48.397Z","etag":null,"topics":["3dmapping","lidar-point-cloud","rgbd","ros","tsdf-fusion","tsdf-volume"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PRBonn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":"CITATION.cff","codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-09T13:15:06.000Z","updated_at":"2025-02-24T18:07:05.000Z","dependencies_parsed_at":"2024-04-10T10:14:06.640Z","dependency_job_id":"da05d0be-0ae2-4058-8549-655653a33645","html_url":"https://github.com/PRBonn/vdbfusion_ros","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRBonn%2Fvdbfusion_ros","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRBonn%2Fvdbfusion_ros/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRBonn%2Fvdbfusion_ros/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PRBonn%2Fvdbfusion_ros/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PRBonn","download_url":"https://codeload.github.com/PRBonn/vdbfusion_ros/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244222289,"owners_count":20418486,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3dmapping","lidar-point-cloud","rgbd","ros","tsdf-fusion","tsdf-volume"],"created_at":"2024-07-31T03:00:44.015Z","updated_at":"2025-03-18T12:31:14.344Z","avatar_url":"https://github.com/PRBonn.png","language":"C++","funding_links":[],"categories":["C++"],"sub_categories":[],"readme":"# ROS-VDBFusion: Flexible and Efficient TSDF Integration\n\nA ROS C++ wrapper to the [vdbfusion](https://github.com/PRBonn/vdbfusion) library for flexible and efficient TSDF Integration\n\n## Installation\n\n### OpenVDB\n\n```sh\n# Install OpenVDB dependencies\nsudo apt-get update \u0026\u0026 apt-get install --no-install-recommends -y \\\n    libblosc-dev \\\n    libboost-iostreams-dev \\\n    libboost-system-dev \\\n    libboost-system-dev \\\n    libeigen3-dev\n\n# Install OpenVDB from source\ngit clone --depth 1 https://github.com/nachovizzo/openvdb.git -b nacho/vdbfusion \u0026\u0026 cd openvdb\nmkdir build \u0026\u0026 cd build \u0026\u0026 cmake  -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DUSE_ZLIB=OFF .. \u0026\u0026  sudo make -j$(nproc) all install\n```\n\n### VDBfusion\n\n```sh\ngit clone --depth 1 https://github.com/PRBonn/vdbfusion.git \u0026\u0026 cd vdbfusion\nmkdir build \u0026\u0026 cd build \u0026\u0026 cmake .. \u0026\u0026  sudo make -j$(nproc) all install\n```\n\n### ROS\n\nFor now only [ROS Noetic](http://wiki.ros.org/noetic) is supported.  \n\nAs an extra dependency install: `sudo apt install ros-noetic-tf2-sensor-msgs`.\nOn your catkin workspace, clone the vdbfusion_ros:\n\n```sh\ncd catkin_ws/src/\ngit clone https://github.com/PRBonn/vdbfusion_ros.git\ncatkin build\n```\n\n## Usage\n\n### Configuration\n\n1. Create a config file compatible with your dataset and desired tsdf integration parameters using this [template configuration](/config/template.yaml)\n2. The PointClouds should be a `sensor_msgs/PointCloud2` message published on a custom topic name which needs to be specified in the config file\n3. The Transforms should be either a `tf2_msgs/TFMessage` or a `geometry_msgs/TransformStamped`. See the [template configuration](config/template.yaml) for more details\n4. The data can be published either through a rosbag file or directly from another ros node\n\n### Launch\n\n```sh\nroslaunch vdbfusion_ros vdbfusion.launch config_file_name:=\u003cinsert config file name here\u003e path_to_rosbag_file:=\u003cinsert path to rosbag file here\u003e\n```\n\n### Save the VDB Grid and Extract Triangle Mesh\n\n```sh\nrosservice call /save_vdb_volume \"path: '\u003cinsert filename and path to save the volume and mesh\u003e'\"    \n```\n\n## Dataset Examples\n\nDownload the dataset rosbag files from the respective links\n\n### [TU Munich RGB-D SLAM Dataset and Benchmark - FR1DESK2](https://vision.in.tum.de/data/datasets/rgbd-dataset)\n\n- Use the sample [config file](config/FR2Desk2.yaml) provided for this dataset\n\n### [ETH Zurich ASL: Cow and Lady RGBD Dataset](https://projects.asl.ethz.ch/datasets/doku.php?id=iros2017)\n\n- Use the sample [config file](config/CowAndLady.yaml) provided for this dataset\n\n### [KITTI Dataset](http://www.cvlibs.net/datasets/kitti/raw_data.php)\n\n- Convert the dataset into a rosbag file using [kitti2bag](https://github.com/tomas789/kitti2bag)\n- Use the sample [config file](config/KITTI.yaml) provided for this dataset\n\nRun the [launch](README.md#launch) command providing config file and rosbag path corresponding to the dataset.\n\nUse the [rosservice](README.md#save-the-vdb-grid-and-extract-triangle-mesh) to save the VDB volume and mesh\n\n## Citation\n\nIf you use this library for any academic work, please cite the original [paper](https://www.ipb.uni-bonn.de/wp-content/papercite-data/pdf/vizzo2022sensors.pdf).\n\n```bibtex\n@article{vizzo2022sensors,\n  author         = {Vizzo, Ignacio and Guadagnino, Tiziano and Behley, Jens and Stachniss, Cyrill},\n  title          = {VDBFusion: Flexible and Efficient TSDF Integration of Range Sensor Data},\n  journal        = {Sensors},\n  volume         = {22},\n  year           = {2022},\n  number         = {3},\n  article-number = {1296},\n  url            = {https://www.mdpi.com/1424-8220/22/3/1296},\n  issn           = {1424-8220},\n  doi            = {10.3390/s22031296}\n}\n```\n\n## Others ROS wrappers around VDBFusion\n\n- [vdbfusion_mapping](https://github.com/Kin-Zhang/vdbfusion_mapping): originated to solve [transformation issues](https://github.com/PRBonn/vdbfusion_ros/issues/2) and with color support ![image](https://user-images.githubusercontent.com/35365764/200626528-a657a0e6-2fca-48d7-8b34-d8619b6f33e8.png)\n- [vdbfusion_mapping_docker](https://github.com/nachovizzo/vdbfusion_mapping). Same as above, but running in a dockerized enviornment\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPRBonn%2Fvdbfusion_ros","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FPRBonn%2Fvdbfusion_ros","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FPRBonn%2Fvdbfusion_ros/lists"}