Turtlebot3上的仿真环境 - maohaihua/ros_study GitHub Wiki
https://blog.csdn.net/wsc820508/article/category/7830012
https://blog.csdn.net/wsc820508/article/details/81533048 https://blog.csdn.net/wsc820508/article/details/81505121
https://blog.csdn.net/weixin_36976685/article/details/83476178
https://www.ncnynl.com/archives/201707/1788.html
https://blog.csdn.net/afeik/article/details/81388607
3.1 记录数据
启动上一步中相关环境后,执行以下命令记录scan 、tf 、tf_static话题上发布的所有消息:
rosbag record -o data.bag /tf /scan /tf_static
比如:
rosbag record -a 记录所有话题
rosbag record -o foo scan tf 文件名前加上foo前缀
rosbag record -O foo.bag scan tf 指定文件名
3.2 回放数据
使用 rosbag play 播放之前记录的包,--clock 标志表示需要rosbag发布时间信息
rosbag play --clock data_2018-08-10-18-27-20.bag
使用 rosbag info foo.bag 显示包文件信息。
-
3 利用回放数据建图
rosparam set use_sim_time true
rosrun gmapping slam_gmapping #查看 tf tree rosrun tf view_frames evince frames.pdf
wsc@wsc-pc:~$ rosconsole rosconsole is a command-line tool for configuring the logger level of ROS nodes.
Commands: rosconsole get display level for a logger rosconsole list list loggers for a node rosconsole set set level for a logger rosconsole echo print logger messages
wsc@wsc-pc:~$ rosconsole list slam_gmapping ros ros.gmapping.message_filter ros.roscpp ros.roscpp.cached_parameters ros.roscpp.roscpp_internal ros.roscpp.roscpp_internal.connections ros.roscpp.superdebug
rosconsole set slam_gmapping ros.gmapping.message_filter DEBUG
Node [/robot_state_publisher] Publications:
- /rosout [rosgraph_msgs/Log]
- /tf [tf2_msgs/TFMessage]
- /tf_static [tf2_msgs/TFMessage]
Subscriptions:
- /clock [rosgraph_msgs/Clock]
- /joint_states [sensor_msgs/JointState]
Services:
- /robot_state_publisher/get_loggers
- /robot_state_publisher/set_logger_level
作者:天涯0508 来源:CSDN 原文:https://blog.csdn.net/wsc820508/article/details/81556620 版权声明:本文为博主原创文章,转载请附上博文链接!