Post Recording Procedure - Forestry-Robotics-UC/fruc_dataset_apparatus GitHub Wiki
To save space and bandwidth, the Point Cloud and IMU data from Ouster LiDAR sensors are recorded as raw packets that need to be converted back to standard ROS messages. The packet_converter package handles this conversion.
Quick Procedure
- Clone the packet_converter repository:
git clone https://github.com/Forestry-Robotics-UC/packet_converter
cd packet_converter
- Either place your bag file in
packet_converter/rosbags(Option #1) OR change the docker compose mounting point (Option #2):
OPTION 1 To move to the rosbags folder:
# Option A: Copy/move your bag into the rosbags folder
mv /path/to/your/recording.mcap rosbags/
OPTION 2
To change the mounting point. Edit packer_converter/docker-compose.yml to change the volume mount (around line 51):
volumes:
- /your/custom/bag/path:/rosbags
- Run the conversion:
docker compose run --rm converter \
--input-bag /rosbags/your_recording_folder_name \
--output-bag /rosbags/your_recording_converted_folder_name
- Find your converted bag:
# Your output will be in the rosbags folder OR your custom mounting point
ls rosbags/your_recording_converted_folder_name/
Common Conversion Options
Split into smaller files (e.g., 500MB chunks):
docker compose run --rm converter \
--input-bag /rosbags/your_recording_folder_name \
--output-bag /rosbags/your_recording_converted_folder_name \
--max-bagfile-size 500M
Split by duration (e.g., 60-second chunks):
docker compose run --rm converter \
--input-bag /rosbags/your_recording_folder_name \
--output-bag /rosbags/your_recording_converted_folder_name \
--max-bagfile-duration 60s
Use custom topic names (if your recording used non-default topics):
docker compose run --rm converter \
--input-bag /rosbags/your_recording_folder_name \
--output-bag /rosbags/your_recording_converted_folder_name \
--lidar-packets-topic /custom/lidar_packets \
--points-topic /custom/pointcloud
For more information, visit the packet_converter documentation.