1. 引言
目前在国内机械装配过程中安放螺栓的工步主要采用人工完成或者PLC控制的三自由度机械手完成,如图1。当采用人工加工时,可以保证各种型号的螺栓在三维空间中任意位置的安放,但是效率偏低,成本高。
而当采用PLC控制的三自由度机械手加工时,虽然效率增加,废品率和成本降低,但由于三自由度机械手的结构限制,螺栓只能在2维平面内有限位置的安装。本文设计的基于PMAC可编程多轴运动控制卡控制的5自由度机械手实现了螺栓在三维空间内的任意位置的安放,并且效率高,成本低廉。
2. 5自由度机械手的机械结构
5自由度机械手采用了工业控制计算机,PMAC可编程多轴运动控制卡,伺服驱动器,交流伺服电机,单级小型液压缸,液压缸驱动器及编码器,承重回转装置等组成的硬件平台。系统机械手机构图如图2所示。
本机械手的臂部和夹持机构采用了液压缸驱动,带动关节,完成轨迹运动。由于机械手臂长较长,产生的力矩较大,所以底座选择大面积圆形底座,增强结构的稳定性,并设计了转台,大梁,小臂,腕部和齿轮齿条机构,实现机械手的正常工作。整个机械手都安装在承重回转转台上,回转机构由伺服电机通过内啮合齿轮实现绕A轴360度回转传动,并装有编码器,反馈转动的速度,角度。转台上方的大梁,小臂和腕部,全部由液压缸驱动,实现B轴C轴D轴3个自由度的运动,以保证足够的工作范围,保证运动的精度。机械手的夹持机构如图3所示。
机械手的夹持机构采用齿轮齿条控制夹臂的开合,代替了市场现有的电机直接驱动夹臂开合的驱动方式。液压缸刚性连接双面齿条,液压缸带动双面齿条进行往复运动,双面齿条分别与两个齿轮啮合,齿轮转动带动两个夹臂的开合。当缸体运动到缸底时,夹臂闭合到最紧,完成夹持动作,当液压缸缸体伸出最长时,两夹臂张开到最大角度,完成放开动作。
市场上现有的机械手一般选用电机驱动,但电机引起的振动较大,系统不稳定。液压缸驱动相对于电机驱动,引起的振动较小,系统较稳定,为了减小电机引起的振动,提高机械手的精度,所以本文设计的机械手驱动主要采用液压缸驱动,保证了本机械手运行平稳、迅速。同时由于液压缸驱动较电机驱动省略了减速器机构,传动机构简单,本机械手的可靠性相应提高,省略减速器也降低了机构重量,减小了对机械手的刚度要求,节约了制造成本。
3. 控制系统硬件的设计
控制系统采用上下两级控制装置,上位机采用工控机(IPC),下位机采用PMAC可编程多轴运动控制卡。工控机计算量大,运行稳定响应速度快;而PMAC反应迅速,处理实时任务能力强,直接负责运动控制。工控机与PMAC之间通过数据总线连接[1] 。本文设计的上下两级控制装置,能够充分发挥工控机

Figure 1. Robot simulation diagram
图1. 机械手的仿真图

Figure 2. Machinery phone patterning
图2. 机械手机构图
和PMAC的优点,实现机械手5轴联动,满足高精度,运动迅速的要求。本系统选用三菱同步交流伺服电机,并配有编码器提供速度和位置反馈。选用小型液压缸驱动大梁,小臂,转接件。同时夹臂上安有小型液压缸,液压缸带动齿条实现齿轮的运转,从而使夹臂工作。本控制系统的结构如图4所示。
4. 控制系统的软件设计
4.1. 软件系统的结构
系统软件主要分为两类,以工控机(IPC)为核心的管理软件,以PMAC为核心的运动控制软件,

Figure 3. Rack and pinion clamp mechanism
图3. 齿轮齿条夹持机构

