使用动力总成块集的车辆建模
从系列中:改进赛车开发
Ed Marquez和Christoph Hahn强调了使用Powertrain Blockset™的好处。其中一些好处包括能够使用文档良好的、开放的和可重构的块来表示动力总成组件。此外,Powertrain Blockset允许基于用户数据对组件进行高度详细的参数化,并支持从模型生成代码。金宝app
使用Powertrain Blockset展示了三个演示模型:车辆动力学(滑翔机)表示,电池电动汽车和内燃机汽车。模型的输入是一个公开可用的认证驱动循环(US06),用户可以选择他们希望从模型中获得的信息。在整个演示过程中,Ed和Christoph验证了车辆模型的速度输出与来自驾驶周期的速度输入相匹配,没有任何重大的跟踪失误。
这段视频的主要内容是Powertrain Blockset:
- 是建立在Simulink金宝app上的®,前者提供了后者功能的扩展
- 实现一种由可用组件测试数据驱动的方法
- 为每个组件提供许多选项
- 是否支金宝app持代码生成
找到本集用到的模型MATLAB中央文件交换.
嗨,大家好。您正在观看的是MATLAB Simulink赛车休息室金宝app,这是我们关于车辆建模的精彩系列的第二部分。我很高兴艾德还在船上。
嗨,艾德,你好吗?
嗨,克利斯朵夫。很好,你呢?
非常好。我很期待我们系列的第二部分。让我们马上进入议程。
我们上个视频讲了什么,第一个。在这个视频中我们要讲什么?我只是把它交给你。
太好了。正如你所提到的,我们在第一集中介绍了基于问题的Simulink方法。金宝app今天,在这一集,我们将涵盖的是建模车辆系统与动力总成区块集。这是一种数据驱动的方法,而不是基于方程的方法。
稍后,我们将讨论Simscape,以及Simscape多体。
同样,不用担心。我们会给你看很多模型,我们会把所有的东西都放在文件交换上。所以不需要重建模型。我们会和你分享的。关于这一点,我有第二个评论,Powertrain Blockset是Simulink的一个附加组件。金宝app艾德会讲到,所以这不是一个全新的工具。它只是Simulink的一个扩展。金宝app我想Ed会向你们展示什么是Powertrain Blockset,以及它能为你们做什么。
绝对的。就像你说的,我们会提供所有的模型。所以坐好,放松。我想在这里展示的是其中一个模型是我和动力总成模块组合在一起的,这是我们在这节课结束时将会得到的。
这是一个传统的车辆模型,用来模拟带有内燃机的车辆。我想首先展示的是你们可以从这些模型中得到的一些信息。你可以看到引擎转速的地图和引擎的实际扭矩输出。您可以更改这些参数和映射以适应您的自定义应用程序。
你也可以得到很多信息基于你所拥有的任何数据,甚至是质量流量,还有发动机的扭矩和速度。
听起来超级有趣。所以请耐心等待20到25分钟,我们将引导您完成在动力总成区块集中设置模型的过程。
我们将做一些软件演示与动力总成区块集,然后我们将总结我们的关键点以及。
听起来不错。
正如Christophe提到的,动力总成模块集是对Simulink功能的一个补充。金宝app它构建在Simulink之上,它的优点是您可金宝app以将这两个平台结合起来进行建模工作。
克里斯托夫,如果你看屏幕上的这个图,你可以看到当你有很多数据时,动力总成块集是很棒的。所以它可以用于数据驱动的建模,也可以用于分析,因为它可以提供相对高保真的结果。
同样地,另一方面,它更像是一种基于方程的方法。我更建议在设计阶段使用,当你开始的时候。但是要知道Simulink也金宝app可以用于分析。如果你有一个非常高保真的模型,你已经在Simulink中建立了几个月或几年,你可以从中得到很好的分析结果。金宝app
这两个的优点是,你可以把它们结合起来。
好的,从那张幻灯片中我要讲的是Simulink是从设计的早期阶段开始的。金宝app如果我有了方程,我就可以建立Simulink模型。金宝app对于Powertrain Blockset,我需要更多的数据,用于分析我已经拥有的系统。但我一点也不担心,因为Powertrain Blockset是在Simulink之上的。金宝app因此,即使在Powertrain Blockset中缺少一个组件,人们也可以将其与Simulink进行设置,并可以将这些工具结合使用。金宝app很高兴听你这么说。
完全正确。太好了。是的,动力总成区块集的一些优点——它是建立在Simulink之上的。金宝app它提供了使用用户可能拥有的测试数据定制块的能力。您还可以用单个块表示单个组件的操作。
之前,在Simulink中,金宝app我们使用了一个由很多块组成的子系统。现在,你可以只用一个方块。同样,Powertrain Blockset金宝app也支持自动代码生成。
好了。
现在,如果用户正在寻找文档完善、开放且可重新配置的模型,那么Powertrain Blockset是一个很好的选择。此外,如果用户可以访问大量的测试数据,Powertrain Blockset是一个很好的选择。
最后,动力总成块集还可以减少模型中的块数,同时保持一定的保真度。
我认为一个很好的例子就是内燃机。如果你想模拟整个热力学,机械特性,所有发生在那里的过程,你将需要几十个Simulink模块。金宝app我会说,在动力总成块集中,使用一个发动机块,参数化可用的数据,你就可以开始了。
正确的。好的,另一个重要的方面,关于动力总成区块集,我们必须记住的是,它提供了各种组件选项。我的意思是,举个例子,为了表示引擎的运行,你可以从最基本的方块类型开始。这些被称为映射块。所以你可以看到,他们通常使用查找表或地图。
但你也可以模拟引擎的细节和动力学,无论是压缩点火还是火花点火。在这个演示中,我们会坚持使用方块的地图版本。但是你可以为发动机的运行配置很多不同的方面,比如空气质量流量的功率,燃料流量,温度,效率,甚至发动机的排放方面。
此外,对于传输,我们有多种选择。你可以有无级变速器,双离合变速器,或者在我们的模型中,我们将使用的只是一个离散手动变速器。
同样,在这个模型中,我使用状态流为我的传输创建了移位逻辑。这是一个可以添加到Simulink的工具箱。金宝app人们可能需要获取的另一个信息是传输的位移图。因此,在确定油门踏板位置的速度时,变速器就会换挡。
这些就是我在演示中要用到的主要组件。但是,我还有很多其他组件,比如车辆动力学,轮胎,还有传动系统,我想在这里的演示中介绍。
我们可以从简单的滑翔机开始。我们在本系列的第一集看到了滑翔机。这里我们要做的是增加另一个复杂程度。我们可以在车辆动力学中加入轮子和刹车。我将从车辆动力系统开始讲起。
好,从上一节中,我们看到飞行器或滑翔机的动力是通过对许多不同的物体的力求和来表示的。在这种情况下,所有这些都总结在这里的车身块。我还提到了这些块是开放式的,也是可重构的。我的意思是你可以探索这些方块。
例如,如果你看蒙版下面,你可以自定义这个块的一些方面如果你真的想要达到那个级别。
对,或者你能从这块积木中获益。您相信MathWorks工程师和开发人员这是正确实现的,您只需使用它。所以你有选择的自由。
没错,在这方面有很大的自由。再说一次,我在这里所做的只是使用我已有的一些参数。我自定义这些块,然后把它们插入我的模型中。
好了。
这里有很多简化。只用一个块来表示车辆的动态。这里,我所做的是表示车辆的轮胎。前轮和后轮,这只模拟了纵向动力。
这是公平的。你需要从某一点开始。正如我们在这里看到的,轮胎模型引用了神奇公式方法。
正确的。
所以它可以参数化使用不同的轮胎模型。在这种情况下,我们选择了一个非常简单的方法——Pacejka Magic Formula。好消息是我们为您开发了从轮胎测试数据中获得神奇公式系数的工具。
所以我们参考Calspan的TTC。这是另一个软件,我们将在另一个视频中与你们分享,也是关于文件交换的。这样你就可以从轮胎测试数据中得到系数B C D E。我想一点一点地,我们真的为你配备了建立一个车辆模型所需要的所有东西。
好了,我们讲了车轮,车辆动力学,在这个子系统中我们只看到驾驶员。我们让PID取参考速度和车速之间的误差,它输出我们想要的制动和实际扭矩命令。
好了。
同样,如果我们运行这个模型,这是一个实际大约600秒的驱动周期。但是这个模型实际上只需要不到5秒的时间。
大概四到五秒。
所以比较快。你也可以通过比较参考速度和从模型中得到的速度来评估结果。在这里,我可以说我的模型实际上以一种适当的方式满足了驱动循环。
绝对的。
另一件需要提醒车队或用户的事情是,他们可以定制这些模型,以满足他们的需求,无论是单圈时间还是驾驶周期。
完全正确。
好的,如果我们进入下一个模型,我想展示一辆纯电动汽车。那么如何用动力总成模块来建模电力动力总成呢?我想从马达开始。所以司机实际上是在给马达提供一个加速踏板的位置。
你可以看到,这比我们过去用Simulink做的要简洁得多,少了很多块。金宝app我在这里要做的是首先为电机的运行预估转矩和负载。我用油门踏板位置给出的驾驶员需求来衡量它,这就是我的扭矩指令。
所以这个电池电压来自电池模型,来自电池块。这个电机速度是我通过车辆速度和电机速度的线性关系计算出来的。我有了所有这些输入。这个块实际上给了我电池负载,实际上给了电池系统,还有电机的扭矩输出。
艾德,关于那款车的电池有个小问题。您正在使用我们在本系列的第一个视频中介绍的电池建模方法,还是动力总成块集在这里为您提供电池块。
这是个好问题。我正在使用由动力总成块集提供的块。我马上就会讲到这个block的细节。
所以这里你有能力参数化这个马达以任何速度和扭矩工作。我的建议是,再一次地,从一些可以满足用户需求的默认值开始,然后根据您稍后可能获得的测试数据将其参数化。
太好了。
如果我们看这里的电池系统,这是工具箱提供的块。同样,负载电流来自电机子系统,一个环境温度输入,我们得到电池的输出电压。
好的,在这里你可以明确地描述效率以及电池的数量或者电池的化学成分。在这种情况下,我决定改变串联单元和并行单元的数量,以满足我在这个模型中的驱动周期。
太好了。后面的差速器是,在我们用公式模拟传动系统之前。现在,我们有一个开放的微分块。这样事情就简化了。我所担心的只是把齿轮传动比放在最后一个驱动上。这是唯一改变的地方。然后从电机到实际差速器的扭矩通过一个轴柔度。
这个块,它的作用是模拟弹簧阻尼系统。很像轴,或者轴。然后是我们之前讲过的车轮和车辆动态子系统。所以这些和之前的模型没有变化。这就是这些模型的优点之一。你可以增加复杂性。您可以从您的第一个模型开始,并向它们添加不同的组件。
太好了,太好了。我们是否已经运行了该模型,或者我们是否想尝试一下?
让我们运行它。驱动周期大约是600秒,但是这个模型运行得相对较快。我觉得不到五秒就能跑完。
好了。
就是这样。我们可以直观地检查高水平的结果。那么,我是否符合我的驾驶周期?在这种情况下,我们是。这些模型还可以为每个组件提供更详细的信息——电池、电机,还有齿轮箱。
我正想说呢。我们让这个模型运行,我们展示了一个默认图。但你可以在这个模型中几乎任何信号上附加一个范围——你可以监测电流,你可以监测力,车轴系统的遵从性,以及电池的信息——所以你可以洞察一切。它基于Simulink,你可金宝app以在MATLAB中将信号保存到你的工作空间。所以这些模型非常容易操作。
好的。现在我要展示的最后一个模型是传统飞行器。那么我们如何建模内燃机呢?驱动子系统——我的驱动线并没有改变。我还有一个带车轴的后差速器,还有轮子,还有车辆动力装置。真正改变的是动力系统。产生飞行器推进力的不同部件。
在这个例子中,我有一个油门踏板的位置从驾驶员子系统到引擎。我这里有一个主要的块——映射的火花点燃引擎。所以在这里,我所做的是从油门踏板的位置转换到扭矩命令基于发动机的特性。如果我打开这个块,我可以自定义很多不同的东西。
因此,我对团队或用户的建议是开始使用默认值,对其进行描述,然后根据稍后可能获得的测试数据对组件进行参数化。
是的,我知道很多团队都能使用dyno。这就是所有输入数据参数化引擎的地方。正如Ed所说,从默认设置开始,然后添加数据。
好的,如果我们继续看最后一个不同的部件,那是一个变速器,这里我们有一个理想的固定齿轮变速器。所以我用状态流来处理逻辑转换——这是一个不同的工具箱。在这个车辆系统中我没有离合器模型。我所做的就是执行一些逻辑来模拟离合器操作。所以无论什么时候刹车被压下,没有扭矩输入,变速器和发动机就解耦了。
酷。
所以我把这些输入提供给传输块。我可以从传输块中得到很多信息。此外,发动机转速用于反馈。然后是速度输出我可以从中得到扭矩输出。这就是从驱动线上,到差速器,到车轮的扭矩。
酷。所以你唯一没有建模的部件就是离合器。所以你所做的是一个逻辑离合器,这是一个非常聪明的简化。这也是Simulink给你的自由——你自己设置建模深度,如果金宝app你能简单建模,就简单建模。
当然,简单总是好的开始。有了这个块,你有很多不同的东西可以参数化。例如,齿轮的数量和每个齿轮的传动比,甚至效率。所以要靠用户来填补这些空白。
是的,对的。这是关于阅读你的传输数据表——你脑海中的传输数据。
绝对的。再一次,如果我们运行这个模型,这个会花费一些时间,但仍然远少于10秒。
很好,Ed。这些演示非常令人印象深刻——非常复杂,有相当数量的块。我们可以试着总结一下今天这一集的主要内容吗?
当然,我们就这么做吧。动力总成组件,就像我们提到的,是建立在Simulink上的,这就提供了很大的灵活性。金宝app这些模型是高度开放和可配置的。关于这是如何工作的,以及如何在必要时对它们进行适当的修改,有很多可用的文档。
此外,值得记住的是,动力总成区块集组件是数据驱动的。因此,您在这里的责任是将这些组件参数化为您所拥有的任何可用的测试数据。有时候,我认为一个推荐的工作流是从默认的组件开始的,如果你不能访问其中的一些数据的话。
正如我们提到的,有很多选择。例如,发动机选择,变速箱,甚至差速器,车身等等。这个工具提供了很大的灵活性。我想强调的最后一件事是,如果您稍后需要进行硬件测试或硬件部署,Powertrain也支持代码生成。金宝app
我认为这是对今天课程的一个很好的总结。还会有更多视频。下一个视频是关于模拟场景的。这里的关键字是物理建模。实际上是建模物理组件。如果你觉得这很有趣,请继续关注。你能不能试着用一句话总结下一集?我们要做什么?
我们要做模拟场景,物理建模。它可以是非常直观和有趣的,所以请继续关注。
直观的,完美的。好的,非常感谢。
谢谢你,克里斯托弗。
很高兴能和你一起录音。在这集的最后——你已经习惯了——我们对你的反馈非常感兴趣。如果你能给我们发电子邮件,或者在社交媒体上联系我们——比如Facebook——那就太好了。因为这是我们支持的基础。金宝app你分享你的问题越多,你分享你的问题越多,我们的支持就会越好。金宝app所以,请好好利用这个工具。
另一个为了完整起见的链接,在mathworks.com/racinglounge下找到所有赛车休息室的剧集。在这个生态系统中,你还可以找到一个提供软件的链接。如果你使用我们的软件,我们会很高兴你在你的车上或报告上使用MathWorks的标志。
感谢收看。下次见。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。