写在前面:
🌟 欢迎光临 清流君 的博客小天地,这里是我分享技术与心得的温馨角落 。📝
个人主页 :清流君_CSDN博客,期待与您一同探索 移动机器人 领域的无限可能。🔍 本文系 清流君 原创之作,荣幸在CSDN首发🐒
若您觉得内容有价值,还请评论告知一声,以便更多人受益。
转载请注明出处,尊重原创,从我做起。👍 点赞、评论、收藏 ,三连走一波,让我们一起养成好习惯😜
在这里,您将收获的不只是技术干货 ,还有思维的火花!📚 系列专栏:【运动控制】系列,带您深入浅出,领略控制之美。🖊
愿我的分享能为您带来启迪,如有不足,敬请指正,让我们共同学习,交流进步!🎭 人生如戏,我们并非能选择舞台和剧本,但我们可以选择如何演绎 🌟
感谢您的支持与关注,让我们一起在知识的海洋中砥砺前行~~~
文章目录
引言
本篇博客是 自动驾驶控制算法 系列的第三节。内容整理自 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δφ˙=Rv⇒R1=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, 就是 front
和 rear
英文单词缩写前和后的意思。
由于轮胎侧偏特性,轮胎有侧偏角,注意侧偏角永远和所受侧向力的方向相反,正的侧向力会得到负的侧偏角,质心速度和车轴线的夹角叫做 质心侧偏角 。前轮和后轮的侧偏角分别为 α 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=may⇒may=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δ⋅a−Fyrb=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φ¨=Fyfa−Fyrb=aCαfαf−bCα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 8−10m
- 变道时,转弯半径为 20 − 30 m 20-30m 20−30m
这样的话近似程度就相当高了,所以上述近似在通常情况下可以接受。
得到这两个方程还是不太满意,我们希望找 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+vx⋅dtde x+dtdvye y+vy⋅dtde 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 φ˙b−vsinβ=φ˙b−vy,那么
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φ˙b−vy≈α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αf−bCα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 坐标系下的控制方程,而那个方程才是整个控制的核心。
后续博客继续讲解自动驾驶控制算法系列,欢迎关注!
参考资料
后记:
🌟 感谢您耐心阅读这篇关于 轮胎侧偏与车辆动力学模型 的技术博客。 📚
🎯 如果您觉得这篇博客对您有所帮助,请不要吝啬您的点赞和评论 📢
🌟您的支持是我继续创作的动力。同时,别忘了收藏本篇博客 ,以便日后随时查阅。🚀
🚗 让我们一起期待更多的技术分享,共同探索移动机器人 的无限可能!💡
🎭感谢您的支持与关注,让我们一起在知识的海洋中砥砺前行 🚀