Figure 4. Control system architecture diagram
图4. 控制系统结构图
构成上位机、下位机分层递阶控制框架。工控机(IPC)负责系统的后台管理,系统参数的初始化设置,上位机、下位机之间的通信,系统状态的监视,人机交互界面的控制。实现了自动控制,手动控制和运动状态实时显示的功能。PMAC主要负责运动系统的实时控制,包括轨迹控制,速度控制,伺服环的实时更新,安全防护程序。机械手的软件系统的主要功能是在硬件系统的支持下,通过上位机的管理和下位机PMAC的实时控制,完成运动控制任务,保证5自由度夹持机械手的正常工作。设计的软件系统的结构如图5所示。
4.2. 工控机(IPC)软件
5自由度机械手的工控机软件由Windows平台的VC++编写而成。存储于工控机(IPC)中,由工控机调用Pcomm32的函数实现系统初始化,系统状态实时监视,系统通信和手动控制功能。
4.2.1. 系统初始化模块
系统的初始化模块通过调用Delta公司提供的动态连接Pcomm32中的程序下载函数,直接将存储在IPC硬盘中的系统初始化文件下载到PMAC中,并对PMAC进行初始化,激活下位机程序,也可以直接

Figure 5. System software architecture
图5. 系统软件结构
设定PMAC中的参数[2] 。
4.2.2. 系统的监视模块
实时的采样机械手的各个参量,并且形象的在界面上反映出来,这些参量包括各个液压缸的位置,伸缩速度,压力,电机位置,速度。该监视模块同时还担负着系统通讯总线的任务。PMAC与上位机Windows的通信是利用PComm32动态链接库实现的,PComm32包含了所有与PMAC通信的方法,它由PMAC.dll,PMAC.says,PMAC.vxd.三个文件组成,包含了250多个函数[3] [4] 。但是常用的并不多,只需掌握以下几个函数,就可以实现大多数的通信功能,如表1所示。
4.2.3. 手动控制模块
手动控制模块功能类似于传统数控系统的手动操作面板,以此模块建立了人性化的人机对话界面,用户可以直接通过此模块发送命令到机械手,实现点动,精确定位,复位,暂停运动等功能,其中精确定位是指在坐标系中输入精确的坐标值,使液压缸到达指定位置,同时利用反馈信号来比较,保证定位精度。通过改变PMAC的I变量来实现对于速度的控制。
手动功能是通过调用PComm32中的函数PmacGetResponseA (DeviceNumber, response,255, “string”)来实现的,通过改变string给PMAC发送不同的指令。其中,点动的string为“#n j+”或“#n j−”;精确定位的string为“#n 172->L:$082B”[5] 。并基于VsiualC++6.0开发了控制系统软件,软件界面如图6所示。
4.3. PMAC控制模块
PMAC执行的运动程序可以是通过译码器解译的G代码解释程序,M代码解释程序,T代码解释程序,也可以通过PEWIN32软件编辑。本文设计的机械手是通过PEWIN32提供给用户的面向PMAC的串行终端接口界面和一个用来编辑PMAC程序的文本编辑器来进行程序编辑的。PMAC的运动控制程序就是通过PEWIN32执行软件来完成开发调试的,包括位置控制,速度控制,伺服环更新,安全防护等实时性任务。PMAC能够支持多达256个运动程序,任意坐标系在任何时候都可以执行这样程序中的任一个,首先定义坐标系及轴,一个或者一组为了同步的目的而组织起来的电机构成了PMAC中的坐标系,通过轴定义语句为电机分配轴来建立坐标系,其次,根据所需运动来选择适当的运动指令,然后按照PMAC语法编写运动程序,下载到PMAC内存,最后运行[6] 。
5. 结论
本文设计的5自由度机械手相对现有的4自由度机械手,能够多完成一个工步的螺栓放置任务。新

Table 1. PMAC procedure function chart
表1. PMAC程序功能图

Figure 6. Control system software solution interface
图6. 控制系统软件解界面
采用的以PMAC为核心的控制系统不仅提高了工作效率,而且可以使得多台机械臂联动操作,使得之前的几个工步合并为一个工步。并基于VsiualC++6.0开发了控制系统软件,使得机械臂的柔性自动化能力增强,可以快速的更改操作命令,适应不同的工作环境,完成不同的操作任务。本机械臂已经成功的应用在了北京工业大学的先进制造技术生产中心,并取得了良好的实用效果。
基金项目
国家科技重大专项(2013ZX04013047);国家自然科学基金(51275014)。