自动驾驶汽车的最终控制模块分析

电子说

1.2w人已加入

描述

本文介绍的控制模块,则负责汽车的最终控制,通过控制汽车的方向盘转角和加速度来真正的驾驶车辆。

自动驾驶汽车先使用感知模块了解其环境,并通过定位模块了解其在环境中的位置,然后使用规划模块进行决策并生成轨迹。

航路点

控制过程包括遵循尽可能忠实生成的轨迹。路径是一系列航路点,每个航路点包含位置(x, y),角度(偏航角)和速度(v)。

控制器也称为控制算法。控制器的目的是为车辆生成指令,例如方向盘角度或加速度水平,同时考虑实际约束(道路,风,车轮滑移等),从而产生实际行驶轨迹。

机器人和车辆中存在大量的控制器。它们的复杂程度,取决于我们想要解决的问题。

PID - (比例-积分-微分控制器)

控制器有很多种类,最简单的是比例-积分-微分控制器(或PID)。

PID控制器是根据偏差估计计算值(例如方向盘角度)的算法。偏差是指计划的行车轨迹与实际的轨迹之间的差异。

在PID控制器中有三个元素:

P:比例单元—对方向盘应用与误差成比例的校正。如果我们离目标太远,我们会转向另一个方向。

单个P控制器的缺点是它会引起恒定的振荡。根据计算偏差的频率,振荡某种程度上也是必要的。系数Kp表征所需的振荡程度。

D:微分单元—目的是通过在公式中加入阻尼项来抑制振荡效应,表征偏差的变化。PD控制器评估误差的减小情况,并逐渐缩小其接近平滑路径所采用的角度。

I:积分单元 — 最后一项用于纠正机械误差,通过I参数来减小积累误差,从而保证车辆按要求的轨迹行驶。旋转PID曲线对应于使用算法来更快地找到系数,并因此更快地朝向参考轨迹收敛。

因此,我们需要综合应用三个参数,以确保车辆实时有效地跟踪轨迹。我们必须找到不同的Kp,Ki,Kd系数,以优化驾驶路径。

PID控制器是世界上最简单和最常见的控制器。它具有快速实施和在操作简单的优点。对于单个汽车,PID控制器可用于计算角度,另一个用于计算加速度。

但横向和纵向控制很难结合,而且不可能对车辆的物理进行建模。当我们开车时,我们会根据车辆的大小,质量和动力自然地调整机动,PID控制器无法做到这一点。

MPC - 模型预测控制

预测控制,包括工业控制、自适应控制及内模控制等多方面研究成果,统称为模型预测控制(MPC,Model Predictive Control),或基于模型的控制(Model-based Control)。

模型预测控制是一种基于模型的闭环优化控制策略,表述为内部(预测)模型、滚动优化、反馈控制。 

预测控制最大的吸引力在于它具有显式处理约束的能力, 这种能力来自其基于模型对系统未来动态行为的预测, 通过把约束加到未来的输入、输出或状态变量上, 可以把约束显式表示在一个在线求解的二次规划或非线性规划问题中。

模型预测控制具有控制效果好、鲁棒性强等优点,可有效地克服过程的不确定性、非线性和并联性,并能方便的处理过程被控变量和操纵变量中的各种约束。

经典MPC的控制流程如下图所示:

MPC

图中,ysp表示系统的设定输出,yr表示参考轨迹,u为输入,y为实际输出值,ym为模型输出,yc为预测输出。

在自动驾驶中应用MPC,首先需要定义执行器,以表征移动车辆的元素。汽车有三个执行器:方向盘,加速踏板和制动踏板。MPC的目的是通过改变上这些致动器发挥方向盘的角度,则在加速器踏板压力或制动踏板。

制约因素和外力

我们在一个叫做非完整的环境中进化。这意味着,例如,车轮在物理上不能达到90°,它们通常只是在-30°和30°之间。考虑到这一点,可以获得更真实的参考轨迹以逼近真实轨迹。我们还可以将加速度定义为-1(制动)和1(最大加速度)之间的值。

我们还有两种可应用的模型:运动学和动态学。

运动学模型意味着我们的车辆按照数学公式的描述进行驾驶,形成车辆的运动和轨迹。

动态模型考虑了动力学的基本原理,并以此决定对车辆施加的力。这些力可以是空气阻力,车辆重量,重力,车轮在地面上的摩擦力等。比如,离心力可以使车辆在转弯时离开其轨迹,而运动模型则无法表征这个因素。

优 化

MPC控制器可以解决优化问题。其方法是计算几个不同的“转角-加速度”参数对,并选择误差最低的一对。

算法如下:首先,我们通过里程计、位置等参数, 计算当前状态。

然后,分三部分完成解算器:

约束非完整世界(non-holonomic world)参数;

运动学或动力学模型执行t+1状态;

计算t+1状态的代价函数(Cost),也就是行车轨迹的代价函数。

因此,我们可以测试几种角度和加速度组合(δ,a)。每种组合都与代价函数相关联,然后算法选择代价最低的参数对。

一旦执行了第一个动作,我们将重新计算未来状态并预测新角度。

MPC控制器虽然非常强大,但很难实现。但开发这种调节器所花费的时间是值得的。MPC控制器可以允许车辆在保持安全的同时达到更快的速度,使自动驾驶更有乐趣。

结  语

对于我们想要自主的机器人和无人机,控制阶段是强制性的。然而,这一步必须依赖于前期完美开发的所有模块(感知、定和规划)。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分