基于Unity3D的草坪毯修补机器人半物理仿真系统
2024-02-29闵康尧
吴 昊,邹 鲲,唐 龙,闵康尧
(东华大学 机械工程学院, 上海)
半物理仿真又称硬件在环仿真,是将部分产品实物引入仿真回路的一种仿真技术[1],即有真实硬件、实物、信号的参与,集机械与电子、软件与硬件一体的综合仿真。早期的半物理仿真主要应用于武器装备的研制和测试,随着计算机控制技术发展及其在机电系统中的广泛集成,其应用越来越广泛。在热能动力领域,汤鑫宇等[2]以燃气轮机为研究对象,通过dSPACE系统与实际电厂控制逻辑相连,构建了半物理仿真平台。在航空航天领域:沈景凤等[3]应用增强现实技术,设计了一套多功能的航空发动机半物理仿真试车系统;李心瞳等[4]针对火箭发动机液体推进系统联合仿真演示需求,利用Simulink和LabVIEW软件开发了仿真控制模块和视景仿真模型,搭建了全系统联合仿真环境与平台,并验证了其可靠性。在机器人领域:刘茜等[5]基于硬件在环技术,搭建了空间机械臂操作任务验证平台系统,并通过试验验证了系统性能良好;马来西亚国防大学的Amer等[6]针对无人装甲车的转向控制问题,利用Simulink平台建模,通过半物理仿真技术对转向激振器进行测试,取得了不错的效果。2020年,德国夫琅和费风能系统研究所的Basilios等[7]提出了一种用于大型风力涡轮机实时仿真和控制的半物理仿真系统,分析了软硬件的选择,将FAST仿真工具与实际控制硬件集成在一起,并给出了20 MW风力机的数值试验结果。2021年,意大利PERCRO实验室的Moretti等[8]提出了一种将振荡水柱与介电弹性体发生器相结合的一类波浪能转换器的半物理仿真框架,在实验室环境中复制了工厂的实际操作条件,并与实际海上测试数据比较,证明了该系统能够有效复制现实操作场景。此外,半物理仿真技术在汽车、电子等其他领域[9-18]也有广泛运用。目前普遍应用的相关仿真技术,如基于Matlab的Simulink仿真系统,主要以理论数学模型的角度进行仿真,缺乏良好的三维展示效果;而广泛应用于汽车行业的dSPACE系统,虽有较强的实时性,但也不具备较好的三维效果,且成本十分昂贵。
因此,本文提出利用虚拟现实引擎Unity3D连接硬件电子系统调试控制程序的方法,以草坪毯自动修补机器人为研究对象,设计了一套硬件在环的半物理仿真系统,包括以仿真电路板为载体的数据交互系统和基于Unity3D的上位机仿真平台。针对草坪毯修补工艺,以运动控制卡信号为驱动,模拟真实修补情况,研究仿真系统的实时性和准确性。研究结果将对解决纺织机械开发调试、工艺设计验证等问题具有指导意义。
1 仿真平台开发
1.1 仿真系统总体方案
仿真系统整体方案设计如图1所示,其分为下位机数据交互系统和上位机仿真平台两个子系统。
图1 仿真系统整体方案设计Fig.1 Overall scheme design of the simulation system
上位机通过Unity3D搭建仿真平台,利用通信口传递外部系统的控制信号,实时控制待仿真对象的三维模型运动。下位机数据交互系统以仿真电路板为载体,连接上位机仿真平台与外部真实硬件系统以交互数据。外部硬件系统的控制信号通过仿真电路板向仿真平台发送,仿真平台中模型运动产生的虚拟传感器信号通过仿真电路板向外部硬件系统反馈。
1.2 仿真平台架构设计
仿真平台由一个主场景构成,用于实现仿真系统的主要功能。仿真平台通过模块化设计分为模型导入和功能设计,如图2所示。首先在SolidWorks软件中建立三维模型,经过格式转换将待仿真对象的三维模型导入Unity3D主场景用于展示仿真过程。
图2 仿真平台模块划分Fig.2 Simulation platform module division
当外部系统运行实际程序时,通过数据交互功能采集真实控制信号,控制模型进行实时运动。仿真过程中,通过数据库模块记录仿真数据信息,帮助用户验证控制程序逻辑是否与设想一致。
为实现仿真系统辅助验证控制程序的正确性,结合数据库,在仿真平台中设计了数据交互、运动控制、实时调试、运动节拍输出和空间轨迹输出等多个功能。
1)数据交互功能。在硬件设计基础上编写了数据采集和通信软件协议。
2)运动控制功能。在Unity3D中,通过父子关系和组件、脚本编程、提取公共参数的方法模拟常见机械结构运动。
3)实时调试功能。为了验证仿真系统的运行,设计了单步调试、多步调试两种实时调试功能,作为验证系统是否按照设定参数运行的方式。
4)运动节拍与空间轨迹输出功能。为了帮助用户验证运动控制程序的正确性,设计了运动节拍与空间轨迹输出功能,作为验证控制程序逻辑是否正确的对照方式。
为了实现多种功能,基于SQL Server2008数据库建立本地数据库Simulation,并建立干涉记录、负载运动节拍及空间轨迹表格。
2 仿真电路板开发
下位机数据交互系统是本文仿真系统与外界系统连接的枢纽,旨在采集可编程逻辑控制器(PLC)控制电机、气缸等各种常见外部电器元件的电平信号,将其发送给上位机仿真平台以控制模型实时运动,同时接收仿真平台的虚拟传感器输出信号,向外界系统反馈。
2.1 整体方案设计
将数据交互系统划分为采集模块和通信模块,对采集模块和通信模块进行软硬件设计。采集模块包括电机驱动信号采集和限位信号反馈、通用输入输出;通信模块包括板内芯片通信、扩展电路板间通信和上下位机通信。数据交互系统的总体架构设计如图3所示。
图3 数据交互系统的架构Fig.3 The architecture of data interaction system
采集模块以NXP公司生产的M0芯片LPC1114作为采集芯片,通过芯片GPIO引脚采集和输出信号。针对不同电压信号,采用光耦隔离可防止低压控制电路与外部高压电路之间的干扰。基于不同功能需求,设计电机驱动信号采集接口、限位信号输出接口及通用输入输出接口。
通信模块以LPC11C24作为通信主控芯片。
数据交互系统中各部分通信方式如下:
1)电路板内芯片间采用IIC总线通信。绝大部分芯片都自带IIC接口,且移植性高,适合元器件间通信。
2)扩展电路板间采用CAN总线通信。CAN总线采用差分信号,实时性好,有较强的抗干扰能力,可用于远距离通信。
3)上下位机间采用RS232通信。RS232通信连接简便且易于编程及调试。
2.2 硬件架构设计
采集模块含4块LPC1114采集芯片,共计16路电机脉冲和方向信号采集、24路限位信号反馈、16路通用输入输出接口和20路TTL电平采集。4块采集芯片电路完全相同,以其中一块为例,其架构设计如图4所示。
图4 采集模块的架构Fig.4 The architecture of acquisition module
通信模块以LPC11C24为主控芯片,主控芯片与采集芯片间以IIC通信,扩展电路板间主控芯片以CAN总线通信,主控芯片与上位机通过串口通信。通信模块硬件架构如图5所示。
图5 通信模块硬件的架构Fig.5 The architecture of communication module hardware
2.3 软件设计
1)电机驱动信号采集。本文针对脉冲和方向信号的电机驱动方式设计了电路板电机驱动信号采集模块。运动控制器输出的方向信号控制电机正反转,输出脉冲信号的数量决定电机旋转的角度,脉冲信号的频率决定电机旋转的速度。在仿真过程中仿真电路板的脉冲、方向采集接口与运动控制器的脉冲、方向输出引脚连接。方向信号以高低电平区分,与电机正反转对应,对应方式在运动控制器内部定义,只需查询对应引脚电平即可。脉冲分为两种:第一种是当上电引脚为高电平时,下降沿跳变输出脉冲;第二种是当上电引脚为低电平时,上升沿跳变输出脉冲。本文通过GPIO引脚边缘跳变中断采集脉冲信号,根据运动控制器的设定配置引脚上升/下降沿跳变中断,当脉冲输出使引脚进入中断,查询当时方向信号的正负,若为正,则脉冲个数累加,否则脉冲个数递减。
2)传感器反馈信号输出。仿真电路板传感器输出接口与运动控制器限位传感器输入引脚相连,将接口引脚配置成输出模式,根据运动控制器内部设定,输出高电平或低电平即可模拟传感器信号的改变。
3 仿真系统验证
3.1 草坪毯修补系统简介
草坪毯修补系统总体结构如图6所示,该系统分为漏纱检测和自动修补两个部分。图6中:1区域为簇绒机,漏纱检测部分在此区域;4、5区域为自动修补区,4为钩剪机器人,5为刺针机器人,刺针机器人携带纱线穿过草坪毯,钩剪机器人将纱线剪断完成修补。
1—草坪毯生产簇绒机;2—相机及支架;3—草坪毯;4—钩剪机器人;5—刺针机器人。图6 草坪毯修补系统总体结构示意图Fig.6 Schematic diagram of the overall architecture structure of the lawn carpet repair system
3.2 修补仿真系统构建
草坪毯修补机器人仿真系统整体架构如图7所示。其中载入机器人控制程序的上位机连接外部GALIL运动控制卡,上位机控制系统将控制程序下载到运动控制卡中,再通过信号采集电路板与仿真平台的上位机连接,以实际修补程序控制Unity3D中修补机器人的运动,分析仿真结果,验证修补程序。
图7 仿真系统架构示意图Fig.7 Schematic diagram of the simulation system
根据仿真系统架构图,以草坪毯自动修补机器人为例,构建的半物理仿真平台实物如图8所示,该仿真平台主要分为上位机控制系统、GALIL运动控制卡、仿真电路板以及Unity3D仿真上位机。其中:刺针机器人GALIL运动控制卡输出刺枪侧水平天轨电机、垂直升降电机和织针往复电机的控制信号;钩剪机器人GALIL运动控制卡输出钩剪侧底板水平移动电机、垂直升降电机、电剪刀旋转电机的控制信号和电剪刀通断信号。GALIL运动控制卡通过上位机下载电机控制程序。
1—1.5V/24V稳压电源;2—上位机控制系统;3—Unity3D仿真上位机;4—钩剪机器人GALIL运动控制卡;5—仿真电路板;6—刺针机器人GALIL运动控制卡。图8 草坪毯自动修补机器人的半物理仿真平台Fig.8 Semi-physical simulation platform of the robot for lawn carpet automatic repair
3.3 仿真系统实时性能指标
仿真系统整体搭建完成后,对该系统的显示实时性等指标进行研究。实时性能主要由外部信号的采样频率、IIC通信和串口通信频率、仿真平台刷新帧数等来决定。通过GALIL运动控制器的试验可知,仿真系统的采集脉冲频率最高可达1 MHz,IIC通信频率可达12 500 Hz,串口通信的最高频率为115 200 Hz,仿真平台帧刷新频率上限为2 000帧/s。
3.4 仿真结果分析
上位机控制系统通过真实驱动程序控制仿真平台Unity3D模型的运动,对草坪毯修补机器人进行机电联合仿真,仿真过程中实时记录模型运动节拍和位置,生成运动轨迹图和时序图。
修补机器人的控制程序完整流程如图9所示,修补开始后,首先控制各轴电机回零,然后根据漏纱位置换算各个电机应发送的脉冲个数,从而设置电机运动参数,启动电机,控制刺针机器人和钩剪机器人进行修补。
图9 修补程序完整流程简图Fig.9 Sketch of the complete repair process
通过分析修补工艺流程可知,织针和电剪刀的配合是修补流程中最为重要的部分。选取固定织针和电剪刀的刀片中心,以其初始位置为原点,输出织针、电剪刀空间运动轨迹如图10所示,其中x轴平行于天轨方向,y轴垂直于毯面方向,z轴垂直升降方向。
图10 织针、电剪刀配合修补的运动轨迹Fig.10 Trajectory of knitting needle and electric scissors in conjunction with repair
织针首先从A点沿天轨方向运动至B点,然后上升至C点,到达修补位置;待电剪刀到达修补位置后织针从C点沿垂直于毯面的方向刺出,移动50 mm至D点后开始缩回,返回至C点后完成一针修补,等待电剪刀完成配合运动后织针上升至下一针修补位置处并重复修补过程。
电剪刀运动过程与织针相似。从A′点开始出发,至C′点为钩剪侧第一针修补位置,等待织针刺出;当织针到达D点后开始回缩,纱线被毯面摩擦力带起形成弧圈,电剪刀延迟0.3 s开始旋转,至D′点钩住纱线并剪断,随后回转至C′点,完成一针修补;第一针修补完成后织针与电剪刀垂直上升8 mm至下一针修补位置并重复修补过程。
通过观察分析仿真系统输出的运动轨迹图,可以验证系统控制程序编写无误,运动轨迹符合修补流程。
仿真系统运行后,刺针机器人沿天轨水平位移及其垂直升降位移、织针往复位移,钩剪机器人沿天轨水平位移及其垂直升降位移、电剪刀旋转角度、电源通断情况随时间的变化如图11所示,图中N0~N20为修补工艺的关键动作位置点,每一个坐标系原点均为该零件自身坐标系原点。通过仿真系统输出的时序图,可以清晰直观地看到草坪毯修补工艺的关键动作时序,进一步证明了仿真结果与设置的控制流程相符,验证了仿真系统功能的可行性和准确性。
修补过程主要依靠织针和电剪刀的频繁移动,若适当提高它们的运行速度,就能提高机器人修补效率。以控制织针的电机转速间接表示织针穿刺速度,当电机转速提升了54(°)/s后进行机电联合仿真,截取提速前后织针和电剪刀旋转时序并进行对比,结果如图12所示。
图12 提速前后织针和电剪刀运动时序对比Fig.12 Comparison of the movement timing of knitting needles and electric scissors before and after speed-up
由图12可以清楚看到,提升织针穿刺速度后,织针和电剪刀配合完成修补时间明显减少。在数据库中可以读取针钩配合的精确运动信息记录,计算得到织针穿刺提速后单针修补完成时间减少了0.14 s,修补效率提升约23%,该结果可为后续工艺优化提供理论依据和参考。
上述仿真结果表明:
1)GALIL运动控制程序设计合理,各部件无干涉碰撞;
2)改变控制程序参数,模型运动随之实时改变,系统精确记录运动节拍,可由数据库记录的数据计算物体运动受影响程度;
3)相比传统机械仿真,本文设计的半物理仿真系统具备良好的三维可视性,可连接外部硬件系统,采集外部真实信号,控制模型实时运动并记录运动信息。
4 结 论
本文针对目前纺织行业开发机电一体化设备中存在的现场调试困难、工作量大、开发周期长等难点,为解决目前主流仿真软件存在的问题,以草坪毯自动修补机器人为对象,研究设计了一套同时满足较好三维展示效果、实时性、通用性,以及可连接真实硬件控制系统进行调试的半物理仿真系统。通过GALIL运动控制卡搭建联合仿真平台,验证了系统实时性和功能准确性,得到如下主要结论:
1)以草坪毯自动修补机器人为仿真对象,进行机电软三位一体的联合仿真,并通过分析修补工艺关键动作运动轨迹图、时序图验证了仿真系统的功能。
2)本文开发的半物理仿真系统通过虚拟上位机与硬件电路板数据交互来连接部分真实机械硬件,具备良好的三维展示效果,可替代大部分现场调试工作,减少工作量、缩短开发周期且节约成本,大大提高设备研发效率。半物理仿真技术的应用对纺织机械研发调试、程序逻辑优化、系统设计和工艺开发均有重要意义。