杨 帆, 张 铮,夏 添
(湖北工业大学机械工程学院, 湖北 武汉 430068)
四自由度SCARA机器人控制系统研究
杨帆, 张铮,夏添
(湖北工业大学机械工程学院, 湖北 武汉 430068)
[摘要]传统的机器人大多采用封闭的体系结构,其缺点是不能适应不同的应用场合,不便于不同软硬件平台移植。基于此,提出一种以Otostudio软件和计算机可编程自动化控制器(CPAC)作为软硬件研究平台的方案,并在该平台上开发SCARA机器人的控制系统,设计开发了一款具有良好开放性、移植性和拓展性的机器人控制系统。本系统利用Otostudio软件编写SCARA控制系统界面及底层运动模块,实现机器人的示教-再现控制,同时使用MATLAB对SCARA机器人的轨迹规划进行了仿真,验证参数设计的合理性。通过示教再现测试,其误差较小,满足控制要求。
[关键词]Otostudio; CPAC控制器; SCARA机器人; 示教-再现
传统的机器人结构都设计成封闭式的,其开发需要采用专业的计算机、专用的机器人语言、专用的处理器,软件独立性差,硬件的依赖性强,不便于不同软硬件平台之间进行移植[1-2]。笔者选择开放式硬件平台,以SCARA机器人为研究对象,采用模块化设计方法[3],设计开发了一款具有良好开放性、移植性和拓展性的控制系统。
1硬件平台的搭建
1.1SCARA机器人的本体结构
SCARA(Selective Compliance Assembly Robot Arm)机器人的机械本体是由基座、3个旋转关节和1个移动关节组成,其中第一、二、四轴为旋转关节,第三关节为移动关节,由此实现对SCARA机器人手部位置和姿态的控制(图1)[4]。
第一关节(大臂)是由安装在基座上的交流伺服电机,通过谐波减速器减速后绕基轴做旋转运动,关节变量为θ1;第二关节(小臂)也作旋转运动,关节变量为θ2;第三关节通过滚珠丝杠将转动转化为竖直方向的移动,关节变量为d3。前3个关节的配合运动实现了X,Y,Z方向上的位置控制。第四关节为旋转运动,关节变量为θ4,实现了机械人手部姿态的控制。
图 1 SCARA机器人的本体结构
1.2控制系统的硬件平台
本系统采用固高公司CPAC-OtoBox-UCT2H-4PV-F4G-M23型号的自动化控制器、配套的GTHD伺服驱动器及一套手持示教器作为硬件平台,驱动器和控制器之间用扩展板相连,机器人关节驱动电机采用的是多摩川TBL-iⅡ系列小惯量的交流伺服电机,采用位置齿轮的运行模式。该模式下驱动器的电流环、速度环和位置环将起作用,提高了电机的控制精度和响应速度。CPAC-OtoBox系列自动化控制器,采用开放的构建,具有丰富的人机界面[5],同时提供计算机常见接口(如LAN、VGA、USB、PS2)及运动控制专用接口,可以实现高性能多轴协调运动控制和高速点位运动控制[6]。CPACOtoBox系列自动化控制器连接实物如图2所示。
图 2 CPAC控制器连接实物图
2控制系统的软件设计
2.1系统软件
软件平台采用的是基于Windows操作系统开发的固高公司OtoStudio软件。OtoStudio编程语言灵活,支持5种不同的编程语言(即梯形图(LD)、功能块图(FBD)、顺序功能图(SFC)、指令表语言(IL)、结构化文本(ST)),可以满足不同用户的编程习惯,降低程序开发的难度,缩短开发周期[7]。
2.2控制系统的软件实现
本文采用模块化的设计方法,利用OtoStudio软件平台,将SCARA机器人的控制系统划分6大模块进行布局和设计。由于篇幅的限制,本文将主要介绍初始化模块、示教再现模块、实时监控模块、人机界面模块部分。
2.2.1初始化模块关节参数的初始化是初始化模块必不可少的部分,是各关节臂正常运行的前提条件。关节参数初始化主要包括SCARA机器人各个关节的一些配置信息,包括关节的速度、倍率、原点位置、正负极限位置等。关节1的运动参数如下:
MTN_Parameter: ARRAY [1..MAX_AXES] OF TAxisParameter:=
(Velocity:=10,//速度
Override := 1,//倍率
Acceleration := 2,//加速度
Deceleration := 2,//减速度
SmoothTime := 20,//平滑时间. 单位: ms
Smooth := 0.1,//平滑系数.
HomeMethod := 2,//回原点方式
HomeTrigger := FALSE,//原点捕获电平
HomeDistance := 200000,//回原点初始位移
HomeVel := 10,//回原点速度
Offset := 85000,//回原点偏移量
SoftLimitEnable := FALSE,//软限位使能
PositiveLimit := 50000,//正限位
NegativeLimit := -50000,//负限位
CloseLoop := FALSE,//是否为闭环控制
kp:=10,//比例增益
ki:=0.3,//积分增益
kd:=0.1,//微分增益
kvff:=0.3,//速度前馈
kaff:=0.3,//加速度前馈
integralLimit:=32767,//积分项饱和极限
derivativeLimit:=32767,//微分项饱和极限
limits:=32767);//输出电压饱和极限
初始化模块采用文本(ST)语言编写,主要是对关节运动参数的初始化,其中TAxisParameter是自定义的结构体,把与关节信息相关的变量封装在一个结构体中,方便数据管理。
2.2.2示教再现模块示教再现模块分为示教和再现两个部分,示教采用的是速度(JOG)运动模式。示教部分通过调用MC_Jog功能块控制机械手爪运动,使其到目标位置,然后选择关节的运动类型,如JMOVE(关节运动)、LMOVE(直线运动)、MOVC(圆弧运动)等。系统同时也可通过插入、删除、修改等按键对示教信息进行编辑和修改,编辑好的示教信息最终通过示教界面保存选项,调用库函数SysFileWrite()将示教信息写到运动控制器中。
再现部分是在位置时间(PT)运动模式下实现的,通过调用库函数SysFileRead()读取示教文件的信息,逐行取出示教命令进行解析,系统根据运动类型调用相应的插补模块,将对应控制信号发送到驱动器,完成机器人再现示教动作。其中示教再现的流程图如图3所示。
2.2.3实时监测模块实时监测模块主要是对机器人各关节的状态进行实时监测,出现异常时,能够在主界面的人机交互区及时显示错误信息,方便系统故障的排查和处理。SCARA机器人控制系统主要的异常有电机未使能、正负极限位置触发、电机伺服报警等[8],系统以调用库函数GT_GetSts()读取各个轴的状态的方式,在人机界面上进行报警显示,轴的状态信息正常的情况下为绿色,报警状态时为红色。实时监测模块的界面如图4所示。
图 4 状态监控界面
2.2.4人机界面模块人机界面模块主要是为了方便系统和用户之间信息的交流。人机界面不仅可控制SCARA机器人的运动,而且还可以显示机器人的各种状态信息。本系统中,每一个界面都是一个封装好的功能块,图形界面上每一个选项和界面都有与之对应的变量,通过按键的操作,可改变对应变量的值,调用不同的功能块,实现不同功能的切换。其控制系统的主界面如图5所示。
图 5 SCARA机器人控制系统的主界面
界面主要包括3个部分:1)主菜单区。每个菜单和子菜单都显示在主菜单区,通过按下手持操作示教器上“主菜单”键,或点击界面下角的“主菜单区”按钮,显示主菜单;2)通用显示区。可对程序文件、设置等进行显示和编辑;3)人机交互区。进行错误和操作提示或报警。
3MATLAB轨迹规划仿真和示教再现测试
3.1MATLAB轨迹规划仿真
为了避免在实际运行过程中发生不可预测的结果,同时为了验证参数设计的合理性,可以利用MTALAB软件对SCARA机器人的运动进行仿真分析。首先建立SCARA机器人对象。机器人对象的D-H坐标系如图6所示。
图 6 SCARA机器人坐标系
根据图5所示的各个关节的坐标系可得SCARA机器人的D-H参数(表1)。
表1 SCARA机器人D-H参数汇总
根据SCARA机械手的D-H参数(表1)构建机械手模型。由于机械手的参数d3是一个变化的数值,所以在建立机械手模型时,初选定d3=100 mm,运用Robotics Toolbox[9]工具箱对SCARA机械手建模。程序如下:
L1=link([0 0 0 372 0],’mod’);
L2=link([0 250 0 0 0],'mod');
L3=link([0 200 0 0 100],'mod');
L4=link([0 0 0 -100 0],'mod');
r=robot({L1 L2 L3 L4},'SCARA');%机器人的名称叫‘SCARA’
drivebot(r);
设SCARA机器人起点的关节变量为q0=[0 0 0 0],目标点对应的关节变量为q1=[0.5235 0.5235 -100 0.5235],利用MATLAB进行每10 ms一次插值运算,运动时间为5 s,采用5次多项式插值[10]的方法,仿真得到各个关节的位移、速度和加速度曲线(图7)。
(a)位移曲线
(b)速度曲线
(c)加速度曲线图 7 SCATA四个关节的位移、速度、加速度曲线
由图7可见,SCARA各关节的位移、速度和加速度曲线都是光滑连续的,表明机器人各关节在运动过程中不会产生较大振动,运动平稳,证明了5次多项式插值可以实现轨迹的光滑连续无冲击,说明设计参数是合理的,可满足使用要求。
3.2示教再现测试
为了校验示教再现的数据准确性,以关节1和关节2为例对本系统进行测试。在系统初始化完成之后,通过示教按键使关节1和关节2运动一定角度,读取编码器的实际值。然后保存示教信息;再现时,电机运动平稳,并且通过系统函数读取关节1和关节2编码器的实际值。本系统采用的多摩川17位绝对式编码器,分辨率32 768,经过计算得出关节1和关节2的平均位置误差几乎为零,满足控制需求。
[参考文献]
[1]胡杰、张铁. SCARA机器人控制系统的设计与研究[J]. 机械设计与制造, 2012(5): 62-163.
[2]胡鹏,方康玲,刘晓玉.基于PMAC的开放式机器人控制系统[J].微计算机信息,2006,22(4):171-174.
[3]陈航, 殷国富, 赵伟. 工业机器人的模块化设计研究[J]. 机械, 2009, 36(3): 56-57.
[4]程汀.SCARA机器人的设计及运动、动力学的研究[D].合肥:合肥工业大学,2008:3-5.
[5]许阳. 基于CPAC的六自由度开放式机器人控制系统的开发[D]. 广东:广东工业大学,2013(6):24-26.
[6]深圳固高科技.CPAC Otostudio自动化控制器用户手册[Z].深圳:固高科技,2011:2-5.
[7]深圳固高科技.Otostudio编程手册[Z].深圳:固高科技,2011:8-17.
[8]王耀庭.基于WinCE和CPAC平台的嵌入式数控系统研究[D].无锡:江南大学,2014:12-14.
[9]Corke PI.A Robotices Toolbox for MATLAB[J].IEEE Robotices and Automation Magazine,1996,3(1):24-33.
[10] 韩建海, 吴斌芳, 杨萍. 工业机器人[M]. 武汉:华中科技大学出版社, 2009:157-158.
[责任编校: 张众]
A Control System of Four DOF SCARA robots
YANG Fan,ZHANG Zheng , XIA Tian
(SchoolofMechanicalEngin.,HubeiUniv.ofTech.,Wuhan430068,China)
Abstract:It is hard for the traditional robots with closed structure to adapt to different application and to transport on different software and hardware platforms. To solve those problems, a system was proposed with the Otostudio software and CPAC manipulator being software and hardware platforms, on which SCARA robot control system was based. The robot control system has pretty openness, transportability and extendability. The system achieves the Teach-Playback Control of robot,making use of Otostudio software to write SCARA control system screen and underlayer motion module. At the same time, it simulated the trade plan of the SCARA robot by using MATLAB to verify whether the design parameter is reasonable. After Teach-Playback re-examination, it is found that the system reduces the error and meets the control requirements.
Keywords:SCA RA Robot; Otostudio; CPAC Controllers; Teach-Playback
[中图分类号]TP242.2
[文献标识码]:A
[文章编号]1003-4684(2016)01-0034-04
[作者简介]杨帆(1989-), 男, 湖北襄阳人,湖北工业大学研究生,研究方向为嵌入式系统与智能控制
[收稿日期]2015-09-28