国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于CoDeSys平臺的六自由度工業(yè)機器人運動控制器設(shè)計

2018-09-19 09:40王耀東徐建明徐勝華
計算機測量與控制 2018年9期
關(guān)鍵詞:運動學(xué)連桿坐標系

王耀東,徐建明,徐勝華

(浙江工業(yè)大學(xué)信息工程學(xué)院,杭州 310023)

0 引言

隨著機器人在現(xiàn)代工廠的廣泛應(yīng)用,機器人技術(shù)得到了迅猛發(fā)展,使得傳統(tǒng)工業(yè)發(fā)生新的變革。在生產(chǎn)、醫(yī)療、物流等新興領(lǐng)域,機器人的應(yīng)用改變了整個行業(yè)的發(fā)展模式。面對現(xiàn)代工業(yè)發(fā)展需求的不斷提高,降低生產(chǎn)成本、縮短開發(fā)周期和擴大應(yīng)用領(lǐng)域尤為重要。目前,機器人控制器多采用專用的控制器,成本高,開放性和移植性差。這就需要開發(fā)出一套高開放性、可移植性和可擴展性的機器人控制系統(tǒng)。

控制器是機器人控制系統(tǒng)的核心,機器人的運動學(xué)求解、運動控制和軌跡規(guī)劃等都由控制器完成??刂破鞔笾路譃樗念?,基于單片機的控制器[1]、基于PLC的運動控制器[2]、基于PC運動控制卡的控制器[3]以及軟件型運動控制器[4]。其中基于PCI總線的運動控制卡控制方式和軟件型運動控制器在當下運用最為廣泛。運動控制卡采用高性能微處理器,如DSP和大規(guī)??删幊淘O(shè)備,因此具有比較強大的計算能力和邏輯處理能力,大多數(shù)控制卡擁有統(tǒng)一的接口,開放性強。而軟件型運動控制器是建立在計算機強大的計算能力基礎(chǔ)之上,只需要將開發(fā)好的軟件安裝在PC或者嵌入式開發(fā)板上,該平臺就具有運動控制能力,且該系統(tǒng)開放性強,具有邏輯語言編程、CNC多軸同步插補等優(yōu)點。

目前,任福深等人[5]基于PC機開發(fā)了開放式的焊接機器人控制系統(tǒng),該系統(tǒng)運行穩(wěn)定,適應(yīng)性強,可以很好的完成焊接任務(wù)。馬瓊雄等人[6]采用基于工控機 (IPC)結(jié)合運動控制卡的結(jié)構(gòu)形式,并借鑒ORC(Open Robot Controller)等典型機器人控制系統(tǒng)軟件體系結(jié)構(gòu)設(shè)計了分層模塊化的軟件系統(tǒng),使得現(xiàn)有機器人控制系統(tǒng)只需要做少量修改就可以應(yīng)用到不同場合。胡鵬等人[7]采用IPC+DSP作為六軸工業(yè)機器人的控制器,設(shè)計了一種基于可編程多軸控制器 PMAC(Programmable Multi-Axis Controller)的開放式機器人控制系統(tǒng),門昌華等人[8]以IPC+PMAC作為CIN CINNATI工業(yè)機器人的控制器,設(shè)計了一種基于PMAC的開放式機器人控制系統(tǒng)。

本文以埃夫特公司的ER50機器人為研究對象,采用基于ARM+CoDeSys架構(gòu)設(shè)計機器人運動控制器,并采用EtherCAT實時以太網(wǎng)通信技術(shù),實時性強,運行速度快。該控制器具有機器人示教、在線編程、建立坐標系、關(guān)節(jié)點動控制、笛卡爾點動控制、軌跡插補規(guī)劃、一鍵回零、各軸位置實時顯示等功能。

1 控制系統(tǒng)結(jié)構(gòu)方案

本文采用在ARM板上安裝CoDeSys軟件作為開發(fā)平臺,構(gòu)成一個支持邏輯與機器人運動控制相結(jié)合的可編程邏輯控制器。上位機采用CoDeSys軟件提供的可視化模塊進行設(shè)計開發(fā),驅(qū)動器采用清能德創(chuàng)的CoolA8驅(qū)動器,控制總線選擇EtherCAT通訊總線,機器人本體使用ER50機器人。整個系統(tǒng)采用模塊化、總線式設(shè)計,因此整個機器人控制系統(tǒng)具有很強的通用性與開放性。系統(tǒng)架構(gòu)如圖1所示。

