APP下载

基于Unity 3D的钳工教学虚拟仿真实验系统

2023-04-20颜宗欢张士杰黎鑫

计算机应用文摘·触控 2023年7期
关键词:仿真系统虚拟技术

颜宗欢 张士杰 黎鑫

关键词:仿真系统;虚拟技术;金工实习;钳工教学

中图法分类号:TP391 文献标识码:A

1引言

“钳工实训”是机械类各专业必修的一门基础性实践课程,旨在提升学生动手操作、创新、解决问题等能力。学生不仅需要了解钳工(包括锯削、锉削、划线等)的基本原理,同时需要对其规范操作进行实践和掌握。但由于钳工设备价格较高且某些操作的危险性很高,导致教学往往侧重于掌握基本的原理,这严重影响了教学效果,也降低了学生的参与度和体验感,没能实现培养其实践能力的目标。

针对以上问题,很多高校已经开始了相关研究与应用。随着交互性应用的发展,虚拟仿真技术有了突破性的进步,在各行各业都有成功的应用,并取得了相应的经济效益。

虚拟仿真系统主要包含硬件和软件2个部分,其中软件作为控制,硬件作为仿真对象。其优势在于以钳工教学作为理论基础,以虚拟现实的仿真系统作为技术支持,基于Unity软件构建3D实验室,连接手机与平台进行交互,实现与真实环境相似的效果。相对于其他虚拟平台,本文虚拟平台在一定程度上更有助于实践性课程的训练,同时成为全国高校金工实习首个线上线下共同教学平台,填补了金工实习线上虚拟现实教学的空白。

2虚拟仿真技术

虚拟现实技术,又称作虚拟实境技术。该技术是一种能够创建和体验虚拟世界的计算机仿真系统(Computer Simulation System)。该技术主要是由计算机技术、传感器技术、人类心理学和生理学等综合而成。因此,其能够向用户提供视觉、嗅觉、味觉等感知功能,让用户完全沉浸在虚拟环境中,实现身临其境的效果。该技术通过计算机仿真系统尽可能地还原现实环境,让用户能够在虚拟环境中进行交互,并为用户提供各种信息。

虚拟现实技术包含3个主要特点:交互性(Interaction),沉浸感(Immersion),想象性

3实验系统设计

3.1系统构思

系统的初步构思:前端开发系统登录界面的设计,后端建立mysql数据库,存放用户信息,利用Unity实现用户注册登录并进入实验平台。通过三维建模软件solidworksUnity构建3D实验室环境,即操作平台界面。插入实训教学的音频,用户可以在实验操作前观看具体的操作步骤。然后将手机与计算机进行连接,通过移动手机端,实现虚拟工具的移动,从而对元件进行打磨。后端数据库记录整个实验操作过程,实验结束后,根据建立的数据库对其操作进行评分,并给出具体的扣分原因。

该系统主要是基于Unity平台,结合硬件和软件设计而成的虚拟仿真实验系统。虚拟仿真实验系统主要实现以下功能。

(1)通过三维建模软件solidworksUnity搭建虚拟现实3D钳工虚拟车间场景。学生可从计算机端进入虚拟现实车间场景,选择工具,并对虚拟毛坯材料进行打磨加工,连接传感器与虚拟工具进行匹配,可以实现对钳工操作的模拟。

(2)虚拟仿真实验系统能够提供友好的交互功能,使用手机中的Unity remote APP与unity场景交互实现体感交互功能。学生手持传感器即可以模拟真实的金工实习操作。例如,学生通过手机模拟锉,即可完成锉削动作。

(3)基于mysql数据库和Unity上传的数据,对学生的钳工操作进行评分。当学生的操作出现锉削角度有误、速度掌握不当、工件损坏等错误时,系统会基于Unity3D数据库进行判断,并对其纠正错误。实习完成后,系统自动将成品与Unity3D中的标准件进行比对,并完成评分。

3.2设计实现

3.2.1虚拟实验室场景

为了还原实际车间的真实场景,我们采用了SolidWorks三维建模,对实验室的环境和工具进行搭建,并利用3D MAX为实验工具添加对应的贴图材质。此外,为了有助于后续编程,在开始搭建环境时就对各类模型进行分类。因为实验操作分为不同阶段,各个阶段所需要的工具不同,所以在后面的系统设计过程中,需要采用合理的建模方式。例如,交互编程中的平移和转动会受到创建模型大小的影响,虚拟实验室的环境优化问题会受到模型细化的影响。

在开发了一些3D场景后,我们创建了虚拟实验室环境,用户可以在其中选择实验工具。如图1所示,该场景看起来像是一个简单真实的实验室,实验桌上放有实验操作的工具。

3.2.2交互界面

完成虚拟实验室模型的创建后,还需要对该虚拟场景进行交互编程。交互编程主要分为以下2个方面。

