方程式赛车自动驾驶系统设计
方程式赛车自动驾驶系统设计
摘要
本文主要介绍了方程式赛车的自动驾驶方案与算法。方程式赛车是测试车辆极限性能的良好平台,但存在伤害驾驶员的风险。我们提出一种自动驾驶方案以避免此类问题。所提出的方案集成了环境感知、路径规划和车辆控制三个模块。利用激光雷达、摄像头和GPS/INS组合导航作为传感器,提出了一种创新的数据融合方法。本文提出了一种新的路径规划方法,该方法通过德劳内三角剖分和基于拓扑图的路径搜索与评估来获取最优路径。最后,采用基于纯追踪算法的控制模型实现对车辆的精确控制。整个系统基于具有独特松耦合特性的ROS开发。通过仿真分析和多车测试验证,该方案具有高精度和良好的鲁棒性。所提出的解决方案具备良好的可移植性,经过适当修改后也可应用于无人驾驶乘用车、机器人和无人机等领域。
1. 引言
方程式赛车为测试车辆的极限性能和稳定性提供了平台,也是汽车工业发展的风向标。自动驾驶方程式赛车为自动驾驶技术的研究与测试提供了新的解决方案。在某些场景下,高速度和急转弯对自动驾驶系统的稳定性和精确性提出了挑战。因此,对自动驾驶方程式赛车的研究对于实现自动驾驶技术具有重要意义。
本文介绍了一种用于方程式赛车的自动驾驶方案,涵盖环境感知、路径规划和车辆控制。
方程式赛车的障碍物通常是不同颜色的锥桶。该方案通过对激光雷达点云数据进行欧几里得聚类处理来获取障碍物的位置。采用基于TensorFlow的残差网络ResNet对相机图像进行目标检测。基于卡尔曼滤波器的GPS组合导航系统用于获取车辆的位置和速度等信息。三种传感器的数据被融合到统一坐标系中,以确定车辆与外部环境之间的关系。利用Delaunay三角剖分算法将障碍物空间划分为规则三角形,并通过设定代价函数,依据由三角形各边生成的拓扑图评估路径,从而寻找最优路径。随后,采用基于纯追踪算法的控制方法,控制车辆的前轮转角和速度,实现自动驾驶。整个系统基于ROS开发,具有良好的松耦合特性,可根据需要灵活添加各类模块。
2. 环境感知与数据融合
2.1 雷达点云的欧几里得聚类
处理雷达点云数据的两种常用方法。神经网络的精度略高,但也会占用更多的计算资源。由于我们在点云处理后将使用摄像头对障碍物进行更详细的确认,因此占用较少计算资源的欧几里得聚类处理具有更大的优势。
欧几里得聚类的原理是计算点云数据中两点之间的距离,将距离小于设定阈值的点划分为一类,并迭代计算,直到类外所有点与类内点的距离均大于该阈值。基于KD树的最近邻查询算法是加速欧几里得聚类算法的重要预处理方法。算法流程如图1所示。
由于欧几里得聚类无法反映物体的几何特征,且在聚类过程中会受到地面点的干扰,从而增加摄像头识别的难度。因此,在进行欧几里得聚类之前,有必要通过随机采样算法去除地面点。
2.2 基于深度学习的目标识别
2.2.1 ResNet原理
随着神经网络的加深,网络的准确率不仅不会增加,反而会下降,如图2所示。由于存在退化问题,过深的网络输出结果甚至比浅层网络更差。残差网络能够解决这一问题。残差网络越深,在训练集上的效果越好。
残差是数理统计中实际观测值与估计值(拟合值)之间的差异。如果回归模型正确,我们可以将残差视为误差的观测值。例如,若要找到一个x使得f(x)=b,给定x的估计值x0,则残差为b‐f(x0),误差为x‐x0。
通过添加捷径连接,ResNet变得更容易优化。包含捷径连接的若干层网络称为残差块,如图3所示。
ResNet并不是首个使用捷径连接的模型。高速公路网络引入了门控捷径连接,这些参数化门控制通过捷径流动的信息量。ResNet可以被视为高速公路网络的一个特例,因此高速公路网络的解空间包含了ResNet,其性能应至少与ResNet相当。然而事实上,高速公路网络的性能并未优于ResNet,这表明保持这些梯度高速公路的顺畅流动比获得更大的解空间更为重要。基于这一思想,通过残差块的预激活变体,梯度可以在模型中通过快速连接无障碍地传递到前一层,如图4所示。
ResNet的优势在于易于构建,便于在不同场景下设计适用于各种视觉识别任务的网络,并且克服了网络层加深导致的退化问题。它显著提高了神经网络的识别精度,因此我们的无人驾驶方程式赛车选择ResNet作为视觉算法。
2.2.2 神经网络训练与检测
在不同的环境背景和天气条件下采集图像,并通过旋转、变换和扭曲图像来扩充训练数据。根据特征进行分类,完成数据集的制作。训练后得到ResNet的权重。神经网络读取该权重并对输入图像进行识别,判断障碍物颜色并确定其是否为锥形标志。我们对获得的网络结构和权重进行了验证,结果表明识别准确率达到96%,满足设计要求。
2.3 传感器数据融合
2.3.1 雷达与相机联合标定
关于雷达与摄像头的联合标定,主要分为两部分:内部参数确定和外部参数确定。外部参数标定需要使用相机内部参数。相机内部参数由投影矩阵和畸变参数给出。我们使用MATLAB相机标定工具箱来计算它们。
当一个物体在图像上成像时,现实世界中雷达坐标系下的物体首先经过旋转和平移,然后转换到相机三维坐标系,再通过摄像头的内部参数将物体投影到图像上。公式(1)是旋转矩阵和平移矩阵。
$$
\begin{bmatrix}
r_1 & r_2 & r_3 & x_t \
r_4 & r_5 & r_6 & y_t \
r_7 & r_8 & r_9 & z_t \
0 & 0 & 0 & 1
\end{bmatrix}
=
\begin{bmatrix}
R & T \
0 & 1
\end{bmatrix}
\quad (1)
$$
在引入畸变运动过程后,可以用公式(2)来描述。
$$
\begin{cases}
r^2 = u^2 + v^2 \
u’ = u(1 + k_1 r^2 + k_2 r^4) + [2p_1 uv + p_2(r^2 + 2u^2)] \
v’ = v(1 + k_1 r^2 + k_2 r^4) + [p_1(r^2 + 2v^2) + 2p_2 uv]
\end{cases}
\quad (2)
$$
根据点云投影到图像上的情况,通过观察点云在图像上与背景的重叠部分,并持续调整旋转和平移矩阵中的参数,可获得摄像头的外参。经过测试,外参满足精度要求。
2.3.2 雷达与GPS组合导航联合标定
由于两者安装位置的不同,传感器,式(1)中的平移和旋转矩阵用于将两者的信息统一到一个坐标系中。然而,由于两个传感器的朝向存在空间角度w,在行驶过程中,由于角度w的存在,障碍物的位置误差会随时间规律性地累积,如图6所示。我们提出了一种基于MATLAB的优化计算方法。在行驶过程中记录障碍物的位置信息,并基于最小二乘法建立误差评估函数。随后,将w代入评估函数并在一定角度范围内进行计算,当位置误差累积最小时,此时的w可被视为正确的空间角度。
3. 路径规划
3.1 德劳内三角剖分和路径评估
首先,我们使用三角剖分算法来对障碍物空间进行离散化。然后,通过离散化特征扩展可能路径的树。最后,所有路径和轨迹边界通过代价函数进行评估和计算,并选择代价最低的路径。由于传感器的感知范围有限,我们每次仅规划一定长度的路径,并根据新的障碍物观测结果以及传感器数据融合频率来更新路径。为了防止浪费计算资源,在寻找路径时会剪除明显不符合要求的路径。规划结果如图6所示。
3.2 Bower-Watson算法
首先,构建一个超大三角形包括所有离散点,并将其放入三角形单链表中。然后,依次插入点集中的离散点,在三角形单链表中找到外接圆包含插入点的三角形,称为该点的影响三角形。删除影响三角形的公共边,将插入点与影响三角形的所有顶点相连,从而完成在德劳内三角形单链表中插入一个点的操作。根据优化准则,对新形成的三角形进行优化,并将生成的三角形放入德劳内三角形列表中。重复上述过程,直到所有离散点都被插入。这是德劳内三角剖分中最简单且应用最广泛的算法。
3.3 代价函数设计
为了引导算法找到最优路径,我们设计了多个代价项,并添加了车辆运动学和赛道规则等约束。这五个代价项被归一化、平方、加权后相加以得到路径代价。然后我们获得路径及其对应的轨迹边界估计。基于该代价函数的路径估计算法已在各种赛道布局条件下进行了广泛测试。测试结果表明,只有当车辆严重偏离真实赛道时,才会出现4.3%的预测误差。结果明显体现了该算法的鲁棒性。
4. 基于纯追踪算法的控制模型
纯追踪算法是一种基于几何原理的计算方法,可用于计算车辆从当前位置运动到目标点所行驶的弧线轨迹。其原理如图7所示。
$$
\delta = \arctan\left(\frac{2L \sin \alpha}{L_d}\right)
\quad (3)
$$
经过计算,纯追踪模型的前轮转角如公式(3)所示。该式表明,当车辆偏离规划路径一定距离时,纯追踪方法通过当前横向偏差、当前航向角和前瞻距离来确定下一时刻的期望转向角。由纯追踪模型的推导可知,前瞻距离 $ L_d $ 与车辆速度 $ v $、控制周期 $ T $、航向误差和位置误差相关,其中车身速度 $ v $ 和控制周期 $ T $ 的影响最大。
5. 结论
本文中,我们详细阐述了自动驾驶方程式赛车的设计方案,为无人驾驶的研究与测试提供了一种新方法。在环境感知部分,我们采用雷达、摄像头和全球定位系统组合导航进行数据融合;在路径规划部分,我们获取了一条通过德劳内三角剖分和路径评估生成的合理路径;在控制部分,我们采用基于纯追踪算法的控制模型对车辆进行精确控制。仿真分析和多车测试已验证了该方案的可行性。基于当前成果,后续我们将专注于更精确的传感器数据匹配,降低感知系统的延迟,并确定纯追踪模型中前瞻距离与车速之间更准确的关系。
更多推荐
所有评论(0)