楊 帆, 張 錚,夏 添
(湖北工業(yè)大學(xué)機(jī)械工程學(xué)院, 湖北 武漢 430068)
?
四自由度SCARA機(jī)器人控制系統(tǒng)研究
楊帆, 張錚,夏添
(湖北工業(yè)大學(xué)機(jī)械工程學(xué)院, 湖北 武漢 430068)
[摘要]傳統(tǒng)的機(jī)器人大多采用封閉的體系結(jié)構(gòu),其缺點(diǎn)是不能適應(yīng)不同的應(yīng)用場(chǎng)合,不便于不同軟硬件平臺(tái)移植?;诖耍岢鲆环N以O(shè)tostudio軟件和計(jì)算機(jī)可編程自動(dòng)化控制器(CPAC)作為軟硬件研究平臺(tái)的方案,并在該平臺(tái)上開發(fā)SCARA機(jī)器人的控制系統(tǒng),設(shè)計(jì)開發(fā)了一款具有良好開放性、移植性和拓展性的機(jī)器人控制系統(tǒng)。本系統(tǒng)利用Otostudio軟件編寫SCARA控制系統(tǒng)界面及底層運(yùn)動(dòng)模塊,實(shí)現(xiàn)機(jī)器人的示教-再現(xiàn)控制,同時(shí)使用MATLAB對(duì)SCARA機(jī)器人的軌跡規(guī)劃進(jìn)行了仿真,驗(yàn)證參數(shù)設(shè)計(jì)的合理性。通過(guò)示教再現(xiàn)測(cè)試,其誤差較小,滿足控制要求。
[關(guān)鍵詞]Otostudio; CPAC控制器; SCARA機(jī)器人; 示教-再現(xiàn)
傳統(tǒng)的機(jī)器人結(jié)構(gòu)都設(shè)計(jì)成封閉式的,其開發(fā)需要采用專業(yè)的計(jì)算機(jī)、專用的機(jī)器人語(yǔ)言、專用的處理器,軟件獨(dú)立性差,硬件的依賴性強(qiáng),不便于不同軟硬件平臺(tái)之間進(jìn)行移植[1-2]。筆者選擇開放式硬件平臺(tái),以SCARA機(jī)器人為研究對(duì)象,采用模塊化設(shè)計(jì)方法[3],設(shè)計(jì)開發(fā)了一款具有良好開放性、移植性和拓展性的控制系統(tǒng)。
1硬件平臺(tái)的搭建
1.1SCARA機(jī)器人的本體結(jié)構(gòu)
SCARA(Selective Compliance Assembly Robot Arm)機(jī)器人的機(jī)械本體是由基座、3個(gè)旋轉(zhuǎn)關(guān)節(jié)和1個(gè)移動(dòng)關(guān)節(jié)組成,其中第一、二、四軸為旋轉(zhuǎn)關(guān)節(jié),第三關(guān)節(jié)為移動(dòng)關(guān)節(jié),由此實(shí)現(xiàn)對(duì)SCARA機(jī)器人手部位置和姿態(tài)的控制(圖1)[4]。
第一關(guān)節(jié)(大臂)是由安裝在基座上的交流伺服電機(jī),通過(guò)諧波減速器減速后繞基軸做旋轉(zhuǎn)運(yùn)動(dòng),關(guān)節(jié)變量為θ1;第二關(guān)節(jié)(小臂)也作旋轉(zhuǎn)運(yùn)動(dòng),關(guān)節(jié)變量為θ2;第三關(guān)節(jié)通過(guò)滾珠絲杠將轉(zhuǎn)動(dòng)轉(zhuǎn)化為豎直方向的移動(dòng),關(guān)節(jié)變量為d3。前3個(gè)關(guān)節(jié)的配合運(yùn)動(dòng)實(shí)現(xiàn)了X,Y,Z方向上的位置控制。第四關(guān)節(jié)為旋轉(zhuǎn)運(yùn)動(dòng),關(guān)節(jié)變量為θ4,實(shí)現(xiàn)了機(jī)械人手部姿態(tài)的控制。

