ROS rosbag 錄制和回放消息實用總結


博客轉載自:https://blog.csdn.net/zhanghm1995/article/details/82468754

查看topic列表

rostopic list

打印topic內容

rostopic echo /topic

將bag轉為pcd

rosrun pcl_ros bag_to_pcd out.bag /velodyne_points ./pcd/

話題錄制

錄制所有發布出來的話題,此時默認將話題保存在一個以當時時間戳命名的文件夾中:

rosbag record -a

錄制指定話題

rosbag record /topic1 /topic12 -o out.bag

話題回放

基本回放

rosbag play <your bagfile name>

等待一定時間之后發布bag文件中的內容

rosbag play <your bagfile name> -d <delay time>

按一定頻率回放,-r選項用來設定消息發布速率,如下面命令則表示以3倍原始速率發布話題

rosbag play -r 3 <your bagfile name>

回放指定話題

rosbag play <your bagfile name> --topics <topics>

其他指令

顯示bag文件中所包含話題的名稱、類型和消息數量:

rosbag info <your bagfile name>

創建一個除了/tf消息的新包

rosbag filter file.bag file-no-tf.bag "topic != '/tf'"

查看topic發送接收圖

rosrun rqt_graph rqt_graph

重映射topic信息(將out.bag中point_cloud轉為velodyne_points)

rosbag play out.bag  /point_cloud:=/velodyne_points

將point_cloud轉為laserscan

rosrun pointcloud_to_laserscan pointcloud_to_laserscan_node cloud_in:=/your_velodyne_points

查看bag中對應topic的frame_id

rostopic echo /topic | grep frame_id

查看tf樹

rosrun rqt_tf_tree rqt_tf_tree

保存地圖

rosrun map_server map_saver -f my_map

將cartographer生成的pbstream導出為ros標准地圖

  • 首先新建offline_pbstream_to_rosmap.launch
<launch>
  <node name="cartographer_pbstream_to_ros_map" pkg="cartographer_ros"
      type="cartographer_pbstream_to_ros_map" args="
          -pbstream_filename $(arg pbstream_filename)
          -map_filestem $(arg map_filestem)
          -resolution $(arg resolution)"
      output="screen">
  </node>
</launch>

再輸入如下命令 

roslaunch cartographer_ros offline_pbstream_to_rosmap.launch pbstream_filename:=/home/out.pbstream map_filestem:=/home/out resolution:=0.05

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM