如果你的 Raspberry Pi 在充當(dāng)媒體中心或復(fù)古游戲機(jī)一段時(shí)間后被閑置在抽屜里了,那現(xiàn)在是時(shí)候給它換個(gè)新“工作”了。本指南將帶你完成一項(xiàng)硬件升級,將你閑置的 Raspberry Pi 轉(zhuǎn)變?yōu)橐豢顚I(yè)級、開源的四足機(jī)器人——希沃德小狗版 Raspberry Pi 的大腦。這可不是一般的項(xiàng)目,而是要為閑置的計(jì)算核心賦予新的軀體和新的使命。
開始接觸機(jī)器人和人工智能可能會讓人望而生畏。復(fù)雜的設(shè)置、支離破碎的軟件以及對硬件成為金錢坑的恐懼,許多初學(xué)者甚至在編寫第一行代碼之前就遇到了瓶頸。TurboPi套件旨在打破這些障礙,提供一個(gè)預(yù)先配置的一體化平臺,讓你在幾分鐘內(nèi)從開箱到運(yùn)行的人工智能機(jī)器人。
Kria機(jī)器人堆棧(KRS)是由硬件加速工作組(HAWG)開發(fā)的機(jī)器人操作系統(tǒng)(ROS 2)的超集。它最初是由Xilinx/AMD為他們的Kria SoM系列開發(fā)的,通過將他們的Vitis統(tǒng)一工具鏈集成到ROS 2中,將硬件加速引入機(jī)器人生態(tài)系統(tǒng)。關(guān)于如何使用KRS和FPGA機(jī)器人實(shí)現(xiàn)第一個(gè)項(xiàng)目的文章已經(jīng)發(fā)表,如Whitney Knitter的系列。
這里介紹了第一個(gè)工作區(qū),即OS工作區(qū)。當(dāng)前的OS Workspace支持兩種不同的發(fā)行版,每種發(fā)行版都有自己獨(dú)特的流程和優(yōu)勢。盡管Ubuntu流程簡單易用,但Petalinux流程是否支持更廣泛的高級功能,并加深了對整個(gè)系統(tǒng)的理解?此外,它允許更復(fù)雜的解決方案與強(qiáng)化的操作系統(tǒng)或減少圖像大小。
本文將介紹新開發(fā)的自動化Vitis工作區(qū)流。原始的KRS流自動將內(nèi)核生成到配置在ROS 2包的CMakeLists.txt中的xclbin中,但目前未使用。雖然原始流程允許在ROS 2中直接生成內(nèi)核,但在開發(fā)新內(nèi)核時(shí),該流程很難使用。由于v++的大部分輸出都隱藏在CMake命令之后,開發(fā)人員幾乎得不到任何反饋。此外,測試和調(diào)整配置不是微不足道的,需要在CMake中顯式配置。由于直接調(diào)用了v++編譯器,因此之后不存在以更圖形化的方式檢查結(jié)果的項(xiàng)目,這需要進(jìn)一步的專業(yè)知識。
本文將介紹整個(gè)過程的最后一步。在前面的文章中,我們構(gòu)建了SD卡和sysroot,交叉編譯了應(yīng)用程序,并將內(nèi)核開發(fā)為xclbin文件?,F(xiàn)在,我們需要將所有內(nèi)容放到板子上,設(shè)置xclbin位流并啟動應(yīng)用程序。
該項(xiàng)目旨在創(chuàng)建一個(gè)開放的,制造商友好的機(jī)器人平臺,提供實(shí)時(shí)的,完全在設(shè)備上的手部檢測和跟蹤,所有這些都完全由邊緣計(jì)算驅(qū)動。它在設(shè)備內(nèi)置的神經(jīng)處理單元上運(yùn)行Edge Impulse優(yōu)化的YOLO-Pro對象檢測模型,以極低的功耗提供超過60 FPS的低延遲推理。ROS 2作為實(shí)時(shí)編排主干,清晰地分離感知、控制和驅(qū)動節(jié)點(diǎn),這使得系統(tǒng)在手勢識別、遠(yuǎn)程操作或協(xié)作機(jī)器人等應(yīng)用程序中具有高度可擴(kuò)展性。
該項(xiàng)目展示了一個(gè)自主的類人機(jī)器人,利用粒子速子和高通人工智能加速器來檢測和踢球,使用邊緣脈沖訓(xùn)練的YOLO-Pro模型。機(jī)器人利用ROS 2實(shí)現(xiàn)感知、決策和運(yùn)動控制的無縫集成。YOLO-Pro模型可實(shí)現(xiàn)高精度的實(shí)時(shí)球檢測,并針對高通AI加速器的邊緣部署進(jìn)行了優(yōu)化。該系統(tǒng)處理視覺輸入,規(guī)劃軌跡,并自動執(zhí)行精確的踢腳動作。這種創(chuàng)新的設(shè)置展示了嵌入式人工智能、邊緣計(jì)算和機(jī)器人技術(shù)在動態(tài)、現(xiàn)實(shí)世界任務(wù)中的協(xié)同作用。