【自动驾驶】控制算法(九)深度解析车辆纵向控制 | 从算法基础到 Carsim 仿真实践

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

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

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

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

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


文章目录

  • 引言
  • 一、纵向控制简介
  • 二、油门与刹车的控制逻辑
    • 2.1 横向控制与纵向控制的直观性比较
    • 2.2 油门与刹车对车辆速度的影响
    • 2.3 功率、扭矩和转速的关系
  • 三、汽车基础知识中的发动机与变速器
    • 3.1 发动机特性与效率
    • 3.2 变速器的作用与类型
  • 四、电机与发动机的对比
    • 4.1 发动机扭矩与转速特性
    • 4.2 发动机与电机的性能对比
  • 五、电机在电动汽车中的优势
  • 六、基于实验标定的纵向控制算法
    • 6.1 电动汽车的纵向控制算法
    • 6.2 电机的转速-扭矩曲线构建
    • 6.3 实验标定与控制算法的实用性
  • 七、Carsim 电机设置
    • 7.1 创建 Carsim 和 Simulink 联合仿真模型
    • 7.2 设置输入和输出
    • 7.3 创建电机模型函数
    • 7.4 配置变速器参数
    • 7.5 调整怠速设置
    • 7.6 设置仿真路面
    • 7.7 生成和修改仿真文件
  • 八、总结
  • 参考资料


引言

  各位小伙伴们大家好,经过了漫长的第八节四个部分的学习,终于来到了纵向控制。本篇博客是是第九节纵向控制的开篇。内容整理自 B站知名up主 忠厚老实的老王 的视频,作为博主的学习笔记,分享给大家共同学习。


一、纵向控制简介

  与横向控制相比,纵向控制难度较低,不需要太多的数学知识。但需要补充汽车动力系统的相关知识,当然这些知识也非常简单。

  在横向控制中,如果没有开过车是可以学下去的,因为横向控制的数学知识比较多,只要数学比较好,就可以学。但纵向控制有很多知识是要开车才会明白。所以纵向控制可能对于没有开过车的可能会稍微的麻烦一点,不过问题也不大,因为都是非常简单的知识。


二、油门与刹车的控制逻辑

首先问各位一个问题,当踩下油门和刹车时,到底在控制什么?

2.1 横向控制与纵向控制的直观性比较

  拿横向控制来举例子,横向控制是控制方向盘,方向盘的改变会导致车辆前轮转角改变,进而导致车辆的航向角改变。

方向盘
前轮转角
车辆航向角

  当打方向盘时,肉眼可见前轮转角在动,所以横向控制的逻辑非常直观。

  但纵向控制并不直观,当踩下油门和刹车时:

油门/刹车
?
车辆加减速

  是什么导致车加速或减速的呢?上图中的问号到底是什么?当踩下油门或刹车时,是什么被改变了,从而导致车速改变了呢?

2.2 油门与刹车对车辆速度的影响

  上图的问号直观上很容易想象成发动机的转速或扭矩,就是踩了油门,发动机转得更快了,速度就上来了;或者踩了油门,发动机输出的力矩更大,车辆就开始加速。

  但这两种解释都是错的,发动机的转速和发动机的扭矩和油门有一定关系,但不是直接原因。和前端转角与方向盘转角的对应关系不同,前端转角和方向盘转角就是比例关系,方向盘转角直接影响前端转角。方向盘转角转多少度,前轮转角就相应转多少度,可能要乘传动比之类的,就是直接关系。

  但是发动机的油门与发动机的转速和扭矩不是直接关系,并不是油门增加一倍,发动机转速就增加一倍,或者发动机的扭矩增加一倍。有相应增加,但不是这种直接关系。

那么油门和刹车和什么东西是直接相关的呢?

  正确答案是油门直接导致发动机的功率被改变,功率改变再导致问号,然后问号会导致车辆加速,加速过程如图所示:

油门
发动机功率被改变
?
车辆加速

  刹车时导致制动压力增大,制动压力增大就会导致制动盘的摩擦增大,进而导致阻力增大,从而导致整个车减速,减速过程如图所示:

