譯者| 李睿
審校| 孫淑娟
在開發機器人時,系統整合往往佔用了大部分的專案資源,這比開發最終應用程式還要重要。隨著低階工業協作機器人的出現,出現了只專注於開發在現有硬體上運行的軟體開發商。然而,機器人的硬體和軟體能力之間存在著至關重要的關係。需要保留對運算硬體的設計控制,以創建更專業、更節能、安全和高效能的機器人。
#如果機器人專家希望交付未來需要的更好、更快的機器人,就必須克服硬體面臨的障礙。在後摩爾時代的運算世界中,升級硬體以採用最新一代微處理器無法實現所需的應用程式效能升級。其前進的道路不再在於等待最新的晶片。硬體加速通常是獲得必要收益的唯一途徑。
這種硬體挑戰使機器人等學科的開發人員的工作變得更加複雜,他們的技能往往偏向於開發軟體。這意味著如果他們要滿足市場對新型工業機器人的需求,就必須面對設計自適應運算硬體的前景。在生產線和倉庫等領域使用機器人來提高生產力的企業,正在尋找能夠提供額外靈活性、更精細的位置控制、卓越的基於視覺的能力、改進的資料擷取和更低功耗的設備。
機器人硬體加速的主要原理是,與傳統的控制驅動方法不同,用於軟體開發的混合控制和資料驅動方法允許團隊設計自訂運算架構,為應用程式分配最佳數量的硬體資源。
就實作而言,需要異質計算模型。這利用了CPU和GPU的優勢,它們在控制流程運算方面表現出色,同時利用FPGA的優勢來處理資料流運算。這種方法同時提供了對CPU/GPU的靈活性和完全控制,以實現複雜的運算,具有低功耗、高效能、低延遲和硬體加速的確定性。現在,各種供應商都在提供自適應系統單晶片(SoC)和系統級模組(SOM)設備,例如AMD-Xilinx Kria™SOM及其相關的Kria機器人堆疊,它們提供了這種混合計算模型的優勢.表格比較了這些不同的模型。
自適應系統單晶片(SoC)和系統級模組(SOM)讓機器人專家透過對創建正確資料路徑和控制機制的架構進行程式設計來建構機器行為。然而,需要複雜的工程技能來使用既定的工具和技術對此類架構進行程式設計。
機器人專家缺乏合適的硬體和嵌入式設計專業知識,他們習慣以計算圖的形式建構行為,以解決當前的機器人任務。他們經常使用C 透過高級軟體工程實踐來創建複雜的即時確定性系統。
#現在需要一種不同的方法來幫助機器人專家利用可用的硬體加速技術。在理想情況下,這種方法應該讓他們在熟悉的開發環境(例如ROS)中創建自訂硬件,並使用熟悉的工具(例如Gazebo)進行模擬。
ROS是機器人應用程式開發的事實上的業界標準,自從2020年ROS2問世以來更是如此。這已成為跨行業機器人應用程式的預設軟體開發工具包(SDK),許多團體現在都在使用ROS和Gazebo。
先前將自適應運算整合到ROS中的措施已經從硬體工程師的角度解決了這個挑戰。他們假設使用者以前有嵌入式和硬體流程的經驗,因此熟悉RTL、HDL和HLS等概念以及用於操作它們的設計工具。同樣,部署到嵌入式目標需要對Yocto、OpenEmbedded和相關工具有一定的了解。
了解大多數機器人專家並非來自這一背景,ROS2硬體加速工作小組(HAWG)正在採用以ROS為中心的方法,將嵌入式流程直接整合到ROS生態系統中。它的目標是提供類似於機器人專家在桌面工作站中建立ROS工作區時所享受的體驗。
HAWG的工作建立在已發表的關於最佳化ROS計算圖以利用自適應計算的研究,以及在可程式邏輯中加速部分圖的工具和方法的建議之上。除此之外,HAWG現在正在提出一種架構(如下圖所示),該架構專注於C 和OpenCL等熟悉的語言。
#ROS 2和HAWG堆疊一起促進了硬體加速
所提出的架構與平台無關,因此適用於邊緣設施、工作站、資料中心或雲端運算平台,而且與技術無關,以允許針對FPGA、CPU和GPU以及易於移植到各種模組和主機板。
最終,這項工作應該讓大多數機器人專家能夠利用硬體加速的機會來實現下一代先進且複雜的機器人。
原文標題:#Simplifying hardware acceleration for robots with ROS 2##Simplifying hardware acceleration for robots with ROS 2#,作者:Ben Dickson
###以上是如何使用ROS 2簡化機器人的硬體加速的詳細內容。更多資訊請關注PHP中文網其他相關文章!