通过桌面版安装ROS2的时候,是没有安装 bag 包的,需要自己进行安装,运行下面这句话:
sudo apt-get install ros-<distro>-ros2bag ros-<distro>-rosbag2*
有的时候会报错:
[ERROR] [rosbag2_storage]: Could not load/open plugin with storage id 'sqlite3'.
[ERROR] [rosbag2_transport]: Failed to play: No storage could be initialized. Abort
应该是包没有安装完整,再运行下面的两句话安装依赖关系
sudo apt install -y ros-dashing-rosbag2-bag-v2-plugins ros-dashing-rosbag2-converter-default-plugins ros-dashing-rosbag2-storage ros-dashing-rosbag2-transport ros-dashing-rosbag2-storage-default-plugins ros-dashing-ros2bag
一些用法:
记录单个节点的消息
ros2 bag record <topic_name>
记录ROS2 网络上的所有消息
ros2 bag record -a
记录多个指定的消息
ros2 bag record -o subset /turtle1/cmd_vel /turtle1/pose
查看录制的包的信息,大小,长度,里面包含的消息的类型等。
ros2 bag info <bag_file_name>
播放包
ros2 bag play subset