(1)在虚拟实验过程中实验工具和实验材料属于基本属性的交互编程,如实验材料的选择,实验工具的更换,对实验器材的打开或者关闭,用户能够自由移动工具或者实验工具,场景中的仪器具有重力等基本属性。这些功能主要是通过基于Furion框架的.Net6来实现。

(2)学生在虚拟实验室环境中的每一个操作都将被后端数据库记录,以便后续对实验操作进行打分。实现该功能的方法主要包含以下2种。

方法一,虚拟场景直接和前端页面通过Javascript完成。具体实现如下:将网页中嵌入的虚拟场景通过VR.Engineering, Node(“scnptname”")遍历,原script已经创建了多个字符域(MultStringName),用于接收场景中传人的字符,因为虚拟实验中的操作促进script节点中的事件发生,该事件立即产生新的事件。

方法二,将虚拟实验室和服务器嵌入同一个网页,通過Java Applet来记录用户整个操作数据,实验操作的变化将受到Java Applet的控制,由Java Applet编程产生的数据或提示信息字符直接输出在网页中嵌入该Java Applet页面的位置上。

其主要代码如下。

public classApplet(Integer transaction) throws SQLException{

String sql = "delete fromtransaction where transactionid=?";

corin=JDBCUtil.getConnection();

pstmt=conn.prepareStatement(sql);

pstmt.setObject(1,transactionld);

int recordNumber=pstmt.executeUpdate();

pstmt.close();

conn.close();

return recordNumber;

}

3.2.3播放视频

学生在虚拟实验中,需要完成钳工操作。系统添加了实验的操作视频,帮助学生理解并掌握整个实验过程的基本原理。用户进入实验室,点击播放视频后,可以通过其进行控制播放进度和点击结束观看等操作。其具体实现步骤如下。

首先确定打包资源,并且给该资源包命名,然后指定该资源的属性。由于该资源仅在Victory模式下运行,但在实际的运行过程中并没有创建该资源的过程,因此需要创建一个文件夹名为“Victory”,而后在此文件夹下打包指定的属性。在代码中写好方法后,将此方法放到Unity的菜单下进行手动调用。其主要代码如下。

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class LoadFromFile:MonoBehaviour{

void Start(){

AssetBundle ab=AssetBundle. LoadFromFile ("AssetBundles/wood.unity3d");

//加载资源

GameObject

wallPrefab = ab. LoadAsset ("Wood");

Instantiate( wallPrefab);

}

}

3.2.4评分

在实际的金工实习过程中,实验结束后会对学生的打磨作品进行评分,因此,需要为系统添加类似功能。基于前文的技术,系统已经保存了用户整个操作过程的数据。对学生打分的过程使用Visual Studio为此项目提供的算法,具体的伪代码如下。

#include

int main(void)

{

int function;

printf(“选择功能”);

printf(“A.选择作业工具”);

printf(“B.作业评分”);

scanf(“%d”,&function);

switch( function)

{ case A:int i;

printf("1.锉2.老虎钳3.铜刷");

scanf("%d",&i);

switch(i)

{casel://调动工具蝶

break:

case2://调动工具老虎钳

break:

case3://调动工具铜剧

break;}

case B:int i,j;//i表示当前完成作品:j表示标准作品

{if(i>j)

printf("不合格");

else if(i= =j)

printf("合格");

else(i

printf("合格");

}

}

}

4结束语

本文旨在创建虚拟金工实习虚拟实验室,以支持学生模拟钳工实习。本文设计并开发了一个虚拟仿真实验系统,在该系统中,用户可以使用手机陀螺仪与虚拟物体进行实验交互。此外,后端记录用户操作数据,并根据具体操作给出用户实验的分数。

本文提出采用新的技术和工具来创建可视化和交互式的钳工实验。本文实验设计均基于钳工教学的基本理论,将相关材料在3D模型中实现,并在虚拟系统中进行实验。通过打磨金属材料来模拟实验过程,并通过虚拟现实系统模拟实验室环境,從而提高学生的实践能力。这种融合研究并不会带来真实的实验室环境的潜在危险,实验错误也可以很容易地被纠正,而且学生可以在不消耗任何真实材料的情况下重复进行实验。因此,虚拟现实仿真技术可以作为一种广泛应用的教育工具。

作者简介:

颜宗欢(2001—),本科,研究方向:计算机视觉、计算机科学。

猜你喜欢

仿真系统虚拟技术
220kV智能变电站数字物理仿真实训系统设计方案研讨
高职数控维修实训教学效果的提升策略研究
云数据存储安全关键技术研究
数控仿真系统三维建模技术研究
虚拟现实技术在实验教学中的应用研究
网络损伤仿真系统设计与实现
轿车空调制冷系统仿真平台应用研究
有关虚拟现实技术在土木建筑工程中应用的研究
光电跟踪设备视景仿真系统设计