【自动驾驶】控制算法(九)深度解析车辆纵向控制 | 从算法基础到 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 乘 thr
    if (rpm<=4523)%如果 rpm小于等于4523
        torque=Tmax;%时就是最大扭矩
    else
        torque=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 仿真实践 的博客。 📚

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

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

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

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

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

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

相关文章

『功能项目』QFrameWorkBug关联Slot(插槽)【67】

我们打开上一篇66QFrameWorkBug拖拽功能的项目&#xff0c; 本章要做的事情是关联插槽Slot 修改脚本&#xff1a;UISlot.cs 修改脚本&#xff1a;UGUICanvas.cs 此时关联Slot已经完成 接下来的文章内容&#xff1a; 1.QFrameWork扔到地上UGUI 2.位置存储功能 3.点击名称寻…

Python可迭代对象(2)

目录 3。字典 字典的构造 字典的添加和修改 字典推导式的使用 以上全部代码编译结果展示 字典复习 4。集合(set) 集合的创建 集合的运算 集合的添加和删除元素 以上全部代码的编译结果 序列解包&#xff08;Sequence unpacking&#xff09; 3。字典 字典的构造 #字…

【Linux】nginx连接前端项目

文章目录 一、项目编译1.编译文件2.dist文件 二、Linux nginx配置三、启动nginx 一、项目编译 1.编译文件 2.dist文件 二、Linux nginx配置 在Xshell软件中&#xff0c;点击CtrlAltF进入文件传输找到地址&#xff1a;/usr/local/nginx/html将dist文件传入 找到nginx.conf&…

R包:VennDiagram韦恩图

加载R包 library(VennDiagram)数据 # Prepare character vectors v1 <- c("DKK1", "NPC1", "NAPG", "ERG", "VHL", "BTD", "MALL", "HAUS1") v2 <- c("SMAD4", "DKK1…

【计算机网络 - 基础问题】每日 3 题(十九)

✍个人博客&#xff1a;Pandaconda-CSDN博客 &#x1f4e3;专栏地址&#xff1a;http://t.csdnimg.cn/fYaBd &#x1f4da;专栏简介&#xff1a;在这个专栏中&#xff0c;我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话&#xff0c;欢迎点赞&#x1f44d;收藏&…

【Python】curl命令、Api POST导入cURL、python直接使用cURL

文章目录 一、浏览器复制cURL二、API POST直接使用cURL创建接口三、python直接使用cURL构建网络请求四、curl命令详解语法选项实例 cURL是一种命令行工具&#xff0c;常用于通过各种协议&#xff08;如HTTP、HTTPS、FTP等&#xff09;传输数据。它的名字来源于"Client URL…

Python爬虫之requests模块(一)

Python爬虫之requests模块&#xff08;一&#xff09; 学完urllib之后对爬虫应该有一定的了解了&#xff0c;随后就来学习鼎鼎有名的requests模块吧。 一、requests简介。 1、什么是request模块&#xff1f; requests其实就是py原生的一个基于网络请求的模块&#xff0c;模拟…

「漏洞复现」灵当CRM marketing/index.php SQL注入漏洞

0x01 免责声明 请勿利用文章内的相关技术从事非法测试&#xff0c;由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失&#xff0c;均由使用者本人负责&#xff0c;作者不为此承担任何责任。工具来自网络&#xff0c;安全性自测&#xff0c;如有侵权请联系删…

python爬虫初体验(一)

文章目录 1. 什么是爬虫&#xff1f;2. 为什么选择 Python&#xff1f;3. 爬虫小案例3.1 安装python3.2 安装依赖3.3 requests请求设置3.4 完整代码 4. 总结 1. 什么是爬虫&#xff1f; 爬虫&#xff08;Web Scraping&#xff09;是一种从网站自动提取数据的技术。简单来说&am…

c++调用python函数进行传参计算和返回

目录 前言&#xff1a;配置环境&#xff1a;基础夯实&#xff1a;1. 初始化Python解释器2. 导入Python模块3. 获取函数对象4. 调用Python函数5. 处理返回值6. 错误处理7. 资源管理8. 编译和链接9. 线程安全性10. 进一步学习 效果展示&#xff1a;实现功能&#xff1a;操作步骤&…

CentOS上使用Mosquitto实现Mqtt主题消息发布和订阅mqtt主题消息连同时间戳记录到文件

