rosbag2_to_pcd repository

rosbag2_to_pcd repository

rosbag2_to_pcd repository

rosbag2_to_pcd repository

rosbag2_to_pcd

Repository Summary

Description
Checkout URI https://github.com/xmfcx/rosbag2_to_pcd.git
VCS Type git
VCS Version main
Last Updated 2023-08-16
Dev Status UNKNOWN
CI status No Continuous Integration
Released UNRELEASED
Tags No category tags.
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
rosbag2_to_pcd 0.0.0

README

rosbag2_to_pcd

The rosbag2_to_pcd package provides functionality to convert point cloud data from a ROS 2 rosbag file to PCD (Point Cloud Data) files. For each point cloud message in the specified topic, the package creates an individual PCD file.

Alternative (much more capable) tool:

  • https://github.com/AIT-Assistive-Autonomous-Systems/ros2bag_tools#export

Installation

To install, follow the ROS 2 Humble Installation Guide and then execute:


mkdir -p ~/rosbag2pcd_ws/src
cd ~/rosbag2pcd_ws/src
git clone https://github.com/xmfcx/rosbag2_to_pcd.git
cd ~/rosbag2pcd_ws

sudo apt update
rosdep init
rosdep update
rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO

colcon build --symlink-install  --cmake-args -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_EXPORT_COMPILE_COMMANDS=1

Usage

Parameters

The node accepts the following parameters:

  • path_bag: The absolute path to the rosbag2 file that you want to convert.
    • Example: /home/mfc/bags/rosbag2_2023_08_15-18_42_55 which contains:
      • /home/mfc/bags/rosbag2_2023_08_15-18_42_55/metadata.yaml
      • /home/mfc/bags/rosbag2_2023_08_15-18_42_55/rosbag2_2023_08_15-18_42_55_0.mcap
  • topic_cloud: The topic that contains the point cloud data in the rosbag2 file.

By default, the parameters are sourced from the rosbag2_to_pcd.param.yaml file in the config directory. Modify this file’s default values or provide your own parameter file as needed.

Running the Node

Execute the following commands:

source ~/rosbag2pcd_ws/install/setup.bash
ros2 launch rosbag2_to_pcd rosbag2_to_pcd.launch.xml

Once launched, the node will process the rosbag file specified by the path_bag parameter. It will generate a PCD file for each point cloud message, storing them in a directory named <rosbag-name>_pcds adjacent to the rosbag2 folder.

The resulting PCD files use the timestamp of the point cloud message for naming, e.g., 1610472435-452138256.pcd.

Tips

To visually check which point cloud corresponds to which timestamp:

  • Launch Rviz2 to view the point cloud.
  • In a separate terminal, run:
    • ros2 topic echo /your_point_cloud_topic --field header.stamp
  • Play your bag file.
  • Pause the bag file playing by pressing space key when needed.
  • Match the point cloud message’s timestamp with the corresponding PCD file name.

CONTRIBUTING

Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that license:

5. Submission of Contributions. Unless You explicitly state otherwise,
   any Contribution intentionally submitted for inclusion in the Work
   by You to the Licensor shall be under the terms and conditions of
   this License, without any additional terms or conditions.
   Notwithstanding the above, nothing herein shall supersede or modify
   the terms of any separate license agreement you may have executed
   with Licensor regarding such Contributions.

rosbag2_to_pcd repository

rosbag2_to_pcd repository

rosbag2_to_pcd repository

rosbag2_to_pcd repository

rosbag2_to_pcd repository

rosbag2_to_pcd repository

rosbag2_to_pcd repository

rosbag2_to_pcd repository

rosbag2_to_pcd repository

rosbag2_to_pcd repository

rosbag2_to_pcd repository

rosbag2_to_pcd repository

rosbag2_to_pcd repository

rosbag2_to_pcd repository

rosbag2_to_pcd repository