博客轉載自: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