圖 1 SCARA機(jī)器人的本體結(jié)構(gòu)
1.2控制系統(tǒng)的硬件平臺(tái)
本系統(tǒng)采用固高公司CPAC-OtoBox-UCT2H-4PV-F4G-M23型號(hào)的自動(dòng)化控制器、配套的GTHD伺服驅(qū)動(dòng)器及一套手持示教器作為硬件平臺(tái),驅(qū)動(dòng)器和控制器之間用擴(kuò)展板相連,機(jī)器人關(guān)節(jié)驅(qū)動(dòng)電機(jī)采用的是多摩川TBL-iⅡ系列小慣量的交流伺服電機(jī),采用位置齒輪的運(yùn)行模式。該模式下驅(qū)動(dòng)器的電流環(huán)、速度環(huán)和位置環(huán)將起作用,提高了電機(jī)的控制精度和響應(yīng)速度。CPAC-OtoBox系列自動(dòng)化控制器,采用開放的構(gòu)建,具有豐富的人機(jī)界面[5],同時(shí)提供計(jì)算機(jī)常見接口(如LAN、VGA、USB、PS2)及運(yùn)動(dòng)控制專用接口,可以實(shí)現(xiàn)高性能多軸協(xié)調(diào)運(yùn)動(dòng)控制和高速點(diǎn)位運(yùn)動(dòng)控制[6]。CPACOtoBox系列自動(dòng)化控制器連接實(shí)物如圖2所示。

圖 2 CPAC控制器連接實(shí)物圖
2控制系統(tǒng)的軟件設(shè)計(jì)
2.1系統(tǒng)軟件
軟件平臺(tái)采用的是基于Windows操作系統(tǒng)開發(fā)的固高公司OtoStudio軟件。OtoStudio編程語(yǔ)言靈活,支持5種不同的編程語(yǔ)言(即梯形圖(LD)、功能塊圖(FBD)、順序功能圖(SFC)、指令表語(yǔ)言(IL)、結(jié)構(gòu)化文本(ST)),可以滿足不同用戶的編程習(xí)慣,降低程序開發(fā)的難度,縮短開發(fā)周期[7]。
2.2控制系統(tǒng)的軟件實(shí)現(xiàn)
本文采用模塊化的設(shè)計(jì)方法,利用OtoStudio軟件平臺(tái),將SCARA機(jī)器人的控制系統(tǒng)劃分6大模塊進(jìn)行布局和設(shè)計(jì)。由于篇幅的限制,本文將主要介紹初始化模塊、示教再現(xiàn)模塊、實(shí)時(shí)監(jiān)控模塊、人機(jī)界面模塊部分。
2.2.1初始化模塊關(guān)節(jié)參數(shù)的初始化是初始化模塊必不可少的部分,是各關(guān)節(jié)臂正常運(yùn)行的前提條件。關(guān)節(jié)參數(shù)初始化主要包括SCARA機(jī)器人各個(gè)關(guān)節(jié)的一些配置信息,包括關(guān)節(jié)的速度、倍率、原點(diǎn)位置、正負(fù)極限位置等。關(guān)節(jié)1的運(yùn)動(dòng)參數(shù)如下:
MTN_Parameter: ARRAY [1..MAX_AXES] OF TAxisParameter:=
(Velocity:=10,//速度
Override := 1,//倍率
Acceleration := 2,//加速度
Deceleration := 2,//減速度
SmoothTime := 20,//平滑時(shí)間. 單位: ms
Smooth := 0.1,//平滑系數(shù).
HomeMethod := 2,//回原點(diǎn)方式
HomeTrigger := FALSE,//原點(diǎn)捕獲電平
HomeDistance := 200000,//回原點(diǎn)初始位移
HomeVel := 10,//回原點(diǎn)速度
Offset := 85000,//回原點(diǎn)偏移量
SoftLimitEnable := FALSE,//軟限位使能
PositiveLimit := 50000,//正限位
NegativeLimit := -50000,//負(fù)限位
CloseLoop := FALSE,//是否為閉環(huán)控制
kp:=10,//比例增益
ki:=0.3,//積分增益
kd:=0.1,//微分增益
kvff:=0.3,//速度前饋
kaff:=0.3,//加速度前饋
integralLimit:=32767,//積分項(xiàng)飽和極限
derivativeLimit:=32767,//微分項(xiàng)飽和極限
limits:=32767);//輸出電壓飽和極限
初始化模塊采用文本(ST)語(yǔ)言編寫,主要是對(duì)關(guān)節(jié)運(yùn)動(dòng)參數(shù)的初始化,其中TAxisParameter是自定義的結(jié)構(gòu)體,把與關(guān)節(jié)信息相關(guān)的變量封裝在一個(gè)結(jié)構(gòu)體中,方便數(shù)據(jù)管理。
2.2.2示教再現(xiàn)模塊示教再現(xiàn)模塊分為示教和再現(xiàn)兩個(gè)部分,示教采用的是速度(JOG)運(yùn)動(dòng)模式。示教部分通過(guò)調(diào)用MC_Jog功能塊控制機(jī)械手爪運(yùn)動(dòng),使其到目標(biāo)位置,然后選擇關(guān)節(jié)的運(yùn)動(dòng)類型,如JMOVE(關(guān)節(jié)運(yùn)動(dòng))、LMOVE(直線運(yùn)動(dòng))、MOVC(圓弧運(yùn)動(dòng))等。系統(tǒng)同時(shí)也可通過(guò)插入、刪除、修改等按鍵對(duì)示教信息進(jìn)行編輯和修改,編輯好的示教信息最終通過(guò)示教界面保存選項(xiàng),調(diào)用庫(kù)函數(shù)SysFileWrite()將示教信息寫到運(yùn)動(dòng)控制器中。
再現(xiàn)部分是在位置時(shí)間(PT)運(yùn)動(dòng)模式下實(shí)現(xiàn)的,通過(guò)調(diào)用庫(kù)函數(shù)SysFileRead()讀取示教文件的信息,逐行取出示教命令進(jìn)行解析,系統(tǒng)根據(jù)運(yùn)動(dòng)類型調(diào)用相應(yīng)的插補(bǔ)模塊,將對(duì)應(yīng)控制信號(hào)發(fā)送到驅(qū)動(dòng)器,完成機(jī)器人再現(xiàn)示教動(dòng)作。其中示教再現(xiàn)的流程圖如圖3所示。
2.2.3實(shí)時(shí)監(jiān)測(cè)模塊實(shí)時(shí)監(jiān)測(cè)模塊主要是對(duì)機(jī)器人各關(guān)節(jié)的狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)測(cè),出現(xiàn)異常時(shí),能夠在主界面的人機(jī)交互區(qū)及時(shí)顯示錯(cuò)誤信息,方便系統(tǒng)故障的排查和處理。SCARA機(jī)器人控制系統(tǒng)主要的異常有電機(jī)未使能、正負(fù)極限位置觸發(fā)、電機(jī)伺服報(bào)警等[8],系統(tǒng)以調(diào)用庫(kù)函數(shù)GT_GetSts()讀取各個(gè)軸的狀態(tài)的方式,在人機(jī)界面上進(jìn)行報(bào)警顯示,軸的狀態(tài)信息正常的情況下為綠色,報(bào)警狀態(tài)時(shí)為紅色。實(shí)時(shí)監(jiān)測(cè)模塊的界面如圖4所示。

