学生休息室

分享学生如何在日常项目中使用MATLAB和Simulink的技术和现实例子#studentsuccess金宝app

使用Simscape语言的自定义车辆建模

今天,我很高兴为大家介绍安德里亚Casadio他是一名初级机械工程师,也是本博客的首次访客。安德里亚将描述他的论文工作都灵理工大学在其中他开发了Simscape™ 用于车辆建模的库。

感谢Andrea为社区提供了关于MATLAB中央文件交换

– –

当我在大学学习车辆动力学时,我花了很多时间在Simulink中建模金宝app®。事实上,我所做的是基于基本方程创建模型,试图模拟实际系统。当我使用更先进的系统建模方法时,这种方法变得越来越耗时。最终,我花更多的时间构建车辆模型,而不是开发和优化模拟。

在这一点上,我发现了Simscape。Simscape允许我在Simulink环境中加速创建物理系统的模型。Simscape块通常在单个块中提供Simulink块系统的功能。金宝app

无论如何,描述Simscape的优点和缺点不是本文的范围。那么,让我们开始工作说明吧!

在我的项目开始时,我发现Simscape Driveline库的默认块只允许模拟纵向行为。原因是,提供的轮胎块是基于数学模型,考虑了轮胎和道路之间交换的纵向力。正如预期的那样,MathWorks提供了允许创建自定义组件使用Simscape语言

基于上述原因,第一个目标是开发基于Pacejka ' 89和' 96等更复杂的数学模型的定制轮胎块,同时考虑侧向力和纵向力的组合。

图1–定制轮胎垫块示例

横向和纵向力是轮胎横向和纵向滑移的函数,取决于车轮的平移和旋转速度。为了开发此类块,有必要使用Simscape语言定义:

  • 保存传输速度和力信息的端口;
  • 域、变量、参数和方程的声明。

保存端口是与其他Simscape组件的接口,在上面所示的例子中,“HX”和“HY”是在机械平移域上定义的保存端口。还有一个" A "是在机械旋转域上定义的保存端口。

为了验证轮胎模型,需要在轮胎模型中加入纵向和横向运动,可以得到如图2和图3所示的图。

图2 -在不同的垂直荷载下,侧向力作为侧向滑移的函数- Pacejka’89模型

图2显示了轮胎在纵向滑移为零(没有刹车或加速)时的典型行为。这个奇怪的趋势是Pacejka模型的结果。如果你看看图1中的块,没有引入垂直负载变量的选项,这是作为块参数引入的。

图3 -横向力作为纵向力的函数在不同的横向滑移角- Pacejka ' 89模型

对图1中的块进行不同的输入,可以得到图3中的图形,其中显示了在不同的侧向滑移条件下,道路和轮胎之间的侧向力如何作为纵向力的函数变化(alpha)。当纵向力为零时,横向力最大。这很简单,因为当驾驶员没有踩刹车或油门时,轮胎在弯道上的抓地力会更高。相反的情况是纵向力最大。在这种情况下,侧向力为零。即使根据常识,你可能也会同意在转弯时使用过多的刹车或油门不是一个好主意。

就像对轮胎所做的那样,从车辆的3个自由度(DOF)模型开始,可以开发一个描述车辆车身动力学的块:

图4–3自由度车辆模型

以下是对3自由度车辆模型的简短描述(图4):

  • HXFR、HXFL、HXRR、HXRL是机械平移域上定义的保存端口。通过这四个连接,可以将车身连接到其他模块(如轮胎),但只能在纵向方向. 每个轮胎有一个端口(FR表示右前,RL表示左后等)
  • HYFR、HYFL、HYRR、HYRL是机械翻译域上定义的保守端口。通过这些连接,可以将车身连接到车辆中的其他模块(如轮胎)横向
  • NFR、NFL、NRR、NRL是表示垂直荷载的物理信号输出。这些端口有助于使块与图1所示的块连接。事实上,3自由度模型没有考虑纵向或侧向加速度期间的载荷传递。在这种情况下,它被认为是一个恒定值,取决于车辆在静态条件下的负载分布,没有任何坡度。ST是表示转向角的物理输入
  • PX、PT和偏航是表示沿x、y和偏航的位置的三个输出。偏航是指车辆相对于其纵轴通过重心(COG)的旋转角度。

[按图片放大]

图5–完整的3-DOF项目–带3个差速器的四轮驱动车型

如图5所示的系统允许通过以下方式模拟车辆行为:

  • 输入:方向盘角度(ST);
  • 输出:质心坐标和偏航角(PX,PY偏航)。

为了验证这些模块,定义了四种不同配置的四轮驱动汽车,其中包括三个差速器,见图6:

  1. 所有差速器均已打开
  2. 中央差速器锁
  3. 中央和后差速器已锁定
  4. 所有差速器均已锁定

图6–用于模拟3自由度模型的四种不同配置

在MATLAB工作空间中节省了质心偏离坐标,在仿真过程中可以绘制出车辆质心轨迹(见图7)。这张图显示,正如预期的那样,转向不足行为的增加,而差速器已被锁定。

图7 -不同工况下的车辆轨迹

与Simulink模型相比,使用先前定义的自定义块对车辆进行建模提供了更清晰的系统表示。然而,根据物理系统的方程来定义车辆动力学块并不简单。别担心,正如克里斯托夫所指出的,我在上金宝app个月与你分享了这些材料MATLAB中央文件交换

另一种选择是使用MathWorks的多体仿真工具Simscape Multibody™. 模型如图8所示,其图形表示如图9所示。

[按图片放大]

图8–使用Simscape多体模型构建的6自由度车辆模型

图9–6自由度车辆模型的表示

最后,无可否认,很难给出关于是使用Simscape还是使用Simscape多体的简洁建议。简而言之,Simscape Multibody将在您构建模型时自动提供模型的图形表示。它还将允许您模拟联系人–在此处找到详细的接触建模简介. 与Simscape相比,这些附加功能将需要更多的CPU时间来求解系统方程。

让我给你介绍一本以前的书赛车休息室中的文章,重点介绍车辆造型。特别是,使用Simscape多体的建模方法将深入讨论Simscape多体的优缺点。更妙的是,所有模型都在MATLAB中央文件交换

如果说我的工作有一个关键收获的话,那就是:有很多机会来模拟车辆模型并研究不同悬架参数的影响。无论您是在Simulink、Simscape还是Simscape Multibody中工作,都可以通过MATLAB工作空间修改参数。金宝app

这项工作是一个有趣的机会,可以看到MATLAB在车辆建模方面的巨大潜力。当然,还有许多未来可能的实现,例如,考虑在悬架行驶过程中的载荷传递或特性轮角变化的进一步的轮胎模型的开发。我很想听听你对我工作的反馈。

感谢MathWorks给我们机会在赛车休息室博客上发表文章!

|

评论

要留下评论,请点击在这里登录到您的MathWorks帐户或创建一个新帐户。