场景 CentOS上使用rpm离线安装Mosquitto(Linux上Mqtt协议调试工具)附资源下载&#xff1a; CentOS上使用rpm离线安装Mosquitto(Linux上Mqtt协议调试工具)附资源下载-CSDN博客 上面介绍了mosquitto的离线安装。 如果业务场景中需要订阅某mqtt主题的消息并将收到消息的时间以…

Android轻量级RTSP服务使用场景分析和设计探讨

技术背景 好多开发者&#xff0c;对我们Android平台轻量级RTSP服务模块有些陌生&#xff0c;不知道这个模块具体适用于怎样的场景&#xff0c;有什么优缺点&#xff0c;实际上&#xff0c;我们的Android平台轻量级RTSP服务模块更适用于内网环境下、对并发要求不高的场景&#…

Activiti7《第九式:破气式》——流畅驱动工作流进程。面试题大全

冲冲冲&#xff01;开干 这篇文章将分为九个篇章&#xff0c;带你逐步掌握工作流的核心知识。“破气式”&#xff0c;代表着工作流中的 无形之力&#xff0c;它是贯穿整个流程的 关键驱动 不知不觉已经到了独孤九剑最后一式了&#xff0c;我相信到这里之后各位都已经出神入化…

windows桌面管理软件推荐:一键整理桌面!美化电脑桌面小助手!

windows桌面管理软件推荐来咯&#xff01;在繁忙的工作和生活中&#xff0c;一个整洁、有序的电脑桌面不仅能提升工作效率&#xff0c;还能带来愉悦的视觉体验。然而&#xff0c;随着文件的增多&#xff0c;桌面往往变得杂乱无章。幸运的是&#xff0c;市面上有许多优秀的Windo…

构建高可用和高防御力的云服务架构第五部分:PolarDB(5/5)

引言 云计算与数据库服务 云计算作为一种革命性的技术&#xff0c;已经深刻改变了信息技术行业的面貌。它通过提供按需分配的计算资源&#xff0c;使得数据存储、处理和分析变得更加灵活和高效。在云计算的众多服务中&#xff0c;数据库服务扮演着核心角色。数据库服务不仅负…

​地质图制图规范大全资料分享

我们在《2024年最新测绘地理信息规范在线查看下载》一文整理460个测绘地理信息相关规范的在线查看链接。 现在我们又整理了地质图制图规范大全分享给大家&#xff0c;你可以在文末查看该文档的领取方法。 地质图制图规范大全 这些地质图制图规范来自地质科学数据出版系统&am…

Rustrover2024.2 正式发布:个人非商用免费,泰裤辣

如果这个世界本身 已经足够荒唐 那究竟什么才能算是疯狂 爱情就是这样 一旦错过了 就会有另一个人代替 我们知道 jetbrains 在今年的早些时候正式为 rust 语言发布了专用的 IDE &#xff0c;也就是 rustrover。如今 rustrover 也正式跻身为 jetbrains IDE 系列的一员猛将。…

network request to https://registry.npmjs.org/xxx failed, reason: connect ETIM

目录&#xff1a; 1、问题描述2、解决方案3、npm镜像仓库替换 1、问题描述 npm install 时&#xff0c;报错&#xff1a;npm ERR! network request to https://registry.npmjs.org/postcss-pxtorem failed, reason: connect ETIMEDOU npm ERR! code ETIMEDOUT npm ERR! errno…

COMTRADE 录波文件 | 可视化工具 | 电能质量查看软件

COMTRADE 录波文件 | 可视化工具 | 电能质量查看软件 主要功能介绍 支持 IEEE Std C37.111-1991/1999/2013 规范。读取 ASCII 或二进制 COMTRADE 文件。查看来自 COMTRADE 配置文件的模拟和数字通道列表。将图表导出为 SVG、BMP、JPEG 和 PNG 图形格式。将显示的观察结果以 C…

携手长江存储,构建高性能分布式存储

近年来&#xff0c;《金融科技&#xff08;FinTech&#xff09;发展规划&#xff08;2022-2025 年&#xff09;》《关于银行业保险业数字化转型的指导意见》《金融标准化“十四五”发展规划》等金融监管政策陆续出台&#xff0c;金融机构对于数据基础设施的升级部署&#xff0c…