汽车运输安全虚拟仿真实验设计
2020-10-08范林坤
陈 涛,范林坤
(长安大学 汽车学院,陕西 西安 710000)
汽车运输安全实验涉及汽车理论、汽车动力学、汽车设计、机械设计等基础知识,利于学生建立丰富、扎实的知识基础。在旨在培养交通运输类实用性人才的汽车运输安全教学体系中,是培养学生较强的工程意识、工程素质和工程实践能力的必修环节[1]。由于交通运输实验难以在实际的生产环境中完成,运输生产过程成本高、风险大,高速运动状态的运载工具一旦发生操作失误,极易导致重大事故发生,导致了学生在现场生产实践和实习过程中缺乏实际动手操作的机会[2],阻碍了交通运输领域人才的培养。
虚拟仿真技术就是用一个系统模仿另一个真实系统的技术,具有自由度高、交互性强、仿真度高,可修改仿真参数等特点[3-5]。该技术在汽车加速[6]、交通运输[7]、车辆工程专业教学[8-9]、交通事故[10]、汽车动力学[11]等研究中均有应用,但仍存在汽车运输安全实验成本高,危险系数大的难题。
本文采用模块化方案进行虚拟仿真实验设计,基于B/S(browser/server)架构,利用Unity 3D 虚拟引擎和Java Server Pages(JSP)等软件实现的汽车运输安全虚拟仿真实验可以有效地降低实验成本和风险,改善实验的实用性,提高实验教学质量。
1 虚拟仿真实验设计
1.1 实验目的
汽车运输安全实验的目的是通过仿真实验找到影响汽车运输安全的因素,这些因素包括整车参数和道路参数。为了确定哪些参数的变化会影响汽车的运输安全性,实验采用了控制变量法。首先在理论分析的基础上确定哪些参数会影响汽车运输的安全性,之后针对每个可能的影响参数进行实验。实验时保持其他参数不变,在尽可能广的取值范围内调整目标参数,进行若干次实验并记录实验结果,获得目标参数与侧翻因子间的关系。这样可以直观地判断出每一特定参数与汽车运输安全性的关系,得到影响汽车安全性的车辆和道路参数,并且可以确定参数调整策略。
1.2 虚拟仿真实验总体设计
1.2.1 实验功能模块设计
为提高实验设计与仿真平台搭建的效率,采用模块化设计框架,将实验分为实验准备、参数设置、仿真计算、实验结果分析4 个模块(见图1)进行设计。实验准备模块介绍实验详情,确定实验参数;参数设置模块将确定的车辆和道路参数输入到仿真计算模块;仿真计算模块根据汽车系统动力学原理对车辆和道路参数进行分析计算,得出车辆的行驶状态;实验结果分析模块进行实验结果分析与传输。
图1 实验功能模块
1)实验准备模块。
此模块主要介绍实验流程、实验要求、实验原理;对用户计算机进行带宽测试,判断带宽条件;为了使学生了解服务器占用情况,在实验开始阶段的界面上显示当前实验人数。
2)参数设置模块。
确定车辆参数和道路参数后,参数设置模块将这些参数输入到仿真软件中。该模块涉及的车辆参数包括:车型、整车(质心位置、转动惯量、迎风面积、质量等)、发动机、传动系、悬架系统、制动系、转向系、轮胎、车速等。道路参数包括:道路半径、超高、道路坡度、路面附着系数等。为了使学生更加直观地了解所设置的参数的详细信息,参数设置模块提供汽车各结构的2D 图纸信息或者特性图。
3)仿真计算模块。
该模块实时输出车辆的性能参数,是虚拟仿真实验的核心,侧滑和侧翻是运输车辆行驶过程中最危险的2 种工况,仿真计算模块根据运输车辆行驶过程中通过弯道时的车速、汽车结构参数与道路参数计算出车辆侧倾角、侧向加速度、四轮垂直反力随时间的变化情况,并推算出侧滑的临界车速、侧翻因子、侧翻的临界车速,从而判断汽车是否出现侧滑或侧翻。
为简化模型建立的过程和便于计算,这里假设汽车的结构参数保持不变,汽车的悬架系统保持线性变化。汽车曲线运动时需要侧向附着力提供向心力,侧向附着力为umg,在汽车转弯时是个定值。而向心力与车速v和转弯半径R相关。如果车速过大或转弯半径过小,会使侧向附着力不足以提供曲线运动所需的向心力,汽车的转弯半径会突然变大,发生侧滑[12]。汽车发生转弯侧滑的临界条件为:
其中,u为路面侧向摩擦系数;v为车辆行驶速度;R为弯道半径;m为汽车质量;g为重力加速度。当ug< 时汽车发生侧滑失去稳定性。
其中,ay为侧向加速度;hg为质心高度;β为坡道倾角;FZi为内侧车轮压力;B为轮距。
汽车发生侧翻时的临界车速为:
侧翻因子IR能够测量和估计非簧载质量和簧载质量垂向加速度、横向加速度和侧倾角等未知参数,实时计算存在路面激励临界条件下车辆侧翻倾向,其表达式为[13]:
其中,T为轮距;Ix为簧载质量的转动惯量;为左侧非簧载质量的垂直加速度;为右侧非簧载质量的垂直加速度;mu1为左侧非簧载质量;mu2为右侧非簧载质量;为转动角加速度;φ为转动角速度;mx为左侧簧载总质量;hg为车辆质心高度;ay为车辆在y方向的加速度分量;mz为右侧簧载总质量;为车辆的垂直加速度;m为车辆质量。
4)实验结果分析模块。
该模块的作用是将仿真计算模块得出的结果直观地呈现出来,进行分析。在该模块中可以直接得到汽车行驶状况(侧滑、侧翻、正常行驶)、侧翻临界车速、车辆侧倾角、侧向加速度、四轮垂直反力与时间的关系曲线等。为了使学生可以全面地了解实验结果,汽车行驶过程以三维动画的形式显示。实验三维动画场景主要展示汽车行驶状况、道路状况和各个车轮的受力状况,并可以进行场景漫游,学生可以从不同角度观察车辆行驶的过程。为了指导学生进行合理操作,该模块为学生呈现实验结果操作说明。如果选择提交实验结果,则实验结果被保存至数据库,并在实验准备模块中展示出来;如果学生选择不提交实验结果,则直接开始下次实验。
1.2.2 实验交互界面设计
交互界面的目的是增加学生的实验参与感,提高实验效率,增强实验的直观性。二维交互界面设计时遵循准确、简洁的准则,界面以蓝色、白色和黑色为主,学生可以直观地看到设置的参数的详细信息。
三维交互界面设计时采用第一视角的漫游界面,界面可进行放大、缩小操作;设计4 个向上的黄色箭头对应4 个车轮垂直反力的值,箭头长短与垂直反力成正比关系;三维交互界面的功能还包括暂停、快退、快进、延时显示、显示实验进行时间和剩余时间等。
实验的主要交互界面的功能设计如图2 所示。
图2 人机交互界面设计
2 虚拟仿真实验实现
汽车运行安全虚拟仿真实验采用B/S 网络架构。用户浏览器、数据库、仿真服务器和仿真软件构成了汽车运输安全虚拟仿真实验平台,如图3 所示。
图3 实验平台构建框架
2.1 数据库
设计时采用Mysql 数据库进行开发,实验结果数据和车辆、道路结构参数数据都保存在数据库中。确定数据项、数据结构、数据流和实体关系图后,利用Powerbuilder 软件进行数据库的搭建。仿真服务器用来承担虚拟仿真平台的数据计算、数据传递任务。考虑平台计算量较小设计时采用私有云服务器。
2.2 仿真过程实现
2.2.1 参数设置模块实现
该模块使用JSP 软件进行开发,实现步骤如下:①明确界面功能,确定界面布局和数据流向;②创建实体类包,导入结构参数2D 视图和特性曲线;③调用业务层的处理类和处理方法处理请求,根据结果返回响应。
根据实验数据内容搭建的参数设置模块如图 4所示。
图4 参数设置模块
2.2.2 建模与场景搭建
采用3D MAX 软件进行三维场景建模。建模时在确保真实性的前提下,通过减少不必要的线条来优化模型,减小粒度。利用Unity 3D 地形编辑功能,构建室外实验环境,并将车辆和道路模型以 FBX 格式导入Unity 3D 场景来铺设道路路线。
2.2.3 虚拟仿真实现
虚拟仿真实验中主要呈现的有3 种行驶状态:正常行驶、发生侧滑和发生侧翻。通过动画模拟演示功能,根据仿真服务器传来的计算结果进行车辆行驶状态的虚拟仿真,如图5 所示。根据C#脚本中Carstate存储的变量信息使用Animator 来控制车辆行驶状态的切换,实现实验计算结果与仿真动画的对接。
2.2.4 三维交互界面
实验界面为场景漫游界面,学生可以第一视角在实验场景中自由观察,设计时采用Unity 3D 自带的UGUI 组件和可视化工具。摄像机的视角范围决定了界面的显示内容,实验中创建了一个Camera 与漫游界面相对应,通过编写SceneMove.cs 类文件使拖动鼠标左键为改变视角,拖动鼠标右键为拉进/放远视角,实现手控个人视角。
图5 汽车行驶动画
2.3 实验结果分析
基于仿真服务器提供的车辆侧翻因子、侧倾角、侧向加速度和四轮垂直反力的值,利用JPS 的MVC模型来实现结果分析与展示如图6 所示。
图6 实验结果
3 结语
汽车运输安全虚拟仿真实验降低了实验的成本与风险;通过方便快速的实验环境与输出结果达到了快速获取实验现象的目的,实现了良好的人机交互;学生可以根据实验的效果直观地理解实验的运行机制;还可以根据自己的实验目的自主设置实验参数,自主操作,提高了学生的参与感;汽车运输安全虚拟仿真实验摆脱了实车实验中时间、空间和技术要求的限制。