【自动驾驶】动力学横向控制误差模型

  • Post author:
  • Post category:其他




参考资料



1. 基本概述

车辆横向控制主要通过控制轮胎转角实现,而对于驾驶员来说,可直接操控的是方向盘角度,因此在搭建

车辆动力学模型

时,可以建立以相对于道路的方向和距离误差为状态变量的动力学模型。

在这里插入图片描述

假设——




  • e

    y

    e_y







    e










    y





















    ​:车辆重心距车道中心线的距离;




  • e

    ψ

    e_{\psi}







    e











    ψ






















    ​:偏航角误差;




  • V

    x

    V_x







    V










    x





















    :车辆纵向速度;





  • R

    R






    R





    :车辆转弯半径,其中转弯半径



    R

    R






    R





    足够大,以满足

    上述章节

    的小角度近似假设。

定义——

  • 车身转过

    期望角度所需要的偏航角速度







    ψ

    ˙

    d

    e

    s

    =

    V

    x

    R

    (1)

    \tag{1} \dot\psi_{des}=\frac{V_x}{R}














    ψ







    ˙


























    d


    es





















    =



















    R















    V










    x









































    (



    1



    )






  • 所需的

    横向加速度

    (即期望的向心加速度)为





    a

    d

    e

    s

    =

    V

    x

    2

    R

    =

    V

    x

    ψ

    ˙

    d

    e

    s

    (2)

    \tag{2} a_{des}=\frac{V_x^2}{R}=V_x\dot\psi_{des}







    a











    d


    es





















    =



















    R















    V










    x








    2






































    =









    V










    x


























    ψ







    ˙


























    d


    es
























    (



    2



    )






  • 车辆

    偏航角误差





e

ψ

=

ψ

ψ

d

e

s

(3)

\tag{3} e_{\psi}=\psi-\psi_{d e s}







e











ψ





















=








ψ














ψ











d


es
























(



3



)






  • 车辆

    偏航角速度误差







    e

    ˙

    ψ

    =

    ψ

    ˙

    ψ

    ˙

    des 

    (4)

    \tag{4} \dot{e}_{\psi}=\dot{\psi}-\dot{\psi}_{\text {des }}














    e







    ˙

















    ψ





















    =















    ψ







    ˙




































    ψ







    ˙



























    des

























    (



    4



    )






  • 车辆

    偏航角加速度误差







    e

    ¨

    ψ

    =

    ψ

    ¨

    ψ

    ¨

    des 

    (5)

    \tag{5} \ddot{e}_{\psi}=\ddot{\psi}-\ddot{\psi}_{\text {des }}














    e







    ¨

















    ψ





















    =















    ψ







    ¨




































    ψ







    ¨



























    des

























    (



    5



    )






  • 车辆

    横向加速度误差







    e

    ¨

    y

    =

    a

    y

    a

    d

    e

    s

    =

    (

    y

    ¨

    +

    V

    x

    ψ

    ˙

    )

    V

    x

    ψ

    ˙

    des 

    =

    y

    ¨

    +

    V

    x

    (

    ψ

    ˙

    ψ

    ˙

    d

    e

    s

    )

    (6)

    \tag{6} \begin{aligned} \ddot{e}_{y} &=a_{y}-a_{d e s} \\ &=\left(\ddot{y}+V_{x} \dot{\psi}\right)-V_{x} \dot{\psi}_{\text {des }} \\ &=\ddot{y}+V_{x}\left(\dot{\psi}-\dot{\psi}_{d e s}\right) \end{aligned}
























    e







    ¨

















    y


























































    =





    a











    y



























    a











    d


    es





























    =






    (










    y







    ¨



















    +





    V











    x


























    ψ







    ˙


















    )












    V











    x



























    ψ







    ˙



























    des






























    =











    y







    ¨



















    +





    V











    x























    (










    ψ







    ˙
































    ψ







    ˙


























    d


    es




















    )


























    (



    6



    )








    其中,



    a

    y

    a_y







    a










    y





















    由两 种力共同作用产生 : 车辆延



    y

    y






    y





    轴产生的惯性加速度



    y

    ¨

    \ddot{y}













    y







    ¨




















    和车辆绕旋转中心



    O

    O






    O





    旋转产生的向心加速度



    a

    c

    =

    V

    x

    2

    R

    =

    V

    x

    ψ

    ˙

    a_{c}=\frac{

    {V_x}^2}{R}=V_{x} \dot{\psi}_{\circ}







    a











    c





















    =




















    R



















    V










    x



























    2






























    =









    V











    x



























    ψ







    ˙
















































  • 车辆

    横向速度误差

    当车辆纵向速度



    V

    x

    V_x







    V










    x





















    恒定时,



    y

    y






    y





    轴方向的速度误差可以表示为





    e

    ˙

    y

    =

    e

    ¨

    y

     

    d

    t

    =

    y

    ˙

    +

    V

    x

    (

    ψ

    ψ

    d

    e

    s

    )

    (7)

    \tag{7} \dot{e}_{y}=\int \ddot{e}_{y} \mathrm{~d} t=\dot{y}+V_{x}\left(\psi-\psi_{d e s}\right)














    e







    ˙

















    y





















    =





















    e







    ¨

















    y






















    d



    t




    =















    y







    ˙



















    +









    V











    x






















    (


    ψ










    ψ











    d


    es



















    )








    (



    7



    )








    当纵向速度



    V

    x

    V_x







    V










    x





















    随着时间变化时,对等式(6)积分得





    e

    ˙

    y

    =

    e

    ¨

    y

     

    d

    t

    =

    y

    ¨

    +

    V

    x

    (

    ψ

    ˙

    ψ

    ˙

    des 

    )

    d

    t

    =

    y

    ˙

    +

    V

    x

    (

    ψ

    ˙

    ψ

    ˙

    des 

    )

    d

    t

    (8)

    \tag{8} \dot{e}_{y}=\int \ddot{e}_{y} \mathrm{~d} t=\int \ddot{y}+V_{x}\left(\dot{\psi}-\dot\psi_{\text {des }}\right) \mathrm{d} t=\dot{y}+\int V_{x}\left(\dot\psi-\dot\psi_{\text {des }}\right) \mathrm{d} t














    e







    ˙

















    y





















    =





















    e







    ¨

















    y






















    d



    t




    =




















    y







    ¨



















    +









    V











    x























    (










    ψ







    ˙
































    ψ







    ˙



























    des





















    )






    d


    t




    =















    y







    ˙



















    +














    V











    x























    (










    ψ







    ˙
































    ψ







    ˙



























    des





















    )






    d


    t







    (



    8



    )






    参考资料中的等式(8)为





    e

    ˙

    y

    =

    e

    ¨

    y

     

    d

    t

    =

    y

    ˙

    +

    V

    x

    (

    ψ

    ψ

    des 

    )

    d

    t

    \dot{e}_{y}=\int \ddot{e}_{y} \mathrm{~d} t=\dot{y}+\int V_{x}\left(\psi-\psi_{\text {des }}\right) \mathrm{d} t














    e







    ˙

















    y





















    =





















    e







    ¨

















    y






















    d



    t




    =















    y







    ˙



















    +














    V











    x






















    (


    ψ










    ψ












    des




















    )





    d


    t







    根据一步一步推导看的话

    书中

    的这个等式应该是有问题的,这里先贴在这,有懂的朋友也可以帮忙解惑一下~~

    这就使得模型非线性且时变,不利于控制系统的设计。因此这里假设纵向速度



    V

    x

    V_x







    V










    x





















    恒定, 即当作一个线性时不变(LTI)模型。如果速度变化,就需要使用线性参变模型(LPV) 替代, 其纵向速度是一个随着时间变化的参数。