刹车
制动压力增大
制动盘摩擦增大
阻力增大
车辆减速

  这就是纵向控制的逻辑,刹车和车的减速直接相关,因为刹车就是导致制动压力增大,车辆就会减速。其实严格来说也不是直接相关,因为还要看是什么路面,是在正常路面,还是在湿滑路面,还是在冰面上。如果不考虑摩擦力的附着极限,制动压力和车的减速就是直接相关的,也就是的刹车踩得越深,制动力就越大;刹车踩得越浅,制动力就越小。

  但功率与车加速之间的关系并不直观,并不是功率越大,车就跑得越快,车的加速就越猛。与车加速直接相关的是 v v v a a a。如果 v v v 一直在上升,或者 a a a 只要大于 0 0 0 就可以,和车加速是直接相关的。

  这两个指标: v v v a a a 本质上是发动机转速与发动机扭矩。因为发动机转得越快,车轮转速也就越快,所以车速就会变得越快。如果发动机力距很大,那么车轮的力距也很大,加速度也就会很大。

  所以纵向控制的逻辑是这样:

油门
功率
转速
车辆速度
车辆加速
扭矩
车辆加速度

  油门改变直接导致发动机功率改变,从而导致转速和扭矩改变,转速扭矩的改变导致车辆的速度和加速度改变,从而导致车开始加速。

  所以在踩油门时,实际上控制的是发动机的功率。

2.3 功率、扭矩和转速的关系

那么功率 P P P 与扭矩 M M M、转速 ω \omega ω 之间的关系是什么呢?

P = F v ⇒ F ⋅ r ⋅ v r = M ⋅ ω P=Fv\Rightarrow F\cdot r\cdot \frac{v}{r}=M\cdot \omega P=FvFrrv=Mω  即 P = M ⋅ ω P=M\cdot \omega P=Mω  所以并不是油门越大,加速度就越大,要看转速是多少,如果转速已经非常高了,当再踩下油门时,加速度增大不了多少,因为 P = M ⋅ ω P=M\cdot \omega P=Mω ω \omega ω 越大, M M M 就会越小。所以为什么汽车都有设计的最高车速,不可能超过最高车速。原因就在于此,因为车速越高,力就越小,必然就有最高车速,是在车速下,驱动力和阻力相互平衡,再踩油门都没用,不可能超过最高车速。

  但公式只是理论公式,并不是实际公式。因为 M M M 不能无穷大,如果按照公式的话,在车刚启动时,转速是 0 0 0。如果有一定功率, M M M 直接就变成无穷大,肯定是不可能的。所以发动机 M M M 有最大的扭矩限制。

真实的发动机的转速、扭矩、功率三个变量的关系是什么呢?

  一般没有明确解析式,所以一般通过做实验标定标出来发动机的转速、扭矩、功率曲线。


三、汽车基础知识中的发动机与变速器

  下面顺带讲一讲汽车基础知识中的发动机与变速器。

3.1 发动机特性与效率

  发动机的转速、扭矩和功率曲线长这样子:

在这里插入图片描述

  不同发动机有不同曲线,但大概都差不多,可能有的高点有的低点,就是不同功率上发动机的转速和扭矩不同。可以看到曲线并不呈反比例,只是曲线的末端有一点反比例曲线的味道,但前端并不是反比例曲线。

为什么 P P P 不等于 M M M ω \omega ω 呢?

  就是因为 P P P 有一部分用要用于发热,因为内燃机发动机的功率,很多都被热能给耗散掉了,所以曲线并不成反比例关系。

  在低速情况下,发动机相对于做功时发热很大,所以在低速情况下热耗散为主导;但在高速情况下,热还是那么多,但做功做的多了,所以以机械功为主导,所以在高速情况下近似呈现反比例关系,即 P ≈ M ⋅ ω P\approx M\cdot \omega PMω,但在低速情况下,因为热占主导,所以不成反比例关系。

  发动机的最高峰一般在 3000 3000 3000 左右。发动机的特性决定了发动机最好只在高效区或高扭矩区运行,才能发挥其最大优势。但发动机的高效区非常短。

  发动机的特性就这样,在低速区有大量能量直接变成热烧掉了,只有少部分能量变成机械功。但是在特高速区时,摩擦损耗也会加剧,所以高速区的效率也不是特别高,比低速区相对高,所以只在中速区扭矩比较大,加速也比较猛,效率也比较高,因此在中速区间运行最好。但是此区域非常短,也就是峰值转速扭矩最大,对应的转速大概是 3000 3000 3000。当然不同发动机不一样,发动机的高效区间也就几百转,可能就 2900 2900 2900 转到 3200 3200 3200 转,剩下的区间效率都非常低。

