自动驾驶 6-3 几何横向控制 - Stanley Geometric Lateral Control - Stanley

Posted 架构师易筋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动驾驶 6-3 几何横向控制 - Stanley Geometric Lateral Control - Stanley相关的知识,希望对你有一定的参考价值。












在上节课中, 我们推导出纯追踪控制器, 一种几何路径跟踪控制器,定义为 基于前瞻参考点的转向输入。 在本课中, 我们将介绍 第二个几何路径跟踪控制器:Stanley控制器。 此控制器被 斯坦福赛车队用来赢得第二次Darpa Grand Challenge赛事。 具体来说,在本视频中, 您将推导出Stanley几何控制器, 分析其转向命令对于小误差下和大误差下的演变, 并评估控制性能 以从任意启动条件收敛到所需路径的形式 让我们开始吧。

Stanley控制器是 一种几何路径跟踪控制器,它简单 但对机器人和自动驾驶车很有用。 这种方法最初是由加布·霍夫曼开发的 他是我在斯坦福的实验室同事, 作为他对获胜团队的贡献, 并以车辆Stanley的名字命名。 创建Stanley控制器的主要概念是 参考位置的改变可能导致控件的不同, 可能会有更理想的属性。 霍夫曼博士正在寻求一种控制律,其全局收敛 路径和可预测的误差衰减与车速无关。 因此,有一天,灵感来了, 霍夫曼博士将用于控制器的车辆参考点切换到前轴的中心, 而不是CG或 后轴,以了解这个新控制器的行为方式。 他添加的下一个修改是在考虑 在没有前瞻距离的情况下,航向对齐和交叉航迹误差, 而是直接在参考点。 最后,Stanley控制器将其输出 限制在最大转向角的范围内。 在所有这三个考虑因素中形成了最终控制法的基础。

让我们定义Stanley控制器的每个术语。 在此图表中,你可以看到 通过Stanley假设,对相关术语进行了轻微修改。 交叉轨道误差定位为相对于前轴, 路径的参考点并没有和前瞻距离相关联。 让我们对Stanley控制器的三个组件中的每一个定义更加具体。 首先,为了消除相对于路径的航向误差, 将转向角直接设置为等于航向。 然后,为了消除交叉跟踪误差, 增加了比例控制, 其增益通过前向速度的倒数进行缩放。 然后控制器通过反tan函数, 该函数将比例控制信号映射到-π到π的角度范围。 最后,转向角指令保持在 最小和最大转向角度 δmin 和δ max之间, 它们通常对称于0。

与纯追踪控制器的相似性并不令人惊讶, 因为两者都试图执行相同的操作,通过相同的运动模型。 Stanley控制增加其增益,通过 前向速度,这种方式与纯跟踪控制相同, 并且还具有与比例控制信号相同的反正切。 然而,对航向和交叉跟踪误差的独立惩罚以及 消除前瞻距离上 和纯跟踪控制方法不同。 最终控制律简单地 将这三个元素组合起来,以如下方式设定汽车的转向角。 现在让我们来看看不同误差信号所需的转向角。 对于航向误差,转向命令指向 与航向误差相反的方向, 以用来纠正车辆转向与路径的错位。 对于大航向误差,例如, 如果航向误差超过最大转向角, 则控制器的这一部分请求 最大转向命令,直到对齐回落到可用范围内。 对于大的正交叉航迹误差, ke/vf 变大,反正切值接近π/2. 因此我们可以将Stanley控制律近似为航向误差加上π/2. 这个大值将钳位转向命令到 最大值,使得车辆向路径进行转向。 这个术语的作用是增加相反方向的航向误差, 并且,转向命令将会下降到 零,一旦航向误差达到-π/2。 然后车辆直接前进到路径,直到交叉航迹误差减小。 此时,航向项开始 再次校正与路径的对齐,最终, 车辆开始更紧密地跟踪路径。

但是这个控制如何实际收敛到路径? 事实证明,可以使用 我们的表达式,定义叉轨道空气动力学, 在本模块的第一个视频中,以了解 Stanley控制器的收敛特性。 回想一下,前轴参考点的交叉轨道误差的变化率 等于-1*前进速度 乘以航向的正弦减去转向角。 如果我们无限制地替换Stanley控制律, 我们在这个等式中得到最终表达式。 使用三角恒等式简化tan的逆的符号, 我们可以发现交叉轨道误差的变化率等于 -1乘以增益k乘以交叉轨道误差 除以(1+ke/vf的平方)的平方根 对于小的交叉跟踪误差, 我们可以简化表达式的分母 通过假设二次项可忽略不计。 这可以得到 交叉轨道误差演变遵循一阶微分方程, 并且该ODE的解是指数的。 由于k是正的, 我们看到误差以指数方式衰减到0。 这项研究中最有趣的方面是 衰减率与速度完全无关。 因此,更快的车辆会在收敛到路径的同时更远地行驶, 但会在行驶速度较慢的车辆的同时收敛到路径。

现在让我们深入探讨Stanley控制器的误差动态仿真示例, 以观察其收敛特性。 在这个例子中,让我们看看两个极端情况, 大的初始交叉轨道错误和大的初始航向误差。 第一个 对于较大的初始交叉航迹误差, 假设初始交叉航迹误差为5米, 并且最大允许转向角为 25度,前进速度为每秒5米。 为简单起见,我们将车轮底座长度设置为1米, 增益k将设置为2.5。 是根据所选模拟参数 和一些试错测试选择的。 模拟显示了Stanley控制器如何校正 大的交叉轨道误差并收敛到所需的路径。 较大的初始误差导致 大的转向命令,车辆快速转向路径。 然后,航向误差和交叉航迹误差项达到平衡, 并且车辆沿着直线朝向路径继续。 随着交叉轨道误差减小, 路径的指数衰减变得可见。 最后,车辆在模拟的最后阶段安全地跟踪路径。

