1.命令
-
1.採集數據
- 採集所有話題:rosbag record -a
- 採集部分話題: rosbag record /chatter -o chat -o及後面的參數,是用來給bag文件命名的
- 採集特定節點訂閱的話題:rosbag record --node=/joy_teleop
-
2.查看bag信息
- rosbag info /path/to/my.bag
- 查看特定的信息:rosbag info -y -k duration /path/to/my.bag
-
3.播放bag
- rosbag play recorded1.bag
- 同步:rosbag play --clock recorded1.bag
- 10倍速度播放:rosbag play -r 10 recorded1.bag
-
4.取子包
- 話題:rosbag filter in.bag out.bag “topic == ‘/tf’ or topic == ‘/tf2’”
- 時間:rosbag filter in.bag out.bag “t.to_sec() >= 123.4 and t.to_sec() <= 234.5”
2.問題
- 1.使用rosbag filter出現
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe8 in position 475: ordinal not in range(128)
- sudo vim /opt/ros/kinetic/lib/python2.7/dist-packages/genpy/dynamic.py
- 167+Enter到第168行
- 將tmp_file.file.write(full_text.encode())改爲tmp_file.file.write(full_text)
- 保存,退出