3.2 变速器的作用与类型

  所以变速器应运而生。如果没有变速器,车想要高效运行的话,意味着车辆只能运行在发动机很短的高效区内的某个速度,无法大范围调速。因为开车不可能只有某个速度。既要在高速公路上开非常快,也要能在城市堵车时开得非常慢,即车辆必须要在不同速度下都能跑。

  发动机是这样子:
在这里插入图片描述

  和发动机相连的是 变速器(gearbox),就是齿轮箱。变速器实际上就是一堆齿轮。比如发动机时转速 3000 3000 3000 转。如果想保持发动机转速在 3000 3000 3000 转上不变,在高效区运行,又想获得比较低的车辆速度,那就捏合大半径齿轮即可,比如这样:
在这里插入图片描述
  可以得到 1000 1000 1000 转的速度。原理就是
ω 1 r 1 = ω 2 r 2 \omega _1r_1=\omega _{_2}r_2 ω1r1=ω2r2  当半径过大时,速度就降下来了,这就是变速器的作用。

  同样的,又想保持发动机比较高效,在 3000 3000 3000 转的工作曲线运行,又想获得比较大的速度,那就捏合小齿轮,比如说这样的小齿轮:

在这里插入图片描述

  这样转速就会被提升到 7000 7000 7000 转,这就是变速器的作用。变速器通过齿轮切换,将发动机的高效转速拓宽。

  齿轮切换的术语叫 换挡,就是一档、二档、三档、四档、五档,一档时速度最慢,同时时扭矩最大;五档时速度最快,扭矩最小。

  • 一档一般用于启动和爬坡
  • 五档一般用于跑高速
  • 二档、 三档、四档一般用于城市道路

为什么速度越慢扭矩越大,速度越快扭矩越小?

  这就是杠杆原理,省力费距离,费力省距离。速度快了力就小,速度慢了力就大。齿轮实际上就是杠杆作用。

  这样发动机和变速器的知识就介绍完了,做自动驾驶控制只需要这些知识就够了。


四、电机与发动机的对比

  回到控制部分来,接下来讲发动机与电机的扭矩与转速的对比,纵向动力学建模非常重要。

4.1 发动机扭矩与转速特性

  发动机前面已经介绍过了,扭矩与转速图就长这样,高效区非常短。比如 2900 − 3200 2900- 3200 29003200 的范围,一般发动机的高效区就几百转的长度。而电机的转速扭矩图一般长这样:

在这里插入图片描述

  发动机前面扭矩很小,后面才慢慢大起来,到最后面才变小。而电机在前半部分就有很大扭矩,直到转速超过一定转速后,扭矩才慢慢变小。

4.2 发动机与电机的性能对比

  发动机与电机对比如下:

比较项发动机电机
最高转速 6500 r p m 6500rpm 6500rpm 16000 r p m 16000rpm 16000rpm
高效区间 ( 2900 , 3200 ) (2900, 3200) (2900,3200) ( 300 , 11000 ) (300 , 11000) (300,11000)
变速器需要不需要
特点低速差,高速较强低速极强,高速差
代表车型法拉利、兰博基尼特斯拉
百公里加速 2.4 s 2.4s 2.4s 1.9 s 1.9s 1.9s
动力源 V 12 V12 V12发动机永磁同步电机
最高效率 40 40 40% 90 90 90%

  所以电机在高速区一般严格遵循 P = M ⋅ ω P=M\cdot \omega P=Mω 的反比例关系,因为效率很高,不需要发那么大热,当然电机也有最大扭矩的限制,因为发热量不大,所以在前半部分可以以最大恒扭矩进行运行,直到达到最大功率后,以反比例功率运行。

  因此发动机一定需要变速器,因为高效区间太拉胯,需要变速器拓宽。但电机一般不需要变速器,因为自己就能 有很宽广的调速。


五、电机在电动汽车中的优势

