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

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

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

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