圖 4 狀態(tài)監(jiān)控界面
2.2.4人機(jī)界面模塊人機(jī)界面模塊主要是為了方便系統(tǒng)和用戶之間信息的交流。人機(jī)界面不僅可控制SCARA機(jī)器人的運(yùn)動(dòng),而且還可以顯示機(jī)器人的各種狀態(tài)信息。本系統(tǒng)中,每一個(gè)界面都是一個(gè)封裝好的功能塊,圖形界面上每一個(gè)選項(xiàng)和界面都有與之對(duì)應(yīng)的變量,通過(guò)按鍵的操作,可改變對(duì)應(yīng)變量的值,調(diào)用不同的功能塊,實(shí)現(xiàn)不同功能的切換。其控制系統(tǒng)的主界面如圖5所示。

圖 5 SCARA機(jī)器人控制系統(tǒng)的主界面
界面主要包括3個(gè)部分:1)主菜單區(qū)。每個(gè)菜單和子菜單都顯示在主菜單區(qū),通過(guò)按下手持操作示教器上“主菜單”鍵,或點(diǎn)擊界面下角的“主菜單區(qū)”按鈕,顯示主菜單;2)通用顯示區(qū)??蓪?duì)程序文件、設(shè)置等進(jìn)行顯示和編輯;3)人機(jī)交互區(qū)。進(jìn)行錯(cuò)誤和操作提示或報(bào)警。
3MATLAB軌跡規(guī)劃仿真和示教再現(xiàn)測(cè)試
3.1MATLAB軌跡規(guī)劃仿真
為了避免在實(shí)際運(yùn)行過(guò)程中發(fā)生不可預(yù)測(cè)的結(jié)果,同時(shí)為了驗(yàn)證參數(shù)設(shè)計(jì)的合理性,可以利用MTALAB軟件對(duì)SCARA機(jī)器人的運(yùn)動(dòng)進(jìn)行仿真分析。首先建立SCARA機(jī)器人對(duì)象。機(jī)器人對(duì)象的D-H坐標(biāo)系如圖6所示。

圖 6 SCARA機(jī)器人坐標(biāo)系
根據(jù)圖5所示的各個(gè)關(guān)節(jié)的坐標(biāo)系可得SCARA機(jī)器人的D-H參數(shù)(表1)。

