【自动驾驶】控制算法(三)轮胎侧偏与车辆动力学模型

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

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

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

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

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


文章目录

  • 引言
  • 一、运动学模型的不足
    • 1、实际应用中的问题
    • 2、运动学模型不适用高速情况的原因
  • 二、车辆动力学模型的必要性
    • 1、引入自然坐标系
    • 2、纵向控制与横向控制的解耦
    • 3、整体控制思路
  • 三、二自由度车辆动力学模型
    • 1、基本假设
    • 2、轮胎变形与侧偏特性
    • 3、侧偏角的计算
    • 4、车辆动力学模型最终形式
  • 四、侧偏刚度的符号选择与实际应用差异
    • 1、侧偏刚度相差两倍
    • 2、侧偏刚度相差负号
  • 五、总结
  • 参考资料


引言

  本篇博客是 自动驾驶控制算法 系列的第三节。内容整理自 B站知名up主 忠厚老实的老王 的视频,作为博主的学习笔记,分享给大家共同学习。

  本系列博客的第二节介绍了车辆的自行车模型,推导出了运动学方程,并且定义了一系列物理量,比如横摆角 φ \varphi φ、质心侧边角 β \beta β 以及三大坐标系。

  【自动驾驶】控制算法(二)三大坐标系与车辆运动学模型


一、运动学模型的不足

  理论上来说,有了运动学方程就可以做相应的控制算法。像龚建伟的《无人驾驶车辆模型预测控制》这本书里专门有一章讲以运动学模型作为基础做车辆控制。

1、实际应用中的问题

但实际上很少用运动学模型作为理论依据,原因如下:

  • 简化实在太多
  • 做了太多假设
  • 是非线性方程
  • 纵向速度 v v v 和方向盘转角 δ f \delta_f δf 耦合在一起,会增加计算量

  其实运动学方程更多用来做坐标变换,以及一个非常重要的公式,就是角速度和线速度间的关系,可以把它代入到运动学公式里,推导出:
φ ˙ = v tan ⁡ δ L φ ˙ = v R ⇒ 1 R = tan ⁡ δ L tan ⁡ δ = L R \dot{\varphi}=\frac{v\tan\delta}{L}\quad\dot{\varphi}=\frac{v}{R}\quad\Rightarrow\frac{1}{R}=\frac{\tan\delta}{L}\quad\tan\delta=\frac{L}{R} φ˙=Lvtanδφ˙=RvR1=Ltanδtanδ=RL  上述公式是近似相等的。

  严格来说, v v v 除以 R R R 应该等于航向角速度,即
φ ˙ + β ˙ = v R \dot{\varphi}+\dot{\beta}=\frac{v}{R} φ˙+β˙=Rv  但是因为运动学方程中, β ˙ \dot\beta β˙默认为 0 ,所以说运动学方程假设太多,只适用于低速情况,在高速情况下运动学方程就不再适用。

2、运动学模型不适用高速情况的原因

  最主要的原因是没有考虑到轮胎特性,在高速情况下,不能把轮胎看成完全刚性的轮胎,因为在低速情况下轮胎变形不大,可以近似为钢铁轮胎,而高速情况下轮胎变形比较大,所以会有很大误差。


二、车辆动力学模型的必要性

  动力学模型相比运动学模型的最大的区别是考虑轮胎特性,所以更准确。

  目前市面上大多数已经商业化的自动驾驶企业的算法基本都是以动力学模型为基础,很少用运动学模型,因为运动学模型简化太多,其实运动学方程只有 tan ⁡ δ = L R \tan\delta=\frac{L}{R} tanδ=RL 以及坐标变换时可能用得到,其他时候基本用不到。

  其实, tan ⁡ δ = L R \tan\delta=\frac{L}{R} tanδ=RL公式在高速情况下也比较准,因为和横摆角 φ \varphi φ 相比,质心侧偏角 β \beta β 一般都比较小,如果质心侧偏角 β \beta β 很大的话,车辆有侧翻的危险,一般不太可能发生这种情况。