为什么电动汽车百公里加速成绩那么好呢?

  特斯拉 Model S 百公里加速只有 1.9 1.9 1.9 秒,如果换成汽油车,只有法兰利和兰博基尼这样级别的超级跑车才能达到这样的速度,因为电机在低速实在太强,发动机完全打不过汽油车,汽油车如果想达到这样的加速效果的话,需要 V 12 V12 V12 发动机,即发动机有 12 12 12 个气缸才有可能做到。如果是电机,只需要永磁同步电机即可,难度根本不是一个级别的。

  一般来说汽油车的发动机都是四缸,只有比较豪华的品牌可能会有六缸。像这种 12 缸的只会在超级跑车上,而且发动机缸越多越难做,而且缸越多车就越重,车重的话的能耗就很差。缸越多,润滑、供油、冷却都是呈几何级数难度的递增,缸越多发热量就越大。缸越多,喷油系统以及排气系统也越复杂,所以 V 12 V12 V12 发动机非常难做,而且成本非常贵。

  电机相对来说就很便宜,而且也好做,提升电机的功率比发动机要容易得多,因为电机不用考虑那么复杂的,不需要供油,只需要电就可以了,不需要太复杂的润滑,只需要冷却即可,冷却也容易做,因为和发动机的燃烧相比,电机只是电阻,发热相对容易控制。


六、基于实验标定的纵向控制算法

6.1 电动汽车的纵向控制算法

  本博客的控制算法讲的是电动汽车,不讲燃油车的纵向控制,虽然电动车和燃油车的横向控制差不多一样,但纵向控制有区别,所以只讲电动车的作用方式。

那为什么不讲汽油车呢?

这是因为

  • 很多自动驾驶用的是电动车,电动化已经大势所趋,不可逆转
  • 电动车控制简单,不需要变速器,如果要讲汽油车的控制,必须讲换挡策略,就是到了什么速度就要换挡,从一挡换到二挡,换到三挡,很麻烦,会增加难度,所以就用电动汽车,没有变速器,不需要换挡,就非常方便。

  但很遗憾,仿真软件 Carsim 只有燃油车,即只有发动机,并没有电机,所以为了做控制,先要把 Carsim 相关的电机造出来,然后再仿真,发动机和电机的区别就在于转速扭矩曲线不一样,所以只要把电机的转速扭矩曲线把时输进去即可。

6.2 电机的转速-扭矩曲线构建

  电机的转速扭矩曲线很好写:
在这里插入图片描述

  前面那段就是横扭矩区,后面那段就是横功率区,电机在到达最大功率之前,以恒定的最大扭矩运行,等转速达到最大功率点,就以恒定最大功率的反比例曲线运行。按照这样的关系,造一段电机的转速扭矩曲线。

  电机参数从网上找,最大扭矩是 380 N m 380Nm 380Nm ,最大功率是 180 k W 180kW 180kW 。这个参数对应油门踩到底不能再往下踩时,电机所释放的扭矩和功率,扭矩转速曲线差不多长这样:

在这里插入图片描述

  这是对应于油门等于 1 1 1 时,转速和扭矩的曲线, ω \omega ω 等于最大的功率除以最大扭矩:
ω = P M = 180000 380 = 473.68 ( r a d / s ) = 28421.0526 ( r a d / m i n ) = 4523 ( r p m ) \begin{aligned} \omega &=\frac{\text{P}}{\text{M}}=\frac{180000}{380}=473.68\left( rad/s \right)\\ &=28421.0526\left( rad/min \right) =4523\left( rpm \right)\\ \end{aligned} ω=MP=380180000=473.68(rad/s)=28421.0526(rad/min)=4523(rpm)  这样算出来大概是 4523 r p m 4523rpm 4523rpm,不过曲线只是当油门踩到底时的转速扭矩曲线,如果只踩一点点油门,转速扭矩曲线就无法得到了,因为不同电机不一样,不呈线性关系,但也没有其他数据,所以只能假设是线性关系,也就是踩 0.1 0.1 0.1 的油门对应 18 k W 18kW 18kW 千瓦, 0.2 0.2 0.2 的油门时对应 36 k W 36kW 36kW 。在图上时就是这样关系,就是当 thr = 0.1 时, 对应 38 N m 38Nm 38Nm 的最大扭矩, thr = 1 时,对应 76 N m 76Nm 76Nm 的最大扭矩。

  扭矩 M M M 与转速 ω \omega ω 的关系是
