温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
虚实
融合
机器人
技术
实验教学
平台
建设
应用
梁航
现代计算机Modern Computer第 28 卷 第 24 期2022年12月25日虚实融合的机器人技术实验教学平台建设与应用梁航,陈湘骥,陈煜塬,黄俊曦(华南农业大学数学与信息学院,广州510642)摘要:近年受疫情影响,线上与线下相结合的混合式教学成为常态,而机器人实验教学却因实验器材的影响难以开展线上教学。部分高校采用市面上的虚拟仿真软件,其中部分软件满足了线上实验教学的需求,但大多数软件相比实际系统仍存在较大差异,因此仿真的程序无法导入实物设备运行,只能用于原理演示。针对上述问题,设计一种利用Unity3D和ROS技术相结合实现的实验教学系统,该系统最大特点是:设置了三个实验阶段,分别对应纯虚拟实验、半虚拟半实物实验和纯实物实验,实现了线上虚拟实验向线下实物实验平滑过渡,做到了虚实融合。该教学平台分为服务器端和客户端,客户端可以独立运行在个人手提电脑或台式电脑上,在具备GPU GTX 1660Ti的手提电脑上,平均处理帧数达到100帧(图像分辨率为1033419),具有良好的仿真效果。关键词:机器人技术;实验教学;虚实融合;Unity3D;ROS基金项目:2020年度广东省高等教育教学改革项目编号95(粤教高函【2020】20号);大学生创新创业训练计划项目(X202110564073)文章编号:1007-1423(2022)24-0100-06DOI:10.3969/j.issn.1007-1423.2022.24.0170引言随着人工智能兴起,在科研、工业领域,虚拟仿真技术为调试提供了便捷高效的途径,对虚拟仿真技术的需求量越来越大。近年来,对机器人技术的研究趋势也逐渐成为热点,并且更加紧密地与虚拟技术相结合。例如,Liu等1通过Unity3DROS来设计虚实交互的自动送货机器人,实现了智能交通系统。Yang等2结合 Unity、ROS、Matlab 和 SimulIDE 来仿真和跟踪多旋翼无人机的生命周期,搭建了多旋翼无人机数字孪生仿真平台。Sita 等3通过 ROSUnity3D来模拟和执行工业工程监控任务,实现了工业机器人过程监控系统。Ma等4通过结合ROS与Qt来实现协调行为仿真、半物理仿真和全硬件实验之间的无缝过度,研发了多机器人系统模拟器。高帆等5通过Unity3D实现对虚拟工业机器人的姿态控制。张朝兴等6通过ROSUnity来实现虚拟机器人和真实机器人交互移动控制。陈修龙等7结合仿真技术验证机器人机构动力学建模的正确性。这类系统将虚拟仿真技术与机器人技术结合应用于科研、工业领域,并且取得了不错的成效。近年来,将虚拟仿真技术结合学科用于教育 领 域 也 逐 渐 成 为 热 点。杨 鑫 科 等8基 于Unity3D开发应用于反恐排爆机器人的虚拟实验教学系统。费杰等9基于 Unity 设计一套 DR 可交互仿真教学工作站,对医学实验教学具有重要意义。邓成俊等10结合Unity3D与.Net技术,通过计算机模拟操作整个检修过程,提升电力施工从业人员的操作技能。王钰明等11结合应用虚拟仿真技术使用虚拟车取代实车测试,提高了实验教学效果。丁毓峰等12基于Unity3D设计机电产品虚拟拆装实验系统,在工程类实验教学中取得良好效果。吴可玉等13采用Unity3D与 3dmax实现虚拟现实消防沉浸式体验,可辅助大众进行消防训练与安全教育。黄福钰14基于Unity3D开发了以戚继光抗倭为主要内容的历史类RPG教育游戏“抗倭风云”,实现教育游戏教育性与游戏性有效融合。靳雁霞等15基于Unity3D开发算法类演示系统,生动形象地将算 100梁航等:虚实融合的机器人技术实验教学平台建设与应用第24期法理论演变成实际实例,收获了更好的教学效果和更大的教学意义。尹立航16采用Unity3D和3Dmax开发了通信基站模拟仿真系统,提升了实训教学效果。这类系统将虚拟仿真技术结合各类学科进行研发,有效提高了教学质量,但仍然缺少应用于机器人方向教育的虚拟实验平台。本文基于现有前沿虚拟仿真技术,针对线上线下混合式实验教学中存在的难点,通过Unity3D引擎与ROS机器人操作系统相结合,设计了一套虚实结合的实验教学平台,能够实现实体机器人与虚拟场景的交互,在仿真场景里完成机器人的实验教学工作。1基于Unity3DROS的机器人技术实验教学平台基于 Unity3D-ROS 的机器人技术实验教学平台的主要目标是让学生在使用实体机器人操作之前,先在虚拟软件上完成大部分的设计,从而将机器人教学中机器人设计的难点尽可能地在软件中得以处理和解决。同时,平台对学生的操作过程进行实时的记录和评估,以便教师及时发现问题并给予学生指导。完整的实验涉及三个阶段,根据学生在校情况可以选择开展哪些阶段的实验。第一阶段,在仿真场景和仿真机器人的系统中,设计和调试机器人控制系统(ROS),目标是让机器人控制系统达到设计要求,为第二阶段在仿真环境下机器人虚实联调做准备。第二阶段,在仿真场景和实体机器人的情况下,调试机器人控制系统与机器人实体部件之间协同工作的效果,目标是在第一阶段的基础上,进一步设计和调试机器人控制系统(ROS)和验证机器人实体部件协同工作是否达到设计要求,为第三阶段在真实场景下调试实体机器人整体系统做准备。第三阶段,在真实场景和采用实体机器人的情况下进行整体系统调试,目标是验证上述两个阶段的设计是否达到最终目标。机器人技术实验教学平台的实施流程图如图1所示。通过上述三个阶段,能够让学生先在虚拟环境里设计与调试机器人控制系统,逐步脱离仿真环境,迭代验证机器人软件和硬件的设计是否达到标准,最后完成设计一台实体机器人。通过这种方式,达到了机器人线上线下混合式教学的目的,相比传统方法,能极大地提高机器人教学效率、节约成本、减少损耗。图 1机器人技术实验教学平台实施流程图1 1.1 1系统仿真流程系统仿真流程在 Unity3D 里同等比例仿真了机器人与场地,并仿真了激光雷达、里程计与摄像头。给仿真里程计加入噪声模拟真实里程计的累积误差,能够提供虚拟机器人的位姿信息。使用仿真激光雷达在虚拟场景进行扫描,以提供机器人操作系统所需要的激光雷达数据。使用仿真摄像头能够提供虚拟场景的图像信息。在仿真场景与仿真机器人部件的基础上,第一阶段使用Unity3DROS调试机器人控制系统的具体流程图如图2所示。第二阶段使用Unity3DROS调试实体机器人的具体流程图如图3所示。1 1.2 2仿真环境下设计机器人控制系统仿真环境下设计机器人控制系统第一阶段,在仿真场景和仿真机器人部件的情况下,使用Unity3D调试机器人控制系统。Unity端使用仿真激光雷达和仿真摄像头为机器人提供仿真场景信息,使用仿真里程计提供Unity虚拟机器人的位姿信息。ROS端利用这些信息构建地图和目标识别,给出指令控制Unity虚拟机器人在虚拟场景里运动,与虚拟场景发生交互。另外,在第一阶段需要给仿真场景加入运动惯性,使物理模型尽可能地贴近真实场景,为第二阶段仿真环境下机器人虚实联调做准备,数据通讯图如图4所示。101现代计算机2022年图 4仿真环境下调试机器人控制系统数据通讯图1 1.3 3仿真环境下机器人虚实联调仿真环境下机器人虚实联调第二阶段在第一阶段基础上保留仿真场景,使用实体机器人部件替换仿真部件,使用Unity3D调试实体机器人。其中,部分器件可以使用真实部件,也可以使用虚拟部件,能够充分地对每一个部件的性能进行调试。在Unity端使用仿真激光雷达和仿真摄像头为机器人提供仿真场景信息。ROS利用这些信息在一片空地上构建地图和目标识别,控制实体机器人在真实场地上运动,同时控制Unity虚拟机器人在虚拟场景里运动,实现虚拟场景和真实运动的融合。由于实体机器人与虚拟场景无法发生物理碰撞,因而,虚拟场景中与实体机器人接触部分需要与真实场景一致,非接触部分例如墙壁、障碍物、远程攻击目标等则为虚拟构件。通过第二阶段的迭代测试,进一步设计和调试机器人控制系统(ROS)和验证机器人实体部件协同工作是否达到设计要求,为第三阶段在真实场景下调试实体机器人整体系统做准备。数据通讯图见图5。图6所示场景中实体机器人与Unity虚拟机器人正在同步运作。图 5仿真环境下机器人虚实联调数据通讯图图 2机器人技术实验教学平台第一阶段模拟流程图图 3机器人技术实验教学平台第二阶段模拟流程图 102梁航等:虚实融合的机器人技术实验教学平台建设与应用第24期(a)真实场景(b)Unity3D虚拟场景图 6实体机器人与Unity虚拟机器人同步运作1 1.4 4真实环境下实体机器人调试真实环境下实体机器人调试第三阶段,完全脱离虚拟仿真技术,按照仿真场景比例布置出真实场景,使用实体机器人并开启真实激光雷达与摄像头,在真实场景下调试机器人整体系统。验证前面两个阶段的设计是否达到最终目标,若达到最终目标则调试实体机器人的参数达到性能最优的状态,否则返回之前的阶段进行完善。2实验教学实验系统由服务器和学生客户端构成,如图7所示。教研室给学生们讲授理论知识,实验室给学生们提供实物实验的机会,配备 RoboMaster AI机器人多台,供学生线下进行实物操作。服务器用于管理学生信息、课程任务和实验结果。仿真软件运行在学生机上,基本配置建议为CPU Intel i5,显卡GTX 1660Ti,内存16 G以上,系统使用Window 10。图 7实验系统总图ROS 编程采用 C+和 Python 语言,系统是Ubuntu 18.04,虚拟阶段可以在Window 10下安装虚拟机运行,实物阶段则将虚拟阶段在ROS设计的程序上传到实体机器人车载电脑上运行。2 2.1 1仿真环境下设计机器人控制系统实验仿真环境下设计机器人控制系统实验这是第一阶段实验,在纯虚拟环境下进行。学生需要设计ROS程序根据周围虚拟障碍物进行路径规划,并给出速度指令控制Unity虚拟机器人在虚拟场景里运动。服务器设置了多个任务供学生选择,包括:设计ROS程序控制虚拟机器人在有障碍物的虚拟场景里按照规定路径点完成巡航;设计ROS程序控制虚拟机器人在虚拟场景里找到所有指定的目标;设计ROS程序控制虚拟机器人与AI机器人对战,等等。2 2.2 2仿真环境下机器人虚实联调实验仿真环境下机器人虚实联调实验这是第二阶段实验,在虚拟环境和真实环境融合的情况下进行。在第一阶段设计的ROS程序需要上传到实体机器人的机载电脑上,由它给出速度指令控制实体机器人在实验场内运动,真实机器人运动的信息被同步到Unity3D,Unity3D 中的虚拟机器人与实体机器人同步运动,在虚拟机器人运行过程中,会将在虚拟场景中感知到的障碍物和目标信息传递给实体机器人,让实体机器人感知到虚拟场景的避障物和目标,从而做出相应的避障动作。在这个阶段,学生可以初步验证在第一阶段设计的ROS程序是否能有效地控制真实机器人。由于是虚拟避障物,可以方便地添加和摆设虚拟场景,并且撞击也不会损坏实体机器人。2 2.3 3真实环境下实体机器人实验真实环境下实体机器人实验这是第三阶段实验,将实体机器人放置在真实场景中,由机器人自带的激光雷达等传感 103现代计算机2022年器去识别真实的障碍物和目标。在这个阶段,学生可以最终验证前两个阶段设计的ROS程序是否能有效地控制真实机器人。实验表明,实体机器人与Unity虚拟机器人定位误差在可接受的误差范围内(实体机器人与Unity虚拟机器人在8 m4 m的场地内同步运动,平均定位误差为20 cm),基本做到虚实融合,学生的实验体验较好。3结语本文采用Unity3DROS相结合,设计了一个虚实融合的机器人实验教学平台,既满足了线上实验的需要,又提高了线下实验的效率,降低了对实物设备的依赖。该实验平台在我校2021年秋季机器人技术课程中初步应用,达到了预期效果。但在应用过程中也发现了一些不足,例如虚拟运行与实际运行效果仍存在一定的偏差,后续在物理建模方面需要进一步研究,在实验平台参数化方面也需要进一步设计与完善。参考文献:1 LIU Y,NOVOTNY G,SMIRNOV N,et al