2. 误差动力学模型

将等式(6)(7)变换如下:





y

¨

=

e

¨

y

+

V

x

ψ

˙

d

e

s

V

x

ψ

˙

y

˙

=

e

˙

y

V

x

e

ψ

(9)

\tag{9} \begin{aligned} &\ddot{y}=\ddot{e}_{y}+V_{x} \dot{\psi}_{d e s}-V_{x} \dot{\psi}\\ &\dot{y}=\dot{e}_{y}-V_{x} e_{\psi} \end{aligned}






















































y







¨



















=












e







¨

















y





















+





V











x



























ψ







˙


























d


es



























V











x


























ψ







˙
































y







˙



















=












e







˙

















y



























V











x




















e











ψ









































(



9



)








根据

车辆动力学模型

中的等式(14)





y

¨

=

2

C

α

f

+

2

C

α

r

m

V

x

y

˙

(

V

x

+

2

C

α

f

l

f

2

C

α

r

l

r

m

V

x

)

ψ

˙

+

2

C

α

f

m

δ

(10)

\tag{10} \ddot{y}=-\frac{2 C_{\alpha f}+2 C_{\alpha r}}{m V_{x}} \dot{y}-\left(V_{x}+\frac{2 C_{\alpha f} l_{f}-2 C_{\alpha r} l_{r}}{m V_{x}}\right) \dot{\psi}+\frac{2 C_{\alpha f}}{m} \delta













y







¨



















=






















m



V











x































2



C











α


f





















+




2



C











α


r












































y







˙






























(




V











x





















+















m



V











x































2



C











α


f




















l











f


























2



C











α


r




















l











r






































)













ψ







˙



















+



















m














2



C











α


f





































δ







(



10



)






将等式(4)(9)代入等式(10)得





e

¨

y

+

V

x

ψ

˙

d

e

s

V

x

(

e

˙

ψ

+

ψ

˙

des 

)

=

2

C

α

f

+

2

C

α

r

m

V

x

(

e

˙

y

V

x

e

ψ

)