1、引入自然坐标系

  本篇博客讲解车辆动力学模型,如果要做控制的话,有动力学方程还不够,还需要 Frenet 坐标系将纵向控制与横向控制解耦。

  下面来看 自然坐标系(Frenet 坐标系)
在这里插入图片描述

以切向向量 τ \tau τ 和法向向量 n n n 作为坐标系,那么
v ⃗ = d s d t a ⃗ τ = d 2 s d t 2 a n = v 2 R = v 2 tan ⁡ δ L \vec{v}=\frac{ds}{dt}\quad\vec{a}_{\tau}=\frac{d^{2}s}{dt^{2}}\quad a_{n}=\frac{v^{2}}{R}=\frac{v^{2}\tan \delta}{L} v =dtdsa τ=dt2d2san=Rv2=Lv2tanδ可以发现

  • s s s 只与 a τ a_\tau aτ 有关, a τ a_\tau aτ 经过积分两次可得到 s s s
  • a n a_n an v v v δ \delta δ 有关
  • v v v a τ a_\tau aτ 相关, a τ a_\tau aτ 与油门和刹车直接相关

  所以可以通过控制油门和刹车来控制 a τ a_\tau aτ ,然后通过 a τ a_\tau aτ 进行纵向控制,因此在纵向控制中,只需要管油门和刹车就可以,不用管方向盘。

2、纵向控制与横向控制的解耦

  在 Frenet 坐标系中,纵向控制可以解耦,但横向控制和 v v v δ \delta δ 有关,所以横向控制似乎依赖于纵向控制和方向盘。但是当纵向控制稳定后, v v v 变化一般不大,所以横向控制也就只和方向盘有关。

  可以和运动学模型作为类比:
v δ } ⇒ φ ˙ ⇒ φ v } ⇒ X ˙ Y ˙ } ⇒ X Y \left. \begin{array}{c} v\\ \delta\\ \end{array} \right\} \Rightarrow \left. \begin{array}{c} \dot{\varphi}\Rightarrow \varphi\\ v\\ \end{array} \right\} \Rightarrow \left. \begin{array}{c} \dot{X}\\ \dot{Y}\\ \end{array} \right\} \Rightarrow \begin{array}{c} \begin{array}{c} X\\ Y\\ \end{array}\\ \end{array} vδ}φ˙φv}X˙Y˙}XY  所以在运动学方程中,纵向控制和横向控制耦合在一起,没有办法分开。

  而 动力学方程 + Frenet坐标系,可以将纵向控制和横向控制直接分开,把纵向位移设为s,横向位移设为d,将纵向控制和横向控制解耦后,处理起来就会更加简单。

3、整体控制思路

  纵向控制比较简单,就是油门和刹车,和 a τ a_{\tau} aτ 直接相关:
a τ = d 2 s d t 2 a_{\tau}=\frac{d^{2}s}{dt^{2}} aτ=dt2d2s  横向控制和方向盘转角之间 d = f ( v , δ ) d=f(v,\delta) d=f(v,δ) 不是简单导数关系。

  在汽车理论中已经有比较成熟的关于方向盘转角和横向位移之间的动力学方程,但方程是以车身坐标系为参考系,所以汽车理论的知识不能直接用,必须经过坐标变换成自然坐标系才能用。

  首先在车身坐标系上建立关系 y = f ( v , δ ) y=f(v,\delta) y=f(v,δ),再建立关系 y = g ( d ) y=g(d) y=g(d),再通过联立得到 d = h ( v , δ ) d=h(v,\delta) d=h(v,δ) 的关系。

  • y = f ( v , δ ) y=f(v,\delta) y=f(v,δ) 是动力学方程,在汽车理论上可以找到公式。

  • y = g ( d ) y=g(d) y=g(d) 是坐标变换,就是将车身坐标系 ( x , y , x ˙ , y ˙ ) (x,y, \dot x ,\dot y) (x,y,x˙,y˙)变换到 Frenet 坐标系 ( s , d , s ˙ , d ˙ ) (s,d, \dot s, \dot d) (s,d,s˙,d˙)

  那么任务就非常明确了,本节讲解车身坐标系下车辆的动力学方程 y = f ( v , δ ) y=f(v,\delta) y=f(v,δ),下节讲解车身坐标系与 Frenet 坐标系之间的坐标变换。

  本篇博客介绍车辆动力学方程,即 y = f ( v , δ ) y=f(v,\delta) y=f(v,δ)。这一方程在汽车理论书籍中随处可见,理论成熟,看似简单,实则至关重要。其重要性在于,无人驾驶领域有许多非汽车专业背景的从业者,他们可能将这一方程视为一个固定的公式,直接套用。从严格意义上讲,这样并无大错,但车辆动力学方程中包含了许多细节,这些细节虽小,却至关重要。若对这些细节处理不当,可能导致严重后果。

  在上一篇博客中推荐了一些参考书籍,并指出这些书籍中存在诸多错误。这些错误的出现,正是因为作者们对这些细节不够重视,认为动力学方程书上都有,便直接采用,导致内容矛盾。这对初学者来说极为不利,容易使他们陷入自我否定的恶性循环,怀疑自己的能力,甚至放弃学习。

  通过本篇博客的学习,对车辆动力学方程进行深入细致的分析,使大家具备评价他人论文的能力,能够自行判断内容的正确与否。因此,尽管动力学方程简单且成熟,但它的重要性不容忽视,它让我们具备了评判他人著作的能力。我们一定要深入理解并掌握这一知识点。


