2021年MathorCupA题思路附MATLAB代码

A 题 自动驾驶中的车辆调头问题
自动驾驶是近年人工智能应用的热门研究领域之一,其中调头是自动驾驶中一个非常实际又很有趣的场景。假设无人车为四轮乘用车,采用前轮转向后轮驱动;车身可认为是一个矩形,车长 5 米,车宽 2 米,轴距 2.8米;方向盘最大转角 470°,方向盘与前轮转角的传动比为 16:1(方向盘每转动 16°,前轮转动 1°),方向盘最大转速为 400°/s;最大油门加速度 3m/s2,极限刹车加速度-5m/s2。

(1)任何点的加速度不得高于最大油门加速度,不得低于极限刹车减速度;
(2)无人车朝向和方向盘转角都不能突变,轨迹线必须是连续、且切线方向连续,当无人车不是静止时,曲率也必须连续(静止时可以原地打方向,非静止时不能);
(3)轨迹线的最大曲率应尽量不高于 0.205,禁止高于 0.21;
(4)按轨迹行驶时,在调头完成之前,无人车车身任何点不得与任何障碍物或者掉头区域边界发生碰撞,且与障碍物至少保留一个最小安全距离,一般不小于 30cm。

无人车调头轨迹在保证上述条件之外也应具备尽可能舒适的驾乘体感,以及具备尽可能高的通行效率,同时出于规范驾驶的考虑,尽量减少不必要的压车道线行驶。

请参赛者按照下面问题中简化版的无人车调头场景和附件数据,建立无人车安全快速调头的数学模型,设计无人车调头轨迹的计算方法,在输入外部道路和障碍物信息后,计算出合理可行的无人车轨迹。同时,由于附近障碍物可能由于视野问题被遮挡,导致调头中周围环境信息发生变化,轨迹应当是可以实时更新的。附件数据文件中的边界线均表示为折线点列,按坐标点从上到下的顺序连接形成;所有障碍物均以多边形表示,其中的点均按逆时针顺序排列,路况简图见数据文件。请你们的参赛队完成以下问题:

问题 1:如图 1 所示场景,无人车(用橙色矩形表示)正在最左侧车道准备调头,存在三个对向车道。附件数据文件中,掉头区域边界以红色边框 A 表示,两条对向车道线以 B、C 表示(均为路面上的虚线),中间的隔离障碍物以 D 表示。无人车起始位置已经在附件数据文件中给出,当无人车身触碰到对向的掉头区域边界(图 1 中绿色部分)时,认为调头完成。
请阐述控制点位置,解释其理由;基于此建立无人车调头的数学模型,并给出一个合理可行的算法设计,给出调头轨迹。

问题 2:当掉头区域狭窄时,判断什么样的场景下无人车能够在不倒车的情况下完成调头,什么情况需要至少一次倒车(如图 2 场景 2,蓝色箭头表示向前,红色箭头表示倒车)才能通过。建立相应的无人车调头的数学模型,给出合理的算法设计,并给出仿真结果。

问题 3:如图 3 场景,如果道路上还存在其它静止障碍物(附件数据文件中以 F 和 G 表示),当仅存在 F、仅存在 G、或二者都存在时,建立相应的无人车调头的数学模型,给出合理的算法设计,并给出调头轨迹,你的算法应明确如何进行避障?

问题 4:按交规规定,如果道路上存在人行横道即斑马线,其所占区域在附件数据文件中以 E 表示,则无人车需要尽可能在不压人行横道的情况下通过,如果无法做到,则需要越过(后轮越过)人行横道后再开始调头,禁止骑人行横道调头(如图 4 场景 4 所示)。其中标识“√”的为可行通行方式,标识“×”为骑人行道调头方式。建立相应的无人车调头的数学模型,给出合理的算法设计和相应的调头轨迹;当斑马线和障碍物同时存在时(如图 5 场景 5 所示),你的模型和算法如何同时满足交规并进行避障绕行?

问题 5:无人车在实际路况行驶中进行调头时,道路中的障碍物通常是处于移动状态,如对向来车等,针对图 3 和图 5 的两种场景,假设图中标识的障碍物位置为无人车处在起始时刻的初始位置,障碍物以一定的速度移动,假设只考虑与道路平行方向移动,请建立更一般的无人车调头轨迹规划模型并给出相应算法设计和无人车调头策略,给出仿真结果。

问题 6:为保证无人驾驶的安全性,无人车的轨迹规划算法必须拥有尽可能高的求解成功率(应倾向使用更收敛更稳定,失败率更低的计算方法)同时为了能对路况进行快速反应,需要以尽可能高的频率进行计算(计算复杂度尽量低)。你的算法如何在求解成功率和求解耗时这两方面优化?

思路

A题一个偏物理计算的模拟自动驾驶汽车掉头问题,关键是找临界解

代码(更新)

在这里贴可能会被和谐,需要的伙伴们在评论区说一下,我私戳你们给你们发过去;或者直接私戳我领取

更新:大家都在评论区说,私聊我的人太多了,系统有限制

再次更新:系统限制每小时只能和几个人私聊,大家点赞+关注的优先发放代码

你可能感兴趣的:(数学建模,算法,数学建模)