运行rosbag play出现Error reading version line,[playbag-15] process has died [pid 11671, exit code 1错误

问题

在使用cartographer的过程中,运行rosbag play时出现Error reading version line,[playbag-15] process has died [pid 11671, exit code 1错误。

错误码:

[FATAL] [1640670145.917017489]: Error reading version line
[playbag-15] process has died [pid 11671, exit code 1, cmd /opt/ros/melodic/lib/rosbag/play --clock /opt/ros/melodic/share/cartographer_ros/configuration_files/b0-2014-07-21-12-42-53.bag __name:=playbag __log:=/home/nano/.ros/log/ecfb7f74-67a0-11ec-ada6-00044bebdb71/playbag-15.log].
log file: /home/nano/.ros/log/ecfb7f74-67a0-11ec-ada6-00044bebdb71/playbag-15*.log

在这里插入图片描述

解决

这个问题一般是在Ubuntu系统中移动bag文件时导致bag损坏,或是bag文件的类型发生变化,导致rosbag play指令不能识别文件。

解决办法是进入报错提示的路径下/opt/ros/melodic/share/cartographer_ros/configuration_files/b0-2014-07-21-12-42-53.bag检查bag文件是否正常,我的到路径下查看发现bag文件显示的是文件夹图标,而不是可执行文件。后面重新使用文件移动指令移动文件后,错误解决。

注:

1、文件移动指令:

在终端进入文件路径,运行:

sudo mv 移动的文件名 目标路径

2、复制一个**文件夹(该文件下可以有文件夹)**到另一个文件夹下:

在终端进入文件夹路径,运行:

sudo cp -r 文件名 目标文件夹路径 (-r 就是递归的意思,删除时 也同样这么加-r)

3、复制一个路径下的文件夹到另一个路径

sudo cp -r 文件夹路径/文件夹名 目标文件夹路径
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ROS机器⼈技术 机器⼈技术-rosbag详细使⽤教程 详细使⽤教程! 在 ROS 系统中,可以使⽤ bag ⽂件来保存和恢复系统的运⾏状态,⽐如录制雷达和相机话题的 bag 包,然后回放⽤来进⾏联合外参标定。 这⾥记录下我学习官⽅的 rosbag 教程的笔记: 我常⽤的⼏个操作 我常⽤的⼏个操作 虽然命令很多,但是我⽬前在⼯作中常⽤的命令就如下⼏个: 1. 录包 录包 录制所有话题: rosbag record -a 录制指定话题,设置 bag 包名: rosbag record -O bag_name.bag /topic1_name /topic2_name /xxx 有时候我录制包不设置名称,默认按照录制结束时间命名: rosbag record /topic1_name /topic2_name /xxx 2. 回放 回放 我常⽤的是以暂停的⽅式启动,防⽌跑掉数据: rosbag play --pause record.bag 你也可以直接回放: rosbag play record.bag 我建图过程中有时会设置以 0.5 倍速回放,也就是以录制频率的⼀半回放: rosbag play -r 0.5 record.bag 回放完后,我⼀般会⽤ rostopic list 查看下发布的主题,确保是我需要的: rostopic list 3. 修复 修复 之前在我们⼩车的 Intel NUC 上录包拷到台式机上回放会报错,提⽰需要 reindex,执⾏⼀下即可,不过数据好像会少⼀些: rosbag reindex xxx.bag 下⾯是完整的 rosbag ⽤法,需要的可以查找下。 ⼀、 ⼀、rosbag 基本作⽤ 基本作⽤ rosbag ⼯具可以录制⼀个包、从⼀个或多个包中重新发布消息、查看⼀个包的基本信息、检查⼀个包的消息定义,基于 Python 表达式过滤 ⼀个包的消息,压缩和解压缩⼀个包以及重建⼀个包的索引。 rosbag ⽬前常⽤的命令如下(fix 和 filter 暂时没有⽤到): record:⽤指定的话题录制⼀个 bag 包 info:显⽰⼀个 bag 包的基本信息,⽐如包含哪些话题 play:回放⼀个或者多个 bag 包 check:检查⼀个 bag 包在当前的系统中是否可以回放和迁移 compress:压缩⼀个或多个 bag 包 decompress:解压缩⼀个或多个 bag 包 reindex:重新索引⼀个或多个损坏 bag 包 我在⽬前项⽬的使⽤中,⽤的最多的就是 record、info 以及 play 功能,先录制想要的话题包,录制完毕检查下包的信息,最后再回放作为 算法的输⼊,下⾯就详细学习下上⾯命令的⽤法。 ⼆、 ⼆、rosbag record 使⽤ record 订阅指定主题并⽣成⼀个 bag ⽂件,其中包含有关这些主题的所有消息,常见⽤法如下。 ⽤指定的话题 topic_names 来录制 bag 包: rosbag record <topic_names> ⽐如录制 rosout、tf、cmd_vel 3 个话题,录制的 bag 包以时间命名: rosbag recoed rosout tf cmd_vel 录制完保存 bag 包名称为 session1 + 时间戳.bag 格式: rosbag record -o session1 /chatter 录制完保存为指定⽂件名 session2_090210.bagrosbag record -O session2_090210.bag /chatter 录制系统中所有的话题: rosbag record -a 使⽤ -h 查看 record 使⽤⽅法,很多命令都可以⽤这个: rosbag record -h 三、 三、rosbag info rosbag info 显⽰包⽂件内容的可读摘要,包括开始和结束时间,主题及其类型,消息计数、频率以及压缩统计信息,常见⽤法如下: 显⽰⼀个 bag 包的信息: rosbag info name.bag $ rosbag info foo.bag path: foo.bag version: 2.0 duration: 1.2s start: Jun 17 2010 14:24:58.83 (1276809898.83) end: Jun 17 2010 14:25:00.01 (1276809900.01) size: 14.2 KB messages: 119 compression: none [1/1 chunks] types: geometry_msgs/Point [4a842b65f413084dc2b10fb484ea7f17] topics: /points 119 msg

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dawn久神

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值