一文学会ROS中带的rosbag来录制使用并用于SLAM离线建图

SLAM算法复现汇总参考:

SLAM常用2D、3D算法复现以及在搭建的Gazebo环境仿真汇总-优快云博客

目录

1.录制bag

2.查看bag信息

3.播放bag

4.rosbag实践

5.SLAM离线建图

rosbag介绍:

在SLAM小车采集数据有两种方式

1.实时操作小车进行建图

2.录制数据包的方式进行(前面算法的复现采用的该方法)

在ROS中关于数据的留存以及读取实现,提供了专门的工具: rosbag,本文介绍如何使用rosbag录制数据包。录制数据包是通过订阅话题,并将订阅到的数据保存下来,在不适合在线建图的场景种能快速实现离线的数据场景的重现,rosbag本质也是节点。

一、录制

1.录制所有话题

rosbag record -a

2.如果只想录制订阅部分话题

rosbag record <话题1> <话题2> <话题N>

3.指定话题保存包bag地址

rosbag record  -O <包名>

首先先用学习ROS的小乌龟为例子学习了解一下rosbag,以便后弦用于SLAM小车离线建图录制包

打开终端,分别在不同终端打开roscore,乌龟node,乌龟键盘控制(等打开rosbag再控制小乌龟移动)

roscore 
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

录制rosbag,运行后控制小乌龟移动,rosbag会持续订阅并保存数据。

rosbag record -a

 我录制的路线如下

 可以在终端中看到输出的话题

 运动完后,关闭所有话题,在home下面生成了新的带有录制时间的bag

二、查看bag信息

在终端中输入rosbag info 包名来查看录制bag的信息

#根据自己的bag名修改
rosbag info 2024-09-03-13-35-22.bag

 输出改bag的相关信息

 可以通过rqt_bag来对录制的包进行修改,比如删除多余的前后录的等等(具体我也没了解)

#根据自己bag名修改
rqt_bag 2024-09-03-14-14-12.bag

三、播放bag

前面已经完成了bag的录制和保存,这里对录制好的信息进行播放,在播放bag前先打开乌龟node,不要关闭roscore

rosrun turtlesim turtlesim_node

开始播放bag

rosbag play 2024-09-03-13-35-22.bag

对比一下录制和播放的乌龟运动情况

四、rosbag实践

我通过控制小车在实际环境中移动,采集数据(方法和上面一样)

我这里采集了所有发布的话题数据
rosbag record -a

得到小车运动时的数据

rosbag info 2024-09-03-19-19-52.bag

可以看出该bag中包含了小车运动时的速度,tf,imu等重要数据 

打开终端,运行rviz来显示数据包,并add相关展示内容(根据实际情况添加和选择相应话题)

rviz

 打开新终端,播放运行数据包

rosbag play 2024-09-03-19-19-52.bag

 五、rosbag建图,持续更新中........

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值