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