圖1 機器人控制系統(tǒng)整體架構(gòu)圖

本文在CoDeSys軟件平臺上,基于PLCopen規(guī)范[9-10]對工業(yè)機器人運動控制器的軟件部分進行設(shè)計。設(shè)計目標是基于CoDeSys準確搭建ER50機器人的正逆運動學(xué)模型,基于該模型開發(fā)一款控制精度高,運行穩(wěn)定,且具有點動、示教、在線編程等功能的機器人運動控制器。首先對根據(jù)ER50機器人的DH參數(shù)建立連桿坐標系進而進行運動學(xué)建模,然后基于該運動學(xué)模型實現(xiàn)機器人關(guān)節(jié)空間點動,笛卡爾空間點動,基本的軌跡規(guī)劃以及機器人示教和在線編程等功能,同時針對各功能設(shè)計良好的人機交互界面。

2 ER50機器人運動學(xué)建模

機器人的機械結(jié)構(gòu)和運動學(xué)密切相關(guān)。ER50機器人的機械本體屬于控制系統(tǒng)的下層,是控制系統(tǒng)上層機構(gòu)的控制對象。機器人本體設(shè)計和動力學(xué)不在本文的研究范圍之內(nèi)。機器人運動學(xué)方程又與本體結(jié)構(gòu)密切相關(guān),其運動學(xué)的正解和逆解是控制系統(tǒng)軟件發(fā)送控制指令的依據(jù),是工業(yè)機器人的軌跡規(guī)劃、軌跡跟蹤以及位置伺服控制的基礎(chǔ)。因此本文以六自由度關(guān)節(jié)型機器人ER50為例,對工業(yè)機器人的運動學(xué)模型進行分析。

2.1 ER50機器人連桿坐標系建立

對于ER50機器人相鄰坐標系之間的坐標變換,一般先對全部連桿從基座到機器人末端執(zhí)行器依次建立相鄰連桿i- 1 與 i之間的變換關(guān)系。坐標系 Oi-1Xi-1Yi-1Zi-1的兩次旋轉(zhuǎn)和兩次平移可以變換到坐標系OiXiYiZi,圖2為相鄰連桿坐標系的建立:

1) 繞軸 Zi-1旋轉(zhuǎn) θi角,使得 Xi-1軸與軸 Xi處于同一個平面內(nèi);

2) 沿Zi-1軸平移di個距離,使得軸Xi-1與軸Xi共線;

3) 沿 Xi-1軸 平 移 ai個 距 離,使 得 坐 標 系Oi-1Xi-1Yi-1Zi-1和 OiXiYiZi坐標原點重合;

4)繞Xi軸旋轉(zhuǎn)αi角,使兩坐標系重合。

圖2 相鄰連桿坐標系與參數(shù)

齊次變換矩陣可表示為:

其中:Trans為平移變換矩陣,Rot為旋轉(zhuǎn)變換矩陣,具體可表示為:

ER50機器人的D-H參數(shù)如表1所示,其中di為關(guān)節(jié)軸i上的連桿偏距,ai-1為關(guān)節(jié)軸i-1和關(guān)節(jié)軸i之間的公垂線長度 (連桿長度),αi-1表示關(guān)節(jié)軸i-1和關(guān)節(jié)軸i之間連桿轉(zhuǎn)角。由于機器人本體的機械傳動耦合關(guān)系,四關(guān)節(jié)的轉(zhuǎn)動將影響五、六關(guān)節(jié)的轉(zhuǎn)動,五關(guān)節(jié)的轉(zhuǎn)動又會帶動六關(guān)節(jié)的旋轉(zhuǎn),關(guān)節(jié)耦合比如表2所示,本文設(shè)計的機器人運動控制器通過軟件編程補償了關(guān)節(jié)耦合對機器人控制產(chǎn)生的誤差。由機器人的連桿參數(shù)和關(guān)節(jié)的旋轉(zhuǎn)參數(shù)確定機器人操作臂末端坐標系在基坐標中位姿關(guān)系,建立ER50機器人連桿坐標系如圖3所示,根據(jù)該連桿坐標系關(guān)系建立ER50機器人的正逆運動學(xué)模型。

表1 ER50機器人D-H參數(shù)表

表2 ER50機器人關(guān)節(jié)耦合比

圖3 ER50機器人連桿坐標系