(

V

x

+

2

C

α

f

l

f

2

C

α

r

l

r

m

V

x

)

(

e

˙

ψ

+

ψ

˙

des 

)

+

2

C

α

f

m

δ

(11)

\tag{11} \begin{aligned} \ddot{e}_{y}+V_{x} \dot{\psi}_{d e s}-V_{x} \left(\dot{e}_{\psi}+\dot{\psi}_{\text {des }}\right)&=-\frac{2 C_{\alpha f}+2 C_{\alpha r}}{m V_{x}} \left(\dot{e}_{y}-V_{x} e_{\psi}\right)-\\ &\left(V_{x}+\frac{2 C_{\alpha f} l_{f}-2 C_{\alpha r} l_{r}}{m V_{x}}\right) \left(\dot{e}_{\psi}+\dot{\psi}_{\text {des }}\right)+\frac{2 C_{\alpha f}}{m} \delta \end{aligned}
























e







¨

















y





















+





V











x



























ψ







˙


























d


es



























V











x























(











e







˙

















ψ





















+












ψ







˙



























des





















)





































=


















m



V











x































2



C











α


f





















+




2



C











α


r








































(










e







˙

















y



























V











x




















e











ψ



















)




















(




V











x





















+















m



V











x































2



C











α


f




















l











f


























2



C











α


r




















l











r






































)








(











e







˙

















ψ





















+












ψ







˙



























des





















)






+















m














2



C











α


f





































δ
























(



11



)








对等式(11)提取



e

¨

y

\ddot{e}_y














e







¨
















y





















​、



e

˙

y

\dot{e}_y














e







˙
















y





















​、



e

y

e_y







e










y





















​、



e

ψ

e_{\psi}







e











ψ


























e

˙

ψ

\dot e_{\psi}














e







˙

















ψ


























ψ

˙

d

e

s

\dot{\psi}_{des}














ψ







˙


























d


es






















​和



δ

\delta






δ





项得





e

¨

y

=

2

C

α

f

2

C

α

r

m

V

x

e

˙

y

+

2

C

α

f

+

2

C

α

r

m

e

ψ

+

2

C

α

f

l

f

+

2

C

α

r

l

r

m

V

x

e

˙

ψ

+

(

2

C

α

f

l

f

+

2

C

α

r

l

r

m

V

x

V

x

)

ψ

˙

des 

+

2

C

α

f

m

δ

(12)

\tag{12} \begin{gathered} \ddot{e}_{y}=\frac{-2 C_{\alpha f}-2 C_{\alpha r}}{m V_{x}} \dot{e}_{y}+\frac{2 C_{\alpha f}+2 C_{\alpha r}}{m} e_{\psi}+\frac{-2 C_{\alpha f} l_{f}+2 C_{\alpha r} l_{r}}{m V_{x}} \dot{e}_{\psi} \\ +\left(\frac{-2 C_{\alpha f} l_{f}+2 C_{\alpha r} l_{r}}{m V_{x}}-V_{x}\right) \dot{\psi}_{\text {des }}+\frac{2 C_{\alpha f}}{m} \delta \end{gathered}
























e







¨

















y





















=















m



V











x


































2



C











α


f


























2



C











α


r













































e







˙

















y





















+















m














2



C











α


f





















+




2



C











α


r






































e











ψ





















+















m



V











x


































2



C











α


f




















l











f





















+




2



C











α


r




















l











r













































e







˙

















ψ

























+






(














m



V











x


































2



C











α


f




















l











f





















+




2



C











α


r




















l











r













































V











x




















)














ψ







˙



























des






















+















m














2



C











α


f





































δ
























(



12



)








整理成矩阵形式为





d

d

t

e

˙

y

=

[

0

2

C

α

f

+

2

C

α

r

r

m

V

x

2

C

α

f

+

2

C

α

r

m

2

C

α

f

l

f

+

2

C

α

r

l

r

m

V

x

]

[

e

y

e

˙

y

e

ψ

e

˙

ψ

]

+

(

2

C

α

f

l

f

+

2

C

α

r

l

r

m

V

x

V

x

)

ψ

˙

d

e

s

+

2

C

α

f

m

δ

(13)

\tag{13} \frac{\mathrm{d}}{\mathrm{d} t} \dot{e}_{y}=\left[\begin{array}{llll}0 & -\frac{2 C_{\alpha f}+2 C_{\alpha r} r}{m V_{x}} & \frac{2 C_{\alpha f}+2 C_{\alpha r}}{m} & \frac{-2 C_{\alpha f} l_{f}+2 C_{\alpha r} l_{r}}{m V_{x}}\end{array}\right]\left[\begin{array}{c}e_{y} \\ \dot{e}_{y} \\ e_{\psi} \\ \dot{e}_{\psi}\end{array}\right]+\\ \left(\frac{-2 C_{\alpha f} l_{f}+2 C_{\alpha r} l_{r}}{m V_{x}}-V_{x}\right) \dot{\psi}_{d e s}+\frac{2 C_{\alpha f}}{m} \delta

















