六自由度模块化机器人控制系统设计
2015-10-30王殿君嵇钟辉刘淑晶彭文祥
王殿君,嵇钟辉,刘淑晶,相 臣,彭文祥
(北京石油化工学院 机械工程学院,北京 102617)
0 引言
目前机器人常用的控制方式主要有主从式、分布式、集中式。主从式控制方式是由一级计算机和二级计算机组合控制的,主要应用于机器人的远程控制。分布式控制方式可以有效的提高控制器的工作速度和控制性能,但是这也给控制系统设计增大了难度。而集中式的控制方式简单、灵活,可以实现任务的实时集中控制等特点,被广泛应用于机器人控制。
集中式控制方式目前主要有专用式控制方式、开放式控制方式。专用式控制方式专用、集成度高,但不开放、功能可扩展性和可移植性不高,不利于二次开发。开放式的控制方式以其具有很好的实时性、稳定性、可扩展性等优点成为当下机器人控制的常用方法。通过对几种控制方式的对比分析以及机器人控制系统设计的实际要求,机器人控制系统采用开放式控制方式。
本文首先简要介绍了六自由度模块化机器人本体构造,选择了一种基于上位机PC与下位机PMAC的控制系统,开发了上位机机器人控制软件,搭建机器人运动平台并进行了机器人示教及定位实验。
1 六自由度模块化机器人结构简介
六自由度模块化机器人分为六个模块,在设计过程中采用模块化的思想[1~3]。驱动综合使用了步进电机、交流伺服电机搭配谐波减速器、行星减速器的形式,并采用同步带传动、蜗轮蜗杆传动等多种传动方式[4,5]。
加工组装完成的六自由度模块化机器人机械本体如图1所示。
图1 六自由度机器人机械本体
2 硬件控制系统设计及实现
2.1 机器人控制系统总体方案
依据已选定的开放式控制方式进行控制器的选择。运动控制器是机器人控制系统的核心,它负责接收上位机的用户指令,根据指令控制其他电气元件工作。常用的控制器有单片机、PLC、运动控制器等。单片机控制的优点是经济性高、控制系统成本相对较低,缺点是故障率较高、扩展性差,对周围环境依赖性较强、稳定性不足、开发周期较长; PLC控制的优点是它具有较强的抗干扰能力,从而使它的故障率相对较低,而且它对于设备的扩展相对容易,方便维修、产品开发周期较短,缺点是做相对较复杂的运动控制时,运动程序编程比较麻烦;运动控制器控制的优点是将其与PC机配合,利用下位机的运动控制卡运算速度快、实时性好,可实现多轴运动控制的特点,再加上上位PC机可以处理大量数据并由运动控制器迅速的去执行,可以达到控制反应时间短、控制精度高的效果。
综合分析以上优缺点,并结合集中式控制方式的特点,控制系统总体方案确定为集中式二级控制,采用上位机PC机+下位机运动控制器的方案。
目前通用运动控制器种类众多,主流的运动控制器有研华运动控制器,固高运动控制器,PMAC运动控制器等。相比于其他运动控制器,PMAC的软硬件开放性更好,功能更强大,可靠性和稳定性更好。因此,选用Turbo Pmac Clipper运动控制器作为本系统的控制核心单元[6]。
在该方案中运动控制器用于完成运动控制、I/O 管理以及PLC等实时任务控制,PC机完成人机交互界面、系统管理等非实时性任务,实现资源的合理有效分配,使得该系统的开放性非常好,有利于研究人员对系统功能进行二次开发和扩展。基于PMAC运动控制器的控制系统总体方案如图2所示。
图2 机器人控制系统总体方案
2.2 基于PMAC运动控制器的电路设计
系统所用驱动部件包括步进电机和伺服电机两大类, 2轴关节采用松下A5伺服电机驱动,其余轴关节采用步进电机驱动。机器人运动控制模式为位置控制,系统使用限位光隔板对限位、回零等标志信号增加了光耦隔离。将PMAC的输出口JMACH1通过扁平电缆与SS2信号转接板相连,发送信号控制伺服电机使能及编码器脉冲输出信号[7]。根据设备接口说明以及需要实现的功能,完成电路连接设计,以2轴为例的部分电路设计如图3所示。
图3 PMAC与伺服电机电路图
根据机器人的工作环境及电气参数指标[8],搭建的电气柜实物图如图4所示。
图4 控制系统电气实物图
2.3 PMAC参数的设置
PMAC中有四类变量,分别是I变量、M变量、P变量和Q变量。在使用PMAC之前,需要对指令输出口地址、控制模式、限位等相关变量进行设置。
机器人手爪状态是由PMAC运动控制器的IO端口控制的,对手爪状态的检测,实际上就是对PMAC输入输出点的检测。PMAC的IO需要使用M变量对各个IO点进行定义,定义之后才能检测和控制这些IO点。TURBO PMAC一共具有8路数字输出和输入,通过改变其中的一路输出信号的值来监测和改变手爪状态:调用PmacGetResponse(dwDevice, buf, 255, “M0”)函数后,会返回一个包含M0信息的字符,判断这个字符的内容来确定手爪的状态。
3 控制系统上位机软件开发
3.1 开发环境的选择
Microsoft Visual C++ 6.0是Microsoft公司推出的基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。它具有程序框架自动生成、灵活方便的类管理、可开发多种程序等优点,已成为很多专业程序员进行软件开发的首选工具[9]。机器人控制系统中使用的PMAC运动控制器为用户提供了PCOMM动态链接库来完成上位机和PMAC之间的数据交换,PCOMM动态链接库之中包含了200多个库函数,通过它能够非常方便的在VC++6.0下使用,因此本文采用VC++6.0高级语言编程来进行上位机程序的编写。
3.2 控制软件总体框架及功能划分
针对本系统的特点,将控制软件分为上位机和下位机两个部分。上位桌面应用程序与下位运动程序之间进行数据交互[10],机器人控制系统软件的总体结构如图5所示。
图5 机器人控制系统软件的总体结构
在对上位机软件开发之前,首先要对软件所能实现的功能进行划分,然后再根据具体的功能划分来进行软件的编写。将模块化六自由度机器人控制软件按照功能进行的划分,如表1所示。
表1 上位机软件功能划分
3.3 控制系统上位机软件实现
本文开发的上位机软件,基于面向对象的理念,使用MFC对话框功能开发。控制软件示教再现功能实现的流程如图6所示。
图6 控制软件示教再现功能实现流程图
在Windows XP系统下使用VC++6.0开发了模块化六自由度机器人的控制软件,其中的子功能示教模块如图7所示。
图7 机器人示教软件界面
4 机器人示教实验
在模块化机器人试验平台上对机器人进行示教实验,在图7所示的机器人示教界面中,使用模块运动功能让机器人各关节运动,控制手爪抓取轴装配到轴套中,记录关节运动状态。记录完成后,通过单击再现按钮实现机器人示教再现的功能。记录的示教参数如图7所示,其中,X、Y、Z、U、V、W分别代表各关节相对于初始位置的转角,S为运行速度,H为手爪状态。
通过机器人控制软件,让机器人末端运动至空间某一点,当前坐标记录了机器人末端手爪的理论位置坐标,用激光跟踪仪测定机器人运动实际末端坐标值,比对理论值和所测实际值之间的误差,验证机器人的定位精度,机器人定位误差如表2所示。
表2 机器人定位误差
通过实验结果可以看出,模块化六自由度机器人在控制系统下能够很好的完成示教再现方式的搬运装配工作,在一定程度上证明了机器人在所设计的控制系统下工作可靠稳定,通过6次测定机器人末端定位误差,得到误差的最大值为0.8392mm,证明了机器人在此控制系统下具有较好的定位精度。
5 结论
1)根据开放式控制系统的特点,确定了基于PC机+PMAC运动控制器的机器人控制系统方案。
2)根据六自由度模块化机器人的机械设计及运行要求设计控制系统的电路图,搭建电气系统。
3)使用VC++ 6.0并结合Pcomm32在Windows系统下开发六自由度模块化机器人控制软件,并通过连续示教实验及定位误差测定验证了控制系统工作稳定可靠及具有比较高的定位精度。
[1] 王卫忠.可重构模块化机器人系统关键技术研究[D].哈尔滨:哈尔滨工业大学,2007.
[2] A. Castano,A.Behar,P.M.Will.The CONRO modules for Recon fi gurable robots.IEEE/ASME Transactions on Mechatronics,2002,7(4):403-409.
[3] 王明辉,马书根,李斌,等.可重构机器人体系结构及模块化控制系统的实现[J].仪器仪表学报,2006,27(10):1178-1182.
[4] Wei H X,Cai Y P,Li H Y,et al. Sambot:A self ass-embly modular robot for Swarm robot[A].IEEE Inte-rnational Conferenceon Robotics and Automatio Piscata-way,USA:IEEE[C].2010:66-71.
[5] 王林.可重构模块化机器人构形设计理论及方法的研究[D].武汉:武汉理工大学,2007.
[6] Delta Tau Data System Inc.Turbo PMAC2 User Manual[M].USA:Delta Tau Data System Inc,2006.
[7] 朱万辉.七自由度焊接机器人控制系统设计[D].安徽工业大学,2012.
[8] 姚兴田,马永林,张磊,等.升降伸缩式楼道清洁机器人结构及控制系统设计[J].机械设计与制 造,2014(4):262-264.
[9] 汪洋,李斌,陈丽,等.蛇形机器人控制系统的设计与实现[J].机器人,2003,25(6):491-494,500.
[10] 张邦成,韩跃营,王占礼,等.基于PMAC的仿人按摩机器人手臂控制系统设计[J].机械设计与制造,2012(4):56-58.