1. 摩托车虚拟样机建模

摩托车相对于四轮汽车而言有其自身的独特性,但在进行试验分析工作时基本还是按照汽车标准规定的动力学、燃油经济性、操纵性、制动性与平顺性进行。在具体工程上,更多的分析工作是基于主观评价方法,而非客观评价,这样造成样车试验结论的主观性偏差,更为现实的是试验的成本与周期都居高不下。为此,可仿照汽车工业,充分地利用虚拟样机技术提升工作的效率,提高产品的性能。

作为单轨迹车辆,其操纵稳定性不像四轮车辆那样,但仍旧是最为关心的一个环节,这时人和路的因素都需要考虑,因此摩托车车辆虚拟样机技术首先要解决的也是人-车-路闭环系统问题。

在Adams中有多种方式来完成摩托车的相关标准建模与仿真工作。可以在Adams/View中进行摩托车的建模工作(包括轮胎与地面模型),利用Controls Toolkit进行控制系统的创建(主要模拟人的控制模型),再将两者耦合起来形成闭环。当然,模拟人的控制系统也可以用第三方的控制软件完成,如Easy5,Matlab等,再通过Adams/Controls将两者关联起来形成闭环进行仿真研究。另外,Adams有专门的摩托车仿真模块VI-Motorcycle,在该模块中基于模板,子系统与装配的三层架构创建模型,在程序中还内涵了考虑驾驶员的函数(Adams的用户自程序)直接就可实现考虑人-车-路的闭环系统,并且程序中还定制了专门针对摩托车行业经常进行的标准试验类型。

2. VI-Motorcycle 功能介绍

Motorcycle是专业的摩托车运动学与动力学仿真工具,基于Adams软件进行二次开发形成的专业工具。该模块实现了快速建模与模型调整,快速实现标准规定的仿真类型,所有这一切都是基于Adams的参数化建模功能和模板、子系统与装配三层架构而实现的。基于提供的功能,可在一下领域进行应用:

  • 摩托车动力学;

  • 平顺性与舒适性;

  • 疲劳耐久性;

  • 有限操控性为;

  • 试验研究与优化;

  • 驾驶员-车耦合分析;

  • 软件在环;

  • 硬件在环;

  • 动力系设计分析;

  • 路面研究;

软件提供自带的模板库,根据角色的划分有车身、动力系、转向系、悬架、车轮、驾驶员等部分,当然,用户也可以基于这一架构不断地拓展,满足自己的需要。更为关键的是程序中提供了专门应用于摩托车行业的分析类型,如转向力矩、8字绕行、制动、迂回行(Weave)、转向摇晃(Wobble)、直线加速、两轮台架等,当然,还可以根据需要进行分析类型的定制。

3. VI-Motorcycle 应用案例

下面进行绕8字的分析,直接调用对应工况,设置相关参数:

完成计算后,其后处理的动画和曲线如下图所示:

上述过程可以很迅速的完成,关键是要了解内部的运行过程,这时可以查看一下本次仿真的脚本命令:

output/nosep

preferences/solver=CXX

control/routine=vitools::vmc_initcon, &

function=user(1)

deactivate/jprim, id= 4

!

simulate/statics

control/routine=vitools::vsc_adjcon, &

function=user(900, 1)

!

string/6, string=Vehicle Setup

control/routine=vitools::vsc_reportcon, &

function=user(1205,2,1,1,1,5,6,19,1)

! update gyro location

control/routine=vitools::vsc_mmovecon, &

function=user(1215, 18, 19, 10, 0)

function=user(1215, 420, 18, 423, 0)

function=user(1215, 421, 18, 423, 1)

function=user(1215, 27, 18, 27, 0)

function=user(1215, 28, 18, 28, 0)

function=user(1215, 29, 18, 29, 0)

function=user(1215, 30, 18, 30, 0)

function=user(1215, 31, 18, 31, 0)

function=user(1215, 32, 18, 32, 0)

simulate/statics

!

deactivate/joint, id=5

simulate/statics

string/6, string=Running Condition

function=user(1205,2,2,1,1,5,6,18,1)

deactivate/jprim, id= 5

!

deactivate/jprim, id=3

! mass calc activity

function=user(1205,0,2,1,1,0,0,421,0)

control/routine=vitools::vsc_vhlipcon, &

function=user(1, 1, 2)

!-- Initialize VIdriver

control/ routine=vidriver_adams::vdrv_setcon, function=user(4, 4, 17, 0, 12, 24, 0)

control/ routine=vidriver_adams::vdrv_srvcon, function=user(1, 4, 3)

!-- Initialize vehicle states

control/ routine=vitools::vsc_admstartupcon, function=user(3, 4, 5, 10, 6)

simulate/dynamics, end=20.0, steps=2000

!

通过调用动态链接库中CONSUB子程序完成不同阶段模型的修改设置,完成初始条件设定与静力学分析,并对驾驶员的对应子程序进行设定,而这些参数的设定都是在点击绕8字分析框后,程序自动生成的,最后再进行相应的动力学计算。

也可对悬架进行单独分析:

进行线性化分析,查看系统的Weave及Wobble振动模态:

两轮台架分析:

摩托车半实物仿真:

4. 总结

Adams作为专业的多体动力学仿真工具,在其核心功能模块基础上针对不同行业开发了很多专业工具。就摩托车虚拟样机的建模与仿真工作而言,既可以在Adams/View中实现也可在MotorCycle模块中实现,因为两者本质上是相通的。

相关文章