2.2 ER50機器人運動學(xué)模塊封裝

2.2.1 正運動學(xué)功能塊封裝

本文正逆運動學(xué)求解方式借鑒《機器人學(xué)導(dǎo)論》[11]書中所提出的方法。將正運動學(xué)公式用程序代碼表述并封裝成功能塊,程序功能塊如圖4(a)所示,config為機器人的D-H參數(shù)配置,drive0至drive5為關(guān)節(jié)角當前位置信息,Position是經(jīng)過正運動學(xué)得出的笛卡爾空間位姿。armState、elbowState、handState分別是第一關(guān)節(jié)、第三關(guān)節(jié)和第五關(guān)節(jié)的狀態(tài)。

2.2.2 逆運動學(xué)功能塊封裝

機器人逆運動學(xué)是指已知機器人工具末端的位置和姿態(tài),通過逆運動學(xué)變換求出機器人各個關(guān)節(jié)軸對應(yīng)的角度。由于本文設(shè)計對象為六軸串聯(lián)型機器人,所以根據(jù)逆運動學(xué)方程變換最多可求出八組逆解,根據(jù)關(guān)節(jié)變化量最小的原則選取最優(yōu)逆解,逆運動學(xué)變換功能塊在調(diào)用時的實例圖如圖4(b)所示。模塊中_pre表示上一次變換后各關(guān)節(jié)軸對應(yīng)的關(guān)節(jié)角,pos表示需要變換的機器人末端位姿。dq表示經(jīng)功能塊變換后得出的各關(guān)節(jié)軸的角度。

3 機器人運動控制器功能開發(fā)

圖4 運動學(xué)功能封裝

在CoDeSys軟件平臺上開發(fā)機器人運動控制器的各個功能,本文主要從示教模式、點動模式以及在線編程模式幾個方面來闡述該運動控制器的軟件開發(fā)過程。

3.1 示教模式

3.1.1 示教流程

通過使用笛卡爾空間點動或關(guān)節(jié)空間點動功能控制機器人工具末端運動到需要示教的位置點,記錄關(guān)節(jié)坐標以及笛卡爾空間末端執(zhí)行器位姿信息。示教編程時,可根據(jù)不同運動類型選擇不同運動模式,供選擇的模式有MoveL、MoveJ以及MoveC三種運動模式,在文件程序運行時判斷指令的ASCLL碼值,然后再調(diào)用對應(yīng)運動功能塊。示教流程如圖6所示??刂屏鞒虒崿F(xiàn)了Wait()函數(shù),采用定時器TON功能塊實現(xiàn),定時時間可通過參數(shù)傳入。

圖5 示教流程圖

手動操作機器人到各個示教點后保存示教點。再應(yīng)用示教點指令生成示教程序,保存程序到.txt文件中,示教采集點和示教編程界面分別如圖6(a)、6(b)所示。本系統(tǒng)根據(jù)機器人語言常用規(guī)范實現(xiàn)了一些基本指令,組成本系統(tǒng)示教再現(xiàn)模塊的機器人指令集。機器人的指令集包括動作指令集、控制指令集。動作指令集包括 MoveC,MoveL,MoveJ,控制指令集有 Wait、Jump。MoveC、MoveL是圓弧插補和直線插補,MoveJ是笛卡爾空間點到點的軌跡規(guī)劃。在選擇插補方式時設(shè)定對應(yīng)運動速度v=5,執(zhí)行語句“MoveL[p0,p1];”則機器人末端將從一個點p0沿直線軌跡運動到當前點位置p1,其速度為5 mm/s。通過Read按鈕可以讀取到示教文件上的各個示教點信息,可以在線編輯修改示教文件,以及插入、刪除示教點。如果機器人在運行過程中出現(xiàn)問題,為了安全保障,可以選擇Stop按鈕,緊急停止所有操作。

圖6 示教界面

3.2 點動模式

3.2.1 關(guān)節(jié)空間點動

