電子發(fā)燒友網(wǎng)報道(文/李寧遠)對于熟悉機器人應(yīng)用的讀者,對ROS(機器人操作系統(tǒng))想必是不會陌生的。ROS作為機器人開發(fā)的基石,為機器人在研發(fā)過程中的代碼復(fù)用提供了支持的開源框架。大量的機器人開源項目,從感知到控制、從定位到構(gòu)圖、從導(dǎo)航到可視化,都使用ROS作為基礎(chǔ)。
而不久前AMD XILINX推出了以ROS2為中心的增強機器人自適應(yīng)計算能力的硬件加速方法——Kria Robotics Stack(KRS),通過硬件加速為機器人帶來自適應(yīng)計算能力。
從ROS到ROS2
ROS2基于ROS升級而來,如果說ROS為機器人研究和機器人原型開發(fā)提供了公用的軟件架構(gòu)并建立了良好的開源?態(tài)的話,那么ROS2就是在此基礎(chǔ)上進一步補齊了?于機器人部署環(huán)境的開發(fā)架構(gòu)和相應(yīng)的工具鏈。
這一升級也是因為隨著ROS在各類機器人系統(tǒng),甚至延伸到在各類無人系統(tǒng)中的普及,暴露出了越來越多的弊端。首先它對資源的需求大,并不能保證在資源有限的嵌入式系統(tǒng)中運行,其次它的通信抗干擾性較差。可以說傳統(tǒng)機器人ROS實質(zhì)上是仍舊停留在主控芯片邊界的,需要通過串行協(xié)議或者ROS中的工具與主控芯片集成在一起。如果操作系統(tǒng)允許在硬件級別附近運行ROS節(jié)點,那么所有硬件外設(shè)都可用于該應(yīng)用程序,從而使其能夠直接與低級總線系統(tǒng)進行交互,亦與傳感器和執(zhí)行器接口互通。從ROS到ROS2正是基于這些原因進行的升級改版。
ROS2解決了ROS在很多層面上的性能短板,包括但不限于實時性、對MCU的支持、網(wǎng)絡(luò)通信的依賴程度、多機器人的支持等等。另外,ROS2采?RTSP(Real-Time Publish-Subscribe)協(xié)議的DDS作為中間層,大大提升了通信表現(xiàn)。DDS作為?種?于實時和嵌?式系統(tǒng)發(fā)布-訂閱式通信的?業(yè)標準,在系統(tǒng)容錯和靈活性上會更加完善??偟膩碚f,ROS2解決了ROS在下一代實時機器人技術(shù)上的局限性。
機器人的自適應(yīng)計算
機器人是一個系統(tǒng)中系統(tǒng)——它包括感知環(huán)境的傳感器,感知環(huán)境的執(zhí)行器,計算處理所有系統(tǒng),同時對其應(yīng)用做出一致的響應(yīng)。在很大程度上,機器人技術(shù)是系統(tǒng)集成的藝術(shù),無論是在軟件還是硬件方面。作為機一種高度集成的專業(yè)化系統(tǒng),機器人旨在執(zhí)行具有高可靠性和精度的任務(wù)。因此,機器人中的硬件和軟件能力之間的關(guān)系是至關(guān)重要的。
大多數(shù)機器人在內(nèi)部網(wǎng)絡(luò)交換信息,這在某種程度上可以說機器人是一個對時間敏感的網(wǎng)絡(luò)。機器人系統(tǒng)通常只有有限的板載資源,包括內(nèi)存、I/O和磁盤或計算能力,這阻礙了系統(tǒng)集成過程,使其在非結(jié)構(gòu)化、動態(tài)或不斷變化的環(huán)境中難以滿足實時需求。因此,必須為機器人系統(tǒng)選擇一個合適的計算平臺,一個既能簡化系統(tǒng)集成,又能滿足功率限制,并使機器人適應(yīng)不斷變化的需求(即自適應(yīng)機器人)。
自適應(yīng)機器人三大基石分別是自適應(yīng)行為、自適應(yīng)機電一體化以及自適應(yīng)計算,至少滿足其中一個才能被稱為自適應(yīng)機器人。我們這里主要關(guān)注自適應(yīng)計算。自適應(yīng)計算指的是機器人在運行時適應(yīng)其計算系統(tǒng)的一個或多個屬性(例如,其決定論、功耗或吞吐量)的能力。FPGA一直以來都扮演了自適應(yīng)計算中的重要角色,從過去這么多年的機器人應(yīng)用來看它比CPU和通用GPU都更適合機器人自適應(yīng)計算。
FPGA幾乎可以用于機器人技術(shù)中的任何處理任務(wù),在數(shù)據(jù)流計算上非常出色,遵循數(shù)據(jù)驅(qū)動的機器模型,有很高的并行性和吞吐量的潛力。FPGA適合自適應(yīng)計算的另一個方面是,數(shù)據(jù)路徑寬度和寄存器長度可以根據(jù)每個機器人應(yīng)用程序的需要進行定制。CPU和通用GPU雖然在控制流計算上很出色,但固定架構(gòu)很難適應(yīng)新的機器人場景,同時它們的功耗通常比專門的計算架構(gòu)高出一到兩個數(shù)量級。
ROS2與機器人自適應(yīng)計算
以ROS2為中心的增強機器人自適應(yīng)計算能力的硬件加速方法——Kria Robotics Stack專門針對此前AMD XILINX推出的Kira SOM硬件組合,提供低延遲(快速計算)、確定性(可預(yù)測)、實時(準時)、安全性和高吞吐量的徹底硬件加速,將自適應(yīng)算力帶向 AI 和軟件開發(fā)者。其核心為將機器人技術(shù)中使用的傳統(tǒng)控制驅(qū)動方法與數(shù)據(jù)驅(qū)動方法相結(jié)合以優(yōu)化硬件資源的數(shù)量,從而提高性能,并允許更高效、確定性和安全的硬件結(jié)構(gòu)。
KRS與ROS2深度綁定,沒有重新設(shè)計庫和模擬器,直接建立在ROS2上。ROS2位于KRS架構(gòu)的核心,在中間件組層中被繼續(xù)增強。為了幫助ROS2突破OSI堆棧中的時間瓶頸和限制,KRS分三類對ROS2進行硬件加速。
KRS部分架構(gòu)圖,AMD XILINX
第一個針對ROS 2應(yīng)用程序和庫,這個組可以在ROS 2之上加速OSI L7應(yīng)用程序或庫,包括導(dǎo)航、操作、感知或控制堆棧中的所選組件;第二個針對ROS2核心,在FPGA或SOM中加速或卸載ROS2節(jié)點;第三個針對ROS2的底層,包括完整或部分FPGA加速DDS實現(xiàn)、卸載網(wǎng)絡(luò)堆棧等等。
Kria SOM與KRS加速示例,AMD XILINX
以ROS2為核心,KRS從整體硬件加速的視角出發(fā),既優(yōu)化了ROS2內(nèi)的計算交互,也對在ROS2上的應(yīng)用提供了加速,在ROS2中實現(xiàn)了自適應(yīng)計算的集成。
寫在最后
KRS以ROS設(shè)計人員的視角提供了一種實現(xiàn)自適應(yīng)計算的思路,再結(jié)合SOM,為機器人應(yīng)用提供了雙重軟件和硬件靈活的計算基底,提供了下一代機器人所需的關(guān)鍵自適應(yīng)特性。
-
機器人
+關(guān)注
關(guān)注
211文章
28606瀏覽量
207861 -
AI
+關(guān)注
關(guān)注
87文章
31395瀏覽量
269787
發(fā)布評論請先 登錄
相關(guān)推薦
評論