Fixposition:从采集数据(bag包)中提取IMU、图像、GNSS原始数据

一、运行设备,采集数据

这一部分内容可以参考下面的连接:

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数据即可;

三、结论

  1. 这个产品可以输出200Hz,GNSS/INS/Vision厘米级精度的导航信息(PVQ);
  2. 可以获得IMU和图像数据,但获得的原始GNSS数据用不上,因为不提供具体的信息,情理之中;
  3. 作为GNSS/INS松组合的数据采集设备还是可以的!


版权声明:本文为hltt3838原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。