d


t














d




























e







˙

















y





















=










[















0












































m



V











x

































2



C











α


f



















+


2



C











α


r



















r




























































m
















2



C











α


f



















+


2



C











α


r













































































m



V











x




































2



C











α


f




















l











f



















+


2



C











α


r




















l











r


























































]














































e











y

































e







˙

















y


























e











ψ

































e







˙

















ψ



































































+










(














m



V











x


































2



C











α


f




















l











f





















+




2



C











α


r




















l











r













































V











x




















)














ψ







˙


























d


es





















+



















m














2



C











α


f





































δ







(



13



)






同理可得,根据

车辆动力学模型

中的等式(17)





ψ

¨

=

2

l

f

C

α

f

2

l

r

C

α

r

I

z

v

x

y

˙

2

l

f

2

C

α

f

+

2

l

r

2

C

α

r

I

z

v

x

ψ

˙

+

2

l

f

C

α

f

I

z

δ

(14)

\tag{14} \ddot{\psi}=-\frac{2 l_{f} C_{\alpha f}-2 l_{r} C_{\alpha r}}{I_{z} v_{x}} \dot{y}-\frac{2 l_{f}{ }^{2} C_{\alpha f}+2 l_{r}{ }^{2} C_{\alpha r}}{I_{z} v_{x}} \dot{\psi}+\frac{2 l_{f} C_{\alpha f}}{I_{z}} \delta













ψ







¨



















=























I











z




















v











x































2



l











f




















C











α


f


























2



l











r




















C











α


r












































y







˙








































I











z




















v











x































2



l











f































2











C











α


f





















+




2



l











r































2











C











α


r












































ψ







˙



















+




















I











z































2



l











f




















C











α


f





































δ







(



14



)






将等式(4)(5)(9)代入等式(14),得





e

¨

ψ

+

ψ

¨

des 

=

2

l

f

C

α

f

2

l

r

C

α

r

I

z

V

x

(

e

˙

y

V

x

e

ψ

)

2

l

f

2

C

α

f

+

2

l

r

2

C

α

r

I

z

V

x

(

e

˙

ψ

+

ψ

˙

des 

)

+

2

l

f

C

α

f

I

z

δ

(15)

\tag{15} \begin{aligned} \ddot{e}_{\psi}+\ddot{\psi}_{\text {des }}=-\frac{2 l_{f} C_{\alpha f}-2 l_{r} C_{\alpha r}}{I_{z} V_{x}}\left(\dot{e}_{y}-V_{x} e_{\psi}\right) -\frac{2 l_{f}{ }^{2} C_{\alpha f}+2 l_{r}{ }^{2} C_{\alpha r}}{I_{z} V_{x}} \left(\dot{e}_{\psi}+\dot{\psi}_{\text {des }}\right)+\frac{2 l_{f} C_{\alpha f}}{I_{z}} \delta \end{aligned}
























e







¨

















ψ





















+












ψ







¨



























des






















=



















I











z




















V











x































2



l











f




















C











α


f


























2



l











r




















C











α


r








































(










e







˙

















y



























V











x




















e











ψ



















)






















I











z




















V











x































2



l











f































2











C











α


f





















+




2



l











r































2











C











α


r









































(











e







˙

















ψ





















+












ψ







˙



























des





















)






+
















I











z































2



l











f




















C











α


f





































δ
























(



15



)






对等式(15)提取



e

˙

y

\dot{e}_y














e







˙
















y





















​、



e

y

e_y







e










y





















​、



e

ψ

e_{\psi}







e











ψ


























e

¨

ψ

\ddot{e}_{\psi}














e







¨

















ψ






















​、



e

˙

ψ

\dot e_{\psi}














e







˙

















ψ


























ψ

˙

d

e

s

\dot{\psi}_{des}














ψ







˙


























d


es






















​和



δ

\delta






δ





项得





e

¨

ψ

=

2

l

f

C

α

f

2

l

r

C

α

r

I

z

V

x

e

˙

y

+

2

l

f

C

α

f

2

l

r

C

α

r

I

z

e

ψ

2

l

f

2

C

α

f

+

2

l

r

2

C

α

r

I

z

V

x

e

˙

ψ

2

l

f

2

C

α

f

+

2

l

r

2

C

α

r

I

z

V

x

ψ

˙

d

e

s

+

2

l

f

C

α

f

I

z

δ

ψ

¨

d

e

s

(16)

