【文献精读】基于驱动力表的无人车终端无约束预测纵向控制(TVT)

本文主要是介绍【文献精读】基于驱动力表的无人车终端无约束预测纵向控制(TVT),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

写在前面:
🌟 欢迎光临 清流君 的博客小天地,这里是我分享技术与心得的温馨角落。📝
个人主页:清流君_CSDN博客,期待与您一同探索 移动机器人 领域的无限可能。

🔍 本文系 清流君 原创之作,荣幸在CSDN首发🐒
若您觉得内容有价值,还请评论告知一声,以便更多人受益。
转载请注明出处,尊重原创,从我做起。

👍 点赞、评论、收藏,三连走一波,让我们一起养成好习惯😜
在这里,您将收获的不只是技术干货,还有思维的火花

📚 系列专栏:【文献精读】系列,带您深入浅出,领略控制之美。🖊
愿我的分享能为您带来启迪,如有不足,敬请指正,让我们共同学习,交流进步!

🎭 人生如戏,我们并非能选择舞台和剧本,但我们可以选择如何演绎 🌟
感谢您的支持与关注,让我们一起在知识的海洋中砥砺前行~~~


文章目录

  • 摘要
  • 一、背景介绍
    • 主要工作
  • 二、车辆纵向控制模型
    • 1、纵向运动学模型
    • 2、纵向动力学模型
    • 3、纵向实验模型
  • 三、控制器设计与稳定性分析
    • 1、控制器结构
    • 2、上层控制器设计
    • 3、底层控制器设计
      • (1)前馈控制器设计
      • (2)扩张状态观测器
  • 四、实验与讨论
    • 直道上的速度跟踪
  • 五、结论
  • 参考文献


摘要

  提出了一种基于分层结构的无人地面车辆纵向控制系统。

  上层控制器:引入无终端约束的模型预测控制算法作为上层控制器,计算期望加速度。

  下层控制器:通过建模实验,建立了驱动力表(DFT)来表征车辆的油门开度、速度和驱动力之间的关系。

  此外,为了提高系统的抗干扰能力,提出了一种基于DFT的前馈控制器,将期望加速度转化为期望节气门开度.综合建模误差和外界干扰,设计扩张状态观测器(ESO)进行估计。

  同时,通过严格的证明,保证了无终端约束的预测控制器的递推可行性和稳定性。

  最后,仿真结果校验了所设计控制律的有效性。


一、背景介绍

现有的车辆纵向控制研究按其控制结构可分为两大类:

  • 一类是直接对执行器进行控制,如PID控制器和自抗扰控制器
  • 另一种采用分层结构,其中上层控制器计算期望的加速度,下层控制器调节油门和制动以跟随它

  大多数基于MPC的方法采用分层架构,并将加速度视为高级命令,而较低的控制输入通过经典反馈回路计算。这样的处理在干扰抑制方面是无效的,并且其性能在面对非理想道路条件时变得更差。

主要工作

  • 通过对MPC算法最优解的分析和预测时域的延长,提出了一种无终端约束的MPC算法可行性和稳定性的新方法。
  • 通过建模实验建立了驱动力表,表征动力传动系统的输入输出关系。
  • 提出了一种基于离散傅立叶变换的前馈控制器,并采用扩张状态观测器对模型误差和外部干扰进行估计,提高了系统的精度。

二、车辆纵向控制模型

1、纵向运动学模型

  在将该控制策略应用于车辆纵向调节时,通常将下层控制器和车辆视为底层系统,以简化上层控制器的建模过程。
在这里插入图片描述
  可以用一阶微分方程来描述期望加速度和实际加速度之间的关系
a ˙ ( t ) = − a ( t ) τ + a d e s ( t ) τ \dot{a}(t)=-\frac{a(t)}{\tau}+\frac{a_{des}(t)}{\tau} a˙(t)=τa(t)+τades(t)其中, τ \tau τ 是表征基础系统的动力学的时间常数,反映了系统响应输入变化的速度,即系统达到期望加速度的快慢程度。


  一阶微分方程可以用来描述期望加速度和实际加速度之间的关系,主要是因为这个方程体现了一个动态系统的基本特性:响应时间常数和系统输入输出关系。

详细解释:

  • 时间常数 τ \tau τ:时间常数是系统动力学的一个重要参数,它决定了系统对输入变化的反应速度。具体来说, τ \tau τ越大,系统响应越慢; τ \tau τ越小,系统响应越快。
  • 实际加速度的衰减项 − a ( t ) τ -\frac{a(t)}{\tau} τa(t):这一项表明实际加速度会随着时间的推移而指数衰减,如果没有任何新的输入,系统最终会趋向于期望加速度。
  • 期望加速度的驱动项 a d e s ( t ) τ \frac{a_{des}(t)}{\tau} τades(t):这一项表示系统会根据期望加速度的变化来调整实际的加速度。它表明系统会试图达到期望的加速度,而且这个调整过程受到时间常数 τ \tau τ 的限制。

  将这两项结合起来,方程描述了实际加速度如何动态地追踪期望加速度。当期望加速度改变时,实际加速度会以指数形式逼近这个新的目标值,逼近的速度由 τ \tau τ 决定。


  构造二阶纵向运动学模型:
