数据采集
KKSWARM的一个特点是可以实现matlab仿真和ROS的无缝过渡。因此,可以在真车上用 rosbag
采集相关数据,然后将数据放在matlba中进行解析,从而生成对应的速度、位置等的图像,从而进行分析。
数据采集简介
采集数据的思路和流程如下:首先使用 rosbag
;然后运行相关程序;接着系统将会自动记录相关数据;等待数据采集完成以后,关闭 rosbag
;最后将数据包放在matlab下解析即可。
图1 rosbag数据采集流程
对于KKSWARM项目来说,在ROS下需要采集的数据有(以单车为例)
- /robot_1/pose
- /robot_1/cmd_vel
- /comm
具体操作步骤
以下操作均在Ubuntu环境下进行,以1号小车为例
- 将1号小车开机,等待连接至网络
- 根据 单车航点跟随 步骤启动单车航点
- 新开一个终端,输入命令
rosbag record /comm /robot_1/pose /robot_1/cmd_vel -o robot_1_waypoint.bag
开始记录数据 - 等待程序执行完毕
- 关闭
rosbag
关于 rosbag
的详细介绍和使用,点击 rosbag,获取更多信息
数据解析
提示
点击这里下载示例bag,robot_1_waypoint.bag
bag info
rosbag
命令行会将相关数据记录为一个 xxx.bag
文件,将文件拷贝至Windows下,再使用matlab进行解析即可。具体操作步骤如下
- 打开matlab
- 将读取rosbag的matlab代码和rosbag包放置在 同一路径下
- 打开
kk-robot-swarm/src/matlab/Read_Rosbag.m
matlab代码 - 将代码第二行
bagPath='robot_1_waypoint.bag';
改为自己的bag包名称 - 点击菜单栏上的运行
- 此时将会弹出相应的分析窗口,如下图所示:
数据分析