\tag{16} \begin{gathered} \ddot{e}_{\psi}=-\frac{2 l_{f} C_{\alpha f}-2 l_{r} C_{\alpha r}}{I_{z} V_{x}} \dot{e}_{y}+\frac{2 l_{f} C_{\alpha f}-2 l_{r} C_{\alpha r}}{I_{z}} e_{\psi} \\ -\frac{2 l_{f}{ }^{2} C_{\alpha f}+2 l_{r}{ }^{2} C_{\alpha r}}{I_{z} V_{x}} \dot{e}_{\psi}-\frac{2 l_{f}{ }^{2} C_{\alpha f}+2 l_{r}{ }^{2} C_{\alpha r}}{I_{z} V_{x}} \dot{\psi}_{d e s}+\frac{2 l_{f} C_{\alpha f}}{I_{z}} \delta-\ddot{\psi}_{d e s} \end{gathered}
























e







¨

















ψ





















=



















I











z




















V











x































2



l











f




















C











α


f


























2



l











r




















C











α


r













































e







˙

















y





















+
















I











z































2



l











f




















C











α


f


























2



l











r




















C











α


r






































e











ψ








































I











z




















V











x































2



l











f































2











C











α


f





















+




2



l











r































2











C











α


r













































e







˙

















ψ






































I











z




















V











x































2



l











f































2











C











α


f





















+




2



l











r































2











C











α


r













































ψ







˙


























d


es





















+
















I











z































2



l











f




















C











α


f





































δ

















ψ







¨


























d


es









































(



16



)








由于上述假设为线性时不变系统



(

L

T

1

)

(

V

˙

x

=

0

)

(L T 1)\left(\dot{V}_{x}=0\right)






(


L


T


1


)






(











V







˙

















x





















=




0



)







,故



ψ

¨

d

e

s

=

V

˙

x

R

=

0

\ddot{\psi}_{d e s}=\frac{\dot{V}_{x}}{R}=0














ψ







¨


























d


es





















=




















R
























V







˙

















x








































=








0





,将上述等式整理成矩阵形式得





d

d

t

e

˙

ψ

=

[

0

2

l

f

C

α

f

2

l

r

C

α

r

I

z

V

x

2

l

f

C

α

f

2

l

r

C

α

r

I

z

2

l

f

2

C

α

f

+

2

l

r

2

C

α

r

I

z

V

x

]

[

e

y

e

˙

y

e

ψ

e

˙

ψ

]

2

l

f

2

C

α

f

+

2

l

r

2

C

α

r

I

z

V

x

ψ

˙

d

e

s

+

2

l

f

C

α

f

I

z

δ

(17)

\tag{17} \begin{aligned} \frac{\mathrm{d}}{\mathrm{d} t} \dot{e}_{\psi}=&\left[\begin{array}{llll} 0 & -\frac{2 l_{f} C_{\alpha f}-2 l_{r} C_{\alpha r}}{I_{z} V_{x}} & \frac{2 l_{f} C_{\alpha f}-2 l_{r} C_{\alpha r}}{I_{z}} & -\frac{2 l_{f}{ }^{2} C_{\alpha f}+2 l_{r}{ }^{2} C_{\alpha r}}{I_{z} V_{x}} \end{array}\right]\left[\begin{array}{c} e_{y} \\ \dot{e}_{y} \\ e_{\psi} \\ \dot{e}_{\psi} \end{array}\right] \\ &-\frac{2 l_{f}{ }^{2} C_{\alpha f}+2 l_{r}{ }^{2} C_{\alpha r}}{I_{z} V_{x}} \dot{\psi}_{d e s}+\frac{2 l_{f} C_{\alpha f}}{I_{z}} \delta \end{aligned}



























d


t














d




























e







˙

















ψ





















=





































[















0













































I











z




















V











x

































2



l











f




















C











α


f






















2



l











r




















C











α


r














































































I











z

































2



l











f




















C











α


f






















2



l











r




















C











α


r

















































































I











z




















V











x

































2



l











f































2











C











α


f



















+


2



l











r































2











C











α


r


























































]














































e











y

































e







˙

















y


























e











ψ

































e







˙

















ψ




























































































I











z




















V











x































2



l











f































2











C











α


f





















+




2



l











r































2











C











α


r













































ψ







˙


























d


es





















+
















I











z































2



l











f




















C











α


f





































δ
























(



17



)








根据等式(13)和(17),基于跟踪误差变量的状态空间模型表示为





d

d

t

[

e

y

e

˙

y

e

ψ

e

˙

ψ

]

=

[

0

1

0

0

0

2

C

α

f

+

2

C

α

r

m

V

x

2

C

α

f

+

2

C

α

r

m

2

C

α

f

l

f

+

2

C

α

r

l

r

m

V

x

0

0

0

1

0

2

l

f

C

α

f

2

l

r

C

α

r

I

z

V

x

2

l

f

C

α

f

2

l

r

C

α

r

I

z

2

l

f

2

C

α

f

+

2

l

r

2

C

α

r

I

z

V

x

]

[

e

y

e

˙

y

e

ψ

e

˙

ψ

]

+

[

0

2

C

α

f

m

0

2

l

f

C

α

f

I

z

]

δ

+

