一、运行设备,采集数据
这一部分内容可以参考下面的连接:
Fixposition Vision-RTK Evaluation User Guide_努力努力努力-CSDN博客
二、从bag包中提取原始数据
2.1 数据位置
把采集的数据放在 kalibr_workspace文件夹下面,如下图所示:

说明:
kalibr_workspace 参考这个博客(Kalibr 制作采集的图片和IMU数据生成 .bag 文件 (坑最全,解决方法最简单,最详细哈哈)_努力努力努力-CSDN博客)
2.2 查看数据信息
在上面的文件中打开终端,输入下面的语句:
rosbag info maximal_2021-09-23-09-12-15_0.bag得到如下的结果:

- /camera/ae_status //
- /camera_lowres/camera_info //
- /camera_lowres/image // 相机topic,可以得到原始图像;
- /gnss1/epoch // GNSS1 的时间戳;
- /gnss1/epoch/proc
- /gnss1/latency
- /gnss1/raw // GNSS1 的原始信息;
- /gnss1/status // GNSS1的状态;
- /gnss2/epoch // GNSS2 的时间戳;
- /gnss2/epoch/proc
- /gnss2/latency
- /gnss2/raw // GNSS2 的原始信息;
- /gnss2/status // GNSS2的状态;
- /imu/data // IMU的原始数据;
- /magn/data
- /ntrip/latency
- /ntrip/raw // RTK补偿信息?
- /rosout_agg // 未知?
- /tf_static
- /vio/diagnostics
- /vio/imu_biases // IMU的零偏;
- /vio/odometry // VIO的结果;
- /vio/status // VIO的状态;
注意:
因为我采集数据的时候,RTK数据买的账号错了,并不是CM级别的,所以topic部分没有 GNSS/INS/Vision组合导航的结果;
2.3 提取特征图像和IMU的topic原始数据信息
假设我们要提取 maximal_2021-09-23-09-12-15_0.bag 中的图像和IMU的原始信息,则需要进行下面的操作:
cd ~/kalibr_workspace // 进入文件夹
source devel/setup.bash // 编译
// 提取图片topic,IMU topic;
kalibr_bagextractor --image-topics/camera_lowres/image--imu-topics/imu/data--output-folder dataset-dir --bagmaximal_2021-09-23-09-12-15_0.bag
注意:
- dataset-dir 是生成的文件夹的名字(也可以改称其他的名字),里面包含了imu和图像的原始数据;
- kalibr_bagextractor 只能提取 image 和IMU的topic信息,其他topic的信息不能提取;
结果如下:

- cam0 文件夹:

说明:可以看到图像的采样频率是20Hz;
- imu0.csv

说明:可以看到图像的采样频率是200Hz,格式正确;这里为什么强调格式正确,因为后面IMU数据单独解压时,格式就不对了!
2.4 提取bag文件中其他topic原始数据信息
参考连接:
ROS 中 bag、txt、csv 格式文件的详细转换 和 图片的提取_努力努力努力-CSDN博客_bag是什么格式文件
(1)假设我们要读取 gnss 的时间戳信息 (topic: /gnss1/epoch )
rostopic echo -b maximal_2021-09-23-09-12-15_0.bag -p /gnss1/epoch > GnssEpoch.txt
注意:
- maximal_2021-09-23-09-12-15_0.bag 是固定的;
- /gnss1/epoch 是topic;
- GnssEpoch.txt 自己可以命名;
结果:

(2)读取 gnss 的原始信息(topic: /gnss1/raw )
rostopic echo -b maximal_2021-09-23-09-12-15_0.bag -p /gnss1/raw > gnss1_raw.txt
或
rostopic echo -b maximal_2021-09-23-09-12-15_0.bag -p /gnss1/raw > gnss1_raw.csv
(3)读取组合导航的结果 (topic:/rosout_agg)
rostopic echo -b maximal_2021-09-23-09-12-15_0.bag -p /rosout_agg > rosou.txt
(4)单独读取IMU的数据(topic:/imu/data)
rostopic echo -b maximal_2021-09-23-09-12-15_0.bag -p /imu/data > imu.txt
或者
rostopic echo -b maximal_2021-09-23-09-12-15_0.bag -p /imu/data > imu.csv
imu.txt

imu.csv

说明:
- 格式就乱了,分析原因,是因为单独读取IMU数据时,语句错误吗? 尝试修改语句!
- 还是因为用kalibr_bagextractor读取IMU数据时,已经进行了筛选,只要IMU的数据,不要其他无关联的数据;
- 更新:单独读取IMU数据时,最好转换成 .csv文件,可以把和IMU数据没有关系的部分剔除,保留IMU数据即可;
三、结论
- 这个产品可以输出200Hz,GNSS/INS/Vision厘米级精度的导航信息(PVQ);
- 可以获得IMU和图像数据,但获得的原始GNSS数据用不上,因为不提供具体的信息,情理之中;
- 作为GNSS/INS松组合的数据采集设备还是可以的!