三、二自由度车辆动力学模型

1、基本假设

本篇博客介绍最经典的二自由度车辆动力学模型,做了两个假设:

  • 前轮转角 δ f \delta_f δf 相对较小
  • 纵向速度 v x v_x vx 为常数

  注意坐标系都基于车身坐标系,所以 v x v_x vx 和 Frenet 坐标系中纵向控制的 v v v 不是一个东西。

  为什么说二自由度车辆中学方程最经典?因为它最简单,同时能抓住主要矛盾,用两个自由度模型算出来的结果和实际实验结果在不怎么极限和恶劣的环境下能达到比较高的精度。

  车其实是很复杂的系统,如果对汽车精确建模,所有关系都用流动力学来写微分方式的话,根本就不现实。而二自由度动力学模型经典就经典在用最少的自由度算出来的结果相对来说比较准确,能化繁为解。而且二自由度车辆动力学方程能完美契合到控制上,因为假设 v x v_x vx 是常数,也就是不管纵向控制,只管横向控制。而我们控制思路正好也是将纵向控制和横向控制分开控制,这样就完美契合。
  除了 2 2 2 自由度模型,还有 3 3 3 自由度的 7 7 7 自由度的,模型建的越来越复杂,当然算的也越来越精确,但是可能纵向控制和横向控制就混在一起了,没有办法分开,而二自由度模型完美的契合我们控制的思路。

  二自由度动力学方程就是应用牛顿第二定律进行受力分析,不过二自由度模型最重要的是考虑轮胎变形,所以下面先讲轮胎变形。

2、轮胎变形与侧偏特性

  轮胎变形在汽车领域中的专门术语叫 轮胎的侧偏特性,看下面的轮胎三视图:
在这里插入图片描述

  当轮胎装在车上时,地面给轮胎一个力 F F F,车也会给轮胎一个反作用力 F ′ F' F。但是轮胎相对钢铁来说比较软,所以受到力会变形成这样:
在这里插入图片描述

  它不是严格意义上的圆柱体,因为变形等效成圆台。

为什么圆柱有了这样的变形,就会等效成一个圆台呢?

  圆台转 180 ° 180° 180°,也就是前进 180 ° 180° 180°,它还是这样:
在这里插入图片描述

  这就符合轮胎的特性,轮胎转 180 ° 180° 180° 还是会受到这样的侧压力。

但是变成圆台有一个很麻烦的事情,圆台不能走直线,只能走圆弧,会导致一个什么样的一个结果呢?

  看下面的轮胎俯视图:
在这里插入图片描述

  本来轮胎按照 v v v 的方向直线前进, 但由于侧向力的作用,它不是圆柱,变成圆台了,所以实际上轮胎按照红色箭头方向走,存在一个侧偏角 α \alpha α,即轮胎实际速度 v v v 和轮胎横截面之间的夹角。

  定义一个新的物理量:侧偏刚度 C C C ,反映轮胎的软硬程度。侧偏刚度乘以侧偏角等于侧向力:
