主题: 前言 针对ros系统记录的bag文件,可以使用python的rosbag包,按照不同起止时间和topic进行提取。 然而,有的topic可以使用rosbag读取,但是不能遍历,存在解码错误。原因应该是存在
主题:
前言
针对ros系统记录的bag文件,可以使用python的rosbag包,按照不同起止时间和topic进行提取。
然而,有的topic可以使用rosbag读取,但是不能遍历,存在解码错误。原因应该是存在中文字符的注释, 这个可以在函数生成的temp.py中看到。
python提取bag文件时发生解码错误:
unicode error) 'utf-8' codec can't decode byte 0xcd in position 31: invalid continuation byte
编译环境:windows visual studio2019,pycharm也有如此问题,即使将file encoding 改成其它编码方式,如GB2312也不行
解决方法:使用linux环境下的python提取,即可避免此解码问题
本人使用ubuntu下的pycharm进行提取,即可正常进行。两种系统下pycharm的界面、用法完全一致。安装rosbag:
本人使用pip包管理器,直接安装rosbag是不行的,在网上搜了好久才看到一个靠谱的方法,安装命令如下:
·pip install rosbag --extra-index-url https://rospypi.github.io/simple/
参考链接: python3 安装rosbag等package
其实主要是手动添加网址
注意有时国内网打不开这个网址,如下图所示。可以等一段时间,好使了再安装