虚拟仿真教学系统在原理讲解及验证性实验方面具有较大优势,但也存在一些真实状态无法模拟、学生
目前机械臂作为比较成熟的机器人,很多大学都采购了各种机械臂作为实验教学设备。但是应用于实验教学中的实体机械臂往往会受到设备数量的限制,并且设备极容易受到损害。所以可以利用仿真技术,通过交互式计算机图形技术和机器人学理论等,在计算机中生成机械臂的三维几何图形并显示,用来确定机械臂的本体及工作环境的动态变化过程,通过系统仿真可以在操作实体机械臂之前验证操作算法及控制程序的准确性,避免直接对设备操作以减少对设备的损害[1]。但目前高校中对机械臂的仿真实验是在PC 机上完全虚拟化操作,学生只能给仿真软件修改参数以及编辑代码运行查看仿真结果,缺乏对实体机械臂控制的真实性,难以培养学生解决实际问题的能力。
基于此,设计一种基于ROS 操作系统的半虚拟化仿真,通过设计的一个硬件接口板与显示虚拟化仿真结果的PC 设备相连接,能够让学生在真实的开发环境上操作,并在虚拟化的设备上显示操作结果, 即可解决实验设备紧缺、损坏的局限性又可培养学生在真实的开发环境中解决实际开发问题的能力。
2. 半虚拟化仿真系统设计方案 2.1. 仿真设计结构组成 本设计的主要思路是:应用场景虚拟化,学生训练用的开发环境是真实的,虚拟化场景与真实开发环境之间采用专门设计的接口卡进行连接, 如图1 所示。
其中, 部件1 为本设计的虚拟仿真软件, GAZEBO动力学仿真器,它是包含在ROS 系统中的一个标准功能包集(Stack),可对机器人进行物理学特性仿真, 它集成了目前常用的各类传感器,如激光测距传感器、RGB 图像传感器、深度点云传感器、重力加速度传感器等[2]。部件3 为专门设计的虚拟接口卡,作为将嵌入式设备发送的指令送给仿真软件,进行信号传输的中间件。部件5 为嵌入式系统开发板,可为任意的单片机设备,如:51 单片机。部件2、3 为通讯连线。
其中, 虚拟仿真场景基于ROS 操作系统进行设计, 仿真机械臂的运动。
ROS 操作系统分为三个层级:组织ROS 文件结构的文件系统级(Filesystem level)、管理进程及通信的计算图级(Computation Graph level)和包括社区开发人员及其算法代码的开源社区级(Community level) [3]。其中计算图级是最重要的概念, 主要包括节点管理器(Master)、参数服务器(Parameter Server)、节点(Node)、消息(message)、服务(service) [4]。