F = C α F=C\alpha F=Cα  力越大,轮胎变形越厉害,圆台就越斜,侧偏角也就越大,力除以侧偏角定义为侧偏刚度。

就像弹簧一样,弹簧的力越大,它的位移也就越大,力除以位移定义为弹簧刚度,那么对于轮胎也一样。

  注意,侧偏刚度一定是负数,因为坐标系都是右手系,看下面建立的右手系俯视图:
在这里插入图片描述

  侧向力 F F F 指向 y y y 轴负方向,所以负的侧向力会导致正的侧偏角。

   一般通过做轮胎实验得到侧偏刚度,侧偏刚度是一个比较难以估计准的参数,实际上就是把轮胎等效于一个特殊的弹簧,认为侧偏角和力呈线性关系,但实际上因为轮胎是橡胶,并不是理想弹簧,所以在比较极限的工况下,侧向力和侧偏角并不成正比例关系。而且更重要的一点是侧偏刚度和轮胎的垂向力息息相关。但是在比较平缓的工况,可以认为侧向力和侧偏角是线性关系,并且侧偏刚度是常数

  再看一下自行车模型:
在这里插入图片描述

  一般车辆后轮不转向,所以后轮方向和车辆轴线基本一样,但前轮可以转向。在质心处建立车身坐标系,前轮转角为 δ f \delta_f δf ,车辆质心到前轮的距离为 a a a,到后轮的距离为 b b b,两个轮子受到侧向力的作用,分别为 F y f F_{yf} Fyf F y r F_{yr} Fyr, 就是 frontrear 英文单词缩写前和后的意思。

  由于轮胎侧偏特性,轮胎有侧偏角,注意侧偏角永远和所受侧向力的方向相反,正的侧向力会得到负的侧偏角,质心速度和车轴线的夹角叫做 质心侧偏角。前轮和后轮的侧偏角分别为 α f \alpha_f αf α r \alpha_r αr,显然都是负的。

  受力分析,列出方程:
Σ F y = m a y ⇒ m a y = F y f cos ⁡ δ + F y r \Sigma F_y=ma_y\Rightarrow ma_y=F_{yf}\cos \delta +F_{yr} ΣFy=maymay=Fyfcosδ+Fyr  力矩方程: Σ M = I φ ¨ ⇒ F y f cos ⁡ δ ⋅ a − F y r b = I φ ¨ \Sigma M=I\ddot{\varphi}\Rightarrow F_{yf}\cos \delta \cdot a-F_{yr}b=I\ddot{\varphi} ΣM=Iφ¨FyfcosδaFyrb=Iφ¨  假设 δ \delta δ 比较小,那么 cos ⁡ δ ≈ 1 \cos\delta \approx1 cosδ1,代入化解,再把侧向力写成侧偏刚度乘以侧偏角的形式,可得到如下方程: m a y = F y f + F y r = C α f α f + C α r α r ma_y=F_{yf}+F_{yr}=C_{\alpha f}\alpha _f+C_{\alpha r}\alpha _r may=Fyf+Fyr=Cαfαf+Cαrαr I φ ¨ = F y f a − F y r b = a C α f α f − b C α r α r I\ddot{\varphi}=F_{yf}a-F_{yr}b=aC_{\alpha f}\alpha _f-bC_{\alpha r}\alpha _r Iφ¨=FyfaFyrb=aCαfαfbCαrαr

有人可能会觉得 cos ⁡ δ ≈ 1 \cos\delta \approx1 cosδ1 的近似真的可以接受吗?

  可以用 tan ⁡ δ = L R \tan\delta=\frac{L}{R} tanδ=RL 进行验证。车的轴距一般都是 3 m 3m 3m,在通常交通情况下,最小转弯半径差不多是 8 m 8m 8m ,所以 tan ⁡ δ = 3 8 \tan\delta=\frac{3}{8} tanδ=83,那么算出来 cos ⁡ δ ≈ 0.93 \cos \delta \approx 0.93 cosδ0.93,可以接受。

