One folder of timestamped PCDs.
Local tools like bag_to_pcd read one topic and write a folder of timestamped PCD files. That is great for debugging a sensor stream, checking fields, or handing one frame to another tool.
“Rosbag to PCD” can mean two very different jobs. Sometimes you want every PointCloud2 frame exported to disk. Other times you really want one mapped point cloud from the whole recording. The right path depends on which of those jobs you are actually doing.
Local tools like bag_to_pcd read one topic and write a folder of timestamped PCD files. That is great for debugging a sensor stream, checking fields, or handing one frame to another tool.
If what you really need is a point cloud map, you still need LiDAR SLAM and, when available, GNSS-backed georeferencing. That is the job LidarFlow is built for.
Before SLAM runs, LidarFlow lists the topics it found and flags the ones it can use.
Local conversions need a ROS env, the right pcl_ros build, and matching topic names. The browser path skips all three.
SLAM, registration, and georeferencing run with visible queue and worker health instead of opaque logs.
You get one mapped point cloud plus PLY, trajectory, and metadata — not a directory of timestamped frames.
If you are already in a ROS environment and only need per-frame exports, use the upstream tool directly.
ros2 run pcl_ros bag_to_pcd --ros-args \ -p bag_path:=rosbag2_2025_01_01/ \ -p topic_name:=/pointcloud \ -p output_directory:=pcds
Good for timestamped frame exports. Not a full mapping pipeline.
If you need custom filtering, field transforms, or one-off post-processing, a small Python script gives you more control.
import rosbag
from sensor_msgs import point_cloud2
with rosbag.Bag("input.bag") as bag:
for _, msg, t in bag.read_messages("/pc"):
points = list(point_cloud2.read_points(msg))
# write one PCD per frameFlexible, but you still own the rest of the pipeline.
If you want a mapped output instead of a folder of raw frames, upload the recording through the browser and let LidarFlow handle validation, SLAM, georeferencing, and artifact delivery.
.mcap or ROS1 .bagoutput.pcd, map.ply, metadata, and trajectory artifacts