王耀東,徐建明,徐勝華
(浙江工業(yè)大學(xué)信息工程學(xué)院,杭州 310023)
隨著機(jī)器人在現(xiàn)代工廠的廣泛應(yīng)用,機(jī)器人技術(shù)得到了迅猛發(fā)展,使得傳統(tǒng)工業(yè)發(fā)生新的變革。在生產(chǎn)、醫(yī)療、物流等新興領(lǐng)域,機(jī)器人的應(yīng)用改變了整個(gè)行業(yè)的發(fā)展模式。面對現(xiàn)代工業(yè)發(fā)展需求的不斷提高,降低生產(chǎn)成本、縮短開發(fā)周期和擴(kuò)大應(yīng)用領(lǐng)域尤為重要。目前,機(jī)器人控制器多采用專用的控制器,成本高,開放性和移植性差。這就需要開發(fā)出一套高開放性、可移植性和可擴(kuò)展性的機(jī)器人控制系統(tǒng)。
控制器是機(jī)器人控制系統(tǒng)的核心,機(jī)器人的運(yùn)動(dòng)學(xué)求解、運(yùn)動(dòng)控制和軌跡規(guī)劃等都由控制器完成??刂破鞔笾路譃樗念?,基于單片機(jī)的控制器[1]、基于PLC的運(yùn)動(dòng)控制器[2]、基于PC運(yùn)動(dòng)控制卡的控制器[3]以及軟件型運(yùn)動(dòng)控制器[4]。其中基于PCI總線的運(yùn)動(dòng)控制卡控制方式和軟件型運(yùn)動(dòng)控制器在當(dāng)下運(yùn)用最為廣泛。運(yùn)動(dòng)控制卡采用高性能微處理器,如DSP和大規(guī)模可編程設(shè)備,因此具有比較強(qiáng)大的計(jì)算能力和邏輯處理能力,大多數(shù)控制卡擁有統(tǒng)一的接口,開放性強(qiáng)。而軟件型運(yùn)動(dòng)控制器是建立在計(jì)算機(jī)強(qiáng)大的計(jì)算能力基礎(chǔ)之上,只需要將開發(fā)好的軟件安裝在PC或者嵌入式開發(fā)板上,該平臺(tái)就具有運(yùn)動(dòng)控制能力,且該系統(tǒng)開放性強(qiáng),具有邏輯語言編程、CNC多軸同步插補(bǔ)等優(yōu)點(diǎn)。
目前,任福深等人[5]基于PC機(jī)開發(fā)了開放式的焊接機(jī)器人控制系統(tǒng),該系統(tǒng)運(yùn)行穩(wěn)定,適應(yīng)性強(qiáng),可以很好的完成焊接任務(wù)。馬瓊雄等人[6]采用基于工控機(jī) (IPC)結(jié)合運(yùn)動(dòng)控制卡的結(jié)構(gòu)形式,并借鑒ORC(Open Robot Controller)等典型機(jī)器人控制系統(tǒng)軟件體系結(jié)構(gòu)設(shè)計(jì)了分層模塊化的軟件系統(tǒng),使得現(xiàn)有機(jī)器人控制系統(tǒng)只需要做少量修改就可以應(yīng)用到不同場合。胡鵬等人[7]采用IPC+DSP作為六軸工業(yè)機(jī)器人的控制器,設(shè)計(jì)了一種基于可編程多軸控制器 PMAC(Programmable Multi-Axis Controller)的開放式機(jī)器人控制系統(tǒng),門昌華等人[8]以IPC+PMAC作為CIN CINNATI工業(yè)機(jī)器人的控制器,設(shè)計(jì)了一種基于PMAC的開放式機(jī)器人控制系統(tǒng)。
本文以埃夫特公司的ER50機(jī)器人為研究對象,采用基于ARM+CoDeSys架構(gòu)設(shè)計(jì)機(jī)器人運(yùn)動(dòng)控制器,并采用EtherCAT實(shí)時(shí)以太網(wǎng)通信技術(shù),實(shí)時(shí)性強(qiáng),運(yùn)行速度快。該控制器具有機(jī)器人示教、在線編程、建立坐標(biāo)系、關(guān)節(jié)點(diǎn)動(dòng)控制、笛卡爾點(diǎn)動(dòng)控制、軌跡插補(bǔ)規(guī)劃、一鍵回零、各軸位置實(shí)時(shí)顯示等功能。
本文采用在ARM板上安裝CoDeSys軟件作為開發(fā)平臺(tái),構(gòu)成一個(gè)支持邏輯與機(jī)器人運(yùn)動(dòng)控制相結(jié)合的可編程邏輯控制器。上位機(jī)采用CoDeSys軟件提供的可視化模塊進(jìn)行設(shè)計(jì)開發(fā),驅(qū)動(dòng)器采用清能德創(chuàng)的CoolA8驅(qū)動(dòng)器,控制總線選擇EtherCAT通訊總線,機(jī)器人本體使用ER50機(jī)器人。整個(gè)系統(tǒng)采用模塊化、總線式設(shè)計(jì),因此整個(gè)機(jī)器人控制系統(tǒng)具有很強(qiáng)的通用性與開放性。系統(tǒng)架構(gòu)如圖1所示。
圖1 機(jī)器人控制系統(tǒng)整體架構(gòu)圖
本文在CoDeSys軟件平臺(tái)上,基于PLCopen規(guī)范[9-10]對工業(yè)機(jī)器人運(yùn)動(dòng)控制器的軟件部分進(jìn)行設(shè)計(jì)。設(shè)計(jì)目標(biāo)是基于CoDeSys準(zhǔn)確搭建ER50機(jī)器人的正逆運(yùn)動(dòng)學(xué)模型,基于該模型開發(fā)一款控制精度高,運(yùn)行穩(wěn)定,且具有點(diǎn)動(dòng)、示教、在線編程等功能的機(jī)器人運(yùn)動(dòng)控制器。首先對根據(jù)ER50機(jī)器人的DH參數(shù)建立連桿坐標(biāo)系進(jìn)而進(jìn)行運(yùn)動(dòng)學(xué)建模,然后基于該運(yùn)動(dòng)學(xué)模型實(shí)現(xiàn)機(jī)器人關(guān)節(jié)空間點(diǎn)動(dòng),笛卡爾空間點(diǎn)動(dòng),基本的軌跡規(guī)劃以及機(jī)器人示教和在線編程等功能,同時(shí)針對各功能設(shè)計(jì)良好的人機(jī)交互界面。
機(jī)器人的機(jī)械結(jié)構(gòu)和運(yùn)動(dòng)學(xué)密切相關(guān)。ER50機(jī)器人的機(jī)械本體屬于控制系統(tǒng)的下層,是控制系統(tǒng)上層機(jī)構(gòu)的控制對象。機(jī)器人本體設(shè)計(jì)和動(dòng)力學(xué)不在本文的研究范圍之內(nèi)。機(jī)器人運(yùn)動(dòng)學(xué)方程又與本體結(jié)構(gòu)密切相關(guān),其運(yùn)動(dòng)學(xué)的正解和逆解是控制系統(tǒng)軟件發(fā)送控制指令的依據(jù),是工業(yè)機(jī)器人的軌跡規(guī)劃、軌跡跟蹤以及位置伺服控制的基礎(chǔ)。因此本文以六自由度關(guān)節(jié)型機(jī)器人ER50為例,對工業(yè)機(jī)器人的運(yùn)動(dòng)學(xué)模型進(jìn)行分析。
對于ER50機(jī)器人相鄰坐標(biāo)系之間的坐標(biāo)變換,一般先對全部連桿從基座到機(jī)器人末端執(zhí)行器依次建立相鄰連桿i- 1 與 i之間的變換關(guān)系。坐標(biāo)系 Oi-1Xi-1Yi-1Zi-1的兩次旋轉(zhuǎn)和兩次平移可以變換到坐標(biāo)系OiXiYiZi,圖2為相鄰連桿坐標(biāo)系的建立:
1) 繞軸 Zi-1旋轉(zhuǎn) θi角,使得 Xi-1軸與軸 Xi處于同一個(gè)平面內(nèi);
2) 沿Zi-1軸平移di個(gè)距離,使得軸Xi-1與軸Xi共線;
3) 沿 Xi-1軸 平 移 ai個(gè) 距 離,使 得 坐 標(biāo) 系Oi-1Xi-1Yi-1Zi-1和 OiXiYiZi坐標(biāo)原點(diǎn)重合;
4)繞Xi軸旋轉(zhuǎn)αi角,使兩坐標(biāo)系重合。
圖2 相鄰連桿坐標(biāo)系與參數(shù)
齊次變換矩陣可表示為:
其中:Trans為平移變換矩陣,Rot為旋轉(zhuǎn)變換矩陣,具體可表示為:
ER50機(jī)器人的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)角。由于機(jī)器人本體的機(jī)械傳動(dòng)耦合關(guān)系,四關(guān)節(jié)的轉(zhuǎn)動(dòng)將影響五、六關(guān)節(jié)的轉(zhuǎn)動(dòng),五關(guān)節(jié)的轉(zhuǎn)動(dòng)又會(huì)帶動(dòng)六關(guān)節(jié)的旋轉(zhuǎn),關(guān)節(jié)耦合比如表2所示,本文設(shè)計(jì)的機(jī)器人運(yùn)動(dòng)控制器通過軟件編程補(bǔ)償了關(guān)節(jié)耦合對機(jī)器人控制產(chǎn)生的誤差。由機(jī)器人的連桿參數(shù)和關(guān)節(jié)的旋轉(zhuǎn)參數(shù)確定機(jī)器人操作臂末端坐標(biāo)系在基坐標(biāo)中位姿關(guān)系,建立ER50機(jī)器人連桿坐標(biāo)系如圖3所示,根據(jù)該連桿坐標(biāo)系關(guān)系建立ER50機(jī)器人的正逆運(yùn)動(dòng)學(xué)模型。
表1 ER50機(jī)器人D-H參數(shù)表
表2 ER50機(jī)器人關(guān)節(jié)耦合比
圖3 ER50機(jī)器人連桿坐標(biāo)系
2.2.1 正運(yùn)動(dòng)學(xué)功能塊封裝
本文正逆運(yùn)動(dòng)學(xué)求解方式借鑒《機(jī)器人學(xué)導(dǎo)論》[11]書中所提出的方法。將正運(yùn)動(dòng)學(xué)公式用程序代碼表述并封裝成功能塊,程序功能塊如圖4(a)所示,config為機(jī)器人的D-H參數(shù)配置,drive0至drive5為關(guān)節(jié)角當(dāng)前位置信息,Position是經(jīng)過正運(yùn)動(dòng)學(xué)得出的笛卡爾空間位姿。armState、elbowState、handState分別是第一關(guān)節(jié)、第三關(guān)節(jié)和第五關(guān)節(jié)的狀態(tài)。
2.2.2 逆運(yùn)動(dòng)學(xué)功能塊封裝
機(jī)器人逆運(yùn)動(dòng)學(xué)是指已知機(jī)器人工具末端的位置和姿態(tài),通過逆運(yùn)動(dòng)學(xué)變換求出機(jī)器人各個(gè)關(guān)節(jié)軸對應(yīng)的角度。由于本文設(shè)計(jì)對象為六軸串聯(lián)型機(jī)器人,所以根據(jù)逆運(yùn)動(dòng)學(xué)方程變換最多可求出八組逆解,根據(jù)關(guān)節(jié)變化量最小的原則選取最優(yōu)逆解,逆運(yùn)動(dòng)學(xué)變換功能塊在調(diào)用時(shí)的實(shí)例圖如圖4(b)所示。模塊中_pre表示上一次變換后各關(guān)節(jié)軸對應(yīng)的關(guān)節(jié)角,pos表示需要變換的機(jī)器人末端位姿。dq表示經(jīng)功能塊變換后得出的各關(guān)節(jié)軸的角度。
圖4 運(yùn)動(dòng)學(xué)功能封裝
在CoDeSys軟件平臺(tái)上開發(fā)機(jī)器人運(yùn)動(dòng)控制器的各個(gè)功能,本文主要從示教模式、點(diǎn)動(dòng)模式以及在線編程模式幾個(gè)方面來闡述該運(yùn)動(dòng)控制器的軟件開發(fā)過程。
3.1.1 示教流程
通過使用笛卡爾空間點(diǎn)動(dòng)或關(guān)節(jié)空間點(diǎn)動(dòng)功能控制機(jī)器人工具末端運(yùn)動(dòng)到需要示教的位置點(diǎn),記錄關(guān)節(jié)坐標(biāo)以及笛卡爾空間末端執(zhí)行器位姿信息。示教編程時(shí),可根據(jù)不同運(yùn)動(dòng)類型選擇不同運(yùn)動(dòng)模式,供選擇的模式有MoveL、MoveJ以及MoveC三種運(yùn)動(dòng)模式,在文件程序運(yùn)行時(shí)判斷指令的ASCLL碼值,然后再調(diào)用對應(yīng)運(yùn)動(dòng)功能塊。示教流程如圖6所示。控制流程實(shí)現(xiàn)了Wait()函數(shù),采用定時(shí)器TON功能塊實(shí)現(xiàn),定時(shí)時(shí)間可通過參數(shù)傳入。
圖5 示教流程圖
手動(dòng)操作機(jī)器人到各個(gè)示教點(diǎn)后保存示教點(diǎn)。再應(yīng)用示教點(diǎn)指令生成示教程序,保存程序到.txt文件中,示教采集點(diǎn)和示教編程界面分別如圖6(a)、6(b)所示。本系統(tǒng)根據(jù)機(jī)器人語言常用規(guī)范實(shí)現(xiàn)了一些基本指令,組成本系統(tǒng)示教再現(xiàn)模塊的機(jī)器人指令集。機(jī)器人的指令集包括動(dòng)作指令集、控制指令集。動(dòng)作指令集包括 MoveC,MoveL,MoveJ,控制指令集有 Wait、Jump。MoveC、MoveL是圓弧插補(bǔ)和直線插補(bǔ),MoveJ是笛卡爾空間點(diǎn)到點(diǎn)的軌跡規(guī)劃。在選擇插補(bǔ)方式時(shí)設(shè)定對應(yīng)運(yùn)動(dòng)速度v=5,執(zhí)行語句“MoveL[p0,p1];”則機(jī)器人末端將從一個(gè)點(diǎn)p0沿直線軌跡運(yùn)動(dòng)到當(dāng)前點(diǎn)位置p1,其速度為5 mm/s。通過Read按鈕可以讀取到示教文件上的各個(gè)示教點(diǎn)信息,可以在線編輯修改示教文件,以及插入、刪除示教點(diǎn)。如果機(jī)器人在運(yùn)行過程中出現(xiàn)問題,為了安全保障,可以選擇Stop按鈕,緊急停止所有操作。
圖6 示教界面
3.2.1 關(guān)節(jié)空間點(diǎn)動(dòng)
關(guān)節(jié)空間點(diǎn)動(dòng)模式采用MC_Jog功能塊實(shí)現(xiàn),可以單獨(dú)控制關(guān)節(jié)軸的正反轉(zhuǎn),以及運(yùn)行時(shí)的速度、加速度,也可以根據(jù)需要獨(dú)立設(shè)置,Axis為電機(jī)軸對應(yīng)的控制字。機(jī)器人控制系統(tǒng)單軸模式的程序圖如圖7所示。MC_Power功能塊用于控制驅(qū)動(dòng)器的使能狀態(tài),是控制伺服驅(qū)動(dòng)器電源模塊,上電使能是電機(jī)軸運(yùn)動(dòng)的必要前提。該模塊中,Axis為關(guān)節(jié)軸控制字,對應(yīng)于具體的關(guān)節(jié)軸電機(jī)驅(qū)動(dòng)器,通過置Enable、bRegulatorOn和bDriveStart三個(gè)輸入控制字為true即可使能伺服驅(qū)動(dòng)器電源。MC_Reset實(shí)現(xiàn)電機(jī)軸的復(fù)位操作,用于電機(jī)軸從ErrorStop狀態(tài)到StandStill狀態(tài)的轉(zhuǎn)換。
圖7 單軸模式程序圖
3.2.2 笛卡爾空間點(diǎn)動(dòng)
笛卡爾空間點(diǎn)動(dòng),設(shè)計(jì)此功能的目的在于使用示教器示教或需要平移末端工具點(diǎn)時(shí),能更加快速到達(dá)目標(biāo)點(diǎn),使用時(shí)更加方便和快捷。此功能設(shè)計(jì)有6個(gè)功能按鍵,分為X+、X-、Y+、Y-、Z+、Z-,分別控制機(jī)器人工具末端沿著世界坐標(biāo)系中的X、Y、Z坐標(biāo)軸移動(dòng)。以X軸為例,當(dāng)點(diǎn)擊X+時(shí),工具末端會(huì)沿著X軸正方向移動(dòng)。此功能的設(shè)計(jì)原理是通過功能按鍵來控制末端位置的坐標(biāo)值增加或減小,然后再根據(jù)機(jī)器人坐標(biāo)系模型中的逆運(yùn)動(dòng)學(xué)方程,將末端位置轉(zhuǎn)換為各個(gè)關(guān)節(jié)角度,再將轉(zhuǎn)換出的各個(gè)關(guān)節(jié)角度作為各軸連接的電機(jī)的設(shè)定位置,從而控制各軸同步運(yùn)動(dòng)到相應(yīng)的位置,達(dá)到預(yù)期目的。
3.2.3 點(diǎn)動(dòng)模式界面設(shè)計(jì)
主要包含常用增刪改查的操作,另包括:數(shù)據(jù)資源災(zāi)備(自動(dòng)備份,異常情況下,保證數(shù)據(jù)資源安全)、數(shù)據(jù)庫信息標(biāo)識(shí)、日志信息查看、索引自動(dòng)創(chuàng)建查看、授權(quán)信息、執(zhí)行計(jì)劃、服務(wù)性能、SQL審核、故障錯(cuò)誤信息、系統(tǒng)升級、系統(tǒng)調(diào)用及部署等。
點(diǎn)動(dòng)界面包含兩種點(diǎn)動(dòng)模式,分別為關(guān)節(jié)空間點(diǎn)動(dòng)和笛卡爾點(diǎn)動(dòng),每種模式單獨(dú)設(shè)計(jì)一個(gè)界面,界面包含點(diǎn)動(dòng)控制的各功能按鍵、保障安全的急停按鍵、模式之間相互切換的切換按鍵、顯示軸運(yùn)動(dòng)狀態(tài)的狀態(tài)顯示燈、實(shí)時(shí)顯示各軸關(guān)節(jié)位置或工具末端位姿數(shù)據(jù)的數(shù)據(jù)狀態(tài)欄等。在關(guān)節(jié)空間下,通過控制各個(gè)關(guān)節(jié)來實(shí)現(xiàn)手動(dòng)運(yùn)行如圖8(a);在運(yùn)行速度上為了安全沒有提供在線設(shè)置運(yùn)行速度,而是提供了三種運(yùn)行速度模式,分為Slow、Middle、High三種,這樣操作者可以根據(jù)需求在線選擇運(yùn)行速度。另一種是在笛卡爾空間進(jìn)行手動(dòng)操作如圖8(b),可以手動(dòng)移動(dòng)在空間中的位置以及姿態(tài),通過三維坐標(biāo)的修改按鈕,以及歐拉角的旋轉(zhuǎn)按鈕進(jìn)行增加歐拉角度或者減少,從而改變末端姿態(tài),使其運(yùn)行到期望位置。
圖8 點(diǎn)動(dòng)界面
3.3.1 在線編程實(shí)現(xiàn)
在線編程支持新建.txt編程文件,或者加載之前已有的編程文件并再此基礎(chǔ)上進(jìn)行修改,然后保存。運(yùn)動(dòng)指令主要有MoveJ、MoveC和MoveL三種,當(dāng)在線編程時(shí)目標(biāo)位置以及中間點(diǎn)位置要在機(jī)器人運(yùn)動(dòng)范圍內(nèi)以及運(yùn)動(dòng)指令要符合特定語法,如 MoveJ(10,20,30,10,10,5,5);并以 “;”結(jié)束,前6個(gè)參數(shù)表示目標(biāo)位姿,最后一個(gè)參數(shù)表示運(yùn)動(dòng)速度。如果不符合這種語法在編譯時(shí)會(huì)報(bào)錯(cuò)。錯(cuò)誤類型主要有:指令不符合規(guī)范、文件為空、指令沒有以分號結(jié)束等。編譯完成無誤情況下,可以通過運(yùn)行按鈕執(zhí)行文件中的指令??刂浦噶钣蠾ait指令,暫停一定時(shí)間。在線編程流程圖如圖9所示。
圖9 在線編程流程圖
3.3.2 在線編程界面
在線編程界面如圖10所示,在線編程界面包含當(dāng)前坐標(biāo)系顯示欄、機(jī)器人運(yùn)動(dòng)狀態(tài)顯示欄、程序編譯錯(cuò)誤顯示欄、程序文件管理模塊、程序文本編輯及修改欄、界面切換功能鍵、程序操作功能鍵及文件操作功能鍵。程序操作功能鍵包括對程序編譯和運(yùn)行,文件操作功能鍵包括文件新建、打開、保存、關(guān)閉和刪除。通過編程界面可在線管理程序代碼,存儲(chǔ)在控制器中的程序文件也會(huì)在文件管理模塊中顯示,也可以新建.txt類型的程序文件。通過對程序文件修改保存后,可點(diǎn)擊編譯按鈕,對程序進(jìn)行編譯,觀察編寫的程序是否有語法錯(cuò)誤,編譯無誤后,可點(diǎn)擊運(yùn)行按鈕,機(jī)器人就會(huì)按照程序功能控制機(jī)器人按照預(yù)定的軌跡到達(dá)目標(biāo)位置點(diǎn)。通過查看機(jī)器人狀態(tài)顯示欄查看機(jī)器人運(yùn)動(dòng)狀態(tài)。
圖10 在線編程界面
在ER50六軸工業(yè)機(jī)器人上對設(shè)計(jì)的運(yùn)動(dòng)控制的在線示教、在線編程功能進(jìn)行測試。實(shí)驗(yàn)對象如圖11。
使機(jī)器人姿態(tài)保持不變,通過運(yùn)動(dòng)控制器的示教功能示教機(jī)器人位置,保存4個(gè)點(diǎn)如下:
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機(jī)器人本體+運(yùn)動(dòng)控制器
再通過在線編程功能執(zhí)行語句“MoveL[P0,P1];”實(shí)現(xiàn)點(diǎn) P0到 P1的直線插補(bǔ),以及 “MoveC[P1,P2,P3];”實(shí)現(xiàn)點(diǎn)P1、P2、P3之間的圓弧插補(bǔ)。機(jī)器人末端位置的三維坐標(biāo)記錄如圖12所示。將機(jī)器人運(yùn)行數(shù)據(jù)保存起來并在matlab中對插值數(shù)據(jù)進(jìn)行繪圖,得到規(guī)劃的軌跡曲線圖如圖13所示,將實(shí)際定位的P0、P1、P2、P3點(diǎn)的坐標(biāo)與示教定位點(diǎn)坐標(biāo)進(jìn)行誤差對比,數(shù)據(jù)如表3所示。
圖12 機(jī)器人末端坐標(biāo)位置
圖13 機(jī)器人末端三維軌跡
表3 定位精度表
通過本文設(shè)計(jì)的控制器示教功能和在線編程功能實(shí)現(xiàn)了點(diǎn)P0到P1的直線插補(bǔ),點(diǎn)P1,P2和P3的圓弧插補(bǔ),從圖12、13可以看出P0到P1點(diǎn)保持嚴(yán)格的直線運(yùn)行,P1、P2、P3點(diǎn)間的軌跡平滑,足以說明該控制器具有很好的示教、在線編程功能以及運(yùn)行穩(wěn)定性;通過表3可以看出,運(yùn)行點(diǎn)P0、P1、P2、P3與其示教點(diǎn)誤差分別為0.1312 mm、0.0947 mm、0.1466 mm、0.1341 mm,完全滿足工業(yè)生產(chǎn)中的加工精度要求,可見該控制器對ER50機(jī)器人的正逆運(yùn)動(dòng)學(xué)模型建立準(zhǔn)確。
該機(jī)器人控制器功能眾多,本文僅對直線、圓弧插補(bǔ)功能進(jìn)行測試,從測試過程可以看出,本文設(shè)計(jì)的這款基于CoDeSys軟件平臺(tái)的運(yùn)動(dòng)控制器運(yùn)行穩(wěn)定、控制精度高,同時(shí)具備了豐富的使用功能和人機(jī)交互界面,滿足大多數(shù)機(jī)器人平臺(tái)的運(yùn)動(dòng)控制要求。
本文研究了一種基于ARM+CoDeSys架構(gòu)的運(yùn)動(dòng)控制器。以ER50六自由度工業(yè)機(jī)器人為控制對象,結(jié)合Ether-CAT通信技術(shù)和PLCopen規(guī)范,研發(fā)了一款具備在線示教、在線編程、關(guān)節(jié)空間與笛卡爾空間點(diǎn)動(dòng)以及軌跡插補(bǔ)規(guī)劃等功能于一體的機(jī)器人運(yùn)動(dòng)控制器。該款控制器控制精度高,運(yùn)行穩(wěn)定,具有很好的開放性、可移植性和低成本等優(yōu)勢,已在六軸工業(yè)機(jī)器人、SCARA機(jī)器人以及三軸機(jī)器人等平臺(tái)工廠化使用,并取得了預(yù)期控制效果。