譯者 | 李睿
審校 | 孫淑娟
在開(kāi)發(fā)機(jī)器人時(shí),系統(tǒng)集成往往占用了大部分的項(xiàng)目資源,這比開(kāi)發(fā)最終應(yīng)用程序還要重要。隨著低端工業(yè)協(xié)作機(jī)器人的出現(xiàn),出現(xiàn)了只專(zhuān)注于開(kāi)發(fā)在現(xiàn)有硬件上運(yùn)行的軟件開(kāi)發(fā)商。然而,機(jī)器人的硬件和軟件能力之間存在著一個(gè)至關(guān)重要的關(guān)系。需要保留對(duì)計(jì)算硬件的設(shè)計(jì)控制,以創(chuàng)建更專(zhuān)業(yè)、更節(jié)能、安全和高性能的機(jī)器人。
硬件挑戰(zhàn)和軟件技能
如果機(jī)器人專(zhuān)家希望交付未來(lái)需要的更好、更快的機(jī)器人,就必須克服硬件面臨的障礙。在后摩爾時(shí)代的計(jì)算世界中,升級(jí)硬件以采用最新一代微處理器無(wú)法實(shí)現(xiàn)所需的應(yīng)用程序性能升級(jí)。其前進(jìn)的道路不再在于等待最新的芯片。硬件加速通常是獲得必要收益的唯一途徑。
這種硬件挑戰(zhàn)使機(jī)器人等學(xué)科的開(kāi)發(fā)人員的工作變得更加復(fù)雜,他們的技能往往偏向于開(kāi)發(fā)軟件。這意味著如果他們要滿足市場(chǎng)對(duì)新型工業(yè)機(jī)器人的需求,就必須面對(duì)設(shè)計(jì)自適應(yīng)計(jì)算硬件的前景。在生產(chǎn)線和倉(cāng)庫(kù)等領(lǐng)域使用機(jī)器人來(lái)提高生產(chǎn)力的企業(yè),正在尋找能夠提供額外靈活性、更精細(xì)的位置控制、卓越的基于視覺(jué)的能力、改進(jìn)的數(shù)據(jù)捕獲和更低功耗的設(shè)備。
機(jī)器人硬件加速的主要原理是,與傳統(tǒng)的控制驅(qū)動(dòng)方法不同,用于軟件開(kāi)發(fā)的混合控制和數(shù)據(jù)驅(qū)動(dòng)方法允許團(tuán)隊(duì)設(shè)計(jì)自定義計(jì)算架構(gòu),為應(yīng)用程序分配最佳數(shù)量的硬件資源。
就實(shí)現(xiàn)而言,需要異構(gòu)計(jì)算模型。這利用了CPU和GPU的優(yōu)勢(shì),它們?cè)诳刂屏饔?jì)算方面表現(xiàn)出色,同時(shí)利用FPGA的優(yōu)勢(shì)來(lái)處理數(shù)據(jù)流計(jì)算。這種方法同時(shí)提供了對(duì)CPU/GPU的靈活性和完全控制,以實(shí)現(xiàn)復(fù)雜的計(jì)算,具有低功耗、高性能、低延遲和硬件加速的確定性。現(xiàn)在,各種供應(yīng)商都在提供自適應(yīng)片上系統(tǒng)(SoC)和系統(tǒng)級(jí)模塊(SOM)設(shè)備,例如AMD-Xilinx Kria?SOM及其相關(guān)的Kria機(jī)器人堆棧,它們提供了這種混合計(jì)算模型的優(yōu)勢(shì).該表比較了這些不同的模型。
自適應(yīng)片上系統(tǒng)(SoC)和系統(tǒng)級(jí)模塊(SOM)允許機(jī)器人專(zhuān)家通過(guò)對(duì)創(chuàng)建正確數(shù)據(jù)路徑和控制機(jī)制的架構(gòu)進(jìn)行編程來(lái)構(gòu)建機(jī)器行為。然而,需要復(fù)雜的工程技能來(lái)使用既定的工具和技術(shù)對(duì)此類(lèi)架構(gòu)進(jìn)行編程。
機(jī)器人專(zhuān)家缺乏合適的硬件和嵌入式設(shè)計(jì)專(zhuān)業(yè)知識(shí),他們習(xí)慣于以計(jì)算圖的形式構(gòu)建行為,以解決當(dāng)前的機(jī)器人任務(wù)。他們經(jīng)常使用C++通過(guò)高級(jí)軟件工程實(shí)踐來(lái)創(chuàng)建復(fù)雜的實(shí)時(shí)確定性系統(tǒng)。
建立在機(jī)器人操作系統(tǒng)(ROS)之上
現(xiàn)在需要一種不同的方法來(lái)幫助機(jī)器人專(zhuān)家利用可用的硬件加速技術(shù)。在理想情況下,這種方法應(yīng)該讓他們?cè)谑煜さ拈_(kāi)發(fā)環(huán)境(例如ROS)中創(chuàng)建自定義硬件,并使用熟悉的工具(例如Gazebo)進(jìn)行模擬。
ROS是機(jī)器人應(yīng)用程序開(kāi)發(fā)的事實(shí)上的行業(yè)標(biāo)準(zhǔn),自從2020年ROS2問(wèn)世以來(lái)更是如此。這已成為跨行業(yè)機(jī)器人應(yīng)用程序的默認(rèn)軟件開(kāi)發(fā)工具包(SDK),許多團(tuán)體現(xiàn)在都在使用ROS和Gazebo。
以前將自適應(yīng)計(jì)算集成到ROS中的舉措已經(jīng)從硬件工程師的角度解決了這一挑戰(zhàn)。他們假設(shè)用戶以前有嵌入式和硬件流程方面的經(jīng)驗(yàn),因此熟悉RTL、HDL和HLS等概念以及用于操作它們的設(shè)計(jì)工具。同樣,部署到嵌入式目標(biāo)需要對(duì)Yocto、OpenEmbedded和相關(guān)工具有一定的了解。
了解大多數(shù)機(jī)器人專(zhuān)家并非來(lái)自這一背景,ROS2硬件加速工作組(HAWG)正在采用以ROS為中心的方法,將嵌入式流程直接集成到ROS生態(tài)系統(tǒng)中。它的目標(biāo)是提供類(lèi)似于機(jī)器人專(zhuān)家在桌面工作站中構(gòu)建ROS工作區(qū)時(shí)所享受的體驗(yàn)。
HAWG的工作建立在已發(fā)表的關(guān)于優(yōu)化ROS計(jì)算圖以利用自適應(yīng)計(jì)算的研究,以及在可編程邏輯中加速部分圖的工具和方法的建議之上。除此之外,HAWG現(xiàn)在正在提出一種架構(gòu)(如下圖所示),該架構(gòu)專(zhuān)注于C++和OpenCL等熟悉的語(yǔ)言。
ROS 2和HAWG堆棧一起促進(jìn)了硬件加速
所提出的架構(gòu)與平臺(tái)無(wú)關(guān),因此適用于邊緣設(shè)施、工作站、數(shù)據(jù)中心或云計(jì)算平臺(tái),而且與技術(shù)無(wú)關(guān),以允許針對(duì)FPGA、CPU和GPU以及易于移植到各種模塊和主板。
最終,這項(xiàng)工作應(yīng)該使大多數(shù)機(jī)器人專(zhuān)家能夠利用硬件加速的機(jī)會(huì)來(lái)實(shí)現(xiàn)下一代先進(jìn)和復(fù)雜的機(jī)器人。
原文標(biāo)題:??Simplifying hardware acceleration for robots with ROS 2??,作者:Ben Dickson