關(guān)節(jié)空間點動模式采用MC_Jog功能塊實現(xiàn),可以單獨控制關(guān)節(jié)軸的正反轉(zhuǎn),以及運行時的速度、加速度,也可以根據(jù)需要獨立設(shè)置,Axis為電機軸對應(yīng)的控制字。機器人控制系統(tǒng)單軸模式的程序圖如圖7所示。MC_Power功能塊用于控制驅(qū)動器的使能狀態(tài),是控制伺服驅(qū)動器電源模塊,上電使能是電機軸運動的必要前提。該模塊中,Axis為關(guān)節(jié)軸控制字,對應(yīng)于具體的關(guān)節(jié)軸電機驅(qū)動器,通過置Enable、bRegulatorOn和bDriveStart三個輸入控制字為true即可使能伺服驅(qū)動器電源。MC_Reset實現(xiàn)電機軸的復(fù)位操作,用于電機軸從ErrorStop狀態(tài)到StandStill狀態(tài)的轉(zhuǎn)換。

圖7 單軸模式程序圖

3.2.2 笛卡爾空間點動

笛卡爾空間點動,設(shè)計此功能的目的在于使用示教器示教或需要平移末端工具點時,能更加快速到達目標點,使用時更加方便和快捷。此功能設(shè)計有6個功能按鍵,分為X+、X-、Y+、Y-、Z+、Z-,分別控制機器人工具末端沿著世界坐標系中的X、Y、Z坐標軸移動。以X軸為例,當點擊X+時,工具末端會沿著X軸正方向移動。此功能的設(shè)計原理是通過功能按鍵來控制末端位置的坐標值增加或減小,然后再根據(jù)機器人坐標系模型中的逆運動學(xué)方程,將末端位置轉(zhuǎn)換為各個關(guān)節(jié)角度,再將轉(zhuǎn)換出的各個關(guān)節(jié)角度作為各軸連接的電機的設(shè)定位置,從而控制各軸同步運動到相應(yīng)的位置,達到預(yù)期目的。

3.2.3 點動模式界面設(shè)計

主要包含常用增刪改查的操作,另包括:數(shù)據(jù)資源災(zāi)備(自動備份,異常情況下,保證數(shù)據(jù)資源安全)、數(shù)據(jù)庫信息標識、日志信息查看、索引自動創(chuàng)建查看、授權(quán)信息、執(zhí)行計劃、服務(wù)性能、SQL審核、故障錯誤信息、系統(tǒng)升級、系統(tǒng)調(diào)用及部署等。

點動界面包含兩種點動模式,分別為關(guān)節(jié)空間點動和笛卡爾點動,每種模式單獨設(shè)計一個界面,界面包含點動控制的各功能按鍵、保障安全的急停按鍵、模式之間相互切換的切換按鍵、顯示軸運動狀態(tài)的狀態(tài)顯示燈、實時顯示各軸關(guān)節(jié)位置或工具末端位姿數(shù)據(jù)的數(shù)據(jù)狀態(tài)欄等。在關(guān)節(jié)空間下,通過控制各個關(guān)節(jié)來實現(xiàn)手動運行如圖8(a);在運行速度上為了安全沒有提供在線設(shè)置運行速度,而是提供了三種運行速度模式,分為Slow、Middle、High三種,這樣操作者可以根據(jù)需求在線選擇運行速度。另一種是在笛卡爾空間進行手動操作如圖8(b),可以手動移動在空間中的位置以及姿態(tài),通過三維坐標的修改按鈕,以及歐拉角的旋轉(zhuǎn)按鈕進行增加歐拉角度或者減少,從而改變末端姿態(tài),使其運行到期望位置。

圖8 點動界面

3.3 在線編程模式

3.3.1 在線編程實現(xiàn)

在線編程支持新建.txt編程文件,或者加載之前已有的編程文件并再此基礎(chǔ)上進行修改,然后保存。運動指令主要有MoveJ、MoveC和MoveL三種,當在線編程時目標位置以及中間點位置要在機器人運動范圍內(nèi)以及運動指令要符合特定語法,如 MoveJ(10,20,30,10,10,5,5);并以 “;”結(jié)束,前6個參數(shù)表示目標位姿,最后一個參數(shù)表示運動速度。如果不符合這種語法在編譯時會報錯。錯誤類型主要有:指令不符合規(guī)范、文件為空、指令沒有以分號結(jié)束等。編譯完成無誤情況下,可以通過運行按鈕執(zhí)行文件中的指令。控制指令有Wait指令,暫停一定時間。在線編程流程圖如圖9所示。

圖9 在線編程流程圖

3.3.2 在線編程界面