x ˙ ( t ) = A s x ( t ) + B s u ( t ) y ( t ) = C s x ( t ) \begin{aligned}&\dot{x}(t)=A_sx(t)+B_su(t)\\&y(t)=C_sx(t)\end{aligned} x˙(t)=Asx(t)+Bsu(t)y(t)=Csx(t)  其中
A s = [ 0 1 0 − 1 τ ] , B s = [ 0 1 τ ] , C s = [ 1 0 ] A_s=\begin{bmatrix}0&1\\0&-\frac{1}{\tau}\end{bmatrix}, B_s=\begin{bmatrix}0\\\frac{1}{\tau}\end{bmatrix}, C_s=\begin{bmatrix}1&0\end{bmatrix} As=[001τ1],Bs=[0τ1],Cs=[10]  其中, x ( t ) = [ v ( t ) , a ( t ) ] T x(t)=[v(t), a(t)]^T x(t)=[v(t),a(t)]T是状态向量, y ( t ) y(t) y(t)是测量输出, u ( t ) = a d e s ( t ) u(t)= a_{des}(t) u(t)=ades(t)是控制输入。

  为了便于计算机实现和子序列分析,定义误差向量为 e ( t ) = [ e v ( t ) , e a ( t ) ] T e(t)= [e_v(t),e_a(t)]^T e(t)=[ev(t)ea(t)]T,其中

e v ( t ) = v ( t ) − v r e f ( t ) , e a ( t ) = a ( t ) − a r e f ( t ) e_v(t)=v(t)-v_{ref}(t), e_a(t)=a(t)-a_{ref}(t) ev(t)=v(t)vref(t),ea(t)=a(t)aref(t)
u e ( t ) = u ( t ) − u r e f ( t ) , y e ( t ) = y ( t ) − y r e f ( t ) u_e(t)=u(t)-u_{ref}(t), y_e(t)=y(t)-y_{ref}(t) ue(t)=u(t)uref(t),ye(t)=y(t)yref(t)  转换为误差系统,并将其离散为
e ( k + 1 ) = A e ( k ) + B u e ( k ) y e ( k ) = C e ( k ) \begin{aligned}e(k+1)&=Ae(k)+Bu_e(k)\\y_{e}(k)&=Ce(k)\end{aligned} e(k+1)ye(k)=Ae(k)+Bue(k)=Ce(k)其中
A = [ 1 T 0 1 − T τ ] , B = [ 0 T τ ] , C = [ 1 0 ] A=\begin{bmatrix}1&T\\0&1-\frac T\tau\end{bmatrix}, B=\begin{bmatrix}0\\\frac T\tau\end{bmatrix}, C=\begin{bmatrix}1&0\end{bmatrix} A=[10T1τT],B=[0τT],C=[10]  该纵向运动学模型揭示了车辆的期望加速度与实际加速度之间的关系

2、纵向动力学模型

  在纵向控制过程中,车辆通过发动机的驱动力矩实现加速,通过液压制动系统的制动力矩实现减速。此外,车辆的行驶状态受坡度变化、空气阻力和滚动摩擦等多种因素的影响,受力分析图如图所示
在这里插入图片描述
  根据受力分析图,车辆的纵向动力学模型变为
a ( t ) m = F a l l ( t ) = F x ( t ) − F a i r ( t ) − F s ( t ) − f ( t ) F a i r ( t ) = 1 2 C ρ S v 2 ( t ) f ( t ) = μ G cos ⁡ θ ( t ) F s ( t ) = G sin ⁡ θ ( t ) \begin{aligned} a(t)m& =F_{all}(t)=F_{x}(t)-F_{air}(t)-F_{s}(t)-f(t) \\ F_{air}(t)& =\frac12C\rho Sv^2(t) \\ f(t)& =\mu G\cos\theta(t) \\ F_{s}(t)& =G\sin\theta(t) \end{aligned} a(t)mFair(t)f(t)Fs(t)=Fall(t)=Fx(t)Fair(t)Fs(t)f(t)=21CρSv2(t)=μGcosθ(t)=Gsinθ(t)  其中, m m m 为车辆的总质量, F a l l ( t ) F_{all}(t) Fall(t)为合力, C C C 为空气阻力系数, ρ \rho ρ 为空气密度, S S S 为车辆的迎风面积, μ \mu μ 为滚动摩擦系数。

  纵向动力学模型反映了车辆的实际加速度与合力之间的关系。可以发现,当所需的加速度确定时,可以计算所需的合力。但由于斜坡等外界干扰的存在,合力 F a l l ( t ) F_{all}(t) Fall(t)与驱动力 F x ( t ) F_x(t) Fx(t)不相等,从而影响车辆的真实的加速度。因此,在控制器设计过程中,应该考虑这些干扰并抵消它们。