表1 SCARA機(jī)器人D-H參數(shù)匯總
根據(jù)SCARA機(jī)械手的D-H參數(shù)(表1)構(gòu)建機(jī)械手模型。由于機(jī)械手的參數(shù)d3是一個(gè)變化的數(shù)值,所以在建立機(jī)械手模型時(shí),初選定d3=100 mm,運(yùn)用Robotics Toolbox[9]工具箱對(duì)SCARA機(jī)械手建模。程序如下:
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');%機(jī)器人的名稱叫‘SCARA’
drivebot(r);
設(shè)SCARA機(jī)器人起點(diǎn)的關(guān)節(jié)變量為q0=[0 0 0 0],目標(biāo)點(diǎn)對(duì)應(yīng)的關(guān)節(jié)變量為q1=[0.5235 0.5235 -100 0.5235],利用MATLAB進(jìn)行每10 ms一次插值運(yùn)算,運(yùn)動(dòng)時(shí)間為5 s,采用5次多項(xiàng)式插值[10]的方法,仿真得到各個(gè)關(guān)節(jié)的位移、速度和加速度曲線(圖7)。

(a)位移曲線

(b)速度曲線

(c)加速度曲線圖 7 SCATA四個(gè)關(guān)節(jié)的位移、速度、加速度曲線
由圖7可見,SCARA各關(guān)節(jié)的位移、速度和加速度曲線都是光滑連續(xù)的,表明機(jī)器人各關(guān)節(jié)在運(yùn)動(dòng)過(guò)程中不會(huì)產(chǎn)生較大振動(dòng),運(yùn)動(dòng)平穩(wěn),證明了5次多項(xiàng)式插值可以實(shí)現(xiàn)軌跡的光滑連續(xù)無(wú)沖擊,說(shuō)明設(shè)計(jì)參數(shù)是合理的,可滿足使用要求。
3.2示教再現(xiàn)測(cè)試
為了校驗(yàn)示教再現(xiàn)的數(shù)據(jù)準(zhǔn)確性,以關(guān)節(jié)1和關(guān)節(jié)2為例對(duì)本系統(tǒng)進(jìn)行測(cè)試。在系統(tǒng)初始化完成之后,通過(guò)示教按鍵使關(guān)節(jié)1和關(guān)節(jié)2運(yùn)動(dòng)一定角度,讀取編碼器的實(shí)際值。然后保存示教信息;再現(xiàn)時(shí),電機(jī)運(yùn)動(dòng)平穩(wěn),并且通過(guò)系統(tǒng)函數(shù)讀取關(guān)節(jié)1和關(guān)節(jié)2編碼器的實(shí)際值。本系統(tǒng)采用的多摩川17位絕對(duì)式編碼器,分辨率32 768,經(jīng)過(guò)計(jì)算得出關(guān)節(jié)1和關(guān)節(jié)2的平均位置誤差幾乎為零,滿足控制需求。
[參考文獻(xiàn)]
[1]胡杰、張鐵. SCARA機(jī)器人控制系統(tǒng)的設(shè)計(jì)與研究[J]. 機(jī)械設(shè)計(jì)與制造, 2012(5): 62-163.
[2]胡鵬,方康玲,劉曉玉.基于PMAC的開放式機(jī)器人控制系統(tǒng)[J].微計(jì)算機(jī)信息,2006,22(4):171-174.
[3]陳航, 殷國(guó)富, 趙偉. 工業(yè)機(jī)器人的模塊化設(shè)計(jì)研究[J]. 機(jī)械, 2009, 36(3): 56-57.
[4]程汀.SCARA機(jī)器人的設(shè)計(jì)及運(yùn)動(dòng)、動(dòng)力學(xué)的研究[D].合肥:合肥工業(yè)大學(xué),2008:3-5.
[5]許陽(yáng). 基于CPAC的六自由度開放式機(jī)器人控制系統(tǒng)的開發(fā)[D]. 廣東:廣東工業(yè)大學(xué),2013(6):24-26.
[6]深圳固高科技.CPAC Otostudio自動(dòng)化控制器用戶手冊(cè)[Z].深圳:固高科技,2011:2-5.
[7]深圳固高科技.Otostudio編程手冊(cè)[Z].深圳:固高科技,2011:8-17.
[8]王耀庭.基于WinCE和CPAC平臺(tái)的嵌入式數(shù)控系統(tǒng)研究[D].無(wú)錫:江南大學(xué),2014:12-14.
[9]Corke PI.A Robotices Toolbox for MATLAB[J].IEEE Robotices and Automation Magazine,1996,3(1):24-33.
[10] 韓建海, 吳斌芳, 楊萍. 工業(yè)機(jī)器人[M]. 武漢:華中科技大學(xué)出版社, 2009:157-158.
[責(zé)任編校: 張眾]
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
[中圖分類號(hào)]TP242.2
[文獻(xiàn)標(biāo)識(shí)碼]:A
[文章編號(hào)]1003-4684(2016)01-0034-04
[作者簡(jiǎn)介]楊帆(1989-), 男, 湖北襄陽(yáng)人,湖北工業(yè)大學(xué)研究生,研究方向?yàn)榍度胧较到y(tǒng)與智能控制
[收稿日期]2015-09-28