2021 年第十一届 MathorCup 高校数学建模挑战赛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 中绿色部分)时,认为调头完成。请阐述控制点位置,解释其理由;基于此建立无人车调头的数学模型,并给出一个合理可行的算法设计,给出调头轨迹。
图 1: 无人车调头场景 1
问题 2:当掉头区域狭窄时,判断什么样的场景下无人车能够在不倒车的情况下完成调头,什么情况需要至少一次倒车(如图 2 场景 2,蓝色箭头表示向前,红色箭头表示倒车)才能通过。建立相应的无人车调头的数学模型,给出合理的算法设计,并给出仿真结果。
图 2: 无人车调头场景 2
问题 3:如图 3 场景,如果道路上还存在其它静止障碍物(附件数据文件中以 F 和 G 表示),当仅存在 F、仅存在 G、或二者都存在时,建立相应的无人车调头的数学模型,给出合理的算法设计,并给出调头轨迹,你的算法应明确如何进行避障?
图 3: 无人车调头场景 3
问题 4:按交规规定,如果道路上存在人行横道即斑马线,其所占区域在附件数据文件中以 E 表示,则无人车需要尽可能在不压人行横道的情 况下过,如果无法做到,则需要越过(后轮越过)人行横道后再开始调头,禁止骑人行横道调头(如图 4 场景 4 所示)。其中标识“√”的为可行通行方式,标“×”为骑人行道调头方式。建立相应的无人车调头的数 学模型,给出合理的算法设计和相应的调头轨迹;当斑马线和障碍物同时 存在时(如图 5 场景 5 所示),你的模型和算法如何同时满足交规并进行避 障绕行?
图 4: 无人车调头场景 4
图 5: 无人车调头场景 5
问题 5:无人车在实际路况行驶中进行调头时,道路中的障碍物通常是处于移动状态,如对向来车等,针对图 3 和图 5 的两种场景,假设图中 标识的障碍物位置为无人车处在起始时刻的初始位置,障碍物以一定的速度移动,假设只考虑与道路平行方向移动,请建立更一般的无人车调头轨迹规划模型并给出相应算法设计和无人车调头策略,给出仿真结果。
问题 6:为保证无人驾驶的安全性,无人车的轨迹规划算法必须拥有尽可能高的求解成功率(应倾向使用更收敛更稳定,失败率更低的计算方 法)同时为了能对路况进行快速反应,需要以尽可能高的频率进行计算(计算复杂度尽量低)。你的算法如何在求解成功率和求解耗时这两方面优化?
问题分析
前言
数学建模主要是让大家构建自己的模型,只要能解决问题的模型就是好模型,无标准答案。我个人的分析过程大致如下文,仅个人观点不一定是正确的,不说太多怕限制了大家的思维哈哈哈
综述
此题主要研究多种环境下自动驾驶车辆的调头策略与轨迹规划问题,首先通过建立多重相关模型得到影响无人车运行轨迹的主要影响因素,接着在多条件下进行细节分析与规划,从而解决个环境下的无人车调头轨迹规划问题。
问题一分析
由于控制点处的速度方向与轨迹点的方向角一致且位于车身对称轴处,而无人车前轮为转向轮,因此控制点的位置即可找到。无人车运动轨迹为连续的曲线且切线方向连续,同时无人车的运动过程总体而言为为变加速运动,因此可以用积分模型进行定义。加之对个坐标方向位移的分解与各点的受力分析,即可求解得到各方向位移与无人车速度、方向角等因素的关系,最终得出轨迹的设计算法模型。
问题二分析
当存在障碍时,基于问题一的模型,我们只需求解无人车轨迹中我们使无人车在视野没过障碍物时方向盘转角为最大值且车身朝向直线行驶方向。在该情况下方能使得调头的横向距离最小。在该过程中无人车首先行驶至满足对应的条件,随后无人车以最大转速转向,持续半个圆周后开始回旋方向盘是的无人车保持直线行驶,此时圆周的直径加上车身宽度即为一次通过的车道最小宽度,从而得出是否需要调头的条件。
问题三分析
存在多个静止障碍物时,作为无人驾驶汽车需要实时从周边环境中获取障碍物信息。对于障碍物G,其位置位于障碍物D的对应方向,在越过D后我们需要判断控制点与障碍物的水平距离与距离障碍物末端的直线距离。对于障碍物F,需要对调头后的无人车位置与相关因素进行分析。当F与G同时存在时则需要在越过G后同时考虑车身与两个障碍物间的距离,再根据距离进行实时调节即可保证安全高效地调头通过该路口。
问题四分析
当道路中存在人行横道时,可通过增加约束条件来判断该进行提前调头或是延后调头并按照一定标准进行判断从而得出能否率先通过。当道路中同时存在人行横道与障碍物时同样的方法加入障碍物信息进行判断是否能够先行。若无法先行在通过人选道后需要再次以绕障模型轨迹进行运动以绕过障碍物。
问题五分析
当存在多个移动障碍物时,我们基于相对运动原理进行分析计算从而解决运动问题。因此我们需要对障碍物分类为障碍物i(i=1,2,…),运用相对运动原理时构建的惯性系分类为惯性系i(i=1,2,…)。为了描述方便我们记预设轨迹路线为无人车在此处直接转弯而形成的轨迹路线。
问题六分析
我们的算法将一般的单自变量模型转为多自变量模型在处理数据时可以同时处理进而缩短数据处理时间,极大提高了求解频率。通过积分求解出的轨迹路线必定连续,且切线方向连续,大大提高了算法的稳定性、求解成功率与数据的可溯源性,便于轨迹的检验。同时在对于一些参数值的优化,在我们的模型中可以使用蚁群算法或是粒子群算法进行优化。从而得到成功率与求解耗时兼顾的参数取值,得到更加准确且高效的模型结果。