3、纵向实验模型

  节气门开度是纵向控制的主要控制输入。它决定了发动机的输出扭矩,通过由离合器、变速器、主减速器、差速器等部件组成的动力传动系统影响车辆的驱动力。由于这些结构极其复杂,高度非线性,很难建立精确的数学模型。因此,不再试图开发电力传输系统的精确模型,而仅关注其输入输出关系,该关系可由以下等式表示
F x ( t ) = H ( ϕ ( t ) , v ( t ) ) + h ( t ) F_x(t)=H\left(\phi(t),v(t)\right)+h(t) Fx(t)=H(ϕ(t),v(t))+h(t)  其中, H ( ⋅ ) H(·) H() 代表节气门开度和速度到驱动力的映射关系, h ( t ) h(t) h(t)是其他因素引起的总扰动。对动力传动系统进行了一系列的建模实验,建立了反映车速、油门开度和驱动力之间关系的 DFT 模型。

  需要注意的是,斜率等因素会增加 DFT 的维数,这会大大增加建模过程的难度,降低实时性。因此,在坡度小、风阻小的直路上进行建模实验,并做以下两个假设。

  • 扰动 h ( t ) h(t) h(t)很小,可以忽略,这意味着车辆的驱动力只与车速和节气门开度有关。

  • 在纵向动力模型中,由于路面坡度和风阻力都很小, F a i r ( t ) , f ( t ) F_{air}(t),f(t) Fair(t)f(t) F s ( t ) Fs(t) Fs(t)均取为零。因此,驱动力等于车辆的合力。

  在建模实验中,车辆的节气门开度被归一化,并且要求它在 [ 0 , 0.6 ] [0,0.6] [0,0.6] 范围内变化,因为发现更高的节气门开度的效果几乎相同。

  建立 DFT 所需的变量是车辆的速度、驱动力和节气门开度。速度可以通过惯性测量单元(IMU)获得,而节气门开度通过控制器局域网(CAN)获得。为了获得驱动力,保持油门开度在一个标准值不变,并记录在不同的速度从 IMU 的车辆的加速度。然后,根据公式 a ( t ) m = F a l l ( t ) = F x ( t ) − F a i r ( t ) − F s ( t ) − f ( t ) a(t)m=F_{all}(t)=F_x(t)-F_{air}(t)-F_s(t)-f(t) a(t)m=Fall(t)=Fx(t)Fair(t)Fs(t)f(t),可以计算出合力,该合力等于假设的驱动力。通过同样的方法,可以得到其他节气门开度下的驱动力。得到驱动力表:

在这里插入图片描述
  其 3D 视图如下:
在这里插入图片描述


三、控制器设计与稳定性分析

1、控制器结构

  控制器结构如下:
在这里插入图片描述

  上控制器的核心部分是基于运动学模型的 MPC 算法。其目的是接收参考速度并计算期望加速度 a d e s a_{des} ades。下半部分由 ESO 和前馈控制器组成。

  注意 d ( t ) d(t) d(t) 是由环境和建模误差引起的总干扰,其导致底层系统上的模型失配。因此,发展了ESO,并且 d ( t ) d(t) d(t)表示总扰动的估计。然后,期望加速度将被补偿以获得校正加速度,该校正加速度被传送到前馈控制器以处理干扰。最后,前馈控制器将通过动力学模型计算期望驱动力 F d e s F_{des} Fdes,并将其转换为节气门开度 DFT

2、上层控制器设计

  离散二阶误差系统纵向运动学模型满足以下约束:
∣ e v ( k ) ∣ < V max ⁡ ∣ e a ( k ) ∣ < A max ⁡ ∣ u e ( k ) ∣ < U max ⁡ ∣ u ( k ) ∣ = ∣ u e ( k ) + u r e f ( k ) ∣ < U ˉ max ⁡ \begin{aligned} &|e_{v}(k)|<V_{\max} \\ &|e_{a}(k)|<A_{\max} \\ &|u_{e}(k)|<U_{\max} \\ &|u(k)|=|u_{e}(k)+u_{ref}(k)|<\bar{U}_{\max} \end{aligned} ev(k)<Vmaxea(k)<Amaxue(k)<Umaxu(k)=ue(k)+uref(k)<Uˉmax  通常,车辆的参考速度是阶跃信号,参考控制输入 u r e f u_{ref} uref设置为零。因此,定义

