ROS:bag数据包内容提取——雷达点云数据和imu数据

通常在利用ros采集传感器数据时,我们会得到一个包含多个传感器数据的bag数据包,下面将会介绍从bag数据包提取雷达点云数据和imu数据的方法。

系统版本:Ubuntu20.04

ROS版本:Noetic

先觉条件:

查看bag数据包中雷达点云数据和imu数据所对应的topic名称,通过下面这条指令实现。

rosbag info <xxxxxx.bag>
#<xxxxxx.bag>指bag数据包的名称

例如:

rosbag info 2021-04-16-10-32-05_far.bag 

下图为具体的实现过程:

ca41c912ed084dd8b3e58dc88ff130cf.png

1、提取雷达点云数据

启动roscore,打开终端,输入下面这条指令实现

roscore

从bag数据包中提取雷达点云数据,并将雷达点云数据转换为pcd格式,通过下面这条命令实现。

rosrun pcl_ros bag_to_pcd <xxxxxx.bag> <topic> <output_directory>
# <xxxxxx.bag>指读取的bag数据包的名字
# <topic>指bag数据包雷达点云数据对应的topic名称
# <output_directory>指输出过程中所创建的目录名称,得到的pcd格式的雷达点云数据放在此目录下

例如:

rosrun pcl_ros bag_to_pcd 2021-04-16-10-32-05_far.bag /os_cloud_node/points test.pacd

下图为具体的实现过程:

d30f256dedd248e4b7dce00e45950eb6.png

然后会得到按照时间戳排序的雷达点云数据。

5bdbe991529f493eb7790db977c15cee.png

2、提取imu数据

从bag数据包中提取imu数据,可将其转化为txt格式后者csv格式,通过下面的指令实现。

rostopic echo -b <xxxxxx.bag> -p <topic> >  xxxxxx.txt
或者
rostopic echo -b <xxxxxx.bag> -p <topic> >  xxxxx.csv
# <xxxxxx.bag>指读取的bag数据包的名字
# <topic>指bag数据包imu数据对应的topic名称
# xxxxxx.txt xxxxxx.csv中xxxxxx指自己给得到的文件取的名字

例如:

rostopic echo -b 2021-04-16-10-32-05_far.bag -p /vectornav/IMU > imu.csv

需注意:读取成功后,终端不会给出提示

71af717c131947af80f5b115eae0d2c7.png

 但实际上已生成所要的文件

4e82a9e155e942debe8e78268d055e79.png

 得到imu.csv的文件内容:

6ed841bac29a47bba7c08b51a137c0c6.png

  • 25
    点赞
  • 203
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值