[

0

2

C

α

f

l

f

+

2

C

α

r

l

r

m

V

x

V

x

0

2

l

f

2

C

α

f

+

2

l

r

2

C

α

r

I

z

V

x

]

ψ

˙

d

e

s

(18)

\tag{18} \begin{aligned} \frac{\mathrm{d}}{\mathrm{d} t}\left[\begin{array}{l} e_{y} \\ \dot{e}_{y} \\ e_{\psi} \\ \dot{e}_{\psi} \end{array}\right]=& {\left[\begin{array}{cccc} 0 & 1 & 0 & 0 \\ 0 & -\frac{2 C_{\alpha f}+2 C_{\alpha r}}{m V_{x}} & \frac{2 C_{\alpha f}+2 C_{\alpha r}}{m} & \frac{-2 C_{\alpha f} l_{f}+2 C_{\alpha r} l_{r}}{m V_{x}} \\ 0 & 0 & 0 & 1 \\ 0 & -\frac{2 l_{f} C_{\alpha f}-2 l_{r} C_{\alpha r}}{I_{z} V_{x}} & \frac{2 l_{f} C_{\alpha f}-2 l_{r} C_{\alpha r}}{I_{z}} & -\frac{2 l_{f}^{2} C_{\alpha f}+2 l_{r}{ }^{2} C_{\alpha r}}{I_{z} V_{x}} \end{array}\right]\left[\begin{array}{l} e_{y} \\ \dot{e}_{y} \\ e_{\psi} \\ \dot{e}_{\psi} \end{array}\right] } \\ &+\left[\begin{array}{c} 0 \\ \frac{2 C_{\alpha f}}{m} \\ 0 \\ \frac{2 l_{f} C_{\alpha f}}{I_{z}} \end{array}\right] \delta+\left[\begin{array}{c} 0\\ \frac{-2 C_{\alpha f} l_{f}+2 C_{\alpha r} l_{r}}{m V_{x}}-V_{x} \\ 0\\ -\frac{2 l_{f}^{2} C_{\alpha f}+2 l_{r}{ }^{2} C_{\alpha r}}{I_{z} V_{x}} \end{array}\right]\dot\psi_{des} \end{aligned}



























d


t














d






























































e











y

































e







˙

















y


























e











ψ

































e







˙

















ψ



































































=









































































0








0








0








0





























1























m



V











x

































2



C











α


f



















+


2



C











α


r












































0
























I











z




















V











x

































2



l











f




















C











α


f






















2



l











r




















C











α


r

































































0




















m
















2



C











α


f



















+


2



C











α


r












































0





















I











z

































2



l











f




















C











α


f






















2



l











r




















C











α


r

































































0




















m



V











x




































2



C











α


f




















l











f



















+


2



C











α


r




















l











r












































1
























I











z




















V











x

































2



l











f










2




















C











α


f



















+


2



l











r































2











C











α


r






























































































































e











y

































e







˙

















y


























e











ψ

































e







˙

















ψ












































































+











































0




















m
















2



C











α


f












































0





















I











z

































2



l











f




















C











α


f






















































































δ




+











































0




















m



V











x




































2



C











α


f




















l











f



















+


2



C











α


r




















l











r














































V











x

























0
























I











z




















V











x

































2



l











f










2




















C











α


f



















+


2



l











r































2











C











α


r






























































































ψ







˙


























d


es









































(



18



)






写成一般形式,状态空间表达式如下:





X

˙

=

A

X

+

B

1

δ

+

B

2

ψ

˙

des 

(19)

\tag{19} \dot{X}=A X+B_{1} \delta+B_{2} \dot{\psi}_{\text {des }}













X







˙










=








A


X




+









B











1



















δ




+









B











2



























ψ







˙



























des

























(



19



)






在使用时,我们一般会忽略



B

2

ψ

˙

des 

B_{2} \dot{\psi}_{\text {des }}







B











2



























ψ







˙



























des























, 然后将状态方程离散化,便于实现。即:





X

t

=

X

t

1

+

A

X

t

1

Δ

t

+

B

1

δ

Δ

t

=

(

I

+

A

Δ

t

)

X

t

1

+

B

1

δ

Δ

t

=

A

ˉ

X

t

1

+

B

ˉ

δ

(20)

\tag{20} X_t=X_{t-1}+A X_{t-1}\Delta t+B_{1} \delta\Delta t=(I+A\Delta t)X_{t-1}+B_{1} \delta\Delta t = \bar{A}X_{t-1}+\bar{B}\delta







X










t




















=









X











t





1





















+








A



X











t





1



















Δ


t




+









B











1



















δ


Δ


t




=








(


I




+








A


Δ


t


)



X











t





1





















+









B











1



















δ


Δ


t




=















A







ˉ









X











t





1





















+















B







ˉ








δ







(



20



)








其中





A

ˉ

=

I

+

A

Δ

t

     

(

I

为单位矩阵

)

B

ˉ

=

B

1

Δ

t

