(1.广西大学机械工程学院, 广西南宁530004;2.广西大学机械工程实验教学中心, 广西南宁530004)
随着计算机虚拟仿真技术及其软硬件技术的发展,虚拟现实技术以其独有的临境性、交互性、想象性和实效性得到人们的普遍认可,在许多实际领域都获得运用,辅助各领域各行业的科研及生产实践工作,如虚拟施工、虚拟装配及维修等。虚拟实验能通过计算机模拟由实物实验所获得的已知规律,但无法模拟实体实验可能出现的某些异常现象和故障,故虚拟实验并不能完全代替实物实验。而硬件在环仿真是将纯虚拟仿真系统中的某一部分用实体代替,并通过数据通讯的方式融入到原系统中,解决了纯虚拟仿真不足之处。如首先在计算机上搭建机械结构的三维虚拟模型,通过构建虚拟仿真模型和外部真实控制器之间的通信桥梁,实现控制器真实I/O对虚拟模型对象的测试与控制。硬件在环仿真技术在复杂机电设备及电子控制单元的研发过程中占据着越来越重要的地位,它提供了一种灵活高效、高可重构性、低成本、低风险的仿真方法,能有效减少实体试验的次数,缩短产品的开发时间[1]。
图1 结合硬件在环的产品开发过程
Fig.1 Product development process with hardware-in-the-loop
图1所示为结合硬件在环的产品开发过程。由CAD 工程软件如Solidworks、Pro/Engineer、Inventor等完成设备样本模型及制造工艺模型,并导入Virtual Universe Pro(以后简称VUP)软件平台,然后对仿真对象进行动作定义以及I/O 端口配置。为对VUP中的模型进行控制,可以选择直接在VUP中进行编程控制,也可以使用外部实物PLC 如西门子、施耐德等进行控制,此外还可以用外部嵌入式单片机进行控制。设计人员在三维交互的虚拟环境下对所设计的产品设备进行测试,实时模拟设备运行过程,使得控制系统及其程序能够比机构样机先一步完成开发调试,同时,通过实际的控制器对机械结构设计理论进行验证,对存在缺陷的地方可以及时在电脑上修改完善,使得研究的效率和安全性大幅提升,研发成本极大缩减[2-6]。
目前绿篱树木的整形修剪主要通过人工手持油锯或修枝剪完成,其工作效率低,劳动强度大,振动噪声大,对作业人员的身体伤害大,因此,市场对自动化的绿篱苗木修剪整形机械设备需求巨大。本文作者结合硬件在环仿真技术研究一种兼备绿篱修剪、景观苗木造型以及低位打草功能的绿篱苗木修剪机,以实现对绿篱的水平、竖直及波纹面修剪以及对景观苗木的球形、圆柱形、圆锥形等的几何造型修剪。在VUP中搭建机械手的三维虚拟模型,实现实际控制器对虚拟模型的硬件在环仿真,以提高仿真结果的真实性。
图2 硬件在环的绿篱修机控制系统仿真平台架构Fig.2 Architecture of hedge trimmer control system hardware-in-the-loop simulation platform
硬件在环的绿篱修剪机控制系统仿真平台关键点在于解决虚拟仿真模型的构建以及硬件控制器与仿真模型的数据传递问题[7-10]。基于VUP搭建的绿篱修剪机控制系统硬件在环仿真平台主要由3个模块构成,即修剪机虚拟结构模型、修剪机控制器实体和信号机接口设备,见图2。
在VUP建立绿篱修剪机的三维虚拟机构模型,设置机构零件、组件间的装配关系及运动关系,并设置机构的动力参数;建立用于仿真模型内部状态检测的虚拟传感器模型,如位置传感器模型、测速传感器模型等,当检测到相应的状态触发或变化时,传感器向外部提供触发信号或状态变化数据;建立仿真环境模型,如工作场景、重力参数、工作参数等[11]。
信号接口设备是虚拟模型和修剪机实际控制器之间通信的桥梁。对实际控制器而言,虚拟的机构仿真模型等同于实际的受控机构对象;而对虚拟机构模型而言,实际的控制器起到仿真软件中信号状态发生器的功能[12-13]。硬件在环仿真平台中,信号接口设备接收修剪机控制器输出的运动控制信号,如各修剪机执行元件动力电机的控制信号,然后转换成VUP能够识别的数据格式并写入VUP中相对应的零件,实现外部CPU对VUP中虚拟结构模型的运动;接收VUP中虚拟传感器的触发信号或状态数据,并转换成修剪机控制器能够直接识别的数据格式,传输给修剪机控制器,最终实现实际控制器与修剪机虚拟结构模型的真实数据传输。
图3 绿篱修剪机的结构图Fig.3 Structure of hedge trimmer
绿篱修剪机具备能够实现对绿篱苗木的平面、波浪面、圆柱面、圆球面、圆锥面等形状修剪的空间自由度及活动范围。图3所示为绿篱修剪机械手的结构示意图,包括修剪刀具、刀架倾斜调整机构、刀架回转机构、伸缩机构、刀架升降机构、主升降机构及旋转底盘,具有5个自由度及6个活动度。
旋转底座是修剪机基体,其下端面与承载车连接,上端面与主升降机构连接,旋转底座能够绕竖直方向回转;主升降机构包括内臂和外臂,其外臂固定在旋转底盘上,而内臂可沿外臂内的导轨做竖直方向的升降;伸缩机构包括伸缩机构内臂和伸缩机构外臂,其伸缩机构外臂与主升降机构内臂固定连接,伸缩机构内臂可沿外臂的导轨做水平方向的伸缩;刀架回转机构安装在伸缩机构内臂的前端,它使得修剪刀架能够绕着竖直方向的旋转轴作360°旋转;刀架升降机构也包括内臂和外臂,其外臂固定安装在刀架回转机构上方,而内臂穿过刀架回转机构的中心孔,并可沿外臂内的导轨做竖直方向的升降,从而使得修剪刀具跟随上升或者下降;刀架倾斜调整机构安装在刀架升降机构内臂的下端,工作过程中其可以调整刀架的倾斜角度;作为修剪作业工作部件的修剪刀具安装在刀架倾斜调整机构的末端[14]。修剪机每个关节均设置正、反极限运动位置的限位开关。同时,为了避免修剪作业过程中修剪刀具过载导致工作阻力过大而损害机械手结构,在伸缩机构的末端与刀架回转机构间设置了过载防护机构。绿篱修剪机控制系统的作用是根据上位机发出的控制指令对机构本体进行控制,以完成园林和景观造型的各种动作。
VUP是仿真的主体平台,整个虚拟控制平台的构建工作都是在该仿真平台上完成。若要使绘制的三维模型能实现生产设备的各种功能动作,首先需要将三维制图软件(Solidworks、Pro/Engineer等)中的3D模型导入VUP中。本文基于常用的Solidworks软件建立绿篱修剪机械手的三维零件模型,并完成虚拟装配。将修剪机械手的三维模型转为3DXML数据格式,在VUP中Monde层次下导入修剪机械手的模型,如图4所示。
图4 导入VUP后的修剪机模型Fig.4 Hedge trimmer manipulator model after imported VUP
①parent-son tree(父子级别关系)的设置
在实际的机械设备中,不同的机械零件根据其实际连接关系可以固定成一个整体,并一起完成相应的动作。在虚拟模型中,通过设置零部件的父子级别关系来实现主动零部件与从动零部件的整合,主动件设置成parent(父级),而其他从动的零部件设置成son(子级),将一起完成的动作添加到父级,从而使得父子级零部件能够完成共同的运动动作。在一个复杂系统中,正确地设置零部件间的父子级别关系可以使得模型的逻辑关系更为清晰,大大减少处理模型细节设置及调整的工作量[15-18]。各个父子级关系如图5所示。
图5 父子级别关系图Fig.5 Parent-son tree diagram
②连接设置
VUP中为外部实际设备提供输入/输出信号的元件元会在外部连接器中对应不同寄存器地址,而该寄存器地址又会在VUP软件映射到相对应的动作。通过设置驱动器类型,可以将VUP中的虚拟机器与外部实体控制器或者内部的虚拟控制器连接。由于修剪机的控制器采用的是ARM处理器作为控制芯片,VUP目前尚不支持对ARM处理器的直接通讯,需要通过“桥梁”设备进行数据转换。选择“研华I/O板卡”作为修剪机虚拟模型的驱动器,如图6所示。
图6 设置外部驱动器Fig.6 Set up external drives
选用型号为USB4751的研华I/O板卡,其具有2路高速脉冲捕获端口,输入脉冲频率范围为0.1 Hz~8 MHz,能够满足对实际控制器所输出的制脉冲采集频率范围要求;且具有48 个与实际控制器的电平兼容的TTL电平数据 I/O 口,可通过软件定义输入与输出的端口,具有较高的可扩展性。
③behavior(动作)设置
动作是VUP软件的灵魂,向必要的零部件赋予动作是实现虚拟工艺流程的基础。VUP中所包含的动作有力与扭矩、速度、运动与位置、测试、属性、I/O和其他等7种类型。在每一个类别中还包含很多具体的动作类型,比如绕X、Y、Z轴的旋转、沿X、Y、Z轴的移动、向外界发送数据、从外界读取数据等。动作的具体参数设置需要根据实际情况进行调整,如调整绕轴旋转角速度,调整某方向移动的运动速度、加速度等。 绿篱修剪机包括的动作有:6个关节的各自沿正向和反向的转动或平移动作,每个关节还有正向限位和反向限位两个限位开关触发的动作,以及刀具转动的动作。
建立动作后,在动作的属性中通过设置动作的外部连接来实现该动作的外部数据访问属性。如将“底盘输入脉冲”动作设置连接到研华板卡的“Counter”脉冲计数寄存器,板卡序号设置为序号1,数据通道设置为通道1,表示模型仿真时,1号研华板卡中通道1“Counter”脉冲计数寄存器的数值将赋予“底盘输入脉冲”动作。绿篱修剪机运动部件动作列表如表1所示。
表1 绿篱修剪机运动部件动作列表Tab.1 Action list of hedge trimmer moving parts
④虚拟控制器设置
对于简单的动作实现,可将behavior(动作)设置成与外部控制器的直接连接。而VUP中的虚拟控制器具备编程功能,能够对软件中设置的动作进行高级运算及管理。通过在控制器中定义变量进行变量的逻辑运算、数学运算,读取和写入工程中各动作的值,从而实现复杂虚拟系统的仿真。
旋转底盘的运动是由步进电机驱动的,转盘电机的转向从“底盘旋转方向”动作所映射的研华板卡数字I/O通道获得;转盘电机的旋转角度需要根据“底盘输入脉冲”动作所映射的研华板卡Counter通道获得的累积脉冲当量数值以及旋转方向计算得来;此外,还要根据“底盘正向限位输出”和“底盘反向限位输出”动作判断转盘是否到达极限位置,如果到达极限位置则停止相应方向的旋转。图7为转盘虚拟控制器流程图,图8为对应编写的转盘虚拟控制器程序。
图7 底盘虚拟控制器的程序流程图Fig.7 Flow chart of the chassis virtual controller
图8 底盘虚拟控制器的程序Fig.8 Program of the chassis virtual controller
同理添加主升降机构虚拟控制器、伸缩机构虚拟控制器、刀架回转机构虚拟控制器、刀架升降机构虚拟控制器以及刀架倾斜调节机构虚拟控制器。
如图9所示,绿篱修剪机控制系统控制步进电机运动的脉冲输出信号连接至各个研华板卡的脉冲捕获端口,步进电机方向信号以及传感器信号连接至研华板卡的数字输入/输出端口。由于选用的研华USB4751 板卡只有两个高速脉冲捕获端口,而绿篱修剪机需要6路高速脉冲来控制步进电机,因此,使用了3个板卡与控制系统连接。图10为连接完成后的硬件在环仿真平台实物图。
图9 连接示意图Fig.9 Connection diagram
图10 硬件在环仿真平台实物图Fig.10 Real figureof hardware-in-the-loop simulation platform
硬件在环的修剪机控制系统仿真实验平台使得控制系统可以在制造修剪机的机构实物之前完成设计制作、调试及性能测试工作。硬件在环仿真的目的是多方面的,既可验证控制器是否能够准确无误地接收修剪机虚拟模型反馈的数据信号,也可测试虚拟虚拟平台是否能准确无误地接收实际控制器发出的数据信号,以及测试实际控制器是否能够实现对修剪机各种工况的控制。此外,也可对机械结构的空间运行效果、运动干涉性等进行测试。
实际控制器通过研华I/O采集卡的桥梁作用实现其与修剪机虚拟模型的双向数据交换。实际控制器向虚拟模型输入6个关节转动或平移的动作信号,并接收虚拟模型中每个关节正向限位和反向限位开关触发的动作信号。双向数据交换过程中是否存在数据的漏失和错误决定着硬件在环平台仿真实验的成败。
使用示波器同时测量修剪机控制器数据接口中的底盘脉冲信号与底盘正向限位信号,在控制器上操控修剪机底盘正向旋转。如图11所示,未到达极限位置时控制器输出500 Hz的脉冲信号以控制底盘旋转,在123 ms时底盘正向限位信号从低电平变高电平,之后控制器自动停止脉冲信号的输出,同时,修剪机虚拟模型中底盘停止正向转动。实验结果表明,虚拟模型内的底盘限位动作能够正确触发,控制器能够顺利接受触发状态信号。
图11 底盘的正限位信号波形与脉冲信号波形Fig.11 Forward limit signal waveform and pulse signal waveform of chassis
使用示波器同时测量修剪机控制器数据接口中的底盘脉冲信号引脚与方向信号。控制器输出一组控制信号,使机械手在0~90 ms期间进行正向运动,在90~180 ms期间进行反向运动,运动过程中速度恒定为500步/s。图12为控制器输出的控制信号波形,由图12可知,在正向运动过程中,控制器输出了45个脉冲,反向运动过程中也输出了45个脉冲。
图12 底盘的方向信号波形与脉冲信号波形Fig.12 Direction signal waveform and pulse signal waveform of chassis
图13为监测到的底盘旋转情况。由图13可知底盘在0~90 ms期间正向匀速旋转,在90 ms时旋转了45步;转盘在90~180 ms期间反向匀速旋转,在180 ms时旋转回到原点。实验结果表明,虚拟模型接收到的控制器控制信号准确无误,无数据的遗失。
图13 底盘旋转位置曲线Fig.13 Rotation position curve of chassis
控制系统的最重要功能是控制绿篱修剪机按照程序设定的轨迹自动运行,并完成景观苗木的造型修剪。在控制系统中操纵绿篱修剪机进行自动的造型轨迹运动,在VUP中可查看机修剪机的运行效果,如图14~17所示。
图14 圆球修剪
Fig.14 Clip into a ball
图15 圆柱修剪
Fig.15 Clip into a cylinder
图16 圆台修剪
Fig.16 Clip into a frustum of a cone
图17 圆锥修剪
Fig.17 Clip into a circular cone
实验表明,修剪机在各功能运行中不存在空间干涉现象,机构上满足预设的空间运行要求。修剪机控制系统各功能均能正常运行,如能稳定控制修剪机进行圆球修剪、圆柱修剪、圆台修剪及圆锥修剪等。
图18、图19给出了圆球修剪时,理论计算轨迹与硬件在环控制下的仿真轨迹,两者完全重合,表明实际控制器能够按照期望目标对绿篱修剪机进行正确有效的控制,同时也说明本文设计的绿篱修剪机械手控制系统硬件在环仿真平台的仿真结果合理性较高。
图18 X-Y轴轨迹对比曲线
Fig.18 Curve comparison of X-Y axes trajectory
图19 Z轴轨迹对比曲线
Fig.19 Curve comparison of Z axes trajectory
连续运行修剪机控制系统,在重复进行功能实验的基础上,观察控制系统操控的易用性、稳定性。连续实验表明,修剪机的控制系统运行平稳,操作灵活简易,可靠性高。
本研究的绿篱修剪机控制系统硬件在环仿真平台的开发和设计中,以研华USB4751数据板卡为“桥梁”数据接口,解决了以VUP中构建的虚拟机构模型与修剪机实际控制器的数据驱动与数据反馈问题。对控制器与虚拟模型的双向数据信号进行了测试与分析,结果表明,仿真过程中控制器能够准确地接收到虚拟模型反馈的动作触发信号,同时,虚拟模型能够准确地响应控制器的控制信号。基于控制器在环的修剪机械手控制系统仿真实验表明,实际控制器能够实现对绿篱修剪机进行自动化造型修剪控制的功能,运行稳定可靠。由于融入了实际的控制器,绿篱修剪机虚拟模型是在实际控制器的控制下进行的仿真,仿真模拟的场景与现实情况更接近,得到的仿真评价结果也更合理。在实际加工制造绿篱修剪机本体之前就能通过控制器在环的手段对其仿真,因此提高了产品的研发效率。