U ^ max ⁡ = min ⁡ ( U max ⁡ , U ˉ max ⁡ , A max ⁡ ) \hat{U}_{\max}=\min(U_{\max},\bar{U}_{\max},A_{\max}) U^max=min(Umax,Uˉmax,Amax)  后两个约束条件转化为 ∣ u e ( k ) ∣ < U ^ m a x |u_{e}(k)|<\hat{U}_{\mathrm{max}} ue(k)<U^max
  如果A、B是可镇定的,则对于闭环控制系统
e ( k + 1 ) = ( A + B K ) e ( k ) e(k+1)=(A+BK)e(k) e(k+1)=(A+BK)e(k)  为全局渐进稳定。
P = ( A + B K ) T P ( A + B K ) + ( C T Q C + K T R K ) P=(A+BK)^TP(A+BK)+(C^TQC+K^TRK) P=(A+BK)TP(A+BK)+(CTQC+KTRK)  MPC代价函数为
J ( k ) = ∑ i = 0 q − 1 ( ∥ y e ( k + i ∣ k ) ∥ Q 2 + ∥ u e ( k + i ∣ k ) ∥ R 2 ) + ∥ e ( k + q ∣ k ) ∥ P 2 \begin{aligned}J(k)&=\sum_{i=0}^{q-1}\left(\left\|y_e(k+i|k)\right\|_Q^2+\left\|u_e(k+i|k)\right\|_R^2\right)+\left\|e(k+q|k)\right\|_P^2\end{aligned} J(k)=i=0q1(ye(k+ik)Q2+ue(k+ik)R2)+e(k+qk)P2  其中, Q Q Q R R R 分别是误差输出和控制输入的加权系数。 ∣ ∣ e ( k + q ∣ k ) ∣ ∣ P 2 ||e(k + q| k)||^2_ P ∣∣e(k+qk)P2是终端成本,P是由(18)计算的加权矩阵。q是控制范围,要求q足够大
( 1 − T τ ) q A max ⁡ < T τ U ^ max ⁡ \left(1-\frac{T}{\tau}\right)^qA_{\max}<\frac{T}{\tau}\hat{U}_{\max} (1τT)qAmax<τTU^max  此外,为保证MPC的递归可行性,预测时域 p p p 应设为 p > q p>q p>q.请注意,延长预测范围将使优化问题复杂化。为了保证预测控制的实时性,本文选用 p = q + 1 p = q + 1 p=q+1。预测范围中的所有误差状态应满足约束。综上所述,如果在时间步 k k k 处,测量车辆的误差状态为 e ( k ) e(k) e(k),则 MPC 算法的优化问题可以表示为:
min ⁡ u e ( k + i ∣ k ) J ( k ) s . t . e ( k ∣ k ) = e ( k ) e ( k + i + 1 ∣ k ) = A e ( k + i ∣ k ) + B u e ( k + i ∣ k ) y e ( k + i + 1 ∣ k ) = C e ( k + i + 1 ∣ k ) e ( k + p ∣ k ) = A e ( k + q ∣ k ) ∣ u e ( k + i ∣ k ) ∣ < U ^ m a x w i t h i = 0 , 1 , … , q − 1. ∣ e v ( k + j ∣ k ) ∣ < V m a x ∣ e a ( k + j ∣ k ) ∣ < A m a x w i t h j = 0 , 1 , … , p . \begin{aligned} &\min_{u_{e}(k+i|k)}J(k) \\ s.t. \\ &e(k|k)=e(k) \\ &e(k+i+1|k)=Ae(k+i|k)+Bu_{e}(k+i|k) \\ &y_{e}(k+i+1|k)=Ce(k+i+1|k) \\ &e(k+p|k)=Ae(k+q|k) \\ &|u_{e}(k+i|k)|<\hat{U}_{\mathrm{max}} \\ &with\ i=0,1,\ldots,q-1. \\ &|e_{v}(k+j|k)|<V_{\mathrm{max}} \\ &|e_{a}(k+j|k)|<A_{\mathrm{max}} \\ &with\ j=0,1,\ldots,p. \end{aligned} s.t.ue(k+ik)minJ(k)e(kk)=e(k)e(k+i+1∣k)=Ae(k+ik)+Bue(k+ik)ye(k+i+1∣k)=Ce(k+i+1∣k)e(k+pk)=Ae(k+qk)ue(k+ik)<U^maxwith i=0,1,,q1.ev(k+jk)<Vmaxea(k+jk)<Amaxwith j=0,1,,p.  通过求解上述MPC优化问题,可以获得一系列最优控制输入

