数据采集

KKSWARM的一个特点是可以实现matlab仿真和ROS的无缝过渡。因此,可以在真车上用 rosbag 采集相关数据,然后将数据放在matlba中进行解析,从而生成对应的速度、位置等的图像,从而进行分析。

数据采集简介

采集数据的思路和流程如下:首先使用 rosbag;然后运行相关程序;接着系统将会自动记录相关数据;等待数据采集完成以后,关闭 rosbag;最后将数据包放在matlab下解析即可。

图1 rosbag数据采集流程

对于KKSWARM项目来说,在ROS下需要采集的数据有(以单车为例)

  • /robot_1/pose
  • /robot_1/cmd_vel
  • /comm

具体操作步骤

以下操作均在Ubuntu环境下进行,以1号小车为例

  1. 将1号小车开机,等待连接至网络
  2. 根据 单车航点跟随 步骤启动单车航点
  3. 新开一个终端,输入命令 rosbag record /comm /robot_1/pose /robot_1/cmd_vel -o robot_1_waypoint.bag 开始记录数据
  4. 等待程序执行完毕
  5. 关闭 rosbag

关于 rosbag 的详细介绍和使用,点击 rosbag,获取更多信息

数据解析

提示

点击这里下载示例bag,robot_1_waypoint.bag

bag info

rosbag 命令行会将相关数据记录为一个 xxx.bag 文件,将文件拷贝至Windows下,再使用matlab进行解析即可。具体操作步骤如下

  1. 打开matlab
  2. 将读取rosbag的matlab代码和rosbag包放置在 同一路径
  3. 打开 kk-robot-swarm/src/matlab/Read_Rosbag.m matlab代码
  4. 将代码第二行bagPath='robot_1_waypoint.bag';改为自己的bag包名称
  5. 点击菜单栏上的运行
  6. 此时将会弹出相应的分析窗口,如下图所示:

数据分析