这是一个意外!
意外的获得了一个.bag文件,这个文件中包含了各种数据:多波束测深声呐的点云数据,里程计数据等等。
提取.bag文件中想要的数据
这里以提取里程计数据为例
第一步,play你的.bag文件
# yourbag.bag 这是你不知从哪获得bag文件
rosbag play yourbag.bag
第二步, 查看数据所在的主题名
# 查看你想要数据所在的主题名
rostopic list
在这里我们里程计数据的主题名是"/nav/processed/odemetry"
第三步,通过rosbag filter去提取里程计数据
# odometry_100s.bag为经过过滤后你想要生成的.bag文件名称,这里我取名为odometry_100s
# topic == '/nav/processed/odometry'里程计数据的主题名为/nav/processed/odometry
# 同时我这里限制了时间,只提取了100s的里程计数据
# m.header.stamp.to_sec() >= 1580666965.000000000 and m.header.stamp.to_sec() <=
# 1580667065.000000000
rosbag filter yourbag.bag odometry_100s.bag "(topic == '/nav/processed/odometry' and m.header.stamp.to_sec() >= 1580666965.000000000 and m.header.stamp.to_sec() <= 1580667065.000000000)"
同理也能得到多波束测深声呐数据。
到此为止我们就完成了.bag文件中数据的提取!
接下来我会试着将多束测深声呐的点云数据与里程计数据进行结合,将点云数据转化到世界坐标下(.bag文件中的点云数据是在声呐坐标系下的)。
多波束声呐数据所呈现的地形信息呈线状贯序排列,相邻两ping数据间不存在重叠区域,单ping多波束声呐数据可以认为是处于同一垂平面的。