国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于ROS系統(tǒng)的EtherCAT主從站通信系統(tǒng)的制作方法

      文檔序號:11250079閱讀:3682來源:國知局
      基于ROS系統(tǒng)的EtherCAT主從站通信系統(tǒng)的制造方法與工藝

      本發(fā)明涉及機器人分布式控制領(lǐng)域,特別涉及到一種基于ros系統(tǒng)的ethercat主從站通信系統(tǒng)。



      背景技術(shù):

      機器人操作系統(tǒng)ros,即robotoperatingsystem,是一個開源操作系統(tǒng),開源以及分布式運作的特點使ros得到了廣泛的應(yīng)用。ros系統(tǒng)提供硬件的抽象描述、底層驅(qū)動程序的管理、程序節(jié)點間消息傳遞的機制、程序軟件發(fā)行包的管理等功能。ros通信是以節(jié)點為單位并且采用基于主題的異步數(shù)據(jù)流通信模式。機器人的應(yīng)用已經(jīng)從工業(yè)領(lǐng)域逐漸擴展到非工業(yè)領(lǐng)域,機器人的控制也逐漸向分布式架構(gòu)發(fā)展,這就需要一個更快、更可靠穩(wěn)定的網(wǎng)絡(luò)架構(gòu)。ethercat即ethernetcontrolautomationtechnology,以標準以太網(wǎng)技術(shù)為基礎(chǔ),采用主從模式介質(zhì)訪問控制通信方式,充分利用以太網(wǎng)全雙工處理網(wǎng)絡(luò)數(shù)據(jù)的特點,保證了系統(tǒng)的高速性和高度實時性。

      現(xiàn)有的基于ros的網(wǎng)絡(luò)化控制,存在高延時性的技術(shù)問題。因此,提供一種高速、實時性、低成本、拓撲靈活、配制簡單、兼容性的ethercat主從站系統(tǒng)通信系統(tǒng)就很有必要。



      技術(shù)實現(xiàn)要素:

      本發(fā)明所要解決的技術(shù)問題是現(xiàn)有技術(shù)中存在的延時性高的問題。提供一種新的基于ros系統(tǒng)的ethercat主從站通信系統(tǒng),該基于ros系統(tǒng)的ethercat主從站通信系統(tǒng)具有擴大了非ros傳感器設(shè)備的需求、實時性及高效性的特點。

      為解決上述技術(shù)問題,采用的技術(shù)方案如下:

      一種基于ros系統(tǒng)的ethercat主從站通信系統(tǒng),所述ethercat主從站通信系統(tǒng)包括ethercat主站系統(tǒng)及ethercat從站系統(tǒng);所述ethercat主站系統(tǒng)包括集成以太網(wǎng)接口的pc機,所述pc機設(shè)有ros操作系統(tǒng)包括軟主站soem,所述軟主站soem支持ethercat協(xié)議函數(shù)接口;所述的ethercat從站系統(tǒng)包括控制器及微處理器,所述控制器及微處理器通過spi連接,所述控制器及微處理器外圍均包括數(shù)據(jù)處理電路及傳輸電路;所述ethercat主從站通信系統(tǒng)還包括兩臺ros客戶機,所述ros客戶機包括ros操作系統(tǒng)。

      本發(fā)明的工作原理:ethercat以標準以太網(wǎng)技術(shù)為基礎(chǔ),采用主從模式介質(zhì)訪問控制通信方式,充分利用以太網(wǎng)全雙工處理網(wǎng)絡(luò)數(shù)據(jù)的特點,保證了系統(tǒng)的高速性和高度實時性。ethercat主站系統(tǒng)在ros系統(tǒng)下,建立一個消息節(jié)點程序用于處理ethercat從站系統(tǒng)與ethercat主站系統(tǒng)交互的數(shù)據(jù)。將ros系統(tǒng)下的數(shù)據(jù)轉(zhuǎn)換為通信時需要的數(shù)據(jù)類型。通過主站軟件soem提供的接口函數(shù)將轉(zhuǎn)換后的數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)換為ethercat通信時的數(shù)據(jù),并進一步封裝成數(shù)據(jù)幀發(fā)送到ethercat從站系統(tǒng)去提取。為實現(xiàn)網(wǎng)絡(luò)分布式架構(gòu)越來越大的需求,本發(fā)明通過路由器接入兩臺ros客戶機。

      上述技術(shù)方案中,為優(yōu)化,進一步地,所述ethercat主站系統(tǒng)采用基于linux系統(tǒng)的開源soem作為軟主站,所述軟主站用于實現(xiàn)實時內(nèi)核、調(diào)度管理及邏輯空間映射。

      進一步地,所述軟主站soem包含作為用戶層的用戶應(yīng)用程序;作為內(nèi)核層的主站soem模塊,與主站soem模塊連接的程序接口模塊、與程序接口模塊連接的網(wǎng)卡設(shè)備驅(qū)動模塊;作為網(wǎng)卡硬件的受網(wǎng)卡設(shè)備驅(qū)動模塊驅(qū)動的網(wǎng)卡芯片;所述內(nèi)核層與所述ros操作系統(tǒng)連接;所述應(yīng)用程序接口模塊包括字符設(shè)備接口、網(wǎng)卡設(shè)備接口;所述字符設(shè)備接口與用戶應(yīng)用程序連接,所述網(wǎng)卡設(shè)備接口與網(wǎng)卡設(shè)備驅(qū)動模塊連接。

      進一步地,所述控制器為控制器et1100,所述控制器et1100包括i2c總線,所述控制器et1100具有eeprom訪問功能;所述控制器et1100通過mii接口連接網(wǎng)卡芯片。

      進一步地,所述控制器et1100通過ebus接口連接網(wǎng)卡芯片。

      進一步地,所述微處理器為微處理器stm32。

      進一步地,所述ros操作系統(tǒng)執(zhí)行的步驟包括建立ros消息節(jié)點,用于處理ethercat主站系統(tǒng)與ethercat從站系統(tǒng)的交互數(shù)據(jù),將ros操作系統(tǒng)數(shù)據(jù)類型轉(zhuǎn)換成通信數(shù)據(jù)類型。

      進一步地,所述消息節(jié)點將主題數(shù)據(jù)類型為std_msgs/uint8轉(zhuǎn)換為uint8_t,所述主題數(shù)據(jù)類型std_msgs/uint8通過命令行工具查看。

      進一步地,所述微處理器smt32擴展數(shù)據(jù)處理電路及傳輸電路包括usb轉(zhuǎn)串口、數(shù)據(jù)傳輸接口功能以及外部功能設(shè)備。

      本發(fā)明實現(xiàn)擴展網(wǎng)絡(luò)分布式架構(gòu)的需求,接入了兩臺ros客戶機,ros客戶機同樣裝有ros操作系統(tǒng)。ethercat主站系統(tǒng)不斷給ethercat從站系統(tǒng)發(fā)送過程數(shù)據(jù),保證ethercat從站系統(tǒng)始終處于運行的狀態(tài)。輸入輸出數(shù)據(jù)放在過程數(shù)據(jù)對象,過程數(shù)據(jù)對象經(jīng)過層層對象映射封裝成數(shù)據(jù)報文插入到ethercat以太網(wǎng)幀內(nèi)。ethercat以太網(wǎng)幀通過ethercat總線傳輸?shù)絜thercat從站系統(tǒng)。為實現(xiàn)ros客戶機接入網(wǎng)絡(luò)進行通信,需要對ros主機與客戶機進行配置。通過roscore指令啟動ros服務(wù)器,查看啟動端口,ros客戶機在~/.bashrc文件中找到ros_master_url項并賦值實現(xiàn)參數(shù)配置。微處理器stm32擴展了usb轉(zhuǎn)串口、數(shù)據(jù)傳輸接口功能以及外部功能設(shè)備。esc與微處理器之間的過程數(shù)據(jù)接口pdi接口有兩種,一種為簡單的i/o接口,另外一種為dpram接口。dpram接口又分為串行方式和并行方式,本實例選擇串行接口spi方式。

      本發(fā)明的有益效果:

      效果一,本發(fā)明通過消息節(jié)點將非ros設(shè)備的數(shù)據(jù)轉(zhuǎn)化為所需數(shù)據(jù)類型,擴大了非ros傳感器設(shè)備的需求。

      效果二,本發(fā)明可以實現(xiàn)將ros設(shè)備和非ros設(shè)備通過ethercat總線連接,擴大了系統(tǒng)接入設(shè)備的數(shù)量與范圍。

      效果三,本發(fā)明利用ethercat總線模式的特點提高了設(shè)備間通信的實時性與高效性。

      附圖說明

      下面結(jié)合附圖和實施例對本發(fā)明進一步說明。

      圖1,ethercat主站系統(tǒng)結(jié)構(gòu)示意圖;

      圖2,消息節(jié)點的程序流程圖;

      圖3,ethercat從站系統(tǒng)結(jié)構(gòu)示意圖;

      圖4,系統(tǒng)通信過程架構(gòu)示意圖;

      圖5,系統(tǒng)拓撲結(jié)構(gòu)示意圖。

      具體實施方式

      為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合實施例,對本發(fā)明進行進一步詳細說明。應(yīng)當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。

      實施例1

      本實施提供一種基于ros系統(tǒng)的ethercat主從站通信系統(tǒng),所述ethercat主ethercat從站系統(tǒng)通信系統(tǒng)包括ethercat主站系統(tǒng)及ethercat從站系統(tǒng);

      所述ethercat主站系統(tǒng)如圖1,包括集成以太網(wǎng)接口的pc機,所述pc機設(shè)有ros操作系統(tǒng)包括軟主站soem,所述軟主站soem支持ethercat協(xié)議函數(shù)接口;

      所述的ethercat從站系統(tǒng)如圖3,包括控制器及微處理器,所述控制器及微處理器通過spi連接,所述控制器及微處理器外圍均包括數(shù)據(jù)處理電路及傳輸電路;

      所述ethercat主從站通信系統(tǒng)還包括兩臺ros客戶機,所述ros客戶機包括ros操作系統(tǒng)。

      具體地,所述ethercat主站系統(tǒng)采用基于linux系統(tǒng)的開源soem作為軟主站,所述軟主站用于實現(xiàn)實時內(nèi)核、調(diào)度管理及邏輯空間映射。

      具體地,如圖1,所述軟主站soem包含作為用戶層的用戶應(yīng)用程序;作為內(nèi)核層的主站soem模塊,與主站soem模塊連接的程序接口模塊、與程序接口模塊連接的網(wǎng)卡設(shè)備驅(qū)動模塊;作為網(wǎng)卡硬件的受網(wǎng)卡設(shè)備驅(qū)動模塊驅(qū)動的網(wǎng)卡芯片;所述內(nèi)核層與所述ros操作系統(tǒng)連接;所述應(yīng)用程序接口模塊包括字符設(shè)備接口、網(wǎng)卡設(shè)備接口;所述字符設(shè)備接口與用戶應(yīng)用程序連接,所述網(wǎng)卡設(shè)備接口與網(wǎng)卡設(shè)備驅(qū)動模塊連接。

      ethercat主站系統(tǒng)軟主站soem提供ethercat通信函數(shù)接口。ethercat通信函數(shù)接口應(yīng)用程序定義一個緩沖區(qū),通過ec_config_map函數(shù)對該緩沖區(qū)進行初始化,內(nèi)部過程是將ethercat從站系統(tǒng)i/o的值實時映射到該緩沖區(qū)中。因此,應(yīng)用程序通過修改緩沖區(qū)對應(yīng)的變量即可改變ethercat從站系統(tǒng)i/o端口的值。

      進一步地,所述控制器為控制器et1100,所述控制器et1100包括i2c總線,所述控制器et1100具有eeprom訪問功能。i2c總線與eeprom連接。

      控制器et1100兩種接口方式:ebus和mii,通過mii接口或ebus接口與網(wǎng)卡芯片相連,提供et1100芯片與網(wǎng)卡芯片之間的數(shù)據(jù)轉(zhuǎn)換。網(wǎng)卡芯片包括phy1及phyo。網(wǎng)卡芯片通過變壓器與rj45口連接。

      具體地,所述微處理器為stm32。微處理器stm32擴展了usb轉(zhuǎn)串口、數(shù)據(jù)傳輸接口功能以及外部功能設(shè)備,外部功能設(shè)備包括晶振、傳感器及i/o設(shè)備??刂破髋c微處理器之間的過程數(shù)據(jù)接口pdi接口有兩種,一種為簡單的i/o接口,另外一種為dpram接口。dpram接口又分為串行方式和并行方式,本實例選擇串行接口spi方式。

      具體地,所述ros操作系統(tǒng)執(zhí)行的步驟包括建立ros消息節(jié)點,用于處理ethercat主站系統(tǒng)與ethercat從站系統(tǒng)的交互數(shù)據(jù),將ros操作系統(tǒng)數(shù)據(jù)類型轉(zhuǎn)換成通信數(shù)據(jù)類型。消息節(jié)點的程序流程如圖2所示,包括初始化節(jié)點,通過發(fā)布主題進行數(shù)據(jù)格式轉(zhuǎn)換,后將數(shù)據(jù)包封裝到以太網(wǎng)幀,啟動ethercat從站系統(tǒng)讀取i/o數(shù)據(jù)。所述消息節(jié)點將主題數(shù)據(jù)類型為std_msgs/uint8轉(zhuǎn)換為uint8_t,所述主題數(shù)據(jù)類型std_msgs/uint8通過命令行工具查看。同時,ethercat主站系統(tǒng)不斷給ethercat從站系統(tǒng)發(fā)送過程數(shù)據(jù),保證ethercat從站系統(tǒng)始終處于operational狀態(tài),即運行狀態(tài)。輸入輸出數(shù)據(jù)放在過程數(shù)據(jù)對象pdo,過程數(shù)據(jù)對象pdo經(jīng)過層層對象映射封裝成數(shù)據(jù)報文插入到ethercat以太網(wǎng)幀內(nèi)。ethercat以太網(wǎng)幀再通過ethercat總線傳輸?shù)絜thercat從站系統(tǒng)。

      ethercat從站系統(tǒng)從接收到的幀結(jié)構(gòu)中提取出與自己尋址相符的數(shù)據(jù)進行處理。ethercat從站系統(tǒng)到主站的通信過程順序逆向。區(qū)別在于ethercat從站系統(tǒng)將自己的反饋數(shù)據(jù)插入到ethercat以太網(wǎng)幀數(shù)據(jù)幀結(jié)構(gòu)中,通過ethercat總線發(fā)送回主站。ethercat主從站通信系統(tǒng)的通信過程架構(gòu)如圖4所示,包括ethercat主站系統(tǒng)接收到ros客戶機的從ros服務(wù)器傳來的信息后,通過消息節(jié)點程序?qū)⒅黝}數(shù)據(jù)類型為std_msgs/uint8轉(zhuǎn)換為uint8_t,通過soem軟主站驅(qū)動ethercat從站系統(tǒng),控制器將根據(jù)uint8_t格式的命令控制傳感器或i/o設(shè)備。為實現(xiàn)ros客戶機接入網(wǎng)絡(luò)進行通信,需要對ros主機與客戶機進行配置。通過roscore指令啟動ros服務(wù)器,查看啟動端口,ros客戶機在~/.bashrc文件中找到ros_master_url項并賦值實現(xiàn)參數(shù)配置。整體網(wǎng)絡(luò)系統(tǒng)拓撲結(jié)構(gòu)圖如圖5所示,包括2個ros客戶機,2個ros客戶機通過路由器及交換機與ethercat主站系統(tǒng),進而與ethercat從站系統(tǒng)連接。

      盡管上面對本發(fā)明說明性的具體實施方式進行了描述,以便于本技術(shù)領(lǐng)域的技術(shù)人員能夠理解本發(fā)明,但是本發(fā)明不僅限于具體實施方式的范圍,對本技術(shù)領(lǐng)域的普通技術(shù)人員而言,只要各種變化只要在所附的權(quán)利要求限定和確定的本發(fā)明精神和范圍內(nèi),一切利用本發(fā)明構(gòu)思的發(fā)明創(chuàng)造均在保護之列。

      當前第1頁1 2 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1