\begin{aligned} \bar{A} &= I+A\Delta t ~~~~~(I为单位矩阵)\\ \bar{B} &= B_{1}\Delta t \end{aligned}























A







ˉ





















B







ˉ



































=




I




+




A


Δ


t












(


I


为单位矩阵


)












=





B











1



















Δ


t






















另外,如果考虑路面坡度角(road bank angle)



ϕ

\phi






ϕ





(定义可参考

前文动力学模型

),则等式(18)变为





d

d

t

[

e

y

e

˙

y

e

ψ

e

˙

ψ

]

=

[

0

1

0

0

0

2

C

α

f

+

2

C

α

r

m

V

x

2

C

α

f

+

2

C

α

r

m

2

C

α

f

l

f

+

2

C

α

r

l

r

m

V

x

0

0

0

1

0

2

l

f

C

α

f

2

l

r

C

α

r

I

z

V

x

2

l

f

C

α

f

2

l

r

C

α

r

I

z

2

l

f

2

C

α

f

+

2

l

r

2

C

α

r

I

z

V

x

]

[

e

y

e

˙

y

e

ψ

e

˙

ψ

]

+

[

0

2

C

α

f

m

0

2

l

f

C

α

f

I

z

]

δ

+

[

0

2

C

α

f

l

f

+

2

C

α

r

l

r

m

V

x

V

x

0

2

l

f

2

C

α

f

+

2

l

r

2

C

α

r

I

z

V

x

]

ψ

˙

d

e

s

+

[

0

g

0

0

]

sin

ϕ

(21)

\tag{21} \begin{aligned} \frac{\mathrm{d}}{\mathrm{d} t}\left[\begin{array}{l} e_{y} \\ \dot{e}_{y} \\ e_{\psi} \\ \dot{e}_{\psi} \end{array}\right]=& {\left[\begin{array}{cccc} 0 & 1 & 0 & 0 \\ 0 & -\frac{2 C_{\alpha f}+2 C_{\alpha r}}{m V_{x}} & \frac{2 C_{\alpha f}+2 C_{\alpha r}}{m} & \frac{-2 C_{\alpha f} l_{f}+2 C_{\alpha r} l_{r}}{m V_{x}} \\ 0 & 0 & 0 & 1 \\ 0 & -\frac{2 l_{f} C_{\alpha f}-2 l_{r} C_{\alpha r}}{I_{z} V_{x}} & \frac{2 l_{f} C_{\alpha f}-2 l_{r} C_{\alpha r}}{I_{z}} & -\frac{2 l_{f}^{2} C_{\alpha f}+2 l_{r}{ }^{2} C_{\alpha r}}{I_{z} V_{x}} \end{array}\right]\left[\begin{array}{l} e_{y} \\ \dot{e}_{y} \\ e_{\psi} \\ \dot{e}_{\psi} \end{array}\right] } \\ &+\left[\begin{array}{c} 0 \\ \frac{2 C_{\alpha f}}{m} \\ 0 \\ \frac{2 l_{f} C_{\alpha f}}{I_{z}} \end{array}\right] \delta+\left[\begin{array}{c} 0\\ \frac{-2 C_{\alpha f} l_{f}+2 C_{\alpha r} l_{r}}{m V_{x}}-V_{x} \\ 0\\ -\frac{2 l_{f}^{2} C_{\alpha f}+2 l_{r}{ }^{2} C_{\alpha r}}{I_{z} V_{x}} \end{array}\right]\dot\psi_{des}+\left[\begin{array}{c} 0 \\ g \\ 0 \\ 0 \end{array}\right] \sin{\phi} \end{aligned}



























d


t














d






























































e











y

































e







˙

















y


























e











ψ

































e







˙

















ψ



































































=









































































0








0








0








0





























1























m



V











x

































2



C











α


f



















+


2



C











α


r












































0
























I











z




















V











x

































2



l











f




















C











α


f






















2



l











r




















C











α


r

































































0




















m
















2



C











α


f



















+


2



C











α


r












































0





















I











z

































2



l











f




















C











α


f






















2



l











r




















C











α


r

































































0




















m



V











x




































2



C











α


f




















l











f



















+


2



C











α


r




















l











r












































1
























I











z




















V











x

































2



l











f










2




















C











α


f



















+


2



l











r































2











C











α


r






























































































































e











y

































e







˙

















y


























e











ψ

































e







˙

















ψ












































































+











































0




















m
















2



C











α


f












































0





















I











z

































2



l











f




















C











α


f






















































































δ




+











































0




















m



V











x




































2



C











α


f




















l











f



















+


2



C











α


r




















l











r














































V











x

























0
























I











z




















V











x

































2



l











f










2




















C











α


f



















+


2



l











r































2











C











α


r






























































































ψ







˙


























d


es





















+











































0








g








0








0


















































sin





ϕ

























(



21



)








3. python 实现

根据公式(18),我们可以使用

numpy