在線編程界面如圖10所示,在線編程界面包含當前坐標系顯示欄、機器人運動狀態(tài)顯示欄、程序編譯錯誤顯示欄、程序文件管理模塊、程序文本編輯及修改欄、界面切換功能鍵、程序操作功能鍵及文件操作功能鍵。程序操作功能鍵包括對程序編譯和運行,文件操作功能鍵包括文件新建、打開、保存、關(guān)閉和刪除。通過編程界面可在線管理程序代碼,存儲在控制器中的程序文件也會在文件管理模塊中顯示,也可以新建.txt類型的程序文件。通過對程序文件修改保存后,可點擊編譯按鈕,對程序進行編譯,觀察編寫的程序是否有語法錯誤,編譯無誤后,可點擊運行按鈕,機器人就會按照程序功能控制機器人按照預(yù)定的軌跡到達目標位置點。通過查看機器人狀態(tài)顯示欄查看機器人運動狀態(tài)。

圖10 在線編程界面

4 實驗結(jié)果與分析

在ER50六軸工業(yè)機器人上對設(shè)計的運動控制的在線示教、在線編程功能進行測試。實驗對象如圖11。

使機器人姿態(tài)保持不變,通過運動控制器的示教功能示教機器人位置,保存4個點如下:

P0(496.213,170.285,612.158,16,23,121)

P1(728.610,296.926,786.103,16,23,121)

P2(950,196.734,1723.02,16,23,121)

P3(1246.207,287.654,1810.143,16,23,121)

圖11 ER50機器人本體+運動控制器

再通過在線編程功能執(zhí)行語句“MoveL[P0,P1];”實現(xiàn)點 P0到 P1的直線插補,以及 “MoveC[P1,P2,P3];”實現(xiàn)點P1、P2、P3之間的圓弧插補。機器人末端位置的三維坐標記錄如圖12所示。將機器人運行數(shù)據(jù)保存起來并在matlab中對插值數(shù)據(jù)進行繪圖,得到規(guī)劃的軌跡曲線圖如圖13所示,將實際定位的P0、P1、P2、P3點的坐標與示教定位點坐標進行誤差對比,數(shù)據(jù)如表3所示。

圖12 機器人末端坐標位置

圖13 機器人末端三維軌跡

表3 定位精度表

通過本文設(shè)計的控制器示教功能和在線編程功能實現(xiàn)了點P0到P1的直線插補,點P1,P2和P3的圓弧插補,從圖12、13可以看出P0到P1點保持嚴格的直線運行,P1、P2、P3點間的軌跡平滑,足以說明該控制器具有很好的示教、在線編程功能以及運行穩(wěn)定性;通過表3可以看出,運行點P0、P1、P2、P3與其示教點誤差分別為0.1312 mm、0.0947 mm、0.1466 mm、0.1341 mm,完全滿足工業(yè)生產(chǎn)中的加工精度要求,可見該控制器對ER50機器人的正逆運動學(xué)模型建立準確。

該機器人控制器功能眾多,本文僅對直線、圓弧插補功能進行測試,從測試過程可以看出,本文設(shè)計的這款基于CoDeSys軟件平臺的運動控制器運行穩(wěn)定、控制精度高,同時具備了豐富的使用功能和人機交互界面,滿足大多數(shù)機器人平臺的運動控制要求。

5 結(jié)束語

本文研究了一種基于ARM+CoDeSys架構(gòu)的運動控制器。以ER50六自由度工業(yè)機器人為控制對象,結(jié)合Ether-CAT通信技術(shù)和PLCopen規(guī)范,研發(fā)了一款具備在線示教、在線編程、關(guān)節(jié)空間與笛卡爾空間點動以及軌跡插補規(guī)劃等功能于一體的機器人運動控制器。該款控制器控制精度高,運行穩(wěn)定,具有很好的開放性、可移植性和低成本等優(yōu)勢,已在六軸工業(yè)機器人、SCARA機器人以及三軸機器人等平臺工廠化使用,并取得了預(yù)期控制效果。

猜你喜歡
運動學(xué)連桿坐標系
轎車前后懸架運動學(xué)仿真分析
獨立坐標系橢球變換與坐標換算
復(fù)合切割機器人的運動學(xué)分析與仿真研究
坐標系背后的故事
三角函數(shù)的坐標系模型
連桿的設(shè)計及有限元分析
求坐標系內(nèi)三角形的面積
基于運動學(xué)特征的新型滑板對速滑蹬冰動作模擬的有效性
履帶式推土機行駛系統(tǒng)運動學(xué)分析
470Q汽油機連桿設(shè)計