ROS2 回放 ros1.bag 文件?血泪总结

前前言(2022/11/16更新)

自定义数据格式是无法通过ros2bag play 获取的,因此强烈建议用ROS1打开bag文件!!不要再尝试用ROS2了!!!(2023/4/6 保留意见,故字体改为白色)

前言

本文适用于:大部分操作都在ros2上运行的情形(因为后续安装ros1之后涉及到环境配置)。

解决2个关键报错(参考https://github.com/ros2/rosbag2/issues/94):

同时安装ros2和ros1之后:1. 命令行输入“ros2 bag **” 后报错:Failed to load entry point 'play':
/opt/ros/galactic/lib/librosbag2_storage.so: undefined symbol: _ZNK12class_loader11ClassLoader15isLibraryLoadedEv

 2. 命令行输入“ros2 bag **” 后报错:Failed to load library /opt/ros/galactic/lib/librosbag2_bag_v2_plugins.so.... Error string: Could not load library dlopen error: libroscpp_serialization.so: cannot open shared object file: No such file or directory

操作步骤:

  1. 在已安装ros2的环境中安装ros1
  2. 安装rosbag_v2相关依赖和插件
  3. 环境配置(关键)
  4. 验证
  5. ros2 bag 命令用法

一、 在已安装ros2的环境中安装ros1

 可参考该文“1. ROS1安装”部分(我安装的是ros1-noetic版本) →  Ubuntu20.04 ROS1和ROS2同时安装及使用 - 古月居 (guyuehome.com) 

二、 安装rosbag_v2相关依赖和插件

# 安装catkin_tools(https://catkin-tools.readthedocs.io/en/latest/installing.html)
$ sudo sh \
    -c 'echo "deb http://packages.ros.org/ros/ubuntu `lsb_release -sc` main" \
    > /etc/apt/sources.list.d/ros-latest.list'
$ wget http://packages.ros.org/ros.key -O - | sudo apt-key add -
$ sudo apt-get update
$ sudo apt-get install python3-catkin-tools


# 安装依赖与插件(https://www.ncnynl.com/archives/202209/5469.html)
$ sudo apt update
$ sudo apt install -y libroscpp-serialization0d \
    ros-galactic-nmea-msgs \
    ros-noetic-nmea-msgs
$ sudo apt install -y ros-galactic-rosbag2-bag-v2-plugins \
    ros-galactic-rosbag2-storage \
    ros-galactic-rosbag2-storage-default-plugins \
    ros-galactic-ros2bag ros-galactic-rosbag2-transport 

三、环境配置(关键)

        在 .bashrc 文件末尾添加如下两行(将galactic换为你的ros2版本名)

source /opt/ros/galactic/setup.bash
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ros/noetic/lib

四、验证

打开.bag文件方法:

# 查看.bag信息,如上图,包含topic等信息
$ ros2 bag info -s rosbag_v2 your_bag_file.bag
# 回放.bag
$ ros2 bag play -s rosbag_v2 your_bag_file.bag

相关其他信息/资料可参考:ROS1与ROS2的bag包互换(包含自定义消息) - 古月居 (guyuehome.com)

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值