楊旭東,王 淞
(1.貴州大學(xué) 機(jī)械工程學(xué)院,貴州 貴陽 550025; 2.貴州大學(xué) 機(jī)械工程學(xué)院,貴州 貴陽 550025)
在工業(yè)自動(dòng)化領(lǐng)域,伴隨著以太網(wǎng)的標(biāo)準(zhǔn)化與完善,基于實(shí)時(shí)以太網(wǎng)的運(yùn)動(dòng)控制系統(tǒng)越來越受到人們的關(guān)注,尤其是基于EtherCAT(Ethernet for Control Automation Technology,EtherCAT)的控制技術(shù),相比于傳統(tǒng)的以太網(wǎng)以及仿真電路,優(yōu)勢(shì)顯著:EtherCAT擁有較高的傳播速度,讀取一千個(gè)分布式數(shù)位輸入/輸出的程序資料只需30 μs;EtherCAT的同步時(shí)鐘機(jī)理可實(shí)現(xiàn)多軸的高度同步控制;EtherCAT的低開發(fā)成本及高可靠性讓它在自動(dòng)化控制領(lǐng)域中具有較高的競(jìng)爭(zhēng)力[1]。
Matlab中的SimuLink Real-Time技術(shù)可以允許在SimuLink模型中創(chuàng)建實(shí)時(shí)應(yīng)用程序,并且能將程序下載到連接控制系統(tǒng)的專用目標(biāo)計(jì)算機(jī)上運(yùn)行。使用SimuLink Real Time可以使用驅(qū)動(dòng)程序塊擴(kuò)展SimuLink模型,自動(dòng)生成實(shí)時(shí)應(yīng)用程序。同時(shí)SimuLink Real-Time可以在配有實(shí)時(shí)內(nèi)核,多核CPU,I/O通信協(xié)議端口的專用目標(biāo)計(jì)算機(jī)上執(zhí)行交互式或自動(dòng)運(yùn)行控制程序。
在本次課題研究中,將EtherCAT的實(shí)時(shí)控制技術(shù)優(yōu)勢(shì)與SimuLink Real Time實(shí)時(shí)控制程序的創(chuàng)建進(jìn)行融合,形成一種基于SimuLink Real Time的EtherCAT實(shí)時(shí)控制技術(shù)。將該種控制技術(shù)與機(jī)器人運(yùn)動(dòng)控制進(jìn)行融合,形成了一種新的機(jī)器人運(yùn)動(dòng)控制。
EtherCAT實(shí)時(shí)通信模型主要由主站與從站,數(shù)據(jù)幀以及EtherCAT伺服控制器組成[2],如圖1所示。首先主站將整個(gè)系統(tǒng)初始化,將要發(fā)送到從站的數(shù)據(jù)打包成一個(gè)數(shù)據(jù)幀,通過以太網(wǎng)傳遞到從站。當(dāng)數(shù)據(jù)幀通過各個(gè)從站節(jié)點(diǎn)時(shí),從站通過PDO尋址方法提取屬于自己的數(shù)據(jù),然后將要輸出的數(shù)據(jù)插入到數(shù)據(jù)幀中。當(dāng)最后一個(gè)從站節(jié)點(diǎn)接收到數(shù)據(jù)幀的數(shù)據(jù)并且插入輸出數(shù)據(jù)后,數(shù)據(jù)幀將返回主站。如此循環(huán)往復(fù),完成主站與從站之間的數(shù)據(jù)傳輸。
圖1 EtherCAT 通信模型
搭建基于SimuLink Real Time的EtherCAT實(shí)時(shí)控制系統(tǒng)分兩部分進(jìn)行:第一部分為設(shè)置SimuLink Real Time運(yùn)行環(huán)境,在個(gè)人開發(fā)計(jì)算機(jī)(Development Computer)與目標(biāo)計(jì)算機(jī)(Target Computers)之間建立網(wǎng)絡(luò)連接,設(shè)置應(yīng)用程序?qū)崟r(shí)運(yùn)行環(huán)境;第二部分為EtherCAT通信協(xié)議模型的建立。
在實(shí)驗(yàn)中,個(gè)人計(jì)算機(jī)用于應(yīng)用程序的開發(fā)與編寫,一臺(tái)工業(yè)電腦作為EtherCAT通信系統(tǒng)的主站,一個(gè)伺服驅(qū)動(dòng)器作為EtherCAT通信系統(tǒng)的從站。
首先在Matlab的SimuLink Real-Time Explorer環(huán)境中建立一個(gè)TargetPC對(duì)象,對(duì)該對(duì)象的各個(gè)屬性進(jìn)行設(shè)置。設(shè)置內(nèi)容包括三個(gè)方面:開發(fā)計(jì)算機(jī)與目標(biāo)計(jì)算機(jī)之間的通信協(xié)議(Host-to-Target communication)、目標(biāo)計(jì)算機(jī)的通信參數(shù)(Target settings)以及目標(biāo)計(jì)算機(jī)的開機(jī)方法設(shè)置(Boot Configuration)。在目標(biāo)計(jì)算機(jī)的開機(jī)配置中,建立一個(gè)可移動(dòng)磁盤開機(jī)程序,并把設(shè)置的網(wǎng)絡(luò)參數(shù)以及開機(jī)程序存儲(chǔ)在一個(gè)可移動(dòng)磁盤中,使用該可移動(dòng)磁盤啟動(dòng)目標(biāo)計(jì)算機(jī),計(jì)算機(jī)即進(jìn)入實(shí)時(shí)控制運(yùn)行模式。
目標(biāo)計(jì)算機(jī)的啟動(dòng)程序建立好以后,在開發(fā)計(jì)算機(jī)的SimuLink環(huán)境設(shè)置實(shí)時(shí)控制的運(yùn)行環(huán)境。首先在模型的數(shù)據(jù)輸出端添加一個(gè)SimuLink Real Time Scope模塊,并設(shè)置相應(yīng)的參數(shù)。其次在SimuLink的“Configurator Parameter”環(huán)境中,求解器選擇“Fixed-step”并且確定固定步長的周期,在求解器solver列表中選擇“ode4 (Runge-Kutta)”。最后在代碼生成選項(xiàng)中,設(shè)置系統(tǒng)目標(biāo)文件(System Target File)為slrt.tlc格式。
完成各種參數(shù)設(shè)置后,將個(gè)人開發(fā)計(jì)算機(jī)與目標(biāo)計(jì)算機(jī)之間建立實(shí)時(shí)連接。首先將開發(fā)計(jì)算機(jī)與目標(biāo)計(jì)算機(jī)通過網(wǎng)絡(luò)連接,設(shè)置好目標(biāo)計(jì)算機(jī)的網(wǎng)絡(luò)IP地址,以便開發(fā)計(jì)算機(jī)訪問。利用建立好的可移動(dòng)磁盤開機(jī)程序打開目標(biāo)計(jì)算機(jī)進(jìn)入Real Time Control環(huán)境。在開發(fā)計(jì)算機(jī)中搭建實(shí)時(shí)控制SimuLink模型,啟動(dòng)代碼產(chǎn)生器(Code Generator),系統(tǒng)通過編譯將建立的SimuLink控制模型轉(zhuǎn)換成C語言代碼,將該C語言代碼通過Ethernet網(wǎng)絡(luò)下載到目標(biāo)計(jì)算機(jī)上運(yùn)行,實(shí)現(xiàn)Real Time Control開發(fā)計(jì)算機(jī)與目標(biāo)計(jì)算機(jī)的網(wǎng)絡(luò)連接。
EtherCAT通信系統(tǒng)的詳細(xì)建模過程:首先在開發(fā)計(jì)算機(jī)里預(yù)裝由BECKHOFF公司研發(fā)的TwinCAT2.0軟件,然后將與驅(qū)動(dòng)器相關(guān)的XML文件復(fù)制到TwinCAT軟件安裝包下與EtherCAT通信相關(guān)的子文件夾中。設(shè)置每個(gè)驅(qū)動(dòng)器的網(wǎng)絡(luò)IP地址,將驅(qū)動(dòng)器通過網(wǎng)線與開發(fā)計(jì)算機(jī)連接,借助TwinCAT讀取驅(qū)動(dòng)器的信息,包括每個(gè)驅(qū)動(dòng)器的通信信息、IP地址、控制端口等。在TwinCAT的I/O通信接口環(huán)境中設(shè)置每個(gè)驅(qū)動(dòng)器的PDO通訊對(duì)象,數(shù)據(jù)采樣時(shí)間以及運(yùn)動(dòng)控制模式等參數(shù)。然后將設(shè)置好的參數(shù)存為一個(gè)ENI檔案,用于EtherCAT控制的后續(xù)操作。
在SimuLink的Real Time工具箱中有EtherCAT通信模塊,通過通信模塊搭建實(shí)驗(yàn)所需的通信模型。實(shí)驗(yàn)中搭建的EtherCAT實(shí)時(shí)通信模型如圖2所示。
通過圖2我們可以看到,整個(gè)通信模型由三部分組成:EtherCAT Init模塊利用TwinCAT2.0建立的ENI文件,將整個(gè)通信系統(tǒng)初始化,方便在SimuLink環(huán)境中搭建的通信模塊訪問硬件控制系統(tǒng)。驅(qū)動(dòng)器的PDO對(duì)象是整個(gè)控制系統(tǒng)的核心。EtherCAT PDO Transmit模塊利用數(shù)據(jù)幀將系統(tǒng)的控制信息從主站發(fā)送到從站,而EtherCAT PDO Receive模塊則接收從站回饋的控制信號(hào),利用以太網(wǎng)傳遞回主站,完成整個(gè)控制系統(tǒng)數(shù)據(jù)的傳輸。
圖2 EtherCAT實(shí)時(shí)通信模塊
為了驗(yàn)證實(shí)驗(yàn)中基于SimuLink Real Time的EtherCAT控制技術(shù)的實(shí)用性,實(shí)驗(yàn)中以二自由度并聯(lián)機(jī)器人為控制對(duì)象。為了對(duì)機(jī)器人進(jìn)行精確控制,首先對(duì)機(jī)器人進(jìn)行運(yùn)動(dòng)學(xué)分析,并設(shè)計(jì)了機(jī)器人的運(yùn)動(dòng)軌跡產(chǎn)生器,再融合實(shí)驗(yàn)中設(shè)計(jì)的新型EtherCAT實(shí)時(shí)控制系統(tǒng),最終在主開發(fā)計(jì)算機(jī)的SimuLink環(huán)境中搭建了圖3所示的機(jī)器人控制系統(tǒng)。
圖3 二自由度并聯(lián)機(jī)器人運(yùn)動(dòng)控制系統(tǒng)
通過軌跡產(chǎn)生器產(chǎn)生一個(gè)機(jī)器人末端執(zhí)行器的運(yùn)動(dòng)軌跡,逆向運(yùn)動(dòng)學(xué)模型將運(yùn)動(dòng)軌跡實(shí)時(shí)轉(zhuǎn)換成機(jī)器人機(jī)械臂的轉(zhuǎn)動(dòng)角度,通過我們建立的新型EtherCAT實(shí)時(shí)控制系將控制信息傳遞到伺服電機(jī),由電機(jī)帶動(dòng)機(jī)器人運(yùn)動(dòng)。機(jī)器人的運(yùn)動(dòng)狀態(tài)通過傳感器利用EtherCAT通信模塊傳遞到主站,回饋到系統(tǒng)中進(jìn)行狀態(tài)監(jiān)測(cè),便于系統(tǒng)下一步控制。
在機(jī)器人硬件控制平臺(tái)搭建過程中,個(gè)人計(jì)算機(jī)作為主開發(fā)計(jì)算機(jī),負(fù)責(zé)控制模型的搭建以及程序編寫??刂破鞑捎门_(tái)灣研華公司設(shè)計(jì)的無風(fēng)扇工業(yè)計(jì)算機(jī)UNO-2178A主控制器,主要負(fù)責(zé)軌跡運(yùn)算,Robot正逆運(yùn)動(dòng)學(xué)計(jì)算,并作為EtherCAT實(shí)時(shí)通信的主站,負(fù)責(zé)向從站發(fā)送控制信息并接收從站反饋回來的狀態(tài)信息。驅(qū)動(dòng)器采用以色列Elmo公司研發(fā)的Gold Solo Whistle2.5/100EE伺服控制器。在整個(gè)控制系統(tǒng)中,Gold Solo Whistle驅(qū)動(dòng)器除驅(qū)動(dòng)電機(jī)運(yùn)行外,還將作為EtherCAT實(shí)時(shí)通信的從站,負(fù)責(zé)接收主站通過Ethernet傳遞來的通信信息,并將電機(jī)的運(yùn)行狀態(tài)傳回主站控制器。機(jī)械臂采用由3D打印技術(shù)打印出來的實(shí)體模型。
個(gè)人開發(fā)計(jì)算機(jī)與控制器之間,控制器與驅(qū)動(dòng)器之間以及驅(qū)動(dòng)器之間均通過網(wǎng)絡(luò)線建立聯(lián)系,形成機(jī)器人實(shí)時(shí)運(yùn)動(dòng)控制的硬件系統(tǒng)。硬件控制系統(tǒng)的連接原理如圖4所示,實(shí)際實(shí)驗(yàn)控制平臺(tái)如圖5所示。
圖 4 D2 Delta Robot運(yùn)動(dòng)控制硬件系統(tǒng)
圖5 D2 Delta Robot控制實(shí)驗(yàn)平臺(tái)
為測(cè)試實(shí)驗(yàn)中設(shè)計(jì)的控制系統(tǒng)的性能,設(shè)定機(jī)器人末端執(zhí)行器的位置從坐標(biāo)(0,132.7)運(yùn)動(dòng)到(-30,-150),后再運(yùn)動(dòng)到(0,-100),并在該坐標(biāo)停留1 s后運(yùn)動(dòng)到(30,-150),最后回到原點(diǎn)(0,-132.7),所有點(diǎn)到點(diǎn)的運(yùn)動(dòng)時(shí)間為0.25 s。通過實(shí)際測(cè)試,最終機(jī)器人在X軸方向的運(yùn)動(dòng)參數(shù)如圖6~8所示。通過圖中的各項(xiàng)運(yùn)動(dòng)參數(shù)可得出,機(jī)器人的實(shí)際輸出運(yùn)動(dòng)參數(shù)與輸入的參數(shù)基本一致,達(dá)到了實(shí)驗(yàn)的預(yù)期效果,驗(yàn)證了基于SimuLink Real Time的EtherCAT機(jī)器人運(yùn)動(dòng)控制技術(shù)的可行性。
實(shí)驗(yàn)中將EtherCAT控制技術(shù)與SimuLink Real Time實(shí)時(shí)控制技術(shù)進(jìn)行融合,在Matlab SimuLink環(huán)境中設(shè)計(jì)了一種基于SimuLink Real Time的EtherCAT實(shí)時(shí)控制技術(shù)。使用該技術(shù)控制機(jī)器人運(yùn)動(dòng),最終通過實(shí)驗(yàn)證實(shí)了這種新控制技術(shù)的實(shí)用性。
圖6 X軸位移軌跡實(shí)際軌跡與命令軌跡比較
圖7 X軸速度軌跡實(shí)際值與命令值比較
圖8 X軸加速度軌跡實(shí)際值與命令值比較
本次實(shí)驗(yàn)所設(shè)計(jì)的新型EtherCAT實(shí)時(shí)控制技術(shù)打破了傳統(tǒng)限制,在Matlab的SimuLink環(huán)境中搭建控制模型,利用SimuLink Real Time實(shí)時(shí)控制技術(shù)結(jié)合EtherCAT通信技術(shù)控制機(jī)器人。這種控制方法的優(yōu)勢(shì)在于:
(1)在機(jī)器人控制過程中無需編寫繁雜的程序代碼,在SimuLink中通過搭建各個(gè)控制模塊,然后將控制模塊轉(zhuǎn)換成C語言程序下載到控制器中,就可以實(shí)現(xiàn)機(jī)器人的運(yùn)動(dòng)控制。
(2)與傳統(tǒng)的EtherCAT控制技術(shù)相比,本實(shí)驗(yàn)設(shè)計(jì)的基于SimuLink Real Time的EtherCAT實(shí)時(shí)控制技術(shù)元需專用的伺服設(shè)備來控制,使用一般的伺服驅(qū)動(dòng)器即可實(shí)現(xiàn)機(jī)器人的運(yùn)動(dòng)控制,提高了EtherCAT實(shí)時(shí)控制技術(shù)的適應(yīng)性與便捷性。
參考考文
[1] SUNG M, KIM K, JIN H W, et al. An EtherCAT-based motor drive for high precision motion systems[C]//Industrial Informatics(INDIN), 2011 9th IEEE International Conference on. IEEE,2011: 163-168.
[2] MA J, XING B, CHEN S. Multi-DOF Motion Control System Design and Realization Based on EtherCAT[C]//Instrumentation &Measurement, Computer, Communication and Control (IMCCC),2016 Sixth International Conference on. IEEE, 2016: 727-732.
[3] DELGADO R, KIM S Y, YOU B J, et al. An EtherCAT-based real-time motion control system in mobile robot application[C]//Ubiquitous Robots and Ambient Intelligence (URAI), 2016 13th International Conference on. IEEE, 2016: 710-715.
[4] ROSTAN M, CANopen over EtherCAT–taking a CAN technology to the next level[C]//Proc. IEEE Int. Conf Comm. 2005.
[5] Gold Line EtherCAT Application Manual[Z].2012
[6] PARK S M, KIM H, KIM H W, et al. Synchronization Improvement of Distributed Clocks in EtherCAT Networks[J]. IEEE Communications Letters, 2017(99):1.
[7]LIU X, MIN H, CHEN Y D, et al. Design of industrial robot controller based on ethercat[J]. Computer Engineering, 2012, 38(11): 290-293
[8] FENG T, LI Q, REN G, et al. The implementation of distributed high-speed high-accuracy data acquisition system based on EtherCAT[C]//Industrial Electronics and Applications (ICIEA),2013 8th IEEE Conference on. IEEE, 2013: 1649-1653.
[9] KANG C, PANG Y, MA C, et al. Design of EtherCAT slave module[C]//Mechatronics and Automation (ICMA), 2011 International Conference on. IEEE, 2011: 1600-1604.
[10] GAO N N, WANG D Q, DING M W, et al. Control System Design and Trajectory Planning for SCARA Robots[J]. Applied Mechanics& Materials, 2014, 602-605:1001-1005.