楊旭東,王 淞
(1.貴州大學(xué) 機(jī)械工程學(xué)院,貴州 貴陽 550025; 2.貴州大學(xué) 機(jī)械工程學(xué)院,貴州 貴陽 550025)
在工業(yè)自動化領(lǐng)域,伴隨著以太網(wǎng)的標(biāo)準(zhǔn)化與完善,基于實(shí)時以太網(wǎng)的運(yùn)動控制系統(tǒng)越來越受到人們的關(guān)注,尤其是基于EtherCAT(Ethernet for Control Automation Technology,EtherCAT)的控制技術(shù),相比于傳統(tǒng)的以太網(wǎng)以及仿真電路,優(yōu)勢顯著:EtherCAT擁有較高的傳播速度,讀取一千個分布式數(shù)位輸入/輸出的程序資料只需30 μs;EtherCAT的同步時鐘機(jī)理可實(shí)現(xiàn)多軸的高度同步控制;EtherCAT的低開發(fā)成本及高可靠性讓它在自動化控制領(lǐng)域中具有較高的競爭力[1]。
Matlab中的SimuLink Real-Time技術(shù)可以允許在SimuLink模型中創(chuàng)建實(shí)時應(yīng)用程序,并且能將程序下載到連接控制系統(tǒng)的專用目標(biāo)計算機(jī)上運(yùn)行。使用SimuLink Real Time可以使用驅(qū)動程序塊擴(kuò)展SimuLink模型,自動生成實(shí)時應(yīng)用程序。同時SimuLink Real-Time可以在配有實(shí)時內(nèi)核,多核CPU,I/O通信協(xié)議端口的專用目標(biāo)計算機(jī)上執(zhí)行交互式或自動運(yùn)行控制程序。
在本次課題研究中,將EtherCAT的實(shí)時控制技術(shù)優(yōu)勢與SimuLink Real Time實(shí)時控制程序的創(chuàng)建進(jìn)行融合,形成一種基于SimuLink Real Time的EtherCAT實(shí)時控制技術(shù)。將該種控制技術(shù)與機(jī)器人運(yùn)動控制進(jìn)行融合,形成了一種新的機(jī)器人運(yùn)動控制。
EtherCAT實(shí)時通信模型主要由主站與從站,數(shù)據(jù)幀以及EtherCAT伺服控制器組成[2],如圖1所示。首先主站將整個系統(tǒng)初始化,將要發(fā)送到從站的數(shù)據(jù)打包成一個數(shù)據(jù)幀,通過以太網(wǎng)傳遞到從站。當(dāng)數(shù)據(jù)幀通過各個從站節(jié)點(diǎn)時,從站通過PDO尋址方法提取屬于自己的數(shù)據(jù),然后將要輸出的數(shù)據(jù)插入到數(shù)據(jù)幀中。當(dāng)最后一個從站節(jié)點(diǎn)接收到數(shù)據(jù)幀的數(shù)據(jù)并且插入輸出數(shù)據(jù)后,數(shù)據(jù)幀將返回主站。如此循環(huán)往復(fù),完成主站與從站之間的數(shù)據(jù)傳輸。
圖1 EtherCAT 通信模型
搭建基于SimuLink Real Time的EtherCAT實(shí)時控制系統(tǒng)分兩部分進(jìn)行:第一部分為設(shè)置SimuLink Real Time運(yùn)行環(huán)境,在個人開發(fā)計算機(jī)(Development Computer)與目標(biāo)計算機(jī)(Target Computers)之間建立網(wǎng)絡(luò)連接,設(shè)置應(yīng)用程序?qū)崟r運(yùn)行環(huán)境;第二部分為EtherCAT通信協(xié)議模型的建立。
在實(shí)驗(yàn)中,個人計算機(jī)用于應(yīng)用程序的開發(fā)與編寫,一臺工業(yè)電腦作為EtherCAT通信系統(tǒng)的主站,一個伺服驅(qū)動器作為EtherCAT通信系統(tǒng)的從站。
首先在Matlab的SimuLink Real-Time Explorer環(huán)境中建立一個TargetPC對象,對該對象的各個屬性進(jìn)行設(shè)置。設(shè)置內(nèi)容包括三個方面:開發(fā)計算機(jī)與目標(biāo)計算機(jī)之間的通信協(xié)議(Host-to-Target communication)、目標(biāo)計算機(jī)的通信參數(shù)(Target settings)以及目標(biāo)計算機(jī)的開機(jī)方法設(shè)置(Boot Configuration)。在目標(biāo)計算機(jī)的開機(jī)配置中,建立一個可移動磁盤開機(jī)程序,并把設(shè)置的網(wǎng)絡(luò)參數(shù)以及開機(jī)程序存儲在一個可移動磁盤中,使用該可移動磁盤啟動目標(biāo)計算機(jī),計算機(jī)即進(jìn)入實(shí)時控制運(yùn)行模式。
目標(biāo)計算機(jī)的啟動程序建立好以后,在開發(fā)計算機(jī)的SimuLink環(huán)境設(shè)置實(shí)時控制的運(yùn)行環(huán)境。首先在模型的數(shù)據(jù)輸出端添加一個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è)置后,將個人開發(fā)計算機(jī)與目標(biāo)計算機(jī)之間建立實(shí)時連接。首先將開發(fā)計算機(jī)與目標(biāo)計算機(jī)通過網(wǎng)絡(luò)連接,設(shè)置好目標(biāo)計算機(jī)的網(wǎng)絡(luò)IP地址,以便開發(fā)計算機(jī)訪問。利用建立好的可移動磁盤開機(jī)程序打開目標(biāo)計算機(jī)進(jìn)入Real Time Control環(huán)境。在開發(fā)計算機(jī)中搭建實(shí)時控制SimuLink模型,啟動代碼產(chǎn)生器(Code Generator),系統(tǒng)通過編譯將建立的SimuLink控制模型轉(zhuǎn)換成C語言代碼,將該C語言代碼通過Ethernet網(wǎng)絡(luò)下載到目標(biāo)計算機(jī)上運(yùn)行,實(shí)現(xiàn)Real Time Control開發(fā)計算機(jī)與目標(biāo)計算機(jī)的網(wǎng)絡(luò)連接。
EtherCAT通信系統(tǒng)的詳細(xì)建模過程:首先在開發(fā)計算機(jī)里預(yù)裝由BECKHOFF公司研發(fā)的TwinCAT2.0軟件,然后將與驅(qū)動器相關(guān)的XML文件復(fù)制到TwinCAT軟件安裝包下與EtherCAT通信相關(guān)的子文件夾中。設(shè)置每個驅(qū)動器的網(wǎng)絡(luò)IP地址,將驅(qū)動器通過網(wǎng)線與開發(fā)計算機(jī)連接,借助TwinCAT讀取驅(qū)動器的信息,包括每個驅(qū)動器的通信信息、IP地址、控制端口等。在TwinCAT的I/O通信接口環(huán)境中設(shè)置每個驅(qū)動器的PDO通訊對象,數(shù)據(jù)采樣時間以及運(yùn)動控制模式等參數(shù)。然后將設(shè)置好的參數(shù)存為一個ENI檔案,用于EtherCAT控制的后續(xù)操作。
在SimuLink的Real Time工具箱中有EtherCAT通信模塊,通過通信模塊搭建實(shí)驗(yàn)所需的通信模型。實(shí)驗(yàn)中搭建的EtherCAT實(shí)時通信模型如圖2所示。
通過圖2我們可以看到,整個通信模型由三部分組成:EtherCAT Init模塊利用TwinCAT2.0建立的ENI文件,將整個通信系統(tǒng)初始化,方便在SimuLink環(huán)境中搭建的通信模塊訪問硬件控制系統(tǒng)。驅(qū)動器的PDO對象是整個控制系統(tǒng)的核心。EtherCAT PDO Transmit模塊利用數(shù)據(jù)幀將系統(tǒng)的控制信息從主站發(fā)送到從站,而EtherCAT PDO Receive模塊則接收從站回饋的控制信號,利用以太網(wǎng)傳遞回主站,完成整個控制系統(tǒng)數(shù)據(jù)的傳輸。
圖2 EtherCAT實(shí)時通信模塊
為了驗(yàn)證實(shí)驗(yàn)中基于SimuLink Real Time的EtherCAT控制技術(shù)的實(shí)用性,實(shí)驗(yàn)中以二自由度并聯(lián)機(jī)器人為控制對象。為了對機(jī)器人進(jìn)行精確控制,首先對機(jī)器人進(jìn)行運(yùn)動學(xué)分析,并設(shè)計了機(jī)器人的運(yùn)動軌跡產(chǎn)生器,再融合實(shí)驗(yàn)中設(shè)計的新型EtherCAT實(shí)時控制系統(tǒng),最終在主開發(fā)計算機(jī)的SimuLink環(huán)境中搭建了圖3所示的機(jī)器人控制系統(tǒng)。
圖3 二自由度并聯(lián)機(jī)器人運(yùn)動控制系統(tǒng)
通過軌跡產(chǎn)生器產(chǎn)生一個機(jī)器人末端執(zhí)行器的運(yùn)動軌跡,逆向運(yùn)動學(xué)模型將運(yùn)動軌跡實(shí)時轉(zhuǎn)換成機(jī)器人機(jī)械臂的轉(zhuǎn)動角度,通過我們建立的新型EtherCAT實(shí)時控制系將控制信息傳遞到伺服電機(jī),由電機(jī)帶動機(jī)器人運(yùn)動。機(jī)器人的運(yùn)動狀態(tài)通過傳感器利用EtherCAT通信模塊傳遞到主站,回饋到系統(tǒng)中進(jìn)行狀態(tài)監(jiān)測,便于系統(tǒng)下一步控制。
在機(jī)器人硬件控制平臺搭建過程中,個人計算機(jī)作為主開發(fā)計算機(jī),負(fù)責(zé)控制模型的搭建以及程序編寫。控制器采用臺灣研華公司設(shè)計的無風(fēng)扇工業(yè)計算機(jī)UNO-2178A主控制器,主要負(fù)責(zé)軌跡運(yùn)算,Robot正逆運(yùn)動學(xué)計算,并作為EtherCAT實(shí)時通信的主站,負(fù)責(zé)向從站發(fā)送控制信息并接收從站反饋回來的狀態(tài)信息。驅(qū)動器采用以色列Elmo公司研發(fā)的Gold Solo Whistle2.5/100EE伺服控制器。在整個控制系統(tǒng)中,Gold Solo Whistle驅(qū)動器除驅(qū)動電機(jī)運(yùn)行外,還將作為EtherCAT實(shí)時通信的從站,負(fù)責(zé)接收主站通過Ethernet傳遞來的通信信息,并將電機(jī)的運(yùn)行狀態(tài)傳回主站控制器。機(jī)械臂采用由3D打印技術(shù)打印出來的實(shí)體模型。
個人開發(fā)計算機(jī)與控制器之間,控制器與驅(qū)動器之間以及驅(qū)動器之間均通過網(wǎng)絡(luò)線建立聯(lián)系,形成機(jī)器人實(shí)時運(yùn)動控制的硬件系統(tǒng)。硬件控制系統(tǒng)的連接原理如圖4所示,實(shí)際實(shí)驗(yàn)控制平臺如圖5所示。
圖 4 D2 Delta Robot運(yùn)動控制硬件系統(tǒng)
圖5 D2 Delta Robot控制實(shí)驗(yàn)平臺
為測試實(shí)驗(yàn)中設(shè)計的控制系統(tǒng)的性能,設(shè)定機(jī)器人末端執(zhí)行器的位置從坐標(biāo)(0,132.7)運(yùn)動到(-30,-150),后再運(yùn)動到(0,-100),并在該坐標(biāo)停留1 s后運(yùn)動到(30,-150),最后回到原點(diǎn)(0,-132.7),所有點(diǎn)到點(diǎn)的運(yùn)動時間為0.25 s。通過實(shí)際測試,最終機(jī)器人在X軸方向的運(yùn)動參數(shù)如圖6~8所示。通過圖中的各項(xiàng)運(yùn)動參數(shù)可得出,機(jī)器人的實(shí)際輸出運(yùn)動參數(shù)與輸入的參數(shù)基本一致,達(dá)到了實(shí)驗(yàn)的預(yù)期效果,驗(yàn)證了基于SimuLink Real Time的EtherCAT機(jī)器人運(yùn)動控制技術(shù)的可行性。
實(shí)驗(yàn)中將EtherCAT控制技術(shù)與SimuLink Real Time實(shí)時控制技術(shù)進(jìn)行融合,在Matlab SimuLink環(huán)境中設(shè)計了一種基于SimuLink Real Time的EtherCAT實(shí)時控制技術(shù)。使用該技術(shù)控制機(jī)器人運(yùn)動,最終通過實(shí)驗(yàn)證實(shí)了這種新控制技術(shù)的實(shí)用性。
圖6 X軸位移軌跡實(shí)際軌跡與命令軌跡比較
圖7 X軸速度軌跡實(shí)際值與命令值比較
圖8 X軸加速度軌跡實(shí)際值與命令值比較
本次實(shí)驗(yàn)所設(shè)計的新型EtherCAT實(shí)時控制技術(shù)打破了傳統(tǒng)限制,在Matlab的SimuLink環(huán)境中搭建控制模型,利用SimuLink Real Time實(shí)時控制技術(shù)結(jié)合EtherCAT通信技術(shù)控制機(jī)器人。這種控制方法的優(yōu)勢在于:
(1)在機(jī)器人控制過程中無需編寫繁雜的程序代碼,在SimuLink中通過搭建各個控制模塊,然后將控制模塊轉(zhuǎn)換成C語言程序下載到控制器中,就可以實(shí)現(xiàn)機(jī)器人的運(yùn)動控制。
(2)與傳統(tǒng)的EtherCAT控制技術(shù)相比,本實(shí)驗(yàn)設(shè)計的基于SimuLink Real Time的EtherCAT實(shí)時控制技術(shù)元需專用的伺服設(shè)備來控制,使用一般的伺服驅(qū)動器即可實(shí)現(xiàn)機(jī)器人的運(yùn)動控制,提高了EtherCAT實(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.