A portable ROS2 Foxy toolkit, to provide the ros2 bag
utility anywhere, plus extra packages to support the Monash Nova Rover team.
This snap was originally created to work around the quirks of ROS-Eloquent, specifically when recording custom-QoS topics.
# Install!
sudo snap install ros2-foxy-rosbag
# Record all topics to a bag file, even those with weird QoS settings!
ros2-foxy-rosbag.ros2 bag record -a
# ... or use any other ros2 CLI tools
ros2-foxy-rosbag.ros2 topic list
Additional support for the mcap storage format is also included through the rosbag2_storage_mcap package.
ros2-foxy-rosbag.ros2 bag record -a -s mcap
For easy visualisation with Foxglove, you can use the packaged rosbridge_server!
ros2-foxy-rosbag.rosbridge-server
If you want to record or play bagfiles that contain additional custom message types, you can provide a custom workspace path via the snap config.
The workspace is then sourced with source $custom-workspace-path
in the snap environment whenever you use a command.
Local ~/nova_ws
folders are automatically detected, but are overridden by any manual setting.
# ADVANCED
# Specify your custom colcon workspace, if needed (provide the **full path**)
# Here we are using the '~/nova_ws' folder, for example.
sudo snap set ros2-foxy-rosbag custom-workspace-path="/home/${SUDO_USER}/nova_ws"
# Validate changes
sudo snap get ros2-foxy-rosbag
# (example output)
#Key Value
#custom-workspace-path /home/leigh/nova_ws