基于PC+控制卡的机器人手势容错控制系统设计
2020-08-03陈瑞军孟伟君倪瑞政
陈瑞军,孟伟君,孟 飞,倪瑞政
(1.呼和浩特市城市轨道交通建设管理有限责任公司,呼和浩特 010010;2.北京交通大学,北京 100044)
0 引言
近年来,制造业不断向着自动化和智能化的方向发展,越来越多的机器人被应用到制造业当中。随着应用范围的不断扩大,机器人对控制系统的开放性要求程度越来越高,必须要同时支持各种输入任务、输出任务和控制任务,由于机器人承担的越来越多,操作也越来越复杂,单一机器人很难完成这些操作,必须要通过多个机器人共同配合才能完成操作,因此目前迫切需要研究出具有分布式控制能力的工业机器人控制系统[1]。就目前的技术水平来看,研究开放式控制系统的相对难度较大,对开发人员的要求也很高,开发人员不仅要能够设计出复杂的应用逻辑,还要将设计的应用逻辑和底层细节完全吻合,确保控制系统的性能能够满足机器人要求。综上可知,如何降低机器人分布式控制系统的难度,如何提升控制系统的扩展性和适应性,已经成为当前亟待解决的问题。除此之外,由于机器人主要是应用在弧焊、装配、切割等,所以对于精度要求很高[2]。
就目前来看,机器人产业尚未形成统一的体系结构,功能组件都没有实现模块化、组件化和标准化,在研究控制系统过程中,由于机器人的种类过于繁多,所以很多功能模块不能重复使用,这就导致生产机器人的成本过高、周期过长的问题。国内在机器人控制系统这一方面研究的相对较少,系统内部与外部总线的通信协议不一致,信息量越大,越容易产生通信瓶颈[3]。
本文针对系统的硬件和软件进行优化,从可扩展性、可操作性和可移植性三个角度出发,设计了基于PC+控制卡的机器人手势容错控制系统,以ARM为核心设定硬件结构,使用可扩展程序提高操作系统的开放能力。利用实验验证系统的有效性。
1 基于PC+控制卡的机器人手势容错控制系统总体结构设计
课题研究的机器人通过控制卡与PC连接,在系统总体框架中,机器人Master 对总线进行管理,同时向外提供接口。HAL(hardware abstraction layer)为硬件抽象层,主要处理系统PC端的底层用户数据,与机器人相配合,获得机器人总线上的原始数据,在处理数据后,对系统上层的APP应用软件进行调试,使应用软件能够与系统硬件配合工作[4]。除此之外,系统的PC端还加入了多个网卡,使外部网络和系统内部各个站点连接到一起,形成一个统一的组网[5]。基于PC+控制卡的机器人手势容错控制系统总体结构如图1所示。
图1 基于PC+控制卡的机器人手势容错控制系统总体结构图
在系统总体结构中加入了伺服控制卡,利用QSPI/SPI连接伺服控制卡的ESC通信卡,并利用总线EtherCAT连接。为增强系统的智能型,每一个硬件模块都具备微处理器,用户如果想进入系统中,必须要使用ESC通信卡,在进行电路更改时,需要使用传感器控制卡[6]。在系统总体结构中,传感器是基础硬件子系统,多个微处理器在传感器子系统中集成,从而更好地接入传感器设备,同时也可以用来接入按键、液晶屏等硬件设备。设定总线网络为开放式模式,引入多个具备EtherCAT通信功能的模块,从而使系统中的各个模块子电路可以顺利连接[7]。
由于机器人应用的实际环境,往往存在多道工序,同时也会存在变动的补充工序,面对恶劣的工作环节,机器人必须要具备灵活的配置功能,只有这样才能确保机器人的手势能够满足工业要求,同时系统还要设定保护措施,防止由于工作环境过于恶劣而出现的机器人破损[8]。
系统出了设定主站外,还设定了从站,从站控制器的内部回环框图如图2所示。
图2 从站控制器的内部回环框图
分析图2可知,在从站控制器中,存在多个ESC,每个总线数据流通时,都要经过一个ESC,通常,ESC会设定2~3个连接口,这样总线会更加容易支持各种形式的拓扑连接方式,星型连接、树型连接、线型拓扑连接。除此之外,回环模块和自动转发模块的使用,二者可以配合使用,分析总线连接口的工作状态,并针对工作状态做出各种处理[9]。如果总线的连接口检测到外部存在其它的连通器件或者存在其它的网络,接口会自动开放,接收外部设备和网络,将其纳入到现有的EtherCAT网络之中。如果连接口在运行时,没有检测到外部设备或者外部网络,系统会自动关闭,内部的数据会自动回环,绕过连接口[10]。
加入上述设施后,系统的开放性会更强,现场总线网络可以支持任意拓扑结构,配置也更加灵活。工业现场总线网络复杂,所以若想要与任意配置网络拓扑到一起,ESC连接口就要长时间保持开放状态。当系统收到添加或者删除从站设备的要求时,ESC连接接口会自动做出反应:当收到删除设备或网络的命令时,系统的ESC会自动关闭与被删除设备或网络连接的接口,确保其它链路能够稳定地连通;当收到增加命令时,ESC会自动打开与被增加设备或网络连接的接口,EtherCAT总线使用的接口为统一接口,为保障网络设备的开放性提供了有效支持[11]。
从站子系统采用模块化的方式设计,模块具备灵活性,每个模块都可以灵活拆卸,应用到不同的系统中,通过在基础模块上增加子控制卡,确保模块的重复使用。这种研究方式使系统可以兼容不同厂家的控制器,内部模块的重复使用有效提高了系统的开放性,方便系统后续升级工作的实行[12]。
除此之外,本文在系统的容错性上也进行了强化设计。通过无冗余和冗余两种方式连接发生故障的线缆。无冗余连接方式如图3所示。
图3 无冗余连接方式
如图3所示,当总线从NIC接口出来之后,所有的从站会串联连接,形成一个线性,ESC控制器会自动启动配置连接口功能。如果总线线缆因为故障断开,与故障点连接的ESC会自动关闭故障点所在的连接口,确保系统内部的其它连接口能够自动连接。这种方式可以将故障点从从站系统中终端连接,并且确保故障点所在的从站系统正常工作[13]。
冗余连接方式如图4所示。
图4 冗余连接方式
如图4所示,总线会从NIC口出去,所有的ESC会串接到一起,总线从另一个NIC接口进入主站,连接方式为一个环形,如果线缆的某处出现故障,与故障点相近的这一段ESC会自动断开,ESC支配的所有连接口都会自动关闭,物理链路变成两段独立的链路,和与之靠近的NIC接口维持连接状态。冗余连接方式通过增加NIC接口和冗余线缆使故障点被屏蔽,确保从站节点能够维持正常工作[14]。
上述两种方式能够有效地提高基于PC+控制卡的机器人手势容错控制系统的容错能力,冗余式布线使系统即使存在故障也可以正常运行。
2 基于PC+控制卡的机器人手势容错控制系统硬件设计
基于PC+控制卡的机器人手势容错控制系统硬件主要包括三大设备,分别是ESC通信卡、八轴伺服控制卡和传感器控制卡,针对这三项设备进行研究。
2.1 ECS通信卡
ESC通信卡的电路功能如图5所示。
图5 ESC通信卡的电路功能图
根据图5可知,LAN9252与外围电路连接形成ESC通信卡和外围电路组成ESC通信卡,以接入口的形式存在EtherCAT系统中,方便EtherCAT总线网络输入,同时负责向外部微处理器提供数据。在通信卡模块中加入了两个以太网的RJ45接头,分别负责总线数据的流入和流出。RJ45接头拥有独立的变压器,极大地简化了外部电路,减少系统占地面积。ESC通信卡中配备了电压调节器,可以调节的电压范围为3.3~5 V,在应用时,可根据实际环境灵活选择。同时ESC通信卡加入了一个对外扩展接口,该接口有12针,可以为外部处理器提供过程数据接口,采用的设计方式为冗余设计,通信卡使用的引脚会根据实际状况自行配置。通信卡中的EEPROM能够保存从站中的配置信息,配置电路主要负责配置LAN9252的工作模式[15]。
2.2 八轴伺服控制卡
在基于PC+控制卡的机器人手势容错控制系统中,伺服控制卡是核心设备,能够将上层数据转换成伺服驱动脉冲,能够直接控制伺服执行器,伺服控制卡的性能直接关系到系统的精度和功能,如果伺服控制卡性能差,系统工作效果就会大大降低,因此必须要保证伺服控制卡的可靠性。本文在设计八轴伺服控制卡时,充电考虑了如下三个方面:伺服控制卡的稳定性、对动作执行的准确性、功能模块使用的开放性、自身扩展能力。
在分析基于PC+控制卡的机器人手势容错控制工作环境后可知,控制系统必须要具备很强的完整信号保存能力和隔离能力。对于高速电路板来说,信号完整性设计是硬件设计中的难点。虽然线路步通之后,电路板可以保持正常工作,但是却不能保证信号的连通性,连通效果差的信号在工作过程中,很容易出现噪声过大、振铃严重、电源轨道塌陷等问题,而一旦问题发生,信号就会出现严重畸变,电路板无法实行正常工作。
本文研究的八轴伺服控制卡设定分隔电源,与地平面保持平衡,在布线时,引入阻抗控制和滤波去耦等方法减少噪声,防止信号失真现象的发生,从而为电路板提供更多可靠性的目标。虽然设计的伺服结构简单,但是功能却十分简洁实用,具有很好的扩展能力。系统前端加入了能够集成总线接口的伺服单元,伺服控制卡去除了Z相脉冲,使控制线束得到了简化,同时加入了通信功能,使系统能够更容易地读取伺服信息。八轴伺服控制卡框图如图6所示。
图6 八轴伺服控制卡框图
分析图6可知,在微处理器的设计中使用了Cortex—M7微控制器架构,提高控制伺服卡的运行速度和处理能力。被处理的数据会经过FPGA进入到8轴伺服电源,FPGA内部的硬件具有同步能力,可以精确地与8路伺服电机设备保持一致。同时在端口处加入了RS232/RS485/RS422三种通信接口,这三种通信接口是目前使用最为广泛的接口,能够与绝大部分的伺服产商产品适配,减轻产品耗能。八轴伺服控制卡的插入损耗特性和未插入前的损耗特性比较如图7所示。
图7 插入前后损耗特性对比
在设计伺服卡时,要分析传输的数据类型,使用通用的伺服控制卡协议,确保八轴伺服控制卡能够得到广泛应用。
2.3 传感器控制卡
机器人在与环境进行交互时,必须要使用传感器控制卡,通过传感器控制卡感受到自身的运动状态信息和环境信息。传感器控制卡如图8所示。
图8 传感器控制卡
在传感器控制卡中加入了决策系统,通过决策系统得到精准的机器人运动信息和外部环境信息,除此之外还引入了原始数据加工处理算法,从而从复杂的工业噪声中获得精准的数据。通过传感器融合算法得到传感数据,与传感数据进行对比,获得噪声信息,并对数据信息进行修正。
3 基于EtherCA的T机器人手势容错控制系统应用程序设计
本文设计的基于PC+控制卡的机器人手势容错控制系统应用程序为驱动程序,分别是从PC端向EtherCAT Master开源主站的驱动程序、从伺服控制卡到主控器的驱动程序、从传感器到伺服控制卡的驱动程序。驱动功能如图9所示。
图9 驱动功能图
主站驱动程序主要是负责从EtherCAT主站中获得数据,在经过信息处理和分解后,将主站的数据应用到各个软件中,这些数据会以一定的形式进入外部各个接口中。主站驱动程序将底层的硬件抽象化处理,切断了硬件和软件之间的联系,使功能耦合得到减少,提高系统各部分的运行效果。从站驱动程序负责配合主站工作,利用ESC硬件芯片和从站协议栈配合完成软件工作。从站应用软件主要指的是伺服卡应用程序,在完成初始化和中断处理后,所有的应用程序都会其中设置在周期控制任务中,为了能够与EtherCAT更好地配合,所有的周期控制程序统一在APPL-application中实现。驱动程序的工作流程图如图10所示。
图10 驱动程序工作流程图
由图10可知,驱动程序的工作流程的设定为:解析手术数据并循环刷新读写器的吞吐量,将解析完成的数据发送到各轴的伺服机上,将伺服机发出的脉冲信号传送到FPGA芯片中,由芯片转存后采用算法计算最优螺旋矩阵,并判断请求信号是否满足绝对值,在是的情况接受该请求,并全面评估请求,根据请求匹配功能口令。
4 实验研究
为了检测本文设计的基于PC+控制卡的机器人手势容错控制系统的控制性能,设定实验。通过多次调试后,利用Turbo PMAC Clipper卡获得电机相关参数后,整定机器人的各个电机参数,整定参数如表1所示:
表1 实验整定参数
在完成上述的参数调试后,获得安装基于PC+控制卡的机器人手势容错控制系统机器人和安装传统控制系统的电机位置阶跃响应曲线,如图11所示。
图11 电机位置阶跃响应曲线
根据图11可知,在应用本文的控制系统后,机器人电机的刚性、超调量、静态误差和振荡情况都很好,能够满足提出的控制要求,而传统控制系统虽然命令位置与实际位置也相对比较贴近,但是误差要大于本文研究的控制系统,各方面性能也相对较差。
图12为安装两种系统的机器人电机速度抛物响应曲线,在分析系统抛物曲线响应过程的速度以及产生的误差来判断系统的动态性能。
根据图12可知,在应用于本文研究的基于PC+控制卡
图12 抛物响应曲线
的机器人手势容错控制系统后,机器人的最大跟随误差要小于应用于传统机器人手势容错控制系统的最大跟随误差,且传送给电机的命令速度与实际运行速度一致,整个过程中最大跟随误差仅有1.0021cts,由此可见,本文研究的系统动态跟随性能优于传统系统性能。
综上可知,本文研究的基于PC+控制卡的机器人手势容错控制系统具有很强的可操作性,加入该系统后,机器人的手臂末端执行器更加灵活,能够沿着x、y、z轴各个方向旋转。在设置好螺丝纹后安装基于PC+控制卡的机器人手势容错控制系统,机器人的手臂系统可以灵活地上移和下移,达到实际应用要求。
5 结束语
机器人是目前研究的热门话题,加强机器人发展对打造我国强国产业有着积极深远的意义。本文研究的基于PC+控制卡的机器人手势容错控制系统以“PC+控制卡”为整体的数控架构,设定EtherCAT为通信网络,使用最新的芯片,强化系统的信号保留能力,使信号能够更加完整的保留下来,同时研究了兼容增量式传输机制,使系统能够兼容不同位宽的数据,丰富的扩展接口和协同组网强化了系统的开放性。本文的研究具有很强的实际应用性,但是在EtherCA通信模块上设计的端口只有两个,一个端口输入,一个端口输出,未来可以在端口上进行加强,设置3~4个端口,增强系统的拓扑性能,使系统的操作更加灵活。