欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > 规划控制复现:Apollo LQR横向控制(算法原理推导与流程)

规划控制复现:Apollo LQR横向控制(算法原理推导与流程)

2024/10/23 19:42:23 来源:https://blog.csdn.net/qq_67958647/article/details/143092406  浏览:    关键词:规划控制复现:Apollo LQR横向控制(算法原理推导与流程)

本文在前文已经搭建好的规划控制验证平台中进行LQR算法的复现:

1.车辆动力学建模

汽车轨迹跟踪误差模型示意图如下:

v_x为车辆横向速度,v_y为车辆纵向速度;ab分别为质心到前、 后轴的距离 ;\varphi 为车辆的横
摆角 ;a_fa_r 分别为车辆前 后轮的侧偏角。并设车辆前后轴侧向合力为 F_{yf}F_{yr},假设轮胎侧偏角较小,则汽车二自由度模型的微分方程为:

由于轮胎的侧偏角 α 很小 , 且车辆的后轴不作为转向轴 ,设前轮和后轮的侧偏刚度分别为C_{\alpha f}
C_{\alpha r}, 前轮转角为 δ f , 则可得车辆动力学模型矩阵形式为 :

2.Frenet坐标系下的误差方程

本节采用两种方式推导Frenet坐标系下的误差模型

2.1 Frenet坐标系与自然坐标系转换

因此,Frenet坐标系到笛卡尔坐标系之间的转换,就是如下过程:

(x,y,v_x,v_y,k_x,a_x,a_y)\rightarrow (s,\dot{s},\ddot{s},d,\dot{d},d')

横向速度可以记作:

则:\dot{d}=v_xsin(\theta _x-\theta _r)

此外,由于:

则对于\dot{s},本文直接给出公式:

2.2 方式一:

由2.1中推导得到的坐标转换公式,由于将章节一中的笛卡尔坐标系中的变量替换为自然坐标系中的变量,记:e_{d}=\dot{d},e_\theta =\varphi -\theta_r,将\dot{d}=v_xsin(\theta _x-\theta _r)展开并忽略路径变化率得到:

对其求导,忽略v_x的变化率得到:

                                                 

带入到章节一中推导得到的动力学方程中有:

2.3 方式二

对于航向偏差有(注意,此处不是航向偏差,为笔误,应当是\varphi -\theta _r):

设车辆行驶在半径为 r 的路径上 , 可求出车辆在目标路径上的理想加速度为 :

Frenet 公式可得汽车的实际侧向加速度为 :

由此可得 :

将结果带入到动力学方程中得到:

写作状态空间方程:

3. 离散轨迹规划的误差计算

由于LQR最终输出的量为:

U=-Ke_{rr}+\delta _f

此处的误差详细计算为:

其中为切向速度,8中的对应关系由2.2中的公式给出。

4.LQR算法中K矩阵的计算

Apllo中采用离线LQR算法查表的方式,先离线计算出不同v_x对应下的K的值,能极大的缩短计算时间:

1.构建i=1,2......5000,共五千个点作为离散的速度输入:

v_x=0.01*i,(i=1,2......5000)

2.构造拉格朗日乘子函数:

3.构造指标函数,计算出最优的控制输入,使得下列性能指标函数达到最小值

4.对指标函数求导求极值,得到:

5.最终得到LQR控制器的控制率,即得到K矩阵:

5. 前馈的计算

为了使轨迹跟踪控制系统更快地响应参考信号和减小稳态误差 , 引入前馈控制

可以看出无论 K   取何值 ,\dot{X}   X 都不可能为 0。 因此引入前馈控制量前轮转角 δ f 使得横
向误差为 0, 控制率可表示为 :

带有前馈的 LQR 控制器最终会导致\dot{X}为 0,X 不为 0,则有:

则计算得到的前馈为:

其中:kr 为路径曲率,

6.最终的控制输出

结合上述求解的过程,可以得到最终输出的横向控制角度为:
\mathbf{ \delta =-Ke_{rr}+\delta _{feedback}}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com