1 引言
随着现代工业的迅速发展, 普通的人工劳动力已经不适合强度高、环境恶劣的工作要求。而随着机器人制造水平的提高, 具有高效率、质量稳定、通用性强的机器人已经受到越来越多的青睐,并被广泛应用到柔性制造生产线上。目前, 工业生产中的搬运、焊接、喷涂等繁重工作已经逐渐被机器人所取代,此外,特种机器人在深海探测、消防救灾等领域也得到应用[1].早在20 世纪70 年代,国外一些工业发达国家的机器人就进入了实用化的阶段。经过30 多年的研究应用与改进,目前无论在技术水平方面还是装备数量上,以日本和德国为代表的少数几个工业发达国家都具有绝对的优势[1].如瑞典的ABB、日本的川崎重工、德国的KUKA等。我国“863”计划已经将机器人的研究列入其中,开发具有良好稳定性和实用性的机器人也得到了企业的广泛重视。本文主要介绍一种基于SMP 纯软件运动控制内核的机器人控制系统以及它在焊接方面的实际应用。
2 系统总体结构
SMP 系统是美国Soft ServoSystem 公司研发的基于PC 的纯软件运动控制内核。SMP 软件运行在装有Ardence's RTX 的Windows 系统下, 通过主计算机的CPU 运行实时运动引擎, 具有闭环反馈、多轴插补、运动程序处理和PLC 逻辑运算功能。可搭配VersioBus光纤、Panasonic RTEX、Yaskawa MECHATROLINK、Mitsubishi SSCNET 和FXI-40等多种伺服通讯网络[2].本机器人控制系统选用FPA-200适配卡与松下A4N 系列伺服系统构建系统的通讯平台。
2.1 系统整体结构
SMP 系统运行环境为Windows2000 /XP, 硬件上使用普通PC 或者性能更加稳定的IPC, 高速的CPU 内核承担纯软件方式的运动插补和PLC 运算, 并通过标准的PCI 插槽与FPA-200 建立总线通信, 经由FPA-200 适配卡上面的网络接口和光纤接口直接与A4N 伺服驱动及I /O 进行连接。利用CPU 进行纯软件运算, 节省了独立的运动控制卡和PLC 设备, 有效地降低了硬件成本。通过FPA-200 的光纤接口, 可进一步扩展I /O 模块, 增加外围设备辅助功能。整体结构图如图1 所示。
2.2 SMP 软件结构
SMP 软件的底层模块包含三个可升级的实时引擎:PLC 引擎、SMP 引擎和SMP 运动解析器, 三个引擎相互循环配合完成运动控制的运算。CPU 给予底层模块最高优先级待遇。SMP 的上层模块则用于执行SMP 控制器, 如程序的加载、参数的设定、文件的管理和用户界面的运行。利用Ardence RTX 对Windows 进行实时性扩展, SMP Real-Time DLL 中间链接层使上层模块的应用程序可实时调用和读取底层模块的运动引擎数据和系统状态信息[2].
3 机器人硬件构成
机器人的硬件结构由四个部分组成: 工业计算机和触摸屏显示示教盒、FPA-200 RTEX 网络适配卡、松下A4N电机及伺服驱动器和机器人本体。
工业计算机是系统运行的硬件基础, 示教盒的应用软件界面直接面向对象操作。FPA-200 通过IPC 上的标准PCI 插槽与主机建立总线通信, 适配卡的工作电源同样由PCI 总线提供。FPA-200 上RX、TX 两个网络结构接口, 利用100Mbit /s 的以太网络将关节伺服驱动串联起来, 并以0.5~1ms 的周期速度对六个关节伺服驱动实行高速循环控制和可编程加减速控制[3].系统通讯具有极高的响应性和稳定性。
伺服电机直接安装在机器人关节上, 从机械内部走线。在机器人底部用标准航空插头与伺服驱动连接。A4N 伺服驱动上的X5 接口提供了丰富的I /O接点, 通过PLC 编程, 由X5 接口上的I /O 点完成对焊枪能设备的控制, 如图3 所示。
本系统采用的SMP-850 可实现8 轴插补联动控制。通过FPA-200 的VersioBus 光纤接口扩展IM-300 I /O 模块,最多可增加到416 输入输出点。
4 应用软件开发
SMP 系统提供了应用于Visual C++、Visual Basic 和Java 的应用软件库接口、MAPI 源代码和对引擎内核的实时调用DLL 文件。强大的MDK 二次开发软件包可方便用户根据操作习惯和实际需要开发自己的应用软件。本文介绍的机器人控制系统选用Visual Basic 软件作为开发环境。
4.1 软件开发流程
应用软件的运行首先要实现对SMP 系统的初始化和RTX 引擎的启动。SMP 系统的初始化包括SMP 设备打开和系统参数加载。系统初始化和RTX 引擎启动成功后, 设置系统操作模式, 打开中断循环并与远程设备建立通讯。程序主循环过程中断状态正常时, 打开PLC 引擎并使伺服电机。在不同操作模式下, 根据实际需用编写界面操作程序。软件编写过程中, 通过MDK 二次开发包提供的MAPI 调用语句和动态链接文件DLL, 可实时读取界面操作所需要的引擎状态和系统信息。
4.2 示教操作界面
手动示教模式的功能是让操作人员记录机器人位置姿态并生成焊接轨迹。在机器人的实际应用中, 需要操作人员在手动操作模式下移动机器人关节使焊枪末端始终沿着规定的焊接轨迹移动, 然后在示教模式下记录运动过程中的关键位置点, 并根据焊接的要求插入打开焊枪、关闭焊枪、输入焊接速度、暂停等功能指令, 最后保存轨迹生成可再现的示教程序[4].程序中对焊枪的控制是将M 指令进行译码后, 交给PLC 引擎运算, 并通过PLC 输出点控制焊枪的开始点和结束点。示教功能界面如图5 所示。在自动运行界面下, 操作者可重复调用保存好的示教轨迹程序, 控制机器人运动, 完成焊接。
5 结束语
本文介绍的基于PC 机和Windows 系统的机器人控制系统具有运行稳定、系统内核升级方便、应用软件开发周期短、界面友好等优点。本系统实现了对6 个自由度机器人的联动控制, 完成了示教编程、参数设定, 自动运行等功能模块的编程。搭配松下A4N 系列伺服和广东伺博科NBC-350 二氧化碳气保焊机, 在实际的焊接应用中取得了良好的效果。通过对焊接速度和焊接电流, 电压等参数的调节, 焊接质量达到了技术要求, 轨迹准确, 焊缝平滑。接下去, 机器人系统的进一步研究工作将主要在以下两个方面:
(1) 深入研究机器人运动的速度前馈和加减速算法,提高机器人在高速运动下的定位精度, 减少振动, 保证机器人运动的平稳性;
(2) 建立机器人三维模型, 研究机器人逆运动学算法, 规划机器人的空间运动轨迹, 编写离线编程加工程序。