崔健,喻向天,张赛昆,马冬宝,汤晓华
(1.北京电子科技职业学院,北京 102600;2.武汉理工大学,湖北 武汉 430070;3.深圳市物新智能科技有限公司,广东 深圳 518107)
机器视觉作为计算机科学和人工智能领域的一个重要分支,已经成为了当今社会中不可或缺的技术之一。随着机器视觉技术的不断发展和应用,越来越多的教育机构和培训机构开始注重机器视觉方面的教育和培训。然而,由于机器视觉领域的实验设备和工具通常价格昂贵、操作复杂,以及安全隐患等问题,使得机器视觉实验教育受到了一定的限制。
虚拟仿真技术是一种基于计算机图形学、计算机视觉、虚拟现实等多种技术的计算机辅助教育方法。通过虚拟仿真技术,可以在计算机中建立虚拟实验环境,并在该环境中进行学习和实验,以达到节约成本、安全可靠、多角度观察等优点。因此,虚拟仿真技术逐渐成为了教育领域中一个非常重要的技术手段。
基于虚拟仿真的实验教学平台是指利用虚拟仿真技术,通过数字化模型、虚拟现实技术等手段,模拟实际操作环境,让学生进行虚拟实验和实践操作,以达到教学和实践的目的。该技术可以有效地提高实验教学的安全性和效率,同时也可以增强学生的学习兴趣和动手能力。近年来,基于虚拟仿真的实验教学平台已经成为国内外高校和研究机构关注的热点领域。
国外基于虚拟仿真的实验教学平台的研究和应用已经非常成熟。美国、加拿大、英国、澳大利亚等国家的高校和研究机构,早在20 年前就开始研究和应用虚拟仿真技术。比如,美国哈佛大学的Virtual ChemLab 平台可以让学生进行化学实验的虚拟仿真;英国埃克塞特大学的Virtual Fieldwork 平台可以让学生进行地理实验的虚拟仿真;澳大利亚昆士兰大学的VECCI 平台可以让学生进行商业运营实验的虚拟仿真。这些平台不仅可以提高学生的学习效果,还可以节省实验成本和实验室场地的使用。
在国内,随着数字化转型的加速,基于虚拟仿真的实验教学平台的研究和应用也在不断发展。国内许多高校和研究机构已经开始研究和应用这一技术,例如,中国矿业大学的Virtual Campus 平台可以让学生进行建筑实验的虚拟仿真;北京理工大学的Virtual Lab 平台可以让学生进行机械实验的虚拟仿真;清华大学的Virtual Medical Education Center 可以让学生进行医疗实验的虚拟仿真。这些平台不仅可以提高学生的实践能力和动手能力,还可以提高教学效果和教学质量。
虽然国内外在基于虚拟仿真的实验教学平台方面的研究和应用有所不同,但是两者都存在一些共同的问题。例如,如何解决虚拟仿真技术在模拟真实环境方面的局限性、如何提高虚拟仿真技术的逼真度和交互性、如何保障学生的实践操作安全等问题都需要进一步研究和解决。
针对以上问题,本文针对机器视觉领域的教学需求,设计并实现了一个基于机器视觉虚拟仿真的实验教育平台。该平台的核心在于利用虚拟仿真技术实现了机器视觉设备和工具的模拟,以及机器视觉算法的实践。具体地,该平台使用Blender 建模技术,将各种机器视觉设备和工具进行3D 建模,然后将模型导入到Unity 引擎中。通过使用WPF 构建控制端,可以实现对Unity 场景进行操控和操作。此外,平台还模拟PLC 控制运动,从而实现对机器视觉相关算法的学习和实践。
通过该平台,学生可以更加直观地感受机器视觉设备和工具的特点和使用方法,学习和掌握机器视觉相关算法和技术,并在虚拟实验环境中进行实验和练习。该平台具有操作简单、成本低、安全可靠、学习效果好等优点,为学生提供了一个更加实际、直观的学习环境,能够帮助学生更好地理解机器视觉算法的原理和应用。
本文的主要工作包括以下几个方面:
(1)利用Blender 建模技术,将机器视觉设备和工具进行3D 建模,并导入到Unity 引擎中,构建机器视觉虚拟仿真场景。
(2)用WPF 构建控制端,实现对Unity 场景的操控和操作,包括对机器视觉设备和工具的控制、对PLC 的控制以及实验数据的收集和展示等功能。
(3)通过实验测试,验证了该平台的可行性和有效性,证明了该平台可以提高学生的学习效果和参与度。
本文的组织结构如下:第二部分介绍了机器视觉虚拟仿真的相关技术;第三部分详细介绍了本文设计和实现的基于机器视觉虚拟仿真的实验教育平台的设计思路和技术细节;第四部分对该平台的实验结果进行了评估和分析;最后,第五部分为本文的结论部分,总结了本文的主要工作和成果,并提出了后续工作的展望和建议。
机器视觉算法是一种通过数字图像处理和计算机视觉技术实现对图像中的信息进行分析和处理的技术。机器视觉算法可以实现对图像中的物体进行检测、跟踪、识别和分类等任务,具有广泛的应用前景,如智能交通、智能制造和智能医疗等领域。机器视觉算法中常用的技术包括图像处理、特征提取、目标检测、目标跟踪和图像分类等。
Blender 建模技术是实现机器视觉虚拟仿真场景的重要工具之一。通过Blender 建模技术,可以将机器视觉设备和工具进行3D 建模,包括相机、光源、传感器、机械臂等。建模完成后,将模型导出为标准格式,如FBX、OBJ 或DAE 格式,再导入到Unity 引擎中,实现虚拟场景的构建。
Unity 引擎是实现机器视觉虚拟仿真场景的关键工具之一。通过Unity 引擎,可以将Blender 建模的模型导入到场景中,并添加材质、纹理和动画等效果。同时,Unity 还支持多种脚本语言,如C#和JavaScript 等,可以实现场景中的交互和控制。
WPF(Windows Presentation Foundation) 是 一种微软公司开发的用户界面框架,可以用于创建基于Windows 操作系统的客户端应用程序。WPF 技术具有强大的可视化效果和交互性能,支持多种数据绑定和样式模板等高级特性,可以实现复杂的用户界面设计和开发。
在机器视觉虚拟仿真教育平台中,我们采用WPF 技术构建控制端,对Unity 场景进行操控。通过WPF 技术,可以实现丰富的用户界面设计和交互功能,包括按钮、滑块、文本框、复选框等控件,以及数据绑定和事件处理等高级特性。
以上是机器视觉虚拟仿真教育平台中涉及到的关键技术和工具的详细介绍。这些技术和工具的结合,为机器视觉虚拟仿真教育平台的设计和实现提供了有力的支持和保障。
本章节将详细介绍机器视觉虚拟仿真教育平台的系统设计和实现过程。
机器视觉虚拟仿真教育平台的系统设计主要包括以下几个方面。
3.1.1整体架构设计
本系统采用了基于机器视觉虚拟仿真的实验教育平台,其整体架构如图1 所示。
图1 网络架构图
本系统主要由3 部分组成,分别为建模渲染模块、Unity 控制模块和WPF 控制模块。
3.1.2建模渲染模块
本模块采用Blender 建模工具进行模型的建立和设计,通过导出FBX 文件的方式将模型导入到Unity 中,并在Unity 中进行场景的渲染和动画效果的设置。具体流程如下:
(1)在Blender 中进行机械臂和物体的建模和设计。
(2)将Blender 中的模型导出为FBX 文件。
(3)在Unity 中导入Blender 中导出的FBX 文件,设置物体的贴图、材质、动画等属性,创建PLC 的运动轨迹和物体的运动路径。
3.1.3Unity 控制模块
本模块主要是在Unity 中进行模型拼接,并编写C#脚本对模型进行控制以及与WPF 控制端进行通信。具体流程如下:
(1)对从Blender 导入的模型进行拼接,获取其相对位置等信息,以及设置相应的触发器等相应部件。
(2)编写C#脚本,实现模型上的相关代码逻辑,并赋予给对应的模型。以及在脚本中通过TCP/IP 协议与WPF 中的程序进行通信,实现用户对场景中模型的控制信息回传。
3.1.4WPF 控制模块
本模块采用WPF(Windows Presentation Foundation)技术进行界面的设计和实现,用户可以通过控制端对机台模型生成过程和PLC 运动进行控制。具体流程如下:
(1)在Visual Studio 中创建WPF 应用程序。
(2)设计控制端的界面,包括生成控制界面、PLC控制界面等。
(3)通过TCP/IP 协议与Unity 中的控制程序进行通信,实现用户对场景中模型的控制。
3.2.1硬件环境
本系统的硬件环境主要包括1 台运行Windows 10 操作系统的个人电脑。
3.2.2软件环境
本系统的软件环境主要包括Blender、Unity、Visual Studio 等软件。
3.2.3系统实现流程
本系统实现的流程如下:
(1)在Blender 中进行物体的建模和设计,包括物体的每个部位和物体的形状、大小、质地等属性。
相机镜头光源模型,如图2 所示。
图2 相机镜头光源模型
机台模型,如图3 所示。
物体模型,如图4 所示。
图3 机台模型
图4 物体模型
(2)将Blender 中的模型导出为FBX 文件。
(3)在Unity 中导入Blender 中导出的FBX 文件,设置物体的贴图、材质、动画等属性,创建PLC 的运动轨迹和物体的运动路径,在Unity 中的场景如图5 所示。
图5 Unity 场景图
(4)在Visual Studio 中创建WPF 应用程序,设计控制端的界面,包括生成控制、PLC 运动控制等,控制端界面如图6 所示。
图6 控制端界面
(5)通过TCP/IP 协议与Unity 中的控制程序进行通信,实现用户对场景中物体的控制,包括控制机台的生成、控制PLC 的运动等。
(6)在Unity 中编写控制程序,通过TCP/IP 协议与WPF 进行通信,实现控制指令的回传。
为了验证本系统的可行性和实用性,我们进行了一系列的实验和测试。下面是实验的具体内容和结果。
该实验旨在让用户掌握机台的整体结构,并根据所要做的案例,选择对应模型。实验主要分为以下几个部分:
(1)机台设置部分。机台设置界面如图7 所示,在生成控制里的机台设置界面,用户可以在部位选择中,按照机台的整体结构生成机台模型,如图8 所示,图中为机台在Unity 场景中的生成顺序。
图7 机台设置界面
(2)物体设置部分。物体设置界面如图9 所示,在生成完机台的模型后,在生成控制里的物体设置界面,用户可以在物体类型中,根据所要做的案例,选择对应模型,如图10 所示,图中为在Unity 场景中选择不同物体的模型效果。
图8 机台生成过程
图10 不同物体模型效果图
图9 物体设置界面
(3)视角设置部分。视角设置界面如图11 所示,在生成完对应的物体模型后,在生成控制里的视角设置界面,用户在视角选择中,可以选择外部视角,模拟第一人称视角;也可以选择相机视角,模拟相机的成像效果。如图12 所示,为选择机械零件物体后,选择相机视角所看到的效果图。
图12 相机视角效果图
图11 视角设置界面
实验结果表明,可以有效地提高用户对机台以及机台上的物体的熟悉程度。
该实验旨在模拟PLC 运动控制。如图13 所示,在PLC 控制的参数设置界面中,有回零、运动设置和控制设置3 个选项。
图13 参数设置界面
(1)回零。在Unity 场景中设置左下角的坐标为(0,0),选中回零选项时,PLC 会控制托盘平台回到(0,0),如图14 所示。
(2)运动设置。在选中运动设置选项时,可以对X、Y、Z、R(旋转)4 个轴向进行设置,而Unity 场景中的PLC会控制托盘平台移动到相应的位置,外置θ 轴也会调整高度和旋转角度,如图15 所示。
图15 运动设置效果图
(3)控制设置。在选中控制设置选项时,可以控制信号灯和吸嘴的开关,以及获取当前的位置,会在PLC控制的轴位置界面中显示X、Y、Z、R(旋转)4 个轴向的当前位置,如图16 所示。
图14 回零效果图
图16 轴位置界面
表1显示了10 组不同X、Y、Z 运动坐标对应的真实数据和实验测量的结果,可以看出真实值和实验值相差较小,且实验值在真实值±0.1 范围内变化。因此实验结果表明,虚拟仿真实验平台的PLC 控制运动结果足够准确,用户可以通过PLC 控制界面的一系列操作,准确模拟PLC 运动控制过程,有效提高PLC 运动的控制能力和精度。
表1 真实值和实验值的对比
为了进一步了解用户对本系统的使用情况和满意度,我们进行了用户实际体验调查。调查对象为若干名机械工程专业和计算机专业的大学生。调查结果表明,大部分用户认为本系统操作简单、功能齐全、体验流畅,并且可以有效地提高实际操作能力和动手能力。
以上实验和测试结果表明,本系统可以有效地提高用户物体运动控制能力和精度,同时可以提供更加真实的视觉体验,达到了实验教育的目的。
本文设计和实现了一种基于机器视觉虚拟仿真的实验教育平台。该平台结合了Blender、Unity、WPF 和PLC等技术和工具,提供了一种新的教育方式,可以为用户提供更加真实的视觉体验和更加灵活的操作控制,达到了实验教育的目的。
在系统设计方面,我们基于机器视觉的虚拟仿真技术,将Blender 中的物体模型导入到Unity 中,并利用WPF 技术构建控制端,实现了用户对物体的实时操控和控制PLC 运动的功能。在系统实现方面,我们通过对系统的软硬件进行优化,提高了系统的性能和稳定性,同时为用户提供了一个友好的操作界面。
通过实验和测试,我们发现该系统可以有效地提高用户的物体运动控制能力和精度,同时可以提供更加真实的视觉体验。用户可以在模拟场景中自由探索、学习和实践,不受时间、空间和设备限制,大大提高了学生的学习热情和学习效果。
在未来,我们将进一步完善该系统,增加更多的实验案例和控制模式,提高系统的稳定性和可靠性。我们还将探索更加先进的虚拟仿真技术,如增强现实和虚拟现实等,为用户提供更加真实的学习体验。同时,我们也将积极与机械工程和自动化领域的教育机构合作,将本系统应用到实际的教学中,为学生提供更加优质的教育资源。最终,我们期望该系统能够成为机械工程和自动化领域教育的重要工具,推动教育的创新和发展。