• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Ether CAT的機器人教學(xué)實驗平臺設(shè)計

      2021-06-24 04:05:18何嶺松
      實驗室研究與探索 2021年5期
      關(guān)鍵詞:狀態(tài)機應(yīng)用層主站

      鄭 林, 何嶺松, 陳 馳

      (華中科技大學(xué)機械科學(xué)與工程學(xué)院,武漢 430074)

      0 引 言

      機器人教學(xué)是工科類實驗教學(xué)中重要的組成部分[1]。在傳統(tǒng)的機器人教學(xué)中,多采用工業(yè)機器人作為實驗教學(xué)的對象,例如采用ABB機器人作為機器人實驗教學(xué)的工具[2-3]。這些工業(yè)機器人價格一般較為昂貴,因此存在實驗資源有限的問題,并且學(xué)習(xí)、試錯成本較高。此外,這些工業(yè)機器人實驗平臺雖然提供完整的控制解決方案,但是想熟練地掌握需要付出大量時間,增加學(xué)生工作量,另外不同的工業(yè)機器人操作會存在較大的差異,這也會給學(xué)生造成一定的困擾,因此,這些方案會降低機器人實驗教學(xué)的效果[4]。通過引入開放式的實驗平臺,使得學(xué)生能夠參與到機器人實驗控制系統(tǒng)的搭建中,提高機器人教學(xué)實驗中學(xué)生的參與度與成就感,能夠大幅提高實驗教學(xué)的效率。

      為了使機器人實驗平臺具有更好的靈活性和可擴展性,采用基于EtherCAT的機器人控制系統(tǒng)解決方案[5-6]。EtherCAT是基于標(biāo)準(zhǔn)以太網(wǎng)的實時工業(yè)以太網(wǎng)技術(shù),可使用PC實現(xiàn)主站功能,從而構(gòu)建基于PC的控制系統(tǒng)[7]。在基于PC的控制系統(tǒng)中,可以將過程控制、批量控制以及運動控制等合為一體,有利于整個控制系統(tǒng)的高度集成。在降低硬件使用成本的同時,PC上的軟件開發(fā)可移植性好、軟件升級簡單,從而使得控制系統(tǒng)的設(shè)計、調(diào)試和維護更加的方便簡單[8]。目前基于PC的運動控制系統(tǒng)有倍福公司的TwinCAT3、西門子公司的SIMOTION等,在這些系統(tǒng)中,將傳統(tǒng)的PLC控制功能采用軟PLC的方式實現(xiàn),用戶開發(fā)的PLC程序運行在虛擬PLC之上[9-11]。這些基于PC的解決方案已經(jīng)廣泛應(yīng)用于工業(yè)控制領(lǐng)域,但是對于機器人實驗教學(xué)來說,這些系統(tǒng)過于龐大,對于專業(yè)知識和編程能力具有較高的要求,而且軟件價格較為昂貴,因此對于機器人實驗教學(xué)來說有必要開發(fā)一個操作簡單、低成本的實驗平臺。

      1 實驗平臺整體架構(gòu)設(shè)計

      EtherCAT是一種基于以太網(wǎng)的現(xiàn)場總線技術(shù),采用主從模式介質(zhì)訪問控制(MAC),主站發(fā)送標(biāo)準(zhǔn)以太網(wǎng)數(shù)據(jù)幀給各個從站設(shè)備;而從站從數(shù)據(jù)幀中提取輸出數(shù)據(jù)并將輸入數(shù)據(jù)插入到數(shù)據(jù)幀中。EtherCAT主站使用標(biāo)準(zhǔn)以太網(wǎng)接口卡;而從站使用專用的EtherCAT從站控制器ESC,在主從站之間使用標(biāo)準(zhǔn)的以太網(wǎng)物理層器件進行連接。為實現(xiàn)控制的實時性和主從站之間的同步性,通過ESC實現(xiàn)硬實時,可獲得小于100μs的數(shù)據(jù)刷新周期;分布時鐘使所有EtherCAT設(shè)備使用相同的系統(tǒng)時間,從而控制各個設(shè)備任務(wù)的同步執(zhí)行[12-13]。

      基于EtherCAT的機器人教學(xué)實驗平臺整體架構(gòu)設(shè)計如圖1所示。圖中EtherCAT總線通信協(xié)議作為系統(tǒng)的基礎(chǔ),將PC主站和各個從站設(shè)備連接起來,從而構(gòu)建一個網(wǎng)絡(luò)化的實驗平臺。機器人運動控制主站實現(xiàn)主要的控制功能,包括G代碼指令解析、機器人運動學(xué)求解及運動規(guī)劃等功能。另外,可重構(gòu)裝配模塊可以將多個機器人及其他輔助設(shè)備(如傳送帶、傳感器等)按實驗需求進行裝配,實現(xiàn)多機器人的運動控制。機器人運動控制從站實現(xiàn)具體的控制任務(wù),接收主站發(fā)送的控制指令并轉(zhuǎn)換成脈沖信號并通過驅(qū)動器驅(qū)動電機動作,從而完成實際機器人的運動控制。

      圖1 實驗平臺整體架構(gòu)設(shè)計

      2 機器人運動控制從站實現(xiàn)方案

      2.1 從站硬件設(shè)計方案

      從站采用微處理器+ASIC(特殊應(yīng)用集成電路)的架構(gòu),其中微處理器采用STM32F407,ASIC采用LAN9252作為ESC。STM32F407實現(xiàn)EtherCAT應(yīng)用層協(xié)議棧,與電動機驅(qū)動器、傳感器等外設(shè)直接相連,而ESC實現(xiàn)數(shù)據(jù)鏈路層和物理層的功能,作為從站的通信接口。

      從站硬件功能模塊如圖2所示。STM32微處理器和LAN9252之間采用SPI串行通信方式,實現(xiàn)過程數(shù)據(jù)的交換。LAN9252使用I2C總線與E2PROM通信,用于存儲從站配置信息。從站使用到LAN9252的兩個MII接口,內(nèi)置PHY芯片,可以實現(xiàn)線性的拓?fù)浣Y(jié)構(gòu)。STM32F407通過PWM驅(qū)動機器人的關(guān)節(jié)電動機動作,從站中共有6路PWM輸出,可以同時驅(qū)動6個步進軸運動,滿足大部分情況下的機器人實驗控制需求。此外,從站還有基本的I/O輸入輸出功能,可以用于連接傳感器和驅(qū)動電磁閥動作等,而USB調(diào)試接口、A/D接口可分別實現(xiàn)調(diào)試和數(shù)據(jù)采集的功能。

      圖2 從站硬件功能模塊

      2.2 從站運動控制實現(xiàn)方案

      主站和從站之間以周期性和非周期性的事件進行信息交互。EtherCAT從站可以運行在自由運行模式和同步運行模式,在自由運行模式下,由微處理器進行主動查詢;而在同步運行模式下,數(shù)據(jù)交換以中斷的方式進行,微處理器響應(yīng)中斷來進行數(shù)據(jù)交互,具有更高的實時性。本方案中從站設(shè)備運行在同步運行模式下從而保證系統(tǒng)的實時性。從站運動控制工作流程如圖3所示。

      圖3 從站運動控制工作流程

      從站運動控制包括從站初始化、過程數(shù)據(jù)交互和郵箱數(shù)據(jù)交互。在初始化過程中,需要配置ESC和STM32的相關(guān)中斷寄存器并啟動過程數(shù)據(jù)看門狗定時器,STM32獲取ESC芯片DPRAM容量和SM通道數(shù)目,將EtherCAT狀態(tài)機設(shè)置為Init狀態(tài)。當(dāng)從站進入DC同步運行模式時,通過外部中斷的方式響應(yīng)主站的控制請求。EtherCAT數(shù)據(jù)幀到達從站,過程數(shù)據(jù)被寫入到接收緩沖區(qū),由ESC的IRQ引腳觸發(fā)STM32外部中斷進入中斷服務(wù)程序,獲取機器人各個電機軸的控制指令并轉(zhuǎn)換為PWM脈沖信號輸出,通過驅(qū)動器驅(qū)動機器人關(guān)節(jié)軸動作。而當(dāng)SYN0同步事件發(fā)生時,STM32獲取電動機、傳感器信號、A/D等從站狀態(tài)數(shù)據(jù)寫入SM3存儲管理區(qū)發(fā)送給主站。從站非周期性事件主要為郵箱通信,用于狀態(tài)機切換,在STM32主循環(huán)中,通過ECAT_Main()函數(shù)判斷是否發(fā)生狀態(tài)轉(zhuǎn)換請求,若發(fā)生則通過調(diào)用AL_ControlInd()函數(shù)進行狀態(tài)機處理。

      3 機器人運動控制主站實現(xiàn)方案

      EtherCAT采用一主多從的通信模型,主站承擔(dān)系統(tǒng)主要的運動控制和邏輯控制任務(wù)。在本方案中,機器人運動控制主站使用SOEM開源主站庫實現(xiàn)EtherCAT主站通信功能,并向應(yīng)用層提供通信接口,而在應(yīng)用層實現(xiàn)G代碼解析、機器人運動學(xué)正反解以及多機器人協(xié)作等控制功能,提高系統(tǒng)的通用性和可擴展性。本方案中機器人運動控制主站架構(gòu)如圖4所示。

      圖4 機器人運動控制主站架構(gòu)

      3.1 Ether CAT主站通信接口實現(xiàn)方案

      EtherCAT主站可由任意集成了標(biāo)準(zhǔn)以太網(wǎng)接口的設(shè)備實現(xiàn),在本方案中,主站軟件運行在Windows平臺上,并移植開源主站軟件SOEM實現(xiàn)EtherCAT主站協(xié)議棧,完成EtherCAT基本通信功能,并向軟件應(yīng)用層提供服務(wù)接口以實現(xiàn)EtherCAT狀態(tài)機切換和過程數(shù)據(jù)通信及郵箱通信的功能[14]。EtherCAT主站通信運行流程如圖5所示,整個運行流程包括3個主要部分,分別為主站初始化、EtherCAT狀態(tài)機循環(huán)和PLC周期性事件循環(huán)。

      圖5 EtherCAT主站通信運行流程

      在EtherCAT主站通信運行過程中,主站初始化是對EtherCAT協(xié)議棧、網(wǎng)卡設(shè)備等進行初始化,并通過順序?qū)ぶ返姆绞脚渲脧恼驹O(shè)備的相關(guān)信息,進行從站設(shè)備的地址映射,使得在同步運行模式下可以對從站設(shè)備進行邏輯尋址。EtherCAT狀態(tài)機負(fù)責(zé)協(xié)調(diào)主站和從站應(yīng)用程序在初始化和運行時的狀態(tài)關(guān)系,從初始化狀態(tài)向運行狀態(tài)轉(zhuǎn)換時,需按照“初始化→預(yù)運行→安全運行→運行”的順序進行,所有狀態(tài)改變都由主站發(fā)起。EtherCAT狀態(tài)機循環(huán)運行在一個單獨的后臺線程中,當(dāng)主站發(fā)起狀態(tài)轉(zhuǎn)換請求時,由這個線程維護狀態(tài)機并按照請求進行狀態(tài)的切換。PLC周期循環(huán)采用固定時間周期交換PDO過程數(shù)據(jù),將主站控制指令發(fā)送給從站設(shè)備,并讀取從站狀態(tài)數(shù)據(jù)。

      在機器人運動控制過程中,由主站軟件應(yīng)用層程序完成對指令解析、機器人運動求解,然后根據(jù)從站過程數(shù)據(jù)定義計算得到相應(yīng)的指令值,并將指令值傳遞給EtherCAT主站,主站通過周期性過程數(shù)據(jù)通信發(fā)送給從站設(shè)備,從而完成機器人的控制任務(wù),同時主站接收從站的返回數(shù)據(jù)并反饋給應(yīng)用層。EtherCAT主站與應(yīng)用層程序交互設(shè)計如圖6所示。其中指令數(shù)據(jù)結(jié)構(gòu)體為從站設(shè)備輸入輸出變量的地址映射,應(yīng)用層程序和主站程序通過共享地址的方式進行相互訪問。

      圖6 EtherCAT主站與應(yīng)用層程序交互設(shè)計

      3.2 機器人運動控制實現(xiàn)方案

      機器人運動控制在主站軟件的應(yīng)用層實現(xiàn),承擔(dān)機器人主要的控制邏輯,其實現(xiàn)原理如圖7所示。為了實現(xiàn)對機器人的有效控制,需要對機器人進行運動學(xué)求解,機器人運動學(xué)求解包括正向求解和逆向求解兩個過程,也就是建立機器人關(guān)節(jié)空間和笛卡爾空間之間的映射關(guān)系[15]。為實現(xiàn)機器人的可編程運動控制,采用G代碼指令作為機器人的控制指令,G代碼應(yīng)用于數(shù)控系統(tǒng)中,通過解析G代碼指令,可以實現(xiàn)快速定位、直線運動、圓弧運動等運動功能[16]。在本系統(tǒng)中,使用G代碼作為控制指令,可以對機器人實現(xiàn)通用化的運動控制。

      圖7 機器人運動控制實現(xiàn)原理

      使用G代碼控制機器人的流程如圖8所示。用戶以文本的形式將G代碼進行輸入,并將指令傳遞到解析模塊,生成G代碼指令隊列,機器人對隊列中的G代碼指令進行逐行解析并進行運動學(xué)插補得到一系列的運動指令加入運動隊列中。在機器人運行期間,獲取運動指令,進行運動學(xué)反解運算,計算出機器人的關(guān)節(jié)運動數(shù)據(jù),通過EtherCAT主站提供的交互接口,傳遞給主站程序,EtherCAT主站和從站設(shè)備進行周期性的數(shù)據(jù)交互,將運動數(shù)據(jù)發(fā)送給控制從站,驅(qū)動機器人關(guān)節(jié)進行運動。

      圖8 G代碼控制機器人流程圖

      3.3 多機器人協(xié)作實現(xiàn)方案

      在復(fù)雜的機器人實驗場景中,往往需要多臺機器人相互協(xié)作共同完成實驗任務(wù)。為實現(xiàn)靈活的機器人運動控制,可以根據(jù)不同實驗場景進行機器人組態(tài),本方案中采用組件化的方式,實現(xiàn)主站軟件平臺與機器人硬件之間的低耦合連接。機器人從站節(jié)點和主站應(yīng)用層中組件之間的映射關(guān)系如圖9所示。對于每一個接入系統(tǒng)的機器人節(jié)點,在主站軟件中都分配一個機器人組件與之對應(yīng),組件和機器人從站之間的通過EtherCAT總線建立通信連接,因此對組件的操作可以最終反映到實際機器人之上。而EtherCAT協(xié)議層屏蔽了通信的細(xì)節(jié)實現(xiàn)過程,多機器人的協(xié)作可以在主站軟件應(yīng)用層實現(xiàn),建立機器人組件之間的裝配關(guān)系,使得機器人相互協(xié)作完成實驗任務(wù)。

      圖9 機器人節(jié)點與組件映射關(guān)系

      組件之間的裝配關(guān)系由事件來進行定義,這些事件的來源包括系統(tǒng)開始運行事件、傳感器事件、機器人運行到位事件、夾具開閉事件等。系統(tǒng)采用事件驅(qū)動的方式進行運作,機器人節(jié)點在特定的事件觸發(fā)的前提下完成相應(yīng)的動作,從而協(xié)調(diào)多個機器人按照邏輯順序完成實驗任務(wù)。組件之間的事件驅(qū)動模型如圖10所示。組件提供事件發(fā)生端口和事件響應(yīng)端口,連接組件端口形成事件驅(qū)動流,而端口綁定關(guān)系由主站軟件進行管理,因此組件之間具有低耦合的特性,可以根據(jù)不同的實驗場景進行靈活的裝配,快速搭建實驗控制系統(tǒng)。

      圖10 組件事件驅(qū)動模型

      4 應(yīng)用實例與驗證

      4.1 機器人教學(xué)實驗平臺控制系統(tǒng)搭建

      機器人實驗平臺主站控制軟件運行在PC端,其主要包含了EtherCAT主站配置、機器人控制組件管理及組件裝配等功能,實驗前需要進行相關(guān)的配置操作。

      機器人教學(xué)實驗平臺基本實驗流程如下:①將機器人等相關(guān)設(shè)備接入實驗平臺,并在主站軟件中加載對應(yīng)組件;②為機器人配置運動學(xué)模塊,編制G代碼實現(xiàn)相關(guān)運動控制;③根據(jù)實驗運行邏輯,連接組件之間的事件端口;④掃描EtherCAT從站,將機器人控制從站與對應(yīng)的組件建立連接,開始實驗。

      4.2 單機器人控制實驗

      為了驗證機器人實驗平臺具有通用性和可擴展性,采用Dobot、SCARA、Delta 3種機器人進行實驗,分別完成碼垛、寫字、激光雕刻等不同的實驗任務(wù)。圖11展示3種機器人完成實驗任務(wù)的場景。

      從圖11可以看出,機器人實驗平臺能夠適用于多種機器人及不同實驗場景的控制需求,具有較高的通用性,說明機器人實驗平臺能夠正確地服務(wù)于機器人實驗教學(xué),具有很好的靈活性。

      圖11 單機器人運動控制實驗

      4.3 小型生產(chǎn)線加工實驗

      在很多機器人實驗場景中,需要實現(xiàn)多機器人實驗設(shè)備相互配合完成某項具體任務(wù),因此設(shè)計了如圖12所示的小型生產(chǎn)線加工實驗。在該生產(chǎn)線加工實驗中,由3臺Dobot機器人、2個傳送帶、1臺銑床及相關(guān)的傳感器組成,Dobot機器人完成物料的搬運、銑床加工的上料和下料過程及物料的擺放等工作,而傳送帶將物料運輸?shù)街付ㄎ恢?,銑床則負(fù)責(zé)具體的銑削加工工作。該實驗中,多種機電運動設(shè)備相互協(xié)作,共同完成實驗任務(wù)。

      圖12 小型生產(chǎn)線加工實驗場景

      從生產(chǎn)線加工實驗中可以看出,本文所述的實驗平臺能夠快速搭建控制系統(tǒng),并對系統(tǒng)中的各個運動設(shè)備進行有效的控制,從而完成特定實驗任務(wù)。機器人組件化和裝配使得實驗平臺具有較高的可重構(gòu)性和可擴展性,能夠適應(yīng)機器人實驗的多樣化。

      5 結(jié) 語

      基于EtherCAT技術(shù)實現(xiàn)了機器人教學(xué)實驗平臺,利用STM32和LAN9252開發(fā)EtherCAT從站,能夠?qū)崿F(xiàn)機器人的靈活接入;主站在SOEM基礎(chǔ)上采用G代碼編程的方式實現(xiàn)機器人的通用化控制,同時將實際機器人映射為主站中的組件,采用組件裝配的方式實現(xiàn)多機器人的控制,使得實驗平臺具有很好的可擴展性。通過多個不同類型機器人的單獨控制實驗和生產(chǎn)線多機器人控制實驗證明本文設(shè)計的實驗平臺具有操作簡單、擴展性強的優(yōu)點,對于機器人的實驗教學(xué)具有一定的意義。

      猜你喜歡
      狀態(tài)機應(yīng)用層主站
      基于有限狀態(tài)機的交會對接飛行任務(wù)規(guī)劃方法
      基于分級保護的OA系統(tǒng)應(yīng)用層訪問控制研究
      基于OS2主站系統(tǒng)的海量數(shù)據(jù)共享技術(shù)研究
      多表遠程集抄主站系統(tǒng)
      電子制作(2017年23期)2017-02-02 07:17:07
      新一代雙向互動電力線通信技術(shù)的應(yīng)用層協(xié)議研究
      物聯(lián)網(wǎng)技術(shù)在信息機房制冷系統(tǒng)中的應(yīng)用
      基于改進經(jīng)濟壓差算法的主站AVC的研究
      關(guān)口電能計量故障監(jiān)測報警裝置及主站研究
      Current advances in neurotrauma research: diagnosis, neuroprotection, and neurorepair
      FPGA設(shè)計中狀態(tài)機安全性研究
      武邑县| 博乐市| 南川市| 栖霞市| 汨罗市| 远安县| 定陶县| 自治县| 南通市| 龙岩市| 五台县| 临城县| 河东区| 礼泉县| 阳朔县| 屏边| 遂平县| 巴彦县| 千阳县| 四平市| 勐海县| 牡丹江市| 宁河县| 襄垣县| 乌苏市| 江源县| 郸城县| 霍州市| 胶州市| 怀来县| 巴南区| 鄂温| 瑞昌市| 儋州市| 灵石县| 宝丰县| 宜州市| 盐亭县| 嘉义县| 通榆县| 乐业县|