实现如下代码:

import numpy as np

class LateralErrorModel:
    """
    This model describes the lateral motion of a vehicle and its response to various inputs.

    Parameters:
        self.m (float): Mass of the vehicle (kg).
        self.Vx (float): Longitudinal velocity (self.m/s).
        self.C_alpha_f (float): Front tire cornering stiffness (N/rad).
        self.C_alpha_r (float): Rear tire cornering stiffness (N/rad).
        self.l_f (float): Distance from the vehicle's center of mass to the front axle (self.m).
        self.l_r (float): Distance from the vehicle's center of mass to the rear axle (self.m).
        self.I_z (float): Moment of inertia about the vertical axis (kg self.m^2).
        self.g (float): Acceleration due to gravity (self.m/s^2).
    """
    def __init__(self, m, Vx, C_alpha_f, C_alpha_r, l_f, l_r, I_z, g):
        self.m = m
        self.Vx = Vx
        self.C_alpha_f = C_alpha_f
        self.C_alpha_r = C_alpha_r
        self.l_f = l_f
        self.l_r = l_r
        self.I_z = I_z
        self.g = g
        
    def GenerateStateSpace(self):
        A = np.array([[0, 1, 0, 0],
                           [0, -(2*self.C_alpha_f + 2*self.C_alpha_r) / (self.m * self.Vx), (2*self.C_alpha_f + 2*self.C_alpha_r) / self.m,
                            (-2*self.C_alpha_f*self.l_f + 2*self.C_alpha_r*self.l_r) / (self.m * self.Vx)],
                           [0, 0, 0, 1],
                           [0, -(2*self.l_f*self.C_alpha_f - 2*self.l_r*self.C_alpha_r) / (self.I_z * self.Vx),
                            (2*self.l_f*self.C_alpha_f - 2*self.l_r*self.C_alpha_r) / self.I_z,
                            (-2*self.l_f**2*self.C_alpha_f + 2*self.l_r**2*self.C_alpha_r) / (self.I_z * self.Vx)]])
        
        B = np.array([[0],
                           [2 * self.C_alpha_f / self.m],
                           [0],
                           [2 * self.l_f * self.C_alpha_f / self.I_z]])
        
        C = np.array([[0],
                           [(-2*self.C_alpha_f*self.l_f + 2*self.C_alpha_r*self.l_r) / (self.m * self.Vx) - self.Vx],
                           [0],
                           [(-2*self.l_f**2*self.C_alpha_f + 2*self.l_r**2*self.C_alpha_r) / (self.I_z * self.Vx)]])
        
        D = np.array([[0],
                           [self.g],
                           [0],
                           [0]])
        return A,B,C,D
    def ComputeStateDerivative(self, state, delta, psi_des, phi):
        """
        Computes the derivative of the state vector using the lateral error dynamics model.

        Parameters:
            state (numpy.ndarray): The current state vector [e_y, e_y_dot, e_psi, e_psi_dot].
            delta (float): The steering input.
            psi_des (float): The desired yaw rate input.
            phi (float): The roll angle input.

        Returns:
            numpy.ndarray: The derivative of the state vector [e_y_dot, e_y_ddot, e_psi_dot, e_psi_ddot].
        """
        A,B,C,D=self.GenerateStateSpace()
        state_dot = np.dot(A, state) + np.dot(B, delta) + np.dot(C, psi_des) + np.dot(D, np.sin(phi))
        return state_dot[:,0]
    def DiscreteStateSpace(self,dt):
        """
        Returns:
            discrete state space
        """
        A,B,C,D = self.GenerateStateSpace()
        I = np.eye(4)
        A_bar = I + A * dt
        B_bar = B*dt
        return A_bar,B_bar



例如我们使用如下参数:

model = LateralErrorModel(m=1000.0, Vx=20.0, C_alpha_f=10000.0, C_alpha_r=15000.0, l_f=1.5, l_r=1.0, I_z=3000.0, g=9.8)

# Initial conditions and inputs
initial_state = np.array([0.0, 0.0, 0.0, 0.0])
delta_input = 0.1
psi_des_input = 0.0
phi_input = 0.1
dt = 0.1
# Compute the derivative of the state using the model instance
state_derivative = model.ComputeStateDerivative(initial_state, delta_input, psi_des_input, phi_input)
A_bar, B_bar = model.DiscreteStateSpace(dt)
print("State derivative:", state_derivative)
print("A_bar: ", A_bar)
print("B_bar: ", B_bar)

最终得到状态转移:

State derivative: [0.         2.97836748    0.         1.        ]
A_bar:  [[1.    0.1   0.    0.   ]
 [0.    0.75  5.    0.   ]
 [0.    0.    1.    0.1  ]
 [0.    0.    0.    0.975]]
B_bar:  [[0.]
 [2.]
 [0.]
 [1.]]

完整代码文件可见

github仓库

.



版权声明:本文为weixin_42301220原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。