问题
在使用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 文件夹路径/文件夹名 目标文件夹路径