一般开车时:

  • 转直角弯时,转弯半径为 8 − 10 m 8-10m 810m
  • 变道时,转弯半径为 20 − 30 m 20-30m 2030m

  这样的话近似程度就相当高了,所以上述近似在通常情况下可以接受。

  得到这两个方程还是不太满意,我们希望找 a y a_y ay y y y 的关系,以及侧偏角 α f \alpha_f αf α r \alpha_r αr 的具体表达式,因为最终目的是希望通过前轮转角 δ f \delta_f δf 实现对横向位移 y y y 以及车辆横摆角 φ \varphi φ 的控制,那就需要找到前轮转角 δ f \delta_f δf y y y φ \varphi φ之间的具体关系。

  直接给出结果:
v y = y ˙ a y = y ¨ + v x φ ˙ v_{y}=\dot{y}\quad\quad a_y=\ddot{y}+v_{x}\dot{\varphi} vy=y˙ay=y¨+vxφ˙

为什么 a y a_y ay后面带个小尾巴?

  加速度是速度的导数,本质上是矢量关系,在这里是
a ⃗ = d v ⃗ d t = d ( v x e ⃗ x + v y e ⃗ y ) d t \vec{a}=\frac{d\vec{v}}{dt}=\frac{d(v_{x}\vec{e}_{x}+v_{y}\vec{e}_{y})}{dt} a =dtdv =dtd(vxe x+vye y)
  在直角坐标系下,单位基础量 e ⃗ x \vec{e}_{x} e x e ⃗ y \vec{e}_{y} e y 是常矢量,不会变,所以 e ⃗ ˙ x \dot {\vec{e}}_{x} e ˙x e ⃗ ˙ y \dot {\vec{e}}_{y} e ˙y 都是 0 0 0,所以
a ⃗ = d v x d t e ⃗ x + v x ⋅ d e ⃗ x d t + d v y d t e ⃗ y + v y ⋅ d e ⃗ y d t \vec{a}=\frac{dv_{x}}{dt}\vec{e}_{x}+v_{x}\cdot\frac{d\vec{e}_{x}}{dt}+\frac{dv_{y}}{dt}\vec{e}_{y}+v_y\cdot\frac{d\vec{e}_{y}}{dt} a =dtdvxe x+vxdtde x+dtdvye y+vydtde y  在直角坐标系下,由于 e ⃗ x \vec{e}_{x} e x e ⃗ y \vec{e}_{y} e y 都是常矢量,所以
a ⃗ = v ˙ x e ⃗ x + v ˙ y e ⃗ y \vec{a}=\dot v_{x}\vec{e}_{x}+\dot v_{y}\vec{e}_{y} a =v˙xe x+v˙ye y  所以 a y = v ˙ y a_{y}=\dot v_{y} ay=v˙y

  但在车身坐标系:
在这里插入图片描述

   e ⃗ x \vec{e}_{x} e x e ⃗ y \vec{e}_{y} e y 显然不是常矢量,所以 e ⃗ ˙ x \dot {\vec{e}}_{x} e ˙x e ⃗ ˙ y \dot {\vec{e}}_{y} e ˙y不等于0,所以加速度后面要带个小尾巴。

物理解释:车身坐标系不是惯性系。那个小尾巴其实就是惯性力,要把惯性力加上。

3、侧偏角的计算

  下面推导侧偏角的计算式,先看如下自行车模型:
在这里插入图片描述

  根据刚体运动学的速度合成与分解,把 v r v_r vr 移到质心,连接 v r v_r vr v v v 的矢量一定与车的轴线垂直,并且大小轮等于 φ ˙ b \dot \varphi b φ˙b。放大图如下:
在这里插入图片描述

  横着的蓝线长度 v x = v c o s β v_x =v cos\beta vx=vcosβ ,竖着的蓝线长度 φ ˙ b − v sin ⁡ β = φ ˙ b − v y \dot{\varphi}b-v\sin\beta=\dot{\varphi}b-v_y φ˙bvsinβ=φ˙bvy,那么
