多传感器融合定位(一)——NDT、SC-Lego-LOAM地图构建

本文介绍了使用ROS进行数据采集,通过NDT建图和SC-LeGo-LOAM算法实现环境地图构建的过程。在NDT建图中,地图重合度良好,但在SC-LeGo-LOAM中可能出现轻微漂移,可能是由于IMU稳定性问题。文章讨论了建图效果及可能存在的问题,并提出进一步的分析方向。
摘要由CSDN通过智能技术生成

目录

说明:

 1、数据采集

 2、NDT建图

2、SC-LeGo-LOAM


说明:

该阶段代码备份在:~/Fusion_locolizer_souce_code/代码管理/fusion_localizer_ws/2021-24 

 工作空间用到的代码包含上面这些:

  1. driver_launch:负责启动并发布激光雷达、IMU、GPS转化后的信息;
  2. gnss:负责经纬度到大地坐标的转换;
  3. gnss_localizer:负责nmea_sentence解析,发布IMU数据;
  4. ndt_mapping:建图(cpu);
  5. nmea_navsat_driver-melodic-devel:串口接收节点,负责发布nmea_sentence,包括$GPCHC,$GPGGA,后者用于IMU数据解析;(后续改名为nmea_navsat_driver);
  6. ROSDriver2.3.18_506:Rfans雷达驱动,发布/points_raw点云;
  7. 其他的没用到;

 1、数据采集

1. 动数据驱动节点:启动前,打开激光雷达开关,完成GNSS初始化操作;

roslaunch driver_launch driver.launch 

 2. 打开autoware开始录制rosbag

cd autoware.ai/
source install/setup.bash 
roslaunch runtime_manager runtime_manager.launch 

 点击ROSBAG,选择要录制的话题,保存路径,保存文件名,最后点击start开始录制。

 

 遥控车辆开始录制数据,过程直线可块,但转弯一定要平滑。结束后点击stop保存数据。保存数据包如下:

 2、NDT建图

1. autoware播放数据:点击Ref选择数据、加载后能看到rosbag内包含的话题信息,点击play开始播放,可通过rviz查看数据信息。

数据可视化如下图:

 2. 运行NDT建图节点

这里使用CPU版本,且已经脱离autoware,可单独运行。

rosrun pcl_ros pointcloud_to_pcd input:=/ndt_map prefix:=map
roslaunch ndt_mapping ndt_mapping.launch 

 

 过程可通过Rviz查看:

 期间autoware会内存报警,问题不大。

结束后最后保存的地图将被保存在0.pcd文件中。

 最终文件很大:

 

 效果评估:

1. 好的方面

俯视图看,墙壁重合度较好,无重影,偏移,这是经过两圈构建的地图,重合性很好。

局部看,树干没有出现重影。

 

局部特征图,车的形状很明显。

2. 存在的问题,因为人在后面,因此人被建在了图中。

2、SC-LeGo-LOAM

 1. autoware播放数据:点击Ref选择数据、加载后能看到rosbag内包含的话题信息,点击play开始播放,可通过rviz查看数据信息。

数据可视化如下图:

 2. 运行SC-LeGo-LOAM

roslaunch lego_loam run.launch

 toptodown视角,怎么是歪的,初步分析是IMU不够稳定,也没配准的原因。

 建完后关闭,地图保存在了下图所示位置,注意看,地图大小, 和NDT差了50倍。

查看下这地图正不正常。

roslaunch lego_loam map_loader.launch 

 地图查看来看,不算差,而且计算量小很多,后面看定位效果吧。

那建图过程漂移是不是IMU的问题呢?不用IMU试试看。然后发现,错怪IMU了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值