我们也可以在不同的前进速度下运行相同的模拟。 所以,让我们尝试 2m/s、5m/s和10m/s。 结果显示了Stanley控制器的主要特征。 在所有情况下,转向路径, 直线进展然后指数衰减到路径是可见的。 速度越高, 汽车在到达路径之前行进的距离越远。 但是,最终的收敛 在小的交叉跟踪误差是在相同的时间中,就每种情况而言。

在第二种情况下, 可以在较大的初始航向误差情况下为场景重新生成模拟。 参数与前一种情况相同,但车辆 开始时路径指向错误的方向。 仿真结果表明航向误差由Stanley控制律修正。 首先,当校正航向误差时,转向命令与其极限相反。 然后,当交叉轨道误差开始增大时, 转向命令继续校正 汽车的航向超出与路径的对齐。 最后,汽车像以前一样进入指数收敛段。 这些仿真结果使我们很好地了解 Stanley控制器纠正任意大错误的能力。

实际上,它具有全局稳定性证明, 这意味着无论初始条件如何, 控制器都会引导汽车返回其路径。 然而,在实践中,斯坦利控制器 仍然是几何路径跟踪控制器, 因此不考虑真正的自动驾驶汽车的许多不同方面。 例如,它不考虑噪声测量, 执行器动力学或轮胎力效应, 所有这些都会在操纵期间引起不期望的行驶特性。 但是,可以 几何路径跟踪控制器进行一些调整, 以帮助减轻这些最不希望的影响。 在低速运行期间,纯追踪和斯坦利控制器会 在遇到噪声速度估计时会表现得非常积极。 由于速度项在反正切内的分数的分母中, 因此低速估计中的误差倾向于在转向命令中被放大。 这导致方向盘的剧烈摆动, 这对于驾驶员的舒适性来说是不希望的。 因此,为了摆脱这个问题并在低速下提高解决方案的稳定性, 我们添加了一个正的软化常数, 以确保分母始终具有最小值。 该软化常数可根据现场情况调整。 在更高的速度下,我们遇到的问题是转向指令需要 缓慢变化以确保侧向力不会过大。 即使有这种速度缩放, Stanley在高速时反应也过于激进, 因此也增加了航向率的阻尼项。 这实质上将航向误差控制部分转换为PD控制器, 并且同样的想法也可以应用于曲率的纯追踪控制。 最后,对于具有高曲率的弯曲路径, 控制器无法很好地跟踪它们,因为 在几何控制器的推导中没有考虑参考动力学。

我们在纵向控制中看到,增强 性能和使得误差更快速收敛到0, 可以通过向控制器添加前馈项。 在这种情况下, 只需包括转向角度就足够了 用来保持所需路径的曲率所需的。 通过这些修改, Stanley控制器成为一个有用的工具 对于适度驾驶任务, 只要车辆避免离开线性轮胎区域。 我们将更多地研究定义安全的跟踪路径, 在这个专业的第四个课程中。 在本课中, 您学习了如何应用 Stanley控制器为几何路径跟踪控制器, Stanley控制器的收敛属性以及 如何添加进一步增强功能以提高控制器的实际性能。

在下一视频中, 我们将介绍模型预测控制方法和 基于模型的高级控制方法,可以克服 几何控制器的许多局限性。下节课见。

第 3 课补充阅读:几何横向控制 - Stanley

补充阅读:几何横向控制 - Stanley
要了解有关 Stanley Control 的更多信息,请查看下面列出的 PDF:

Snider, JM,“自动驾驶汽车路径跟踪的自动转向方法”,机器人研究所,卡内基梅隆大学,匹兹堡(2009 年 2 月)。https://www.ri.cmu.edu/pub_files/2009/2/Automatic_Steering_Methods_for_Autonomous_Automobile_Path_Tracking.pdf

Automatic_Steering_Methods_for_Autonomous_Automobile_Path_Tracking.pdf

Hoffmann, G. 等人,“用于越野驾驶的自主汽车轨迹跟踪:控制器设计、实验验证和赛车”,斯坦福大学,(2007 年)。http://ai.stanford.edu/~gabeh/papers/hoffmann_stanley_control07.pdf

用于越野驾驶的自主汽车轨迹跟踪 - 控制器设计、实验验证和赛车.pdf

参考

https://www.coursera.org/learn/intro-self-driving-cars/lecture/bJoWh/lesson-3-geometric-lateral-control-stanley

以上是关于自动驾驶 6-3 几何横向控制 - Stanley Geometric Lateral Control - Stanley的主要内容,如果未能解决你的问题,请参考以下文章

自动驾驶控制算法之车辆横向控制(project)

园区自动驾驶实车平台决策规划控制系统——基于纯追踪算法的横向控制(C++实现)

自动驾驶 6-1: 横向车辆控制介绍 Lesson 1: Introduction to Lateral Vehicle Control

l4级别自动驾驶是啥意思?

自动驾驶车辆控制 最终项目作业 实现分析

自动驾驶 6-4 高级转向控制 - MPC Advanced Steering Control - MPC