学生姓名:李沛泽
班班级级:交控2020-05班
指导教师:曾祥光
毕设题目:基于图优化的自动驾驶矿车高精度协同感知与定位算法设计
一、概况
1.选题意义
实现露天煤矿的智能化开采与运输需要数字化开采环境、智能化运输、网络化信息传输以及远程遥控生产过程。其中,重点是建设矿车无人驾驶系统和远程监控及协调控制系统,并借助前沿科学信息技术,打造现代化高水平的智能化露天煤矿,以提高生产效率和安全性,降低生产成本。
矿用卡车(以下简称“矿卡”)是露天矿区运输环节中最重要的工具之一,对无人化的需求更加迫切。目前驾驶矿卡的驾驶员都是驾驶技术熟练的人群,驾驶员成本居高不下,同时面临驾驶员短缺的问题。另外,由于大部分露天矿区位于高寒地区,矿卡驾驶员每天要忍受长时间的噪音、浮尘和极寒等工作环境,还需要应对因恶劣环境导致的安全事故,对驾驶员的心理素质和生理健康都有较大的考验和危害。因此,实现矿卡的无人驾驶势在必行。露天矿区属于封闭区域,在运输道路上只允许矿卡行驶,不存在其他车辆等干扰因素。矿卡的运输路线相对固定,属于点到点的运输工况,是典型的无人驾驶技术的应用场景要求。
虽然矿场大多为封闭区域,但其道路环境复杂,障碍物、断层等分布密集且不均匀,因此对于矿卡的自动驾驶系统,除了对于车辆本身的控制,还需要为车辆提供准确的定位信息。如何得到更加实时、准确的车辆定位信息也是矿卡自动驾驶系统中非常重要的一环,高精度的车辆定位信息给车辆控制器提供了更加准确的位置、速度等信息,同时避免了因位置估计不准确而导致的矿卡倾覆、碰撞等事故,有利于减少事故发生率,降低成本,提高系统运行的稳定性等。
本设计以矿车在露天矿场下的多车辆协同感知与定位为背景,学习有关图优化、卡尔曼滤波、位置估计、计算机视觉等相关算法,利用高等数学、线性代数、最优化方法等数学方法对问题进行分析与处理,最终通过计算机编程相关技术进行模拟仿真,验证所设计算法的可行性以及稳定性。
在此过程中,充分锻炼了学生的分析问题、解决问题的能力,通过学习相关领域前沿算法与阅读相关文献,扩展了学生的科学视野,提高了学生的英文文献阅读能力,是对学生本科阶段学习的一次全面的总结与检验。充分调动了学生学习的主动性以及积极性,从多个方面、多个角度对学生的各方面能力进行锻炼与培养。
2.任务分解
(1)基于计算机视觉深度学习算法对相机所获取的图像数据进行检测得到车辆的相对位置信息。
(2)根据图像检测结果结合雷达信号进行测距。
(3)基于车辆自组织网络直接获取车辆间相对与绝对位置信息。
(4)通过位姿估计方法进行车辆运动估计。
(5)位姿估计数据结合车辆自组织网络数据等进行车辆位置联合估计。
(6)结合卡尔曼滤波绝对位置及检测相对位置得到更加精确的绝对位置信息。
(7)联合上述多种数据通过图优化构建时间上统一的优化模型。
(8)搭建仿真环境进行实验验证。
(9)消融实验。
二、已完成工作
1. 仿真环境搭建
仿真环境中主要涉及卡车模型的建模、场景的建模、卡车路径的规划以及卡车沿预定轨迹运行的控制算法。其中卡车模型与场景模型直接使用开源模型,并对其各个部分针对本设计进行专门的修改,场景中共有10辆卡车,通过简单的控制算法(即偏离预定轨迹后通过方向盘偏转进行修正,本设计中控制不占主要地位,此处未设置反馈控制)对卡车的运动进行控制。
图1 仿真环境展示
考虑到电脑性能的问题,未直接在仿真环境下进行算法测试。仿真环境运行的过程中,会保存过程中所需要的彩色图片以及雷达检测(以深度图进行模拟)。
图2 保存得到的彩色图片以及深度图(左:彩色图 右:深度图)
2. 深度学习环境搭建,模型训练及部署
本设计所采用的深度学习模型为YOLOv8以及MobileNetv3,具体为使用MobileNetv3的网络结构对YOLOv8的主干网络进行替换,得到模型轻量化之后的网络模型。
图3 YOLOv8模型主干及MobileNetv3网络模块
3.雷达检测车辆相对位置算法实现
图4 车辆的准确位置进行取点算法流程
图5 车辆位置计算
4. 位姿估计方法进行车辆运动估计
实现了ORB-SLAM3进行位姿估计的算法,并将深度学习检测结果与其融合,对动态物体(此方案中所指主要为车辆)上的特征点进行剔除,得到更加准确的估计结果。
图6 ORB-SLAM3运行过程图(左:特征点提取位置 右:位置估计)
5. 无损卡尔曼滤波进行车辆位置估计
本步骤中主要建立了无损卡尔曼滤波运动模型,并且对原始的二维模型进行了扩展,将其转变为三维模型。
6. 结合多车信息进行协同定位
为了融合多个车辆的测距信息进行整体的位置优化,参考部分文献,对极大似然估计法进行近似与松弛,得到半正定规划模型。对比无损卡尔曼滤波的方法得到的结果,加入协同估计后的车辆绝对位置的误差大概又降低了一倍。
7. 图优化联合B-Spline进行数据平滑
图优化的思路为结合往期定位信息以及当前定位信息对结果进行进一步的优化,得到最终的位置估计,其具体思路如下图所示:
图7 图优化数据融合思路
其中SLAM估计量的使用为非线性(二范数距离),使用LM算法结合自动微分对其进行有效求解。
8. 算法整体流程
拟定出整体的算法流程,对上述各个方法之间如何结合使用做直观的说明:
图8 最终算法整体流程
三、下一步工作计划
(1)对目前存在的问题进行整改;
(2)对细节性的实验进行补充;
(3)主要为毕业论文的撰写工作,并结合指导老师的建议提炼创新点尝试发表论文。
问题一:算法的计算过程并不直观,如何将算法运行的结果以一种更加直观的方式展示出来?
回答:后期会考虑将实验过程制作为仿真平台,主要以UI程序进行体现,主要对实时运行过程中的误差、结果等指标进行分析处理与展示。
问题二:算法过程中检测车辆准确位置的方法为选择其中的单个点,此方法是否可以进行改进,比如测两个点并且估计车辆长度以得到更加准确的估计?
回答:算法开发过程中我也尝试过其他的方法,比如通过平面对车辆存在平面进行拟合,但是考虑到计算复杂度的问题,最终还是选择了选择单个点的方法,此方法确实存在一定的精度问题,后续会依照具体进度考虑更加准确的车辆位置估计方法。
本科毕业论文中期答辩是我大学生涯中的一次重要经历,通过这次答辩,我深刻体会到了自己的成长与不足,也收获了许多宝贵的经验和教训。
首先,我意识到充分准备的重要性。在答辩之前,我花费了大量的时间和精力对自己的研究内容进行深入学习和准备,确保对每一个部分都有充分的理解。这使得我在答辩过程中能够从容自信地回答评审老师提出的问题,并且清晰地表达了自己的观点和研究成果。
其次,沟通能力也是一项至关重要的技能。在答辩过程中,我与评审老师保持了良好的互动,虚心听取了他们的意见和建议,并且能够恰当地回应。这不仅展现了我的沟通能力,也增强了与他人交流合作的能力。
在答辩中,我还意识到了批判性思维的重要性。评审老师提出的问题往往是具有挑战性的,需要我们具备批判性思维,能够对问题进行深入的分析和思考。通过不断地思考和探讨,我得以更加全面地理解自己的研究内容,发现了其中的不足之处,并且得以不断完善和提升。
在答辩过程中,自信与冷静也是我所学到的重要品质。虽然答辩时紧张是不可避免的,但我学会了保持自信,同时保持冷静应对各种挑战和压力。这种自信和冷静不仅让我在答辩中表现出色,也让我在日后的学习和工作中更加从容应对各种困难和挑战。
最后,我认识到接受建议的重要性。评审老师提出的建议和意见是对我研究的宝贵反馈,我应该虚心接受,并且在后续的研究中加以改进。通过不断地改进和完善,我相信我的研究能力和学术水平会得到进一步提高。
总之,本科毕业论文中期答辩是一个提升自己研究能力和沟通能力的过程,通过这次答辩,我不仅学到了很多知识,也收获了许多宝贵的经验和教训。我会继续努力,为最终的毕业论文答辩做好准备,实现自己的学术目标。