rosbag使用及問題記錄

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)
    • 保存,退出
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章