<listing id="vjp15"></listing><menuitem id="vjp15"></menuitem><var id="vjp15"></var><cite id="vjp15"></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><menuitem id="vjp15"></menuitem></video></cite>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<var id="vjp15"><strike id="vjp15"><listing id="vjp15"></listing></strike></var>
<menuitem id="vjp15"><strike id="vjp15"></strike></menuitem>
<cite id="vjp15"></cite>
<var id="vjp15"><strike id="vjp15"></strike></var>
<var id="vjp15"></var>
<var id="vjp15"></var>
<var id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></var>
<menuitem id="vjp15"></menuitem><cite id="vjp15"><video id="vjp15"></video></cite>
<var id="vjp15"></var><cite id="vjp15"><video id="vjp15"><thead id="vjp15"></thead></video></cite>
<var id="vjp15"></var>
<var id="vjp15"></var>
<menuitem id="vjp15"><span id="vjp15"><thead id="vjp15"></thead></span></menuitem>
<cite id="vjp15"><video id="vjp15"></video></cite>
<menuitem id="vjp15"></menuitem>

基于ROS系統的EtherCAT主從站通信系統的制作方法

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

本發明涉及機器人分布式控制領域,特別涉及到一種基于ros系統的ethercat主從站通信系統。



背景技術:

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

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



技術實現要素:

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

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

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

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

上述技術方案中,為優化,進一步地,所述ethercat主站系統采用基于linux系統的開源soem作為軟主站,所述軟主站用于實現實時內核、調度管理及邏輯空間映射。

進一步地,所述軟主站soem包含作為用戶層的用戶應用程序;作為內核層的主站soem模塊,與主站soem模塊連接的程序接口模塊、與程序接口模塊連接的網卡設備驅動模塊;作為網卡硬件的受網卡設備驅動模塊驅動的網卡芯片;所述內核層與所述ros操作系統連接;所述應用程序接口模塊包括字符設備接口、網卡設備接口;所述字符設備接口與用戶應用程序連接,所述網卡設備接口與網卡設備驅動模塊連接。

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

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

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

進一步地,所述ros操作系統執行的步驟包括建立ros消息節點,用于處理ethercat主站系統與ethercat從站系統的交互數據,將ros操作系統數據類型轉換成通信數據類型。

進一步地,所述消息節點將主題數據類型為std_msgs/uint8轉換為uint8_t,所述主題數據類型std_msgs/uint8通過命令行工具查看。

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

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

本發明的有益效果:

效果一,本發明通過消息節點將非ros設備的數據轉化為所需數據類型,擴大了非ros傳感器設備的需求。

效果二,本發明可以實現將ros設備和非ros設備通過ethercat總線連接,擴大了系統接入設備的數量與范圍。

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

附圖說明

下面結合附圖和實施例對本發明進一步說明。

圖1,ethercat主站系統結構示意圖;

圖2,消息節點的程序流程圖;

圖3,ethercat從站系統結構示意圖;

圖4,系統通信過程架構示意圖;

圖5,系統拓撲結構示意圖。

具體實施方式

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

實施例1

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

所述ethercat主站系統如圖1,包括集成以太網接口的pc機,所述pc機設有ros操作系統包括軟主站soem,所述軟主站soem支持ethercat協議函數接口;

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

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

具體地,所述ethercat主站系統采用基于linux系統的開源soem作為軟主站,所述軟主站用于實現實時內核、調度管理及邏輯空間映射。

具體地,如圖1,所述軟主站soem包含作為用戶層的用戶應用程序;作為內核層的主站soem模塊,與主站soem模塊連接的程序接口模塊、與程序接口模塊連接的網卡設備驅動模塊;作為網卡硬件的受網卡設備驅動模塊驅動的網卡芯片;所述內核層與所述ros操作系統連接;所述應用程序接口模塊包括字符設備接口、網卡設備接口;所述字符設備接口與用戶應用程序連接,所述網卡設備接口與網卡設備驅動模塊連接。

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

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

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

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

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

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

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

當前第1頁1 2 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
韩国伦理电影