引言
機器人操作系統(tǒng)(ROS)是一個開源框架和軟件庫集合,專門用于簡化機器人應用的開發(fā)。盡管名稱中含“操作系統(tǒng)”,但ROS并非像Windows或Linux那樣的真正操作系統(tǒng),而是通常被稱為元操作系統(tǒng)或中間件層。它通常運行在宿主操作系統(tǒng)之上(主要是Linux,macOS和Windows也受支持)。
ROS基于模塊化架構(gòu),使用所謂的“節(jié)點”,這些節(jié)點代表獨立的可執(zhí)行程序或組件(例如傳感器或電機控制、算法)。節(jié)點之間通過標準化的發(fā)布-訂閱消息系統(tǒng)(稱為“主題”)進行通信,這使得處理過程可以輕松分布——甚至跨多臺計算機。
ROS作為一個標準化平臺和軟件開發(fā)工具包(SDK),用于開發(fā)和控制復雜的機器人系統(tǒng)。其被廣泛應用于人形機器人的開發(fā)和控制,主要用于運動規(guī)劃和步態(tài)控制(行走)、環(huán)境感知的傳感系統(tǒng)以及人機交互(HRI)。
一、在ROS中控制EtherCAT從站
ROS通過多層次標準化架構(gòu)實現(xiàn)硬件控制,該架構(gòu)隱藏了直接硬件通信的復雜性,使得高層控制算法能夠通用化。要集成EtherCAT從站,需要一個EtherCAT主站軟件(EtherCAT協(xié)議棧)。該軟件負責管理和控制所有從站,并通過兩個內(nèi)存區(qū)域?qū)⑦^程數(shù)據(jù)(輸入和輸出變量)提供給應用層。
此外,主站軟件還提供以下功能:參數(shù)傳輸(通過 EtherCAT的CAN應用協(xié)議)和固件傳輸(通過EtherCAT的文件訪問),其他必要的功能包括:在所有層級(物理層和應用層)檢測和定位故障,并向應用層提供詳細信息。

acontis的EC-Master還支持高級功能,例如動態(tài)插拔從站,且無需停止或重啟網(wǎng)絡或應用。這些“熱插拔”操作也適用于采用分布式時鐘技術(shù)的從站,以實現(xiàn)高度同步的操作。
EC-Master同樣適用于需滿足功能安全要求的應用場景。安全邏輯既可以集中在主站中實現(xiàn),也可以分布在某個從站中,安全參與者之間的通信采用FSoE(FailSafe over EtherCAT)協(xié)議實現(xiàn)。
二、Variant A:EtherCAT主站作為ROS 2節(jié)點 ——“EcMasterRos2Node”
acontis的EcMasterRos2Node將EtherCAT主站協(xié)議棧EC-Master實現(xiàn)為一個獨立的ROS節(jié)點。EtherCAT網(wǎng)絡參數(shù)化通過標準化的EtherCAT網(wǎng)絡信息(ENI)文件完成,并支持市場上所有的EtherCAT從站,包括安全的FSoE設備。
在初始化EtherCAT網(wǎng)絡后,所有輸入和輸出數(shù)據(jù)對應的ROS主題會自動生成,這使得其他ROS節(jié)點能夠方便地訪問所有循環(huán)的EtherCAT過程數(shù)據(jù)。

此外,EcMasterRos2Node還提供ROS服務,用于檢查從站和整個網(wǎng)絡的狀態(tài),相關的EC-Master API已經(jīng)作為ROS Actions提供。例如,可以通過“CAN 應用協(xié)議over EtherCAT”協(xié)議將任意參數(shù)傳輸?shù)綇恼尽?/p>
EcMasterRos2Node目前仍在開發(fā)中,預計將在2026年第一季度發(fā)布。
三、Variant B:EtherCAT主站作為ros2_control的硬件接口
ros2_control控制框架是ROS邏輯與硬件接口之間的橋梁。ros2_control提供驅(qū)動和接口,用于標準化對各種傳感器(如攝像頭和激光雷達)以及執(zhí)行器(如電機和機械臂)的控制。硬件的管理由資源管理器通過特定的硬件接口類完成。這個硬件抽象層對于數(shù)據(jù)傳輸、硬件生命周期和錯誤處理至關重要。硬件接口的配置通過URDF(統(tǒng)一機器人描述格式)文件完成, 標簽描述了硬件接口插件及其接口。

EC-Master作為類型為System的硬件組件連接,并提供ENI(EtherCAT網(wǎng)絡信息)文件中定義的所有輸入和輸出變量,從站的輸入變量通過 提供,輸出變量通過 提供。
EC-Master的硬件接口描述可以通過EC-Engineer工具結(jié)合ENI文件方便地生成。這種方式非常高效,并確保一致性。
EcMasterRos2HwInterface目前仍在開發(fā)中,預計將在2026年第一季度發(fā)布。
-
機器人
+關注
關注
213文章
31381瀏覽量
223515 -
MASTER
+關注
關注
0文章
112瀏覽量
12243 -
ROS
+關注
關注
1文章
296瀏覽量
18854 -
EtherCAT主站
+關注
關注
2文章
36瀏覽量
4493
發(fā)布評論請先 登錄
【米爾NXP i.MX 91開發(fā)板評測】移植運行IGH EtherCAT主站
【IntoRobot Atom試用體驗】解決Atom搭建機器人操作系統(tǒng)問題(二)
請問能分享ROS機器人操作系統(tǒng)的一些資料嗎?
創(chuàng)龍TL5728-EasyEVM-A4開發(fā)板如何移植ros機器人操作系統(tǒng)?
ROS 2 Crystal Clemmys版機器人的操作系統(tǒng)補充說明
ROS是什么?機器人操作系統(tǒng)ROS的介紹
ROS的含義與機器人操作系統(tǒng)ROS的介紹
機器人操作系統(tǒng)(ROS)是一種用于機器人開發(fā)的元操作系統(tǒng)
機器人操作系統(tǒng)ROS詳細介紹
ROS機器人操作系統(tǒng)的實現(xiàn)原理(下)
ROS機器人操作系統(tǒng)
一個機器人操作系統(tǒng)(ROS)節(jié)點系統(tǒng)
EtherCAT主站協(xié)議棧EC-Master在ROS(機器人操作系統(tǒng))中的應用
評論