呂 燕,沈玉玲,蔣勁峰
LV Yan, SHEN Yu-ling, JIANG Jin-feng
(上海電氣集團中央研究院,上海 200071)
隨著大數(shù)據(jù)、互聯(lián)網(wǎng)技術(shù)發(fā)展以及工業(yè)需求的不斷提高,多種機器人協(xié)作系統(tǒng)越來越廣泛的應(yīng)用于制造加工中[1]。隨之帶來的是多種類型的智能化設(shè)備的加入以及復(fù)雜加工帶來的智能化性能的需求提高等技術(shù)問題。而多機器人協(xié)作的實時性通訊問題是所有技術(shù)問題解決的關(guān)鍵。實時EtherCAT作為主流的工業(yè)以太網(wǎng)技術(shù),被許多學者應(yīng)用于機器人協(xié)作控制領(lǐng)域[2~4]。在多機器人協(xié)作系統(tǒng)中,采用全雙工的EtherCAT協(xié)議能夠有效的消除數(shù)據(jù)沖突,保證加工過程的持續(xù)穩(wěn)定運行。本文對六關(guān)節(jié)機器人及搬運多機器人協(xié)作系統(tǒng)的整體系統(tǒng)架構(gòu)設(shè)計,并將EtherCAT通訊協(xié)議應(yīng)用到多關(guān)節(jié)運動控制系統(tǒng)設(shè)計中,對多機器人協(xié)作整體設(shè)計中通訊技術(shù)的進一步研究奠定了基礎(chǔ)。
本文四部分組成:第一部分,多機器人協(xié)作系統(tǒng)整體架構(gòu)介紹;第二部分IEC61800協(xié)議進行簡單的介紹;第三部分,系統(tǒng)中EtherCAT主從站硬件和軟件系統(tǒng)架構(gòu)做簡單的介紹;最后在實際的系統(tǒng)上進行仿真驗證。
圖1 雙機器人整體架構(gòu)
多機器人協(xié)作制造單元主要是由兩臺機器人組成,包括一臺國產(chǎn)六關(guān)節(jié)機器人以及一臺四軸碼垛機器人,協(xié)調(diào)實現(xiàn)在工業(yè)過程中多種物品的分揀、搬運及碼垛功能。其中,六關(guān)節(jié)機器人末端手臂帶有圖像識別設(shè)備對分類的物品進行檢測,而搬運機器人針對檢測后的物品種類分批次進行碼垛。
整個控制系統(tǒng)包括中央調(diào)度平臺、碼垛機器人及六關(guān)節(jié)機器人主機(即運動控制板卡)、伺服系統(tǒng)(含驅(qū)動卡及電機)、視覺、RFID等傳感設(shè)備,如圖1所示。其中,中央調(diào)度平臺負責兩臺機器人工作的協(xié)調(diào)聯(lián)控,以保證動作的一致性與連貫性。兩臺機器人主機分配具體的機器人任務(wù)安排,包括路徑的規(guī)劃、速度的控制以及傳感信息的處理等任務(wù)。
系統(tǒng)采用開放式的軟、硬件系統(tǒng)架構(gòu),主要有兩部分組成:軟件組件和硬件組件,如圖2所示。其中軟件組件包括以太網(wǎng)接口、傳感器、控制器、示教等模塊的支撐軟件;硬件組件包括電源、網(wǎng)絡(luò)管理、EtherCAT總線以及協(xié)議轉(zhuǎn)換模塊。單個機器硬件控制器與驅(qū)動器之間主要采用EtherCAT的總線通訊方式進行通訊,如圖3所示??刂破髋c驅(qū)動器之間采用主從式環(huán)型通訊方式進行數(shù)據(jù)交互。
圖2 機器人系統(tǒng)軟硬件架構(gòu)
圖3 采用EtherCAT的機器人內(nèi)部控制結(jié)構(gòu)
在工業(yè)標準IEC61800中對EtherCAT通訊技術(shù)進行了明確的定義[5]。EtherCAT采用標準的IEEE802.3以太網(wǎng)架構(gòu),并0X88A4的幀類型作為載體;EherCAT技術(shù)本身是基于EtherNET研發(fā)出來的,因此主站的實現(xiàn)可以不采用其他的硬件設(shè)備;然而在實際的工業(yè)控制中為了提高系統(tǒng)的通訊協(xié)議也有采用硬主站的通訊方式。圖4為標準的EtherCAT總線通訊協(xié)議,包括EtherCAT協(xié)議的數(shù)據(jù)標準化結(jié)構(gòu),該架構(gòu)是由原始IEEE802.3作為EtherCAT的MAC報頭專用字段,該字段由三部分組成用來定義EtherCAT傳輸長度的2bit地址、包含EtherCAT指令信息的4字節(jié)類型段。
圖4 是E t h e r C A T 幀處理結(jié)構(gòu)框圖,可以看出EtherCAT采用從站控制器進行端口自匹配幀處理機制,而不保存到從站控制器中;數(shù)據(jù)以字節(jié)的形式被從站控制器進行讀寫。轉(zhuǎn)發(fā)延時是由接收到的FIFO數(shù)據(jù)的大小和EtherCAT處理單元的延時來確定的。忽略發(fā)送FIFO來減少延時。當幀通過節(jié)點時,EtherCAT從站設(shè)備讀取數(shù)據(jù)地址;同樣,報文經(jīng)過時,進行輸入數(shù)據(jù)的插入;該幀僅僅被延遲幾個納秒的時間。由于以太網(wǎng)幀包含許多設(shè)備的雙向收發(fā)數(shù)據(jù),可用數(shù)據(jù)率提高到90%以上。
圖4 EtherCAT協(xié)議棧
IEC 61800系列目標是提供一個可調(diào)速的電力驅(qū)動系統(tǒng)通用規(guī)范。其中,IEC 61800-7描繪了控制系統(tǒng)和電源驅(qū)動系統(tǒng)之間的通用接口。IEC 61800-7提供一個驅(qū)動函數(shù)及數(shù)據(jù)讀取的方法,獨立于數(shù)據(jù)驅(qū)動文件及數(shù)據(jù)接口。目標是一個具有通用功能和對象的驅(qū)動模型,可以在不同的通訊接口上面進行映射。在未知驅(qū)動設(shè)備具體先驗知識的情況下,使通用的運動控制在控制器中的實現(xiàn)成為可能。
該標準包括IEC 61800-7-1(接口定義)、IEC61800-7-200(標準規(guī)范定義) 、IEC 61800-7-300(網(wǎng)絡(luò)技術(shù)規(guī)范)EC61800-7定義通用的PSD(電源驅(qū)動系統(tǒng))接口標準規(guī)范定義,包括許多標準類型如CIA 402,CIP Motion、FROFIdriver、SERCOS。在IEC61800-7-200下的IEC 61800-7-201規(guī)范了電氣驅(qū)動系統(tǒng)中的獨立總線CIA 402驅(qū)動標準。它既包含實施控制對象定義,也包括配置、調(diào)整、識別、網(wǎng)絡(luò)管理對象的定義。IEC 61800-7-300下的IEC61800-7-301標準,定義了CIA402驅(qū)動規(guī)范在EtherCAT網(wǎng)絡(luò)的映像。特別是PDO(過程數(shù)據(jù)對象)通訊及映像參數(shù)的定義。
在多機器人控制系統(tǒng)中,大量的傳感器數(shù)據(jù)及控制指令在機器人主站從站之間傳遞,EtherCAT網(wǎng)絡(luò)以100Mbps速度進行實時通訊,可以實現(xiàn)力矩、速度和位置的有效控制。主站控制器包括PC平臺以及運動控制PCI卡。在運動控制中,為了保證系統(tǒng)的實時性,對于硬實時要求比較高的場合如運動控制及安全應(yīng)用,運動控制卡中用裝有RTX實時擴展的Linux-2.6.30-RTAI系統(tǒng),本系統(tǒng)中的主站采用赫友訊的EtherCAT硬主站板卡CIF-50。
EtherCAT主站控制模塊包括PCI運動控制卡、可視化視頻采集以及PC主控制平臺。PCI運動控制卡負責機器人各軸的運動控制同時管理著數(shù)據(jù)雙向傳輸網(wǎng)絡(luò)。基于PC平臺安裝的RTX系統(tǒng),用來管理和構(gòu)建協(xié)調(diào)多機器人實時性操作,例如在線路徑優(yōu)化、負載動態(tài)補償、任務(wù)分配、智能調(diào)度等。同時,可視化的視頻采集及處理系統(tǒng)以及圖形化用戶界面等也在主站中完成,幫助機器人完成視覺伺服以及其他相關(guān)工作。綜上所述,機器人的控制主站可以實現(xiàn)包括機器人協(xié)作、數(shù)據(jù)采集及界面引擎以及進行整個機器人控制的功能,如圖3所示。
E t h e r C A T 從站包括兩個部分。第一部分是EtherCAT控制板卡用來管理EtherCAT網(wǎng)絡(luò)的交互數(shù)據(jù),接口采用RJ45,用于數(shù)據(jù)收發(fā)。EtherCAT通過選擇相關(guān)地址讀取來選取并確定下一個連接的EtherCAT從站,而整個過程無延遲。第二部分是機器人協(xié)作的數(shù)據(jù)交互,機器人內(nèi)部需要交互的數(shù)據(jù)包括力矩、編碼器傳感數(shù)據(jù)、運動控制指令等。從站包含8通道的ADC模塊、SCI串行接口傳輸模塊(傳輸F/T傳感器和絕對編碼器數(shù)據(jù))、24位PWM接口和D/A轉(zhuǎn)換模塊(用于控制伺服電機運動),主控制芯片采用的TI的DSP28335實現(xiàn)對整體系統(tǒng)以及電機的控制。
本文主要針對EtherCAT主站和從站進行軟件設(shè)計。
EtherCAT主站軟件流程如圖5所示,流程主要反映發(fā)送控制數(shù)據(jù)。所有從站準備就緒后,主站周期性的向從站派發(fā)控制指令,打包成EtherCAT幀格式發(fā)送給從站,完成伺服控制。
圖5 主站軟件流程圖
EtherCAT從站軟件流程如圖6所示,流程主要反映接收控制數(shù)據(jù)與執(zhí)行。從站周期性的檢測主站的控制指令,接收成功后對數(shù)據(jù)進行解包處理并執(zhí)行主站的控制指令。
圖6 從站軟件流程圖
多機器人協(xié)調(diào)聯(lián)控測試系統(tǒng)是在通過X86架構(gòu)的運動控制卡、PCI的主站控制卡以及10個帶EtherCAT接口的驅(qū)動器來實現(xiàn)的,系統(tǒng)采用帶RTX的linux系統(tǒng),與上面章節(jié)的通訊方式一樣還有其他的轉(zhuǎn)換模塊如RS485、232 、DAC等。圖7表明系統(tǒng)的硬件結(jié)構(gòu),其中圖7(a)是EtherCAT應(yīng)主站板卡;圖7(b)為linux系統(tǒng)的工業(yè)主板以及運動控制卡;圖7(c)為多機器協(xié)作的驅(qū)動系統(tǒng)。
對于本系統(tǒng)兩機器人的同步性能,根據(jù)文獻[6]的方法對埃夫特機器人的第四軸,與沃迪機器人的第四軸的同步性能進行測試,測試結(jié)果如圖8所示。從圖8中可以看出,EtherCAT的主站同步滯后時間特別小,在10微秒左右,控制信息或者是驅(qū)動信息反饋可以在一個采樣周期內(nèi)完成傳遞。
本文提出了一種基于EtherCAT總線協(xié)議的實時多機器人總線通訊策略。介紹多機器人協(xié)作控制系統(tǒng)的整體架構(gòu),并對該系統(tǒng)的軟硬件進行整體的設(shè)計。根據(jù)雙機器人系統(tǒng)的性能要求,采用主從式的EtherCAT通訊方式,并進行實際的主從任務(wù)分配,最后通過實際性能對比,驗證該通訊方法具有較快的響應(yīng)速度和較短的滯后時間。
圖7 主站硬件結(jié)構(gòu)圖
圖8 同步滯后時間
[1] 苗卓廣,謝壽生,何秀然,王海濤,吳勇,白玉.自適應(yīng)PSO網(wǎng)絡(luò)整定的航空發(fā)動機全程滑??刂芠J].推進技術(shù),2011,32(2):220-224,234.
[2] 吳軍,徐昕,連傳強,賀漢根.協(xié)作多機器人系統(tǒng)研究進展綜述[J].智能系統(tǒng)學報,2011,6(1):13-27.
[3] 劉冬,閔華松,楊杰.基于EtherCAT的機器人控制總線方案研究[J].計算機工程與設(shè)計,2013,34(4).
[4] 劉鑫,閔華松,陳友東,王晟.基于EtherCAT的工業(yè)機器人控制器設(shè)計[J].計算機工程,2012,38(11):290-292.
[5] 李木國,尹永潔,劉于之,孫慧濤.基于PCIe總線接口的EtherCAT從站網(wǎng)卡設(shè)計[J].計算機測量與控制,2015,23(3):921-923.
[6] 蔣佳佳,段發(fā)階,陳勁,張超,常宗杰,華香凝.鏈式系統(tǒng)中信號遠距離傳輸延時的在線測量方法[J].吉林大學學報(工學版),2013,43(2):520-525.