機(jī)器人對MCU有獨特的需求。經(jīng)過優(yōu)化用于機(jī)器人的 MCU 通常包含多種功能,包括內(nèi)置互聯(lián)網(wǎng)協(xié)議 (IP) 連接、信息安全和功能安全保護(hù)以及高級控制算法。將 MCU 內(nèi)核與現(xiàn)場可編程門陣列 (FPGA) 集成是優(yōu)化機(jī)器人應(yīng)用的一種手段。機(jī)器人操作系統(tǒng) (ROS) 最初針對更高性能的中央處理器 (CPU) 進(jìn)行了優(yōu)化,現(xiàn)在已被簡化并作為微型 ROS 發(fā)布,以便在嵌入式 MCU 和其他資源較少的環(huán)境中運(yùn)行,進(jìn)一步提高了 MCU 在機(jī)器人技術(shù)中的實用性。
用于機(jī)器人的 MCU 采購繼續(xù)成倍增加。本 FAQ 將回顧基本的機(jī)器人平臺架構(gòu),特別強(qiáng)調(diào) MCU 的使用;它回顧了 MCU 內(nèi)核與 FPGA 集成時打開的性能選項,并回顧了使用 micro-ROS 的好處。 MCU 是機(jī)器人設(shè)計中的重要元素。即使是簡單的消費(fèi)類機(jī)器人也可以包含多個 MCU,用于實現(xiàn)通信、用戶界面、USB 和電機(jī)控制等專用功能(圖 1)。
圖 1:即使是相對簡單的機(jī)器人真空吸塵器,也可以有多個 MCU 來處理專門的用戶界面、連接和電機(jī)控制任務(wù)。 (圖片:Microchip)
智能工廠和工業(yè) 4.0 的出現(xiàn)正在推動對日益精密和復(fù)雜的工業(yè)機(jī)器人的需求。包括網(wǎng)絡(luò)通信、功能安全需求和預(yù)測性維護(hù)等需求增長,需要更高性能外設(shè)和加速器的 MCU 。通常運(yùn)行頻率為 800 MHz 至 1GHz 的異構(gòu)多核 MCU。處理速度對于支持多軸機(jī)器人中電機(jī)位置、方向、速度和扭矩的高精度控制至關(guān)重要。
用于機(jī)器人的高性能 MCU 包括支持伺服控制所需計算的專用加速器硬件。在某些情況下,電流控制環(huán)路計算可以在 1.5μs 內(nèi)完成。在伺服電機(jī)驅(qū)動系統(tǒng)中,控制回路可以分為多個層次,包括更高級別的運(yùn)動控制回路、位置回路、速度回路和轉(zhuǎn)矩/電流回路,以級聯(lián)拓?fù)浣Y(jié)構(gòu)排列(圖 2)。上游控制回路倍數(shù)于下游控制回路,并為下游提供參考數(shù)據(jù),其中轉(zhuǎn)矩或電流回路是最嚴(yán)密的控制回路。
圖 2:伺服電機(jī)控制回路級聯(lián)拓?fù)洹?(圖片:德州儀器)
上述架構(gòu)中的控制回路可以在多核 MCU 中的不同內(nèi)核實現(xiàn),也可以在 MCU 內(nèi)核和 FPGA 之間進(jìn)行劃分。分區(qū)的優(yōu)化通過在獨立計算資源之間擴(kuò)展循環(huán)來最大化可用處理帶寬。每個處理核心都可以快速運(yùn)行其特定算法,將結(jié)果向下傳遞以供下一個循環(huán)使用。同時,它根據(jù)需要繼續(xù)提供其他功能,直到下一組輸入數(shù)據(jù)到達(dá),算法再次開始。
單個 MCU 內(nèi)核需要高水平的性能才能擁有可用于快速處理基本算法和提供系統(tǒng)所需的附加功能的帶寬。由于循環(huán)時間在 32 kHz 控制回路中接近 31.25 μs,或者必須幾乎同時處理來自多軸的輸入,因此必須進(jìn)行快速處理。有時,它可能需要一個或多個高性能 MCU 加上一個 FPGA 的組合。
MCU、FPGA 和 eFPGA
在機(jī)器人系統(tǒng)中,MCU 和 FPGA 的組合可以提供比單一產(chǎn)品更合適的解決方案。其中MCU 靈活且易于編程。 MCU 也可以處理某種級別的并行運(yùn)算,但最終內(nèi)核可能成為更高級別并行性能的瓶頸。 FPGA 由數(shù)千個邏輯塊組成,這些邏輯塊可以配置為大規(guī)模并行處理。 FPGA 還可以提供更高級別的靈活性,但它們往往更昂貴。
MCU 非常適合處理多軸伺服控制等常規(guī)功能。 FPGA 可包含大量 DSP 模塊和可編程邏輯,可支持人工智能 (AI)、機(jī)器學(xué)習(xí) (ML) 和卷積神經(jīng)網(wǎng)絡(luò) (CNN) 推理算法所需的并行處理。機(jī)器人平臺上需要的 AI/ML/CNN 功能越多,將 FPGA 與 MCU 一起結(jié)合的好處就越大。
用戶可以使用多種微控制器軟件開發(fā)工具中的一種。在 FPGA 的情況下,邏輯不是固定的,而是通過在硬件中設(shè)計互連結(jié)構(gòu)來“編程”設(shè)備以執(zhí)行特定功能。這些差異導(dǎo)致了 MCU 和 FPGA 之間的成本和性能權(quán)衡(圖 3)。
圖 3:FPGA 和 MCU 為機(jī)器人平臺設(shè)計人員提供了多種性能和成本權(quán)衡。 (圖片:Digilent)
根據(jù)具體設(shè)計的需要,MCU和FPGA的結(jié)合方式有以下三種:
MCU 和 FPGA 可以組合為兩個分立組件
FPGA 可以包含一個集成的 MCU 內(nèi)核
MCU 可以包括一個集成的 FPGA 部分
這些方法中的每一種都有其優(yōu)點。對于同時需要高性能伺服控制能力和大量 AI/ML/CNN 功能的應(yīng)用,高性能 MCU 可以與單獨的大型 FPGA 相結(jié)合。 MCU 可能用于控制功能,而 FPGA 用于機(jī)器人平臺上更密集的人工智能和機(jī)器學(xué)習(xí)活動。在需要大規(guī)模并行處理和 AI/ML/CNN 占主導(dǎo)地位的情況下,MCU 內(nèi)核可以與大型 FPGA 集成。在 MCU 占主導(dǎo)地位且需要相對少量并行處理的情況下,可以將較小的嵌入式 FPGA (eFPGA) 與高性能 MCU 集成。
在許多機(jī)器人應(yīng)用中,通常首選其中一種集成解決方案,集成解決方案可以提供更高的性能水平。當(dāng)分立的 FPGA 與單獨的 MCU 結(jié)合使用時,每個設(shè)備都需要其內(nèi)存緩沖區(qū)來處理它們之間的數(shù)據(jù)傳輸。如果需要在 MCU 和 FPGA 之間傳輸大量數(shù)據(jù),系統(tǒng)性能會受到影響。另一方面,如果 FPGA 和 MCU 集成在一塊芯片中,它們可以共享 DDR 內(nèi)存,并且數(shù)據(jù)傳輸不需要緩沖。在這種情況下,數(shù)據(jù)傳輸只涉及在 MCU 和 FPGA 之間傳輸存儲器指針。
MCU 機(jī)器人操作系統(tǒng)
基本機(jī)器人操作系統(tǒng) (ROS) 是一個用于機(jī)器人應(yīng)用程序開發(fā)的開源軟件框架,針對運(yùn)行 Ubuntu Focal、macOS 和 Windows 10 等操作系統(tǒng)的微處理器進(jìn)行了優(yōu)化。ROS 2 是新一代的 ROS。 ROS 2 采用分層架構(gòu)設(shè)計,將 ROS 客戶端層與 ROS 中間件層分開。 ROS 領(lǐng)域的最新發(fā)展是 micro-ROS,它將 ROS 2 帶入中檔和更高級別的 MCU。需要具有數(shù)十 KB RAM 的 MCU 來實現(xiàn)微型 ROS。 MCU 中還需要支持 micro-ROS 客戶端到代理通信的通信外圍設(shè)備。
micro-ROS 提供了一個 ROS 2 開發(fā)生態(tài)系統(tǒng),可以在實時操作系統(tǒng) (RTOS) 之上運(yùn)行,使它們能夠滿足需要時間期限或確定性響應(yīng)的機(jī)器人系統(tǒng)任務(wù)的時間關(guān)鍵要求。FreeRTOS 是 micro-ROS 項目支持的首批 RTOS 之一,并已集成到其軟件堆棧中。 FreeRTOS 社區(qū)開發(fā)的所有實現(xiàn)和工具都可以與 micro-ROS 兼容(圖 4)。
圖 4:微型 ROS 堆棧顯示與 FreeRTOS 環(huán)境的兼容性。 (圖片:FreeRTOS)
FreeRTOS 具有最小的內(nèi)存和處理開銷,RTOS 內(nèi)核二進(jìn)制映像僅需要 6K 到 12K 字節(jié),非常適合運(yùn)行 micro-ROS。除了 FreeRTOS 之外,micro-ROS 還可以與 Zepher RTOS 一起運(yùn)行,并且 Zepher 由 micro-ROS 客戶端庫及其中間件支持。
總結(jié)
為機(jī)器人平臺指定 MCU 是一個復(fù)雜的過程。通常需要多個 MCU 或具有多個內(nèi)核的單個 MCU,以及可能添加的 FPGA,作為外部設(shè)備或 MCU 內(nèi)的嵌入式元件。在考慮 MCU 和 FPGA 的集成時,需要進(jìn)行多種權(quán)衡。例如,MCU 可用于控制功能,而 FPGA 則用于機(jī)器人平臺上更密集的人工智能和機(jī)器學(xué)習(xí)。在 MCU 上運(yùn)行的微型 ROS 機(jī)器人操作系統(tǒng)的發(fā)布是高級機(jī)器人平臺設(shè)計人員可用的另一個重要工具。
審核編輯:湯梓紅
-
處理器
+關(guān)注
關(guān)注
68文章
19404瀏覽量
231021 -
mcu
+關(guān)注
關(guān)注
146文章
17316瀏覽量
352464 -
機(jī)器人
+關(guān)注
關(guān)注
211文章
28632瀏覽量
208236
發(fā)布評論請先 登錄
相關(guān)推薦
評論