U e ∗ ( k ) = [ u e ∗ ( k ∣ k ) u e ∗ ( k + 1 ∣ k ) ⋮ u e ∗ ( k + q − 1 ∣ k ) ] U_e^*(k)=\begin{bmatrix}u_e^*(k|k)\\u_e^*(k+1|k)\\\vdots\\u_e^*(k+q-1|k)\end{bmatrix} Ue(k)= ue(kk)ue(k+1∣k)ue(k+q1∣k)   并且该序列的第一元素被提取作为时间步长 k k k 处的 MPC 算法的输出。

  然后,在时间步长 k + 1 k + 1 k+1,将控制输入的候选序列定义为:

U e ( k + 1 ) = [ u e ( k + 1 ∣ k + 1 ) u e ( k + 2 ∣ k + 1 ) ⋮ u e ( k + q − 1 ∣ k + 1 ) u e ( k + q ∣ k + 1 ) ] = [ u e ∗ ( k + 1 ∣ k ) u e ∗ ( k + 2 ∣ k ) ⋮ u e ∗ ( k + q − 1 ∣ k ) K e ∗ ( k + q ∣ k ) ] U_e(k+1)=\begin{bmatrix}u_e(k+1|k+1)\\u_e(k+2|k+1)\\\vdots\\u_e(k+q-1|k+1)\\u_e(k+q|k+1)\end{bmatrix}=\begin{bmatrix}u_e^*(k+1|k)\\u_e^*(k+2|k)\\\vdots\\u_e^*(k+q-1|k)\\Ke^*(k+q|k)\end{bmatrix} Ue(k+1)= ue(k+1∣k+1)ue(k+2∣k+1)ue(k+q1∣k+1)ue(k+qk+1) = ue(k+1∣k)ue(k+2∣k)ue(k+q1∣k)Ke(k+qk)   其中, K e ∗ ( k + q ∣ k ) Ke^*(k+q|k) Ke(k+qk) 由反馈控制律 u e ( k ) = K e ( k ) u_e(k)= Ke(k) ue(k)=Ke(k)确定。设 K = [ − k , 0 ] K =[−k,0] K=[k0],其中, k = U m a x V m a x k = \frac{U_{max}}{ V_{max}} k=VmaxUmax。预测的误差状态变为:
e ( k + i ∣ k + 1 ) = { e ∗ ( k + i ∣ k ) , i = 1 , 2 , . . . , q ( A + B K ) e ∗ ( k + i − 1 ∣ k ) , i = p A e ( k + i − 1 ∣ k + 1 ) , i = p + 1 e\left( k+i|k+1 \right) =\left\{ \begin{array}{c} e^*\left( k+i|k \right) ,\quad i=1,2,...,q\\ \left( A+BK \right) e^*\left( k+i-1|k \right) ,\quad \,\,i=p\\ Ae\left( k+i-1|k+1 \right) ,\quad \,\,i=p+1\\ \end{array} \right. e(k+ik+1)= e(k+ik),i=1,2,...,q(A+BK)e(k+i1∣k),i=pAe(k+i1∣k+1),i=p+1

  下图中绘出了时间步长 k k k k + 1 k + 1 k+1 处的解:
在这里插入图片描述

  通过预测模型可知, e v ( k + p ∣ k + 1 ) e_v(k + p| k + 1) ev(k+pk+1)只由 e ( k + q ∣ k + 1 ) e(k + q|k + 1) e(k+qk+1) 决定,且独立于 K e ∗ ( k + q ∣ k ) Ke^*(k + q| k) Ke(k+qk)的范围,因而 e v ( k + p ∣ k + 1 ) e_v(k + p| k + 1) ev(k+pk+1)等于 e v ∗ ( k + p ∣ k ) e^*_v(k + p| k) ev(k+pk)
e a ( k + p ∣ k + 1 ) = ( 1 − T τ ) e a ( k + q ∣ k + 1 ) + T τ K e ∗ ( k + q ∣ k ) ≤ ( 1 − T τ ) A max ⁡ + T τ U ^ max ⁡ e a ( k + p + 1 ∣ k + 1 ) = ( 1 − T τ ) e a ( k + p ∣ k + 1 ) \begin{aligned} e_a\left( k+p|k+1 \right) &=\left( 1-\frac{T}{\tau} \right) e_a\left( k+q|k+1 \right) +\frac{T}{\tau}Ke^*\left( k+q|k \right)\\ &\leq \left( 1-\frac{T}{\tau} \right) A_{\max}+\frac{T}{\tau}\hat{U}_{\max}\\ e_a\left( k+p+1|k+1 \right) &=\left( 1-\frac{T}{\tau} \right) e_a\left( k+p|k+1 \right)\\ \end{aligned} ea(k+pk+1)ea(k+p+1∣k+1)=(1τT)ea(k+qk+1)+τTKe(k+qk)(1τT)Amax+τTU^max=(1τT)ea(k+pk+1)

3、底层控制器设计

(1)前馈控制器设计

  基于前面的讨论,车辆的动态模型可以简化为
a ( k ) m = F a l l ( k ) = F x ( k ) a(k)m=F_{all}(k)=F_x(k) a(k)m=Fall(k)=Fx(k)  而车辆的驱动力、节气门开度和速度之间的关系变为
F x ( k ) = H ( ϕ ( k ) , v ( k ) ) F_x(k)=H\left(\phi(k),v(k)\right) Fx(k)=H(ϕ(k),v(k))  当给出校正加速度 a ˉ d e s ( k ) \bar{a}_{des}\left( k \right) aˉdes(k)时,可以计算期望驱动力 F d e s ( k ) F_{des}(k) Fdes(k)。然后,使用 DFT 上的线性插值,可以得到期望的节气门开度,并将其传输到车辆。因此,前馈控制器可以设计为: F d e s ( k ) = a ˉ d e s ( k ) m ϕ ( k ) = H ^ ( F d e s ( k ) , v ( k ) ) \begin{aligned}F_{des}(k)&=\bar{a}_{des}(k)m\\\phi(k)&=\hat{H}\left(F_{des}(k),v(k)\right)\end{aligned} Fdes(k)ϕ(k)=aˉdes(k)m=H^(Fdes(k),v(k))  其中, Δ H ( ⋅ ) Δ H(·) ΔH() 表示驱动力和速度到节气门开度的映射,该映射可以通过 DFT 上的线性插值得到

(2)扩张状态观测器

  注意,车辆的理想运动学模型被视为 MPC 的预测模型。然而,在基础系统中存在两种类型的不可忽略的问题,即,DFT 的建模误差和主要由路面坡度引起的外界干扰。在它们的共同影响下,运动学模型的输入输出关系变得更加复杂。因此,考虑总扰动后的表达式转变为
a ˙ ( t ) = − a ( t ) τ + a d e s ( t ) τ + d ( t ) \dot{a}(t)=-\frac{a(t)}{\tau}+\frac{a_{des}(t)}{\tau}+d(t) a˙(t)=τa(t)+τades(t)+d(t)  其中, d ( t ) d(t) d(t) 表示总干扰,其对上层控制器具有显著影响。因此,设计了 ESO 来估计 d ( t ) d(t) d(t),其离散形式为:
e s o a ( k ) = a ( k ) − a ^ ( k ) a ^ ( k + 1 ) = ( 1 − T τ ) a ^ ( k ) + T ( a d e s ( k ) τ + d ^ ( k ) + l 1 e s o a ( k ) ) d ^ ( k + 1 ) = d ^ ( k ) + T l 2 e s o a ( k ) \begin{aligned} eso_{a}(k)&=a(k)-\hat a(k) \\ \hat{a}(k+1)&=(1-\frac{T}{\tau})\hat{a}(k)+T\left(\frac{a_{des}(k)}{\tau}+\hat{d}(k)+l_{1}eso_{a}(k)\right) \\ \hat{d}(k+1)&=\hat{d}(k)+Tl_2eso_a(k) \end{aligned} esoa(k)a^(k+1)d^(k+1)=a(k)a^(k)=(1τT)a^(k)+T(τades(k)+d^(k)+l1esoa(k))=d^(k)+Tl2esoa(k)  其中, a ^ ( k ) \hat{a}(k) a^(k)是估计的加速度, e s o a ( k ) eso_a(k) esoa(k) 表示 a ( k ) a(k) a(k) a ^ ( k ) \hat{a}(k) a^(k) 之间的误差, d ^ ( k ) \hat{d}(k) d^(k) 表示 d ( k ) d(k) d(k) 的估计, l 1 l_1 l1 l 2 l_2 l2ESO 的参数。

  通过估计 d ( k ) d(k) d(k),可以将来自上控制器的期望加速度修改为:
a ˉ d e s ( k ) = a d e s ( k ) − τ d ^ ( k ) \bar{a}_{des}(k)=a_{des}(k)-\tau\hat{d}(k) aˉdes(k)=ades(k)τd^(k)  因此运动学模型转变为:
a ˙ ( t ) = − a ( t ) τ + a ˉ d e s ( t ) τ + d ( t ) = − a ( t ) τ + a d e s ( t ) τ + d ( t ) − d ^ ( k ) \begin{aligned} \dot{a}(t)& =-\frac{a(t)}\tau+\frac{\bar{a}_{des}(t)}\tau+d(t) \\ &=-\frac{a(t)}{\tau}+\frac{a_{des}(t)}{\tau}+d(t)-\hat{d}(k) \end{aligned} a˙(t)=τa(t)+τaˉdes(t)+d(t)=τa(t)+τades(t)+d(t)d^(k)


四、实验与讨论

  实验平台如下:
在这里插入图片描述
  包括一个全球定位系统(GPS),一个惯性测量单元(IMU),两个GPS接收器,一个光探测和测距(LiDAR),一个相机,一个工业个人计算机(IPC),一个油门,一个刹车和一个方向盘。

  在工控机上建立了基于机器人操作系统(ROS)的软件框架。如下图所示:
在这里插入图片描述
  环境感知模块通过“/GPS_IMU”“/LiDAR”“/Camera”接收关于周围环境的信息。决策规划模块规划参考速度并通过'/Planning_io'将其传送到运动控制模块。然后,运动控制模块设计纵向控制策略,并将其部署在“/Loncveil”中,将计算得到的节气门开度传输到“/车辆_CAN”(车辆的控制器局域网)中。基于MPC的纵向控制器与 DFT 的车辆上实现。状态反馈增益设计为:
K = [ − 0.25 , 0 ] K=\begin{bmatrix}-0.25,&0\end{bmatrix} K=[0.25,0]  并且终端加权矩阵变为
P = [ 451.64 145.28 145.28 51.19 ] P=\begin{bmatrix}451.64&145.28\\[0.3em]145.28&51.19\end{bmatrix} P=[451.64145.28145.2851.19]

  在实验现场进行了三种情况下的实验,以验证所提出的控制器的性能:
在这里插入图片描述

直道上的速度跟踪

  该案例主要验证了所提出的控制器对不同速度的跟踪能力。在实验中,车辆在直路上行驶。参考速度首先从 0 m / s 0 m/s 0m/s 跳到 3 m / s 3 m/s 3m/s,一段时间后变为 5 m / s 5 m/s 5m/s。为了使对比效果更加明显,三个控制器的跟踪曲线在时间轴上对齐,并显示在同一个图中。

  这些控制器的速度跟踪结果如图所示:
在这里插入图片描述
  实验结果表明,该控制器在整个实验过程中均取得了令人满意的控制效果,而传统的MPC控制器存在调节时间长、超调量大等缺点。此外,由于 PID 控制器是无模型控制器,对参考信号的变化比较敏感,在跟踪不同速度时,其效果会有所下降。下图显示了不同控制器下车辆的节气门开度。
在这里插入图片描述

  该控制器能使车辆在加速过程中获得较大的节气门开度,在接近参考速度时节气门开度迅速减小,从而提高了车辆的性能。另外两个控制器的节气门开度调节慢,效果不好。ESO 的估计扰动如图所示:
在这里插入图片描述

  可以看到,当车辆加速时,底层系统的真实的模型与理想模型有很大的误差。下位控制器通过修正期望加速度来消除该误差的影响,从而提高控制性能。


五、结论

本文提出了一种用于车辆纵向控制的分层体系结构:

  • 建立了描述其纵向特性的运动学模型、动力学模型和实验模型。
  • 提出了一种 MPC 算法作为上层控制器计算期望加速度,并推导了该算法在不使用终端约束的情况下的递推可行性和稳定性。
  • 提出了一种基于动态模型和离散傅里叶变换的前馈控制器,以获得期望的节气门开度。
  • 设计了一个 ESO 来估计总的干扰。

  总体控制策略已在无人车平台上成功部署。最后,以直线路面、起伏路面和斜坡路面为例进行了对比实验,仿真结果表明所提控制器的有效性和优越性。


参考文献

   Y. Wang, Y. Deng, H. Wang, Z. Zuo and H. Yang, “Terminal Constraint-Free Model Predictive Longitudinal Control for Unmanned Ground Vehicles With Driving Force Table,” in IEEE Transactions on Vehicular Technology, vol. 72, no. 3, pp. 3051-3062, March 2023, doi: 10.1109/TVT.2022.3221551.


后记:

🌟 感谢您耐心阅读这篇关于 基于驱动力表的无人车终端无约束预测纵向控制 的技术博客。 📚

🎯 如果您觉得这篇博客对您有所帮助,请不要吝啬您的点赞和评论 📢

🌟您的支持是我继续创作的动力。同时,别忘了收藏本篇博客,以便日后随时查阅。🚀

🚗 让我们一起期待更多的技术分享,共同探索移动机器人的无限可能!💡

🎭感谢您的支持与关注,让我们一起在知识的海洋中砥砺前行 🚀

这篇关于【文献精读】基于驱动力表的无人车终端无约束预测纵向控制(TVT)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1135328

相关文章

Spring Security 基于表达式的权限控制

前言 spring security 3.0已经可以使用spring el表达式来控制授权,允许在表达式中使用复杂的布尔逻辑来控制访问的权限。 常见的表达式 Spring Security可用表达式对象的基类是SecurityExpressionRoot。 表达式描述hasRole([role])用户拥有制定的角色时返回true (Spring security默认会带有ROLE_前缀),去

无人叉车3d激光slam多房间建图定位异常处理方案-墙体画线地图切分方案

墙体画线地图切分方案 针对问题:墙体两侧特征混淆误匹配,导致建图和定位偏差,表现为过门跳变、外月台走歪等 ·解决思路:预期的根治方案IGICP需要较长时间完成上线,先使用切分地图的工程化方案,即墙体两侧切分为不同地图,在某一侧只使用该侧地图进行定位 方案思路 切分原理:切分地图基于关键帧位置,而非点云。 理论基础:光照是直线的,一帧点云必定只能照射到墙的一侧,无法同时照到两侧实践考虑:关

vscode中文乱码问题,注释,终端,调试乱码一劳永逸版

忘记咋回事突然出现了乱码问题,很多方法都试了,注释乱码解决了,终端又乱码,调试窗口也乱码,最后经过本人不懈努力,终于全部解决了,现在分享给大家我的方法。 乱码的原因是各个地方用的编码格式不统一,所以把他们设成统一的utf8. 1.电脑的编码格式 开始-设置-时间和语言-语言和区域 管理语言设置-更改系统区域设置-勾选Bata版:使用utf8-确定-然后按指示重启 2.vscode

控制反转 的种类

之前对控制反转的定义和解释都不是很清晰。最近翻书发现在《Pro Spring 5》(免费电子版在文章最后)有一段非常不错的解释。记录一下,有道翻译贴出来方便查看。如有请直接跳过中文,看后面的原文。 控制反转的类型 控制反转的类型您可能想知道为什么有两种类型的IoC,以及为什么这些类型被进一步划分为不同的实现。这个问题似乎没有明确的答案;当然,不同的类型提供了一定程度的灵活性,但

BERT 论文逐段精读【论文精读】

BERT: 近 3 年 NLP 最火 CV: 大数据集上的训练好的 NN 模型,提升 CV 任务的性能 —— ImageNet 的 CNN 模型 NLP: BERT 简化了 NLP 任务的训练,提升了 NLP 任务的性能 BERT 如何站在巨人的肩膀上的?使用了哪些 NLP 已有的技术和思想?哪些是 BERT 的创新? 1标题 + 作者 BERT: Pre-trainin

深入解析秒杀业务中的核心问题 —— 从并发控制到事务管理

深入解析秒杀业务中的核心问题 —— 从并发控制到事务管理 秒杀系统是应对高并发、高压力下的典型业务场景,涉及到并发控制、库存管理、事务管理等多个关键技术点。本文将深入剖析秒杀商品业务中常见的几个核心问题,包括 AOP 事务管理、同步锁机制、乐观锁、CAS 操作,以及用户限购策略。通过这些技术的结合,确保秒杀系统在高并发场景下的稳定性和一致性。 1. AOP 代理对象与事务管理 在秒杀商品

PostgreSQL中的多版本并发控制(MVCC)深入解析

引言 PostgreSQL作为一款强大的开源关系数据库管理系统,以其高性能、高可靠性和丰富的功能特性而广受欢迎。在并发控制方面,PostgreSQL采用了多版本并发控制(MVCC)机制,该机制为数据库提供了高效的数据访问和更新能力,同时保证了数据的一致性和隔离性。本文将深入解析PostgreSQL中的MVCC功能,探讨其工作原理、使用场景,并通过具体SQL示例来展示其在实际应用中的表现。 一、

vue2实践:el-table实现由用户自己控制行数的动态表格

需求 项目中需要提供一个动态表单,如图: 当我点击添加时,便添加一行;点击右边的删除时,便删除这一行。 至少要有一行数据,但是没有上限。 思路 这种每一行的数据固定,但是不定行数的,很容易想到使用el-table来实现,它可以循环读取:data所绑定的数组,来生成行数据,不同的是: 1、table里面的每一个cell,需要放置一个input来支持用户编辑。 2、最后一列放置两个b

【电机控制】数字滤波算法(持续更新)

文章目录 前言1. 数字低通滤波 前言 各种数字滤波原理,离散化公式及代码。 1. 数字低通滤波 滤波器公式 一阶低通滤波器的输出 y [ n ] y[n] y[n] 可以通过以下公式计算得到: y [ n ] = α x [ n ] + ( 1 − α ) y [ n − 1 ] y[n] = \alpha x[n] + (1 - \alpha) y[n-1]

OpenStack离线Train版安装系列—3控制节点-Keystone认证服务组件

本系列文章包含从OpenStack离线源制作到完成OpenStack安装的全部过程。 在本系列教程中使用的OpenStack的安装版本为第20个版本Train(简称T版本),2020年5月13日,OpenStack社区发布了第21个版本Ussuri(简称U版本)。 OpenStack部署系列文章 OpenStack Victoria版 安装部署系列教程 OpenStack Ussuri版