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

工作空间用到的代码包含上面这些:
- driver_launch:负责启动并发布激光雷达、IMU、GPS转化后的信息;
- gnss:负责经纬度到大地坐标的转换;
- gnss_localizer:负责nmea_sentence解析,发布IMU数据;
- ndt_mapping:建图(cpu);
- nmea_navsat_driver-melodic-devel:串口接收节点,负责发布nmea_sentence,包括$GPCHC,$GPGGA,后者用于IMU数据解析;(后续改名为nmea_navsat_driver);
- ROSDriver2.3.18_506:Rfans雷达驱动,发布/points_raw点云;
- 其他的没用到;
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了。

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

被折叠的 条评论
为什么被折叠?