M = { 380 ⋅ t h r o t t l e 0 < ω < 4523 r p m 380 ⋅ 4523 ⋅ t h r o t t l e ω ω ≥ 4523 r p m M=\begin{cases} 380\cdot throttle& 0<\omega <4523rpm\\ \frac{380\cdot 4523\cdot throttle}{\omega}& \omega \ge 4523rpm\\ \end{cases} M={380throttleω3804523throttle0<ω<4523rpmω4523rpm  前面是恒扭矩,后面是恒功率。

6.3 实验标定与控制算法的实用性

  本篇博客所介绍的仿真方法不只适用于电机,对于不同的电机,方法都是一样的。只是因为 Carsim 没有电机,所以必须自己造电机。但方法是通用的,不管是什么样的电机,都可以用这一套同样的方法,因为方法不是根据电机建模型,需要电机参数来计算了。而是基于实验的方法,无论是什么电机,哪怕是发动机也好,都可以用此方法,只要能做实验。所以不管电机参数什么样,方法都是通用的。具体方法到下一节再讲。

  有人可能会认为电机的转速-扭矩曲线过于完美,始终保持恒定的 380 380 380 扭矩,没有丝毫误差和波动。而在 4523 4523 4523 转速之后,曲线又完美地遵循恒功率和反比例关系,这种理想化的曲线可能让人觉得这种方法不太实用。
  但博主要告诉大家的是,即使转速-扭矩曲线看起来杂乱无章,没有规律,也没有关系。因为这种方法是通过实验标定得来的,不是直接从曲线推导出来的。因此,即使曲线看起来再怎么混乱,只要方法是基于实验的,就能够产生效果。


七、Carsim 电机设置

  下面来看一下在 Carsim 中如何设置这样的电机。

7.1 创建 Carsim 和 Simulink 联合仿真模型

  打开 Casim 界面,首先要设置新的 Carsim 和 Simulink 联合仿真的模型:

在这里插入图片描述

7.2 设置输入和输出

  看一下输入和输出的设置,输入是发动机的扭矩,在 N m Nm Nm 单位里找:

在这里插入图片描述

  输出是 v x , a x v_x,a_x vx,ax 以及电机曲轴转速 AV_Eng,转速在 r p m rpm rpm 项目里找:

在这里插入图片描述

  然后点 Send to Simulink,模型已经事先建好:

在这里插入图片描述

7.3 创建电机模型函数

  本节用到的是发动机转速,把发动机转速导进 Matlab Function 里,电机模型的函数如下:

function torque = fcn(thr,rpm)
Tmax=380*thr;%最大扭矩等于 380 乘 thrif (rpm<=4523)%如果 rpm小于等于4523torque=Tmax;%时就是最大扭矩elsetorque=Tmax*4523/rpm;%否则时就是恒功率曲线end
end

  函数实际上就是油门 thr 和 转速 rpm 的函数,就是前面推导的电机转速功率曲线。

7.4 配置变速器参数

  首先在 C-class 里面点进去,点 Systems ,里面有变速器,把变速器设置一下:
在这里插入图片描述

  这在这里已经设置好了,点进去看一下:

在这里插入图片描述

  可以发现所有的传动比都是 2 2 2,就证明变速器根本没有齿轮切换。这就是典型电动车的配置,因为电动车不需要变速器,只需要齿轮进行减速即可,不需要切换。

  但如果做初始设置的话,可能并不是像这样已经设置好了,要进行修改,修改就跟着操作来就可以了。

  点击 calibration 进去:

在这里插入图片描述

  • 第一个是传动比
  • 第二个是每个齿轮的惯量
  • 第三个有两列是机械效率

  参数按照上图设置即可。

  这是典型电动车的配置,严格来说应该叫减速器,不叫变速器,因为档位很少,变速器一般都有五档变速。减速器有的是一档,就像这样;也有的减速器是两档,一般最多也就两档。

  设置完毕就完成了,起个名字就行。

  再看一下发动机,点进去就看到转速扭矩曲线:

在这里插入图片描述

  这是发动机的转速扭矩曲线。所以严格来说可以不用像这样在 Simulink 里再写函数,然后模拟电机,直接在这里修改成电机的转速扭矩曲线也可以进行电机模拟。

  但这里就不这么改了,写成函数的话,方便修改参数以及调试,而且就算不改转速扭矩曲线也没关系,虽然发动机是按照曲线跑的,但是因为模型的输入是发动机扭矩,所以 Carsim 会自动在发动机扭矩输入口把软件的输入切断,然后切换成这里的输入。

  如果写 Matlab 函数的话,曲线也可以不用改,就仿真变速器,弄好之后一定要点Send to simulink,否则就白做了。

  给 thr = 1 的油门,运行一下,得到速度和加速度变化曲线:

在这里插入图片描述

在这里插入图片描述

  把油门调低一点,再跑一下看看,可以看到时速度基本上要掉下来,这就比较符合油门为 0 0 0 的预期。大家想一想,如果油门是 0 的话,车会不会停?把油门设置成0。然后惊奇的发现时居然还有速度和加速度。

那这是为什么呢?为什么油门是0,车辆还有速度?
不知道各位有没有考过驾照,在考科目二时,没踩油门,车还在跑。

  虽然用自己造的电机替代发动机,但毕竟是燃油车烧汽油的,所以会有些根本的特性,就是发动机有怠速,即没有踩油门,发动机自己转的速度就是怠速,说白了就是发动机启动时的速度,无论是发动机还是电机时都有启动速度,所以即使不给油门也会转,所以说汽车也会跟着跑。

那为什么正式开车时不踩油门车就不会跑了?

  这实际上是离合器的事情,大家开过车就会明白,如果是手动变速箱,踩离合时,动力就会被切断,所以即使发动机在转了,车也不会动。如果是自动变速箱,就会自动切断动力,但在这里就没有此功能,就认为有发动机的转速,就会带着车跑,没有离合切断的过程。所以即使油门是 0 0 0,车也会跑。

7.5 调整怠速设置

  在发动机里设置,Idle speed 就是怠速。

在这里插入图片描述

  在这里设置怠速为 750 转每分。

  对于电机而言,是否具备怠速功能取决于电机的设计和控制策略。早期的电动车辆电机通常不包含怠速功能,这是因为电机在没有电流输入时会停止旋转,与内燃机不同,内燃机一旦启动就难以立即停止。而现代电动车辆通常会设计怠速功能,这是出于以下几个原因:

  为了提供平顺的驾驶体验,电机在低速时通常具有较高的扭矩输出。如果没有怠速,当电动车辆启动时,可能会出现剧烈的加速感,类似于弹射起步,这会给乘客带来不舒适的感觉。为了避免这种冲击感,制造商通常会调整电机的控制策略,设定一个较慢的启动速度,从而实现平稳的起步。

  因此,现代电动车辆的电机不仅具有怠速功能,而且在启动时会设定一个较低的启动速度,以实现平稳的加速。这样,即使将传动比设置为零(即不改变传动比),电机也能够平稳地启动,而不会产生强烈的加速感。

7.6 设置仿真路面

  最后还有路面要改一下。如果各位做横向控制的话,可能用的还是横向控制的歪七八扭的路面,但纵向控制用这种长路面就行了,要重新设置一下。把 Treat as loop 取消掉,不然设置不了,设置 2000 米的长直路面,作为做纵向控制所要的路面。

在这里插入图片描述

7.7 生成和修改仿真文件

  最后点击 Send to simulink ,把生成的 simfile.sim 文件名修改一下,改成纵向控制所要的文件名,否则因为做横向控制时,有横向控制所使用的 simfile.sim 文件,如果纵向控制也用这个名字的话,这就不太合适。

  当点 Send to simulink 时,文件夹里会自动生成 simfile.sim 的文件,把文件的名字修改成想要的名字,然后在 Simulink 中也输入相同的名字。


八、总结

  本篇博客讲解的是纵向控制到底在控制什么,以及为下一节所做的准备,设置 Carsim 和 Simulink 联合仿真的模型,修改了 Carsim 的变速器和 Carsim 的输入输出模块,道路也修改了,以及怠速可改可不改。修改了 Simulink 文件名,主要做了这几项工作,这些工作做完后就万事俱备了。

  下一篇博客开始用所修改的模型来做纵向控制。欢迎关注后续内容!


参考资料

  【基础】自动驾驶控制算法第九讲 纵向控制开篇


后记:

🌟 感谢您耐心阅读这篇关于 深度解析车辆纵向控制 | 从算法基础到 Carsim 仿真实践 的博客。 📚

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

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络33——文件系统

1、chmod 2、chown 需要有root权限 3、link 链接 4、unlink 创建临时文件&#xff0c;用于非正常退出 5、vi vi可以打开文件夹 ../是向外一个文件夹 6、ls ls 可以加很多路径&#xff0c;路径可以是文件夹&#xff0c;也可以是文件 ---------------------------------…

python植物大战僵尸项目源码【免费】

植物大战僵尸是一款经典的塔防游戏&#xff0c;玩家通过种植各种植物来抵御僵尸的进攻。 源码下载地址&#xff1a; 植物大战僵尸项目源码 提取码: 8muq

Broadcast:Android中实现组件及进程间通信

目录 一&#xff0c;Broadcast和BroadcastReceiver 1&#xff0c;简介 2&#xff0c;广播使用 二&#xff0c;静态注册和动态注册 三&#xff0c;无序广播和有序广播 1&#xff0c;有序广播的使用 2&#xff0c;有序广播的截断 3&#xff0c;有序广播的信息传递 四&am…

基于Python flask的淘宝商品数据分析可视化系统,包括大屏和主题分析,还有回归预测

背景介绍 随着电子商务的迅猛发展&#xff0c;平台上积累了大量的用户行为和商品交易数据。这些数据蕴含着极大的商业价值&#xff0c;可以为市场趋势预测、商品优化以及用户行为分析提供重要的参考。淘宝作为全球最大的在线购物平台之一&#xff0c;拥有海量的商品和用户数据…

文件操作

1.文件的打开和关闭 文件在读写之前应该先打开文件&#xff0c;在使用结束之后应该关闭文件。 在编写程序的时候&#xff0c;在打开文件的同时&#xff0c;都会返回一个FILE*的指针变量指向该文件&#xff0c;也相当于建立了指针和文件的关系。ANSI C规定使用fopen函数来打开文…

DockerLinux安装DockerDocker基础

Linux软件安装 yum命令安装 通过yum命令安装软件,是直接把软件安装到Linux系统中 安装和卸载都比较麻烦,因为软件和系统是强关联的 Docker docker是一种容器技术,可以解决软件和系统强关联关系,使得软件的安装和卸载更方便,它可以将我们的应用以及依赖进行打包,制作出一个镜…

5万字讲解大模型语言高效推理研究(清华综述)

1.1背景介绍 近年来&#xff0c;大语言模型&#xff08;Large Language Models, LLMs&#xff09;受到学术界和工业界的广泛关注&#xff0c;得益于其在各种语言生成任务上的出色表现&#xff0c;大语言模型推动了各种人工智能应用&#xff08;例如ChatGPT、Copilot等&#xf…

使用Mockito进行单元测试

1、单元测试介绍 Mockito和Junit是用于单元测试的常用框架。单元测试即&#xff1a;从最小的可测试单元&#xff08;如函数、方法或类&#xff09;开始&#xff0c;确保每个单元都能按预期工作。单元测试是白盒测试的核心部分&#xff0c;它有助于发现单元内部的错误。 单元测试…

iOS 巨魔神器,Geranium 天竺葵:6大功能,个个都解决痛点

嘿&#xff0c;这是黑猫。如果你装了巨魔&#xff0c;却只知道安装第三方APP&#xff0c;那就是暴殄天物。巨魔的价值不仅是应用侧载&#xff0c;还有强大的玩机工具生态——这也是我花费大量时间&#xff0c;去制作巨魔精选IPA合集的原因。 通过巨魔商店安装的APP&#xff0c…

Qt:智能指针QScopedPointer 的使用(以及如何写一个QScopedPointer )

前言 本文讲述QScopedPointer 的使用&#xff0c;以及自己如何写一个QScopedPointer . 正文 QScopedPointer 的常用方法 以下是 QScopedPointer 的一些常用方法及其详细说明&#xff1a; 构造函数&#xff1a; QScopedPointer<T> ptr(new T);用于创建一个 QScopedPoi…

LeetCode_sql_day28(1767.寻找没有被执行的任务对)

描述&#xff1a;1767.寻找没有被执行的任务对 表&#xff1a;Tasks ------------------------- | Column Name | Type | ------------------------- | task_id | int | | subtasks_count | int | ------------------------- task_id 具有唯一值的列。 ta…

我的创作纪念日-20240919

何尝不是一种纪念。 话说&#xff0c;毕业之后和大学同学去深圳&#xff0c;后面回家考编制&#xff0c;现在在家里的中国邮政的代理金融网点上班。

【开放词汇检测】基于MMDetection的MM-Grounding-DINO实战

文章目录 摘要安装基础环境新建虚拟环境安装pytorch安装openmim、mmengine、mmcv安装 MMDetection验证安装配置OV-DINO环境 MMDetection的MM-Grounding-DINO详细介绍测试结果Zero-Shot COCO 结果与模型Zero-Shot LVIS ResultsZero-Shot ODinW&#xff08;野生环境下的目标检测&…

element-plus的菜单组件el-menu

菜单是几乎是每个管理系统的软件系统中不可或缺的&#xff0c;element-plus提供的菜单组件可以快速完成大部分的菜单的需求开发&#xff0c; 该组件内置和vue-router的集成&#xff0c;使用起来很方便。 主要组件如下 el-menu 顶级菜单组件 主要属性 mode:决定菜单的展示模式…

记录一下gitlab社区版的安装教程

目录 1.更新系统软件包 2.安装必要的依赖 3.添加GitLab源 3.1对于GitLab Enterprise Edition&#xff08;EE&#xff09;&#xff1a; 3.2对于GitLab Community Edition&#xff08;CE&#xff09;&#xff1a; 4.安装GitLab 4.1安装GitLab Enterprise Edition&#xff08;…

快人一步迅为LPDDR5版本瑞芯微RK3588核心板升级了

性能强--iTOP-3588开发板采用瑞芯微RK3588处理器&#xff0c;是全新一代ALoT高端应用芯片&#xff0c;采用8nm LP制程&#xff0c;搭载八核64位CPU&#xff0c;四核Cortex-A76和四核Cortex-A55架构&#xff0c;主频高达2.4GHZ&#xff0c;8GB内存&#xff0c;32GB EMMC。四核心…

PHP全程可视化防伪溯源一体化管理系统小程序源码

全程可视化&#xff0c;防伪溯源新篇章 —— 揭秘一体化管理系统的力量 &#x1f50d; 开篇&#xff1a;透视未来&#xff0c;从源头到终端的安心之旅 在这个信息透明化时代&#xff0c;每一件商品都承载着消费者的信任与期待。而“全程可视化防伪溯源一体化管理系统”&#x…

CleanClip for Mac 剪切板 粘贴工具 历史记录 安装(保姆级教程,新手小白轻松上手)

CleanClip&#xff1a;革新macOS剪贴板管理体验 目录 功能概览 多格式历史记录保存智能搜索功能快速复制操作拖拽功能 安装指南 前期准备安装步骤 配置与使用 功能概览 多格式历史记录保存 CleanClip支持保存文本、图片、文件等多种格式的复制历史记录&#xff0c;为用户提…

GIS OGC之WMTS地图服务,通过Capabilities XML描述文档,获取matrixIds,origin,计算resolutions

GIS OGC之WMTS地图服务&#xff0c;通过Capabilities XML描述文档&#xff0c;获取matrixIds&#xff0c;origin&#xff0c;计算resolutions 需求&#xff1a;如何根据WMTS服务的Capabilities描述文档得到&#xff0c;openlayers调用wmts服务时的matrixIds&#xff0c;origin…

Qwen 2.5:阿里巴巴集团的新一代大型语言模型

Qwen 2.5&#xff1a;阿里巴巴集团的新一代大型语言模型 摘要&#xff1a; 在人工智能领域&#xff0c;大型语言模型&#xff08;LLMs&#xff09;的发展日新月异&#xff0c;它们在自然语言处理&#xff08;NLP&#xff09;和多模态任务中扮演着越来越重要的角色。阿里巴巴集…