tan ⁡ α r = φ ˙ b − v y v x ≈ α r \tan\alpha_{r}=\frac{\dot{\varphi}b-v_{y}}{v_{x}}\approx\alpha_{r} tanαr=vxφ˙bvyαr因为 α r \alpha_{r} αr 是负的,所以要换过来:
α r = v y − φ ˙ b v x \alpha_{r}=\frac{v_{y}-\dot{\varphi}b}{v_{x}} αr=vxvyφ˙b 其中, v y v_y vy 是非常小的,但是 φ ˙ b \dot{\varphi}b φ˙b 一般比较大,所以能保证 α r \alpha_{r} αr 是个负值。

  正负号其实是非常重要的,因为只有坐标系确定之后,才能判断正负。我们所有坐标系都是右手系,对于轮胎,往左转是正的,往右边转是负的。

  对于前轮也一样,做运动的合成与分解:
在这里插入图片描述
  图中蓝色角为 θ \theta θ
tan ⁡ θ = φ ˙ a + v y v x \tan\theta=\frac{\dot{\varphi}a+v_y}{v_x} tanθ=vxφ˙a+vy  再回到自行车模型:
在这里插入图片描述
  绿色角是 θ \theta θ,绿色角上面的角是 α f \alpha_f αf,由于 α f \alpha_f αf 是负的,所以: α f = θ − δ = φ ˙ a + v y v x − δ \alpha_{f}=\theta-\delta=\frac{\dot{\varphi}a+v_{y}}{v_{x}}-\delta αf=θδ=vxφ˙a+vyδ

4、车辆动力学模型最终形式

  把侧偏角方程带到动力学的牛顿第二定律公式里,得到下面两个方程:
m a y = C α f α f + C α r α r ma_y=C_{\alpha f}\alpha _f+C_{\alpha r}\alpha _r may=Cαfαf+Cαrαr ⇒ m ( v y + v x φ ˙ ) = C α f ( φ ˙ a + v y v x − δ ) + C α r ( v y − φ ˙ b v x ) \Rightarrow m\left( v_y+v_x\dot{\varphi} \right) =C_{\alpha f}\left( \frac{\dot{\varphi}a+v_y}{v_x}-\delta \right) +C_{\alpha r}\left( \frac{v_y-\dot{\varphi}b}{v_x} \right) m(vy+vxφ˙)=Cαf(vxφ˙a+vyδ)+Cαr(vxvyφ˙b) I φ ¨ = a C α f α f − b C α r α r I\ddot{\varphi}=aC_{\alpha f}\alpha _f-bC_{\alpha r}\alpha _r Iφ¨=aCαfαfbCαrαr ⇒ I φ ¨ = a C α f ( φ ˙ a + v y v x − δ ) − b C α r ( v y − φ ˙ b v x ) \Rightarrow I\ddot{\varphi}=aC_{\alpha f}\left( \frac{\dot{\varphi}a+v_y}{v_x}-\delta \right) -bC_{\alpha r}\left( \frac{v_y-\dot{\varphi}b}{v_x} \right) Iφ¨=aCαf(vxφ˙a+vyδ)bCαr(vxvyφ˙b) v y v_y vy y ˙ \dot y y˙ 代替,代入得到:

在这里插入图片描述

其中, x = ( y ˙ φ ˙ ) , u = δ x=\left(\begin{array}{c}{\dot{y}}\\{\dot{\varphi}}\\\end{array}\right), u=\delta x=(y˙φ˙)u=δ 就是我们所要的控制方程:
X ˙ = A X + B u \dot X=AX+Bu X˙=AX+Bu  通过改变 δ \delta δ ,实现对 y ˙ \dot{y} y˙ φ ˙ \dot{\varphi} φ˙ 的控制。


四、侧偏刚度的符号选择与实际应用差异

  如果各位有百度 Apollo 的代码,或者有《车辆动力学及控制》这本书的话,可能会发现这里讲的控制方程和他们代码里或者书上写的控制方程不一样,差别在以下两点:

1、侧偏刚度相差两倍

  本篇博客只考虑了两个轮子,虽然是自行车模型,但实际的车辆并不是真的自行车,所以每个侧偏刚度 α \alpha α 都要乘以 2 2 2,相当于两个轮子合并在一起的自行车模型。

