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