用華為、小米手機DIY自主導航機器人:只需三百塊,教程已開源,人人可上手
一提到制造機器人,很多人的腦海里會不自覺地想到:要搞一個AlphaGo代我出戰世界各大圍棋比賽贏多點獎金!或者搞個波士頓動力的機器人Atlas,會爬、會跳還會翻跟斗,還能幫忙抬抬重物、捶捶肩膀...美滋滋~美滋滋~
嗯哼,問題來了:要搞一個這么厲害的機器人,那不得技術夠強、設備夠全、人手夠足,而且工序繁瑣,耗上個三五年,還價格不菲…why bother? (攤手)
但是,就在近日,來自英特爾的研究人員Matthias Muller和Vladlen Koltun,僅花不過50美元(約350元人民幣),在幾個小時之內,隨便動動手就做出了一個機器人!
這臺機器人究竟是何方神圣呢?請看下圖:
這個機器人走得還挺快?長得還挺像個可愛的小女孩?
哦看錯了,是那個藍色的迷你輪式小機器。
為什么稱之為“機器人”呢?因為它有一個智能大腦,猜猜是什么?雷鋒網
萬萬沒想到:居然是我們手上正拿著的手機!雷鋒網
它還有一個酷炫的名字,叫做OpenBot~我們暫且親切地給它起個小名,Bobo/“波波”。以下AI科技評論為大家介紹以下Bobo的廬山真面目:雷鋒網
1
神奇的誕生
機器人領域一直存在兩大難題,一是普及性(accessibility),二是可拓展性(scalability)。由于制造的成本高昂、過程繁瑣,機器人難以向大眾普及。Muller和Koltun研究OpenBot正是為了解決機器人技術這兩個“絆腳石”!
在他們共同發表的論文《OpenBot:將智能手機變成機器人》中,他們提到,將智能手機作為機器人的大腦提供動力,與簡單的3D打印底盤組裝后,僅需50美元就能打造一個能夠跟隨人員、進行實時自主導航的機器人。
制造OpenBot的過程并不復雜:給機器人配備傳感器、計算設備(computation)、通信設備(communication)和對開放軟件生態系統(open software ecosystem)的訪問權限即可。
如上所示,總共需要花費清單如下:一個3D打印的底座:5美元;四個輪子:3.5美元;三節電池:7美元;兩個速度傳感器:2美元;一個馬達驅動器:3美元;一個微控制器:8美元。
之所以使用手機作為Bobo的大腦,是因為如今智能手機的功能越來越強大,手機的相機質量和處理器速度等方面也正在不斷提高。即使是商業手機也配有慣性測量單元(inertial measurement units)、GPS、Wi-Fi、藍牙、蜂窩調制解調器以及專門用于AI神經網絡模型Inference的芯片。有些手機配件的性能比電腦處理器(desktop processor)還要出色!
研究者將智能手機插入一個電機體(electromechanical body)內,主要用于傳感、數據融合和計算。此外,底盤最多可容納四臺馬達(motor),還留有一些空位用于安裝控制器、微控制器、LED燈、智能手機安裝座(smartphone mount)和USB數據線。
在充電方面,電池組與專門的充電端口連接,向馬達供電,并有一塊Andruino Nano板(一個基于易用硬件和軟件的開源電子平臺)通過USB與智能手機配對,向機器人提供串行通信鏈路(serial communication link)和電量(power)。
機器人的兩個前輪還配備了能夠傳送測距信號的傳感器,以及與馬達連接的引腳(pin)實時調整速度和方向。
Bobo的軟件堆層也較為簡易,僅包含兩個通過串行鏈接進行通信的組件。操作人員可以在智能手機上安裝一個安卓app,然后通過app的界面,在運行更高級別的感知和把控工作量的同時進行數據集的收集。此外,在Arduino上運行的程序能夠進行簡單的驅動,并測量里程計與電池電壓等等。
安裝了安卓app之后,OpenBot還能通過你們現有的兼容了藍牙設備的PS4、Xbox和Switch等游戲控制器進行操控。控制器上的按鈕可以設定功能,在尋找路徑的模型(path-finding model)中進行數據收集和交換。這些模型包括方便上手的自動導航模型,可以檢測并跟蹤機器人視線內的人員。
整個組裝過程也很簡單,只需坐在桌子前“動手”即可,即使沒那么心靈手巧的人,只要拿出拼圖的耐心,想必就能完成。
這樣一臺簡單的機器人,效果究竟如何呢?
研究人員用中端手機小米Note 8、華為P30 Lite和小米Poco F1等設備進行了測試,如上圖所示,可以實現以每秒10幀或更快的速度跟蹤人員活動,因為這些手機裝備了專門的AI加速器。即使是配置最差的諾基亞2.2,也能成功檢測到目標人員,并跟蹤目標對象長達約一半測試時長。
在自主導航任務中,它還能夠巧妙地躲避辦公區走廊的盆栽植物。
2
手把手教程已開源
前面也提到,整個機器人的成本,除去手機之外,不到50美元(350元人民幣)。機器人的身體采用的是3D 打印零件,以及一臺智能手機(二手舊手機也可)。
上圖為作者5量車的零件批發價格
機器人背后的技術已經用論文的形式進行公布,而制作步驟,作者也在GitHub上進行了開源。相關零件也給出了購買渠道。就連3D打印圖紙也良心放出,甚至還給出了3D打印機的參數設置。
GitHub地址:https://github.com/intel-isl/OpenBot/tree/master/body
論文地址:https://arxiv.org/pdf/2008.10631.pdf
同時還給出了20個安裝過程的注意事項,可以說的良心手把手教程了:例如,如有必要,將電線連接到馬達上;將速度傳感器和超聲波傳感器連接到5V和GND等等。
在論文中,作者也介紹了利用智能手機的原由,即智能手機的優勢不止快速提升的硬件能力,它們還具備蓬勃發展的軟件生態系統。
智能手機在相機質量和處理器速度上不斷提高,配備GPS、Wi-Fi、藍牙、蜂窩調制解調器以及用于AI推理的專用芯片,有些性能甚至優于臺式處理器。
整個小型電動車(機器人)分為兩個部分,第一部分是硬件,也就是50美元就能搞定的那些零件;第二部分是軟件堆棧,其功能是讓智能手機將小車作為機身,并實現實時感知和計算的移動導航。
硬件的構造包括機械設計和電路設計兩部分,機械設計如下圖所示:
電路設計如下圖所示:頂部包括電池、電機控制器、微控制器、速度傳感器、指示燈LED和智能手機;底部包括,可選定制PCB以減少布線。
而軟件堆棧也包含兩部分:安卓應用和 Arduino 程序。其中,安卓應用在智能手機上運行,可以提供操作界面,收集數據集,運行高階的感知和控制任務。Arduino 程序負責低階的驅動和度量,如度量車輪里程、監控電池電壓等等。
軟件和硬件完備之后,英特爾的研究人員訓練機器人,期望能夠完成兩個任務,一個是行人跟蹤,另一個是自動導航。
在行人跟蹤任務中,研究人員將SSD對象檢測器與預先訓練的MobileNet主干一起使用。另外,為了研究推理時間的影響,作者使用了兩個不同版本的MobileNet,即最初的MobileNetV1和最新的MobileNetV3。另外,這兩個模型都在COCO數據集上進行訓練。
駕駛策略的訓練流程
在自主導航任務中,研究人員用了一個類似于“條件模仿學習的命令輸入變體(command-input variant of Conditional Imitation Learning)”的神經網絡,訓練了一個在大多數智能手機上都能實時運行的駕駛策略。另外,研究人員將其與現有的駕駛策略進行比較,并獲得與基線相似的性能,而所需參數減少了大約一個數量級。
OpenBot的出現,有望在全球范圍內部署成千上萬個低成本機器人,為機器人教育和大規模學習帶來新的機會。