2、侧偏刚度相差负号

  除此之外其他都一样,这是为什么呢?前面也说过了,认为侧偏刚度是负的,一般的车辆工程的关于车辆动力学知识都认为侧偏刚度是负的,在汽车理论里就明确的写出了侧偏刚度永远是负的。
  但在阿波罗的代码或者在《车辆动力学及控制》这本书里,他们认为侧偏刚度是正的,所以相差一个负号,其实无论正和负,得到的结果都一样。

  大家可以根据自己的喜好来,博主比较喜欢侧偏刚度是负的,因为侧偏刚度是负的是汽车理论的知识,而且也和车辆动力学相关知识的坐标系能对得上,也比较符合物理认知逻辑。


五、总结

  本篇博客讲解了车辆动力学模型,下一篇博客讲解比较难的坐标变换,坐标变换是整个课程中最难也是最核心的一节,非常重要,因为只有会坐标变换才能将现在得到的基于车身坐标的控制方程转化到基于 Frenet 坐标系下的控制方程,而那个方程才是整个控制的核心。

  后续博客继续讲解自动驾驶控制算法系列,欢迎关注!


参考资料

  【基础】自动驾驶控制算法第三讲 轮胎侧偏与车辆动力学方程


后记:

🌟 感谢您耐心阅读这篇关于 轮胎侧偏与车辆动力学模型 的技术博客。 📚

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

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

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/871444.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

回收站的文件删除了怎么恢复?4个技巧轻松找回文件!

在日常使用电脑的过程中,回收站作为我们删除文件的临时存放地,扮演着重要的角色。然而,有时我们可能会不小心从回收站中删除了重要文件,导致数据丢失。面对这种情况,许多用户会感到焦虑和无助。但别担心,本…

白酒与素食:健康与美味的双重享受

在美食的世界里,白酒与素食的搭配仿佛是一场跨界的盛宴。豪迈白酒(HOMANLISM)的醇香与精致素食的清新,在不经意间交织出了一幅美妙的画卷,让人在品味中感受到健康与美味的双重享受。 素食,以其清淡、自然的…

CORS error 302 Found

