概述
基于车辆模型的横向控制方法
1. 简介
1. 简介
在这里介绍和补充的是 反馈控制部分
path-following-control
1.2. 横向控制和纵向控制
1,横向控制,主要用于车辆方向盘的控制
两者协同工作以 使无人车按照预定的参考轨迹行驶
其中,横向控制根据上层运动规划输出的 路径、曲率 等信息进行跟踪控制,以减少跟踪误差
稳定性 和 舒适性
1.3. 横向控制
无模型 的横向控制方法
1.3.1. 无模型横向控制
增量式PID控制的理解和应用
但该算法由于没有考虑车辆本身的特性
1.3.2. 基于模型横向控制
1,基于车辆 运动学模型 的横向控制方法
动力学模型 的横向控制方法
因此,将主要介绍包括:
1,基于车辆运动学模型的纯跟踪控制(Pure Pursuit)算法
3,前轮反馈控制(Front wheel feedback)算法
2. 基于车辆运动学模型的控制方法
首先了解一下常见的车辆运动学模型:
其假设车辆的前后轮均为刚体,只能沿着车轮滚动的方向前进,无侧向滑动
由上述假设可得自行车模型的运动微分方程如下式:
角速度和角速度的关系:v=ωr,即 ω=v/r,因此这里 其他的比较简单,就不加以说明
2.2. 纯跟踪控制算法
鲁棒性 较好
该算法的思想:
后轮中心 位置,在参考路径上向(自定义)的距离匹配一个预瞄点
确定前轮转角
弧的弧度为2????是因为这个三角形是等腰三角形,边长为????,而其中一个角为 π/2-????
如图所示,弧线为经过车辆后轮中心以及预瞄点的圆弧
作一条辅助线d,垂直于????,则:
根据图中的几何关系,????, ????, 与的关系为:
根据图中的几何关系,????, ????, 与的关系为:
2.3. 后轮反馈控制算法
后轮中心 的 路径跟踪偏差量 来进行转向控制量计算的方法
根据运动学方程(2-1)及车辆后轮与参考路径的几何关系
Ferent 坐标系下 (????, ????, ψ????) 的变化率为:
Frenet坐标系使用道路的中心线作为参考线,使用参考线的 切线向量 和 法线向量 建立坐标系
纵向距离 和 横向距离 来描述任意位置
对于二次连续可导的参考线,需要设计车身横摆角速度????保证在李亚普洛夫方程下局部渐进收敛:
李亚普洛夫稳定性理论是从能量的观点出发的
渐进稳定指对于时变系统,????在条件(1)下独立于时间t1
对于后轮反馈式算法,为了保证车辆的李亚普洛夫稳定性,车身横摆角速度????可表示为式(2-10)
其中, ????ψ 为横摆角偏差反馈控制增益, ????e 为横向位置偏差反馈控制增益
因此,根据运动学方程(2-1),可得到前轮转角????为:
2.4. 前轮反馈控制算法
Stanley 控制
前轮中心 的 路径跟踪偏差量 对方向盘转向控制量进行计算
前轮中心横向位置跟踪偏差???? 的变化率为:
式(2-12)中可以看出前轮横向位置偏差的变化率 可以直接通过 前轮转角???? 进行控制
当定义 后,可以保证前轮横向位置偏差???? 满足 李亚普洛夫的指数化收敛,即:
李亚普洛夫指数:在相空间中相互靠近的两条轨线随着时间的推移,按指数分离或聚合的平均变化速率
关于 函数:
那么对于式(2-13)来说,当 ∣∣>1 时,函数无解
对于有限域内的指数收敛可以放宽到局部指数收敛,从而将前轮转角???? 定义为:
Stanley 前轮反馈控制算法 在变曲率路径且路径连续可导 的条件下,可以满足局部指数收敛特性
但也可以看出该算法不适用于倒车的场景,导致对于自动泊车等工况不适用???(因为路径曲率不连续???)
3. 基于车辆动力学模型的横向控制
车速过快 或者 曲率变化率过大 的情况下该算法无法满足车辆的 稳定性 控制要求
这里介绍一种典型的基于车辆动力学模型的横向控制方法,包括
车辆线性二自由度动力学模型的构建
3.1. 车辆线性二自由度动力学模型
在横向控制中,主要关心的是车辆横向运动特性
1,横向运动
这里介绍基于 转向小角度 及 轮胎动力学 线性化假设下的车辆线性二自由度动力学模型
假设道路平整(不考虑道路横向的倾斜),且转向角度较小时
1,车辆沿车身????轴横向运动产生的加速度
将(3-2)代入(3-1)可得:
然后,车辆绕????轴的转矩平衡方程为:
接下来对横向轮胎力,进行计算
前轮侧偏角为:
是后轮胎速度方向与车身纵轴的夹角
因此,前轮(2个)横向轮胎力为:
是前轮侧偏刚度(cornering stiffness)
同样,后轮(2个)横向轮胎力为:
是后轮侧偏刚度
计算 与:
将(3-5),(3-6),(3-7),(3-8),(3-11),(3-12)代入(3-3)和(3-4)可得线性二自由度模型的状态方程:
3.2. 车辆路径跟踪偏差状态方程的构建
但是横向跟踪控制的目的是为了减小跟踪偏差
1,横向位置偏差及横向位置偏差变化率
下面介绍具体的转换过程
期望的横向加速度为:
则横向加速度偏差为:
因此横向位置偏差变化率 (横向速度偏差)为:
此外,横摆角偏差 ????2 为:
将式(3-16),(3-17),(3-18)代入(3-3),(3-4)化简后可以得到新的状态方程:
进一步忽略项之后:
上式(3-20)就是横向控制所需的路径跟踪偏差状态方程
3.3. LQR 横向控制算法的求解
就可以分析在前轮转角控制输入????作用下,车辆路径跟踪偏差????的响应特性
期望的响应特性就是 跟踪偏差能够快速、稳定地趋近于零,并保持平衡
同时前轮转角控制输入又尽可能小,这就是一个典型的多目标优化最优控制问题
且优化的目标函数可以表示为跟踪过程累计的跟踪偏差与累计的控制输入的加权和
其中, ????为半正定的状态加权矩阵, ????为正定的控制加权矩阵
且 ????, ????通常取为对角阵
若只是 x 和 δ 做为代价,那么存在x 的正误差被δ 的负误差消除
????矩阵元素变大意味着希望跟踪偏差能够快速趋近于零
设M是n阶方阵,如果对任何非零向量z,都有zTMz> 0,其中zT 表示z的转置,就称M为正定矩阵
则式(3-21)目标函数中
这样就将横向控制问题转化为一个最优控制问题:
而式(3-21)是一个关于状态变量????和控制输入????的二次型目标函数
根据 LQR 最优控制理论,对式(3-21)目标函数的优化求解
其中,????d 和 Bd 代表状态方程(3-20)离散化后的????, B1 矩阵, ????是式(3-23)黎卡提方程的解:
因此,根据式(3-22)可以设计一个状态反馈调节器,通过状态反馈实现闭环最优控制,如图所示
根据求解的状态反馈调节器增益????,则可以得到最优的状态反馈前轮转角δfb :
由于在 LQR 状态反馈控制求解过程中没有考虑路径本身的动态变化特性
会存在稳态误差
稳态误差是系统从一个稳态过渡到新的稳态,或系统受扰动作用又重新平衡后,系统出现的偏差
为了消除该稳态误差, 还需要加上一个前馈控制输入量δff
前馈控制考虑了路径的曲率及车辆的转向不足特性
其中, 为不足转向梯度,表征了车辆的转向特性
因此,总的 LQR 前轮转角输入为:
前馈控制选用原则
前馈控制系统中测量干扰量,反馈控制系统中测量被控变量
4. 总结
4. 总结
本文主要介绍了基于车辆运动学和动力学模型的横向控制算法
无模型的 PID 横向控制算法参数少,简单易用
基于运动学模型的横向控制算法中
Pure Pursuit 在大的跟踪误差和非连续的路径场景下鲁棒性较好
相比于 Pure Pursuit 算法,Stanley 前轮反馈算法还额外考虑了横摆角偏差
LQR 算法使用二自由度动力学模型来设计横向控制器
LQR 算法的优点在于,通过与转向前馈进行有效结合,LQR 能够很好的解决曲线行驶时的稳态跟踪误差
但是,由于模型的固有缺陷,LQR 与前馈控制的结合也无法解决所有跟踪控制问题
5. 展望
原因在于:
对车辆运动模型的简化处理。如只考虑车辆的运动学模型或简化为二自由度动力 学模型。
未考虑横向和纵向控制的耦合特性。仅仅将横向和纵向独立控制,而并无法将纵 横向控制协同处理、分析,从而限制了横向控制算法的跟踪性能。
根据现有方法的不足,本文作者认为车辆横向控制方法具有以下几个热点:
参考: 走进自动驾驶横向控制,你需要这篇超长综述
最后
以上就是贪玩小笼包为你收集整理的智能驾驶车辆横向控制算法基于车辆模型的横向控制方法的全部内容,希望文章能够帮你解决智能驾驶车辆横向控制算法基于车辆模型的横向控制方法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复