Apollo控制算法中使用的车辆动力学模型的推导过程

电子说

1.3w人已加入

描述

动力学主要研究作用于物体的力与物体运动的关系。

车辆动力学模型一般用于分析车辆的平顺性和车辆操纵的稳定性。

对于车来说,研究车辆动力学,主要是研究车辆轮胎及其相关部件的受力情况。

比如纵向速度控制,通过控制轮胎转速实现;

横向航向控制,通过控制轮胎转角实现。

正常情况下,车辆上的作用力沿着三个不同的轴分布:

纵轴上的力包括驱动力和制动力,以及滚动阻力和拖拽阻力作滚摆运动;

横轴上的力包括转向力、离心力和侧风力,汽车绕横轴作俯仰运动;

立轴上的力包括车辆上下振荡施加的力,汽车绕立轴作偏摆或转向运动。

无论是LQR或是MPC控制,都需要有车辆的模型作为基础。

本文由社区开发者——卜大鹏撰写,整理出Apollo控制算法中使用的车辆动力学模型的推导过程。

车辆动力学模型

以下,ENJOY

首先,根据牛顿第二定律结合车辆前后轮受力,有:

控制算法

根据力矩平衡结合车辆前后轮受力和受力点到车辆重心距离,有:

控制算法

上述两式中,汽车质量m、转动惯量Iz、前轴到重心距离lf和后轴到重心距离lr都是可测量的。

为了求解两等式,需要分别求得车辆横向加速度ay和前轮横向受力Fyf和后轮横向受力Fyr。

横向加速度可以分解为由横向位移产生的加速度和向心加速度。

控制算法

y为横向位移,psi为航向角,Vx为纵向速度。这样横向加速度就分解为位移和航向角的表达式。

控制算法

前轮横向受力可以近似为公式4,其中Caf为前轮侧偏刚度,delta为前轮转角,theta_vf为前轮侧偏角。

控制算法

后轮横向受力可以近似为公式5,其中Car为后轮侧偏刚度,theta_vr为后轮侧偏角。

控制算法

公式4和公式5可以理解为实测数据标定后得到近似公式。

在简化环境因素下,侧偏刚度可以由简化的轮胎模型求出,前轮转角为可获取量,只需想办法表示出前后轮的侧偏角。

至此,上文提到的各变量在车体上的示意图如下:

控制算法

根据上图可知,tan(theta)等于车辆横向速度比纵向速度,而横向速度由车辆自身横向速度和绕重心转动速度组成。

控制算法

控制算法

在小角度转向假设下,有:

控制算法

控制算法

至此,把变化后的各变量表达式代入公式1和公式2,有:

控制算法

控制算法

设e1为横向偏差,e2为航向角偏差,可以得到如下关系。

控制算法

在匀速假设下,上式可进一步推导出:

控制算法

带入公式10和公式11可以得到两个偏差的表达式:

控制算法

控制算法

转换为状态空间的表达式:

控制算法

这样就得到了在

小角度侧偏角

匀速

不考虑环境因素

假设下,车辆的动力学模型表达式。

令:

控制算法

控制算法

控制算法

控制算法

控制算法

得到状态方程:

控制算法

式中,前轮侧偏刚度Caf、后轮侧偏刚度Car、车身质量m、转动惯量Iz、前轮到重心距离lf、后轮到重心距离lr都是常量;

每个时刻的横向偏差e1、航向偏差e2、纵向速度Vx、前轮转角delta都是可测量量;

目标航向psi是可获取量。

这样每个运算周期通过传感器测得的数值更新测量量就可以用这个模型通过相应算法实现目标轨迹的跟踪了。

但因为需要使用计算机进行数值计算,推导截至到上面的连续模型还不够,还需要对上述模型进行离散化。

对于连续系统有:

控制算法

令采样周期为T,t0=kT,t=(k+1)T,即考虑k到k+1时刻的状态响应,有:

控制算法

考虑在采样周期内u不变,C为常数,有

控制算法

对上式积分中做变量替换,令t=(k+1)T-tau,有

控制算法

将上式与定常离散线性系统的状态方程

控制算法

比较可知,要使两式对任意x(kT)和u(kT)成立,有

控制算法

控制算法

公式23到公式29即为连续状态空间到离散状态空间的精确离散化推导过程。为了便于后续计算,还需要对精确离散化进一步进行近似离散化,因为有

控制算法

对上式分子分母同时做泰勒展开,取前两项,有

控制算法

同样,对式23进行泰勒展开,取前一项,有

控制算法

剩下的常数项,显然有

控制算法

至此,得到了连续模型转换为后续算法可用的近似离散化模型

控制算法

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

全部0条评论

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

×
20
完善资料,
赚取积分