CORS error && 302 Found 场景 单点登录认证:访问A系统,在B系统登录认证 此处代码为A系统 controller ResponseBodyGetMapping("/idp/loginCheck")public void loginCheck(HttpServletRequest request, HttpServletResponse httpR…

使用 nginx 搭建代理服务器(正向代理 https 网站)指南

写在前面 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站 文章目录 简介正向代理 简介ngx_http_proxy_connect_module 介绍 详细步骤包准备Linux 编译并安装 nginx修改 nginx 配置文件ngin…

【实现100个unity特效之24】使用ShaderGraph将图片转变为像素艺术

ShaderGraph连线图 效果 参考 https://www.youtube.com/watch?vBmhj7RgVDzc 完结 赠人玫瑰,手有余香!如果文章内容对你有所帮助,请不要吝啬你的点赞评论和关注,你的每一次支持都是我不断创作的最大动力。当然如果你发现了文章…

Postgres 超时 (Timeout) 详解

原文地址 https://www.bytebase.com/blog/postgres-timeout/ PostgreSQL 提供各种超时 (Timeout) 设置,通过控制某些进程的持续时间来帮助管理和优化数据库操作。这些超时对于确保系统的稳定性和性能至关重要,尤其是在高流量或复杂查询的环境中。让我们…

学习大数据DAY42 hive 分桶表

目录 分桶表 分桶表注意事项 hive 分桶表-创建分桶表 hive 排序关键字 hive 排序语句 上机练习 分桶表 分区提供一个隔离数据和优化查询的便利方式。不过,并非所有的数据集都可形 成合理的分区。对于一张表或者分区,Hive 可以进一步组织成桶&…

API容易被攻击,如何做好API安全

随着互联网技术的飞速发展和普及,网络安全问题日益严峻,API(应用程序接口)已成为网络攻击的常见载体之一。API作为不同系统之间数据传输的桥梁,其安全性直接影响到整个系统的稳定性和数据的安全性。 根据Imperva发布的…

【区块链+商贸零售】消费券 2.0 应用方案 | FISCO BCOS应用案例

方案基于FISCO BCOS区块链技术与中间件平台WeBASE,实现新一代消费券安全精准高效发放,实现消费激励, 促进消费循环。同时,方案将用户消费数据上链,实现账本记录与管理,同时加密机制保证了数据安全性。

【解决】Python | ModuleNotFoundError: No module named codecs

【解决】Python | ModuleNotFoundError: No module named codecs 在Python开发中,ModuleNotFoundError: No module named codecs 是一个相对罕见的错误,因为 codecs 是Python标准库中的一个模块,通常应该总是可用的。然而,当你遇到…

【kubernetes】k8s配置资源管理

一、ConfigMap资源配置 ConfigMap保存的是不需要加密配置的信息 ConfigMap 功能在 Kubernetes1.2 版本中引入,许多应用程序会从配置文件、命令行参数或环境变量中读取配置信息。ConfigMap API 给我们提供了向容器中注入配置信息的机制,ConfigMap 可以被…

avue-crud 自定义搜索项 插槽

加上 -search 就可以自定义查询项了

43.x86游戏实战-XXX寻找吸怪坐标

免责声明:内容仅供学习参考,请合法利用知识,禁止进行违法犯罪活动! 本次游戏没法给 内容参考于:微尘网络安全 工具下载: 链接:https://pan.baidu.com/s/1rEEJnt85npn7N38Ai0_F2Q?pwd6tw3 提…

如何在 FastReport .NET 中构建和安装 Postgres 插件

FastReport .NET 是一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案。 功能非常丰富,功能广泛。今天我们将介绍如何使用报表设计器的 FastReport 插件连接数据库。 FastReport .NET 是适用于.NET Core 3,ASP.NET,MVC和Windows窗体…

SQL注入(cookie、base64、dnslog外带、搜索型注入)

目录 COOKIE注入 BASE64注入 DNSLOG注入—注入判断 什么是泛解析? UNC路径 网上邻居 LOAD_FILE函数 搜索型注入—注入判断 本文所使用的sql注入靶场为sqli-labs-master,靶场资源文件已上传,如有需要请前往主页或以下链接下载 信安必备…

视频直播平台选择服务器需要注意什么?

在当今数字化时代,直播平台已成为连接内容创作者与广大观众的重要桥梁。为了确保直播的流畅性、稳定性和安全性,服务器的选择与配置显得尤为重要。以下是搭建直播平台时,服务器所需具备的关键因素。 一、高性能与可扩展性 直播平台需要处理大…

C++第十二弹 -- STL之list模拟实现

文章索引 前言模拟实现list1. ListNode节点类2. list的迭代器封装3. 反向迭代器4. list类的模拟实现测试代码 list的反向迭代器总结 前言 通过模拟实现可以让我们更加深刻的理解C底层STL的实现逻辑, 本篇就对list的底层进行模拟实现. 博客主页: 酷酷学!!! 点击关注 共同进步!…

详解语义安全(semantically secure)

目录 一. 引入 二. 密文与明文 2.1 通俗性理解 2.2 定理 2.3 定理理解 三. 语义安全的第一个版本 3.1 基本理解 3.2 定理 3.3 定理理解 四. 语义安全的第二个版本 4.1 直观解释 4.2 小结 一. 引入 密码学中安全加密要求:敌手(adversary&…

Git使用方法(三)---简洁版上传git代码

1 默认已经装了sshWindows下安装SSH详细介绍-CSDN博客 2 配置链接github的SSH秘钥 1 我的.ssh路径 2 进入路径cd .ssh 文件 3 生成密钥对 ssh-keygen -t rsa -b 4096 (-t 秘钥类型 -b 生成大小) 输入完会出现 Enter file in which to save the key (/c/Users/Administrator/…

【Android】adb devices 出现devices offline的问题

1 问题 adb devices 出现devices offline 2 解决方法 adb kill-serveradb start-server 然后,adb devices查看。 adb devices 问题解决啦。。。💛 💙 💜 ❤️ 💚 💛 💙 💜 ❤️…