MPC自行车模型

对于车辆横向模型预测控制来说, 建立一个合适的车辆模型是非常重要的, 尤其对于高速情况下的自动驾驶, 如果我们不使用基于模型的控制(Model-free lateral Control)或者预测模型不够准确的话, 车辆对于目标航向角度会特别敏感, 车辆特别容易来回正弦抖动.

自行车运动学模型(Kinematic Bicycle Model)

运动学模型不考虑车辆的受力情况, 运动学模型只根据系统的几何关系. 并且我们假设轮胎没有滑移, 并且前轮和后轮的速度都位于车辆纵轴方向.
x ˙ = v cos ⁡ ( ψ + β ) y ˙ = v sin ⁡ ( ψ + β ) ψ ˙ = v cos ⁡ ( β ) l r + l f tan ⁡ ( δ f ) \dot{x}=v\cos(\psi + \beta) \\ \dot{y}=v\sin(\psi + \beta) \\ \dot{\psi} = \dfrac{v\cos(\beta)}{l_{r}+l_{f}}\tan(\delta_{f}) x˙=vcos(ψ+β)y˙=vsin(ψ+β)ψ˙=lr+lfvcos(β)tan(δf)
状态变量一共有三个 z = [ x , y , ψ ] T z=[x, y, \psi]^{T} z=[x,y,ψ]T, 输入变量为 u = [ v x , δ f ] u=[v_{x}, \delta_{f}] u=[vx,δf]
各个变量的说明如下

变量名称 含义
x inertial X coordinate of CoM
y inertial Y coordinate of CoM
ψ \psi ψ global heading angle
v x v_{x} vx longitudinal velocity of the vehicle at CoM
v y v_{y} vy lateral velocity of the vehicle at CoM
v v v velocity of the vehicle at CoM, v = v x 2 + v y 2 v=\sqrt{v_{x}^{2}+v_{y}^{2}} v=vx2+vy2
δ f \delta_{f} δf steering angle of the front wheel
l f l_{f} lf distance from the CoM to the rear axle
l f l_{f} lf distance from the CoM to the front axle
β \beta β side slip angle at CoM, β = tan ⁡ − 1 ( l r l r + l f tan ⁡ ( δ f ) ) ≈ v y v x \beta = \tan^{-1}(\dfrac{l_{r}}{l_{r} + l_{f}}\tan(\delta_{f}))\approx \dfrac{v_{y}}{v_{x}} β=tan1(lr+lflrtan(δf))vxvy

MPC自行车模型_第1张图片

自行车动力学模型(Dynamic Bicycle Model)

假设车辆纵向速度变化较慢, 前轮转角不大并且使用线性轮胎模型, 我们可以使用如下动力学模型去预测车辆的状态
v ˙ x = w z v y + a x v ˙ y = C f m ( δ f − v y + l f ω z v x ) + C r m ( − v y − l r ω z v x ) − ω z v x ω z ˙ = l f C f I z ( δ f − v y + l f ω z v x ) − l r C r I z ( − v y − l r ω z v x ) x ˙ = v x cos ⁡ ( ψ ) − v y sin ⁡ ( ψ ) y ˙ = v x sin ⁡ ( ψ ) + v y cos ⁡ ( ψ ) ψ ˙ = ω z \dot{v}_{x} = w_{z}v_{y}+a_{x} \\ \dot{v}_{y}=\dfrac{C_{f}}{m}(\delta_{f} - \dfrac{v_{y}+l_{f}\omega_{z}}{v_{x}}) + \dfrac{C_{r}}{m}(-\dfrac{v_{y}-l_{r}\omega_{z}}{v_{x}})-\omega_{z}v_{x}\\ \dot{\omega_{z}}=\dfrac{l_{f}C_{f}}{I_{z}}(\delta_{f} - \dfrac{v_{y} + l_{f}\omega_{z}}{v_{x}})-\dfrac{l_{r}C_{r}}{I_{z}}(-\dfrac{v_{y}-l_{r}\omega_{z}}{v_{x}}) \\ \dot{x}=v_{x}\cos({\psi}) - v_{y}\sin(\psi) \\ \dot{y}=v_{x}\sin(\psi)+v_{y}\cos(\psi) \\ \dot{\psi} = \omega_{z} v˙x=wzvy+axv˙y=mCf(δfvxvy+lfωz)+mCr(vxvylrωz)ωzvxωz˙=IzlfCf(δfvxvy+lfωz)IzlrCr(vxvylrωz)x˙=vxcos(ψ)vysin(ψ)y˙=vxsin(ψ)+vycos(ψ)ψ˙=ωz
一共有6个状态量 z = [ v x ,   v y ,   ω z ,   x ,   y ,   ψ ] T z=[v_{x}, ~v_{y}, ~\omega_{z},~x,~y, ~\psi]^{T} z=[vx, vy, ωz, x, y, ψ]T, 输入量为 u = [ a x , δ f ] T u=[a_{x}, \delta_{f}]^{T} u=[ax,δf]T
各个变量的说明如下

变量名称 含义
x inertial X coordinate of CoM
y inertial Y coordinate of CoM
ψ \psi ψ global heading angle
v x v_{x} vx longitudinal velocity of the vehicle
δ f \delta_{f} δf steering angle of the front wheel
l f l_{f} lf distance from the CoM to the rear axle
l f l_{f} lf distance from the CoM to the front axle
m vehicle mass
ω z \omega_{z} ωz yaw rate
C r C_{r} Cr rear tire cornering stiffness
C f C_{f} Cf front tire cornering stiffness
I z I_{z} Iz yaw moment of inertia

你可能感兴趣的:(控制算法)