首頁 > 科技

華為天才少年造出自動駕駛單車!圖紙已開源,硬體成本一萬

2021-06-09 18:03:10

魚羊 金磊 發自 凹非寺量子位 報道 | 公眾號 QbitAI

果然高手在民間。

誰能料到,一輛自行車的硬核開啟方式,竟是大火的自動駕駛

踢開腳撐,金雞獨立、穩如泰山:

單側加個板磚?小場面:

畢竟,它是連高難度「雜技姿勢」都能hold住的自行車:

沒事走兩步?

可以有,還是會自己拐彎的那種:

避障上路,毫無壓力:

甚至還配備了特斯拉都沒有的鐳射雷達

這就是B站「野生鋼鐵俠」稚暉君耗時4個月時間(基本只是週末),打造出的全新項目XUAN(軒)。

短短几天,播放量超過150W,硬核、複雜程度之高,直接看呆一眾網友。

來感受一下這個畫風。

連B站老闆陳睿都被吸引而來:

甚至業內人士也直呼:

任何一個部分拿出來都是一篇本科畢業論文。還有實物,碩士畢業綽綽有餘……

稚暉君到底是如何打造的這麼一臺「賽博朋克」自行車?

接下來,讓我們一起一探究竟(經授權)。

(你可能還很關心它的價格,彆著急,我們文末揭曉答案~)

把自行車做成自動駕駛,共分幾步?

稚暉君選擇的自行車,是大家非常熟知的死飛(Fixed Gear)。

(沒錯,就是漂移玩家的最愛)

這種自行車的一大特點,便是結構簡單、沒有剎車。

於是,稚暉君先對死飛進行了一個CAD建模的工作。

建模工作完成之後,便得到了一輛虛擬自行車

此後的所有改造工作,便可以在計算機上完成。

整體來看,XUAN的誕生一共分為三大步

硬體改造:因為自行車是一個欠驅動系統,所以先要做的就是讓它站穩,然後跑起來。這一步將涉及一套複雜的自動控制系統智慧化:畢竟自動駕駛嘛,「工具人」就得被抹去。因此,這一步便是搭載一整套感測器組成的感知網路,以及一個算力足夠強大的計算晶片作大腦軟體和演算法:最後一步,便是在上述的硬體基礎上,開發、實現一套感知和控制演算法。稚暉君稱之為「注入靈魂」。

Step by Step,先來看下第一個大問題。

自行車怎麼自己保持平衡?

在騎自行車的時候,前後方向的平衡,靠得是2個輪子的支撐和地面摩擦力。

左右方向上,運動過程中靠的是龍頭的左右調節,獲取轉向的加速度,以此抵消重力的影響。像這樣:

那麼在靜止狀態下呢?

稚暉君給出的思路便是——角動量守恆

簡單來說,當車子在重力作用下發生傾倒,就用動量輪來產生一個相反力矩,抵消掉重力力矩。

具體而言,稚暉君在這輛死飛座位下方安裝了一個無刷電機,目的是驅動一個金屬的動量輪。

而在座位後方,他也安裝了一個無刷電機,這個目的則是靠摩擦力來驅動後輪,讓自行車整體前後運動。

稚暉君本是想用3D列印來完成這兩個零件的加工,但礙於材料硬度和剛性不足,所以金屬材料成為了此次的首選。

(所幸,稚暉君朋友家裡「有廠」,問題迎刃而解)

而後,便是快樂的組裝環節:

OK,自行車的平衡問題,就此解決。

自行車的「機器大腦」

硬體框架有了,想讓自行車能跑起來,甚至能認路,下一步就是上「腦子」。

跟人類相似,機器人也分「大腦」和「小腦」。

簡單來說,小腦用來控制實時行動;大腦則負責耗費算力、高時延的感知和決策。

這一回,稚暉君給自行車上的「小腦」是ESP32。

ESP32是一種低成本、低功耗的微控制器控制器,整合Wi-Fi和雙模藍芽。

基於FreeRTOS(一個開源嵌入式實時作業系統),稚暉君搭建了小腦的RPC通訊框架,用來實現感測器的資料處理,以及電機的控制演算法。

「大腦」則是昇騰310。這是昇騰系列的邊緣計算晶片,基於達芬奇架構,最高能夠提供22TOPs的算力。

大腦的演算法開發,主要基於昇騰AI棧和ROS(機器人作業系統)實現。

於是,在深度相機、鐳射雷達等感測器的幫助之下,這輛自行車能夠檢測出周圍的物體,實現避障和跟隨:

還能夠機智地識別地形,給自己規劃路徑:

自行車的「機器心臟」

當然啦,「成精」的自行車,不僅要有頭腦,還要有一顆強勁的「心臟」來驅動它工作。

而XUAN的「心臟」來自稚暉君的另一個項目,Ctrl-FOC向量控制驅動器

這是一個超迷你雙通道無刷電機驅動器,單路最大驅動電流能超過100A

值得一提的是,稚暉君的這一FOC驅動器有兩個版本的設計方案,其中一個版本,電路設計為上下疊板設計,將邏輯單元和功率單元分開。也就是說,只需要替換掉驅動電路,就可以匹配更大功率的電機。

具體到XUAN這個項目,下圖中這麼大點的驅動器,最終實現了兩路共100A的無刷電機FOC控制,還驅動了車頭60kg扭力舵機和散熱風扇。

最後,注入靈魂

萬事俱備,但想要上路,至此還少了一點煉丹的靈魂——調參

稚暉君表示,這輛自動駕駛自行車的控制程式碼中,有超過50個重要參數,包括控制週期、反饋矩陣、PID增益、濾波器截止頻率等等。

此外,電機的功率、重心的分佈等物理參數,也都會對最終的效果造成影響。

稍有不慎,那自行車就不是穩如老狗那畫風了……

在數學建模之後,稚暉君還採用了遊戲引擎Unity作為模擬環境,像正經自動駕駛研發那樣,先在模擬環境裡讓自行車跑了個踏實。

總之,讓一輛自行車成熟起來,自己上路,夠不容易的。

就有網友表示:

人傻了,畢業設計題目是自行車自平衡系統設計,做到調參就不會了。

不過,受限於整車功率,目前這輛自行車還不能載人。

另外,也有網友提出,用動量輪來控制平衡屬於某種意義上的作弊。對此,稚暉君迴應:現在的龍頭傳動結構設計不太合理,之後會嘗試只用龍頭控制平衡。

為什麼要造XUAN?

有關「棧溢位工程師」、「野生鋼鐵俠」稚暉君,想來關注B站科技區的小夥伴們已經很熟悉了。

稚暉君本名彭志輝,2018年畢業於電子科技大學,2020年通過「天才少年計劃」加入華為。

他的視訊向來以硬核著稱,比如從手畫PCB到寫C++程式碼全部一人搞定的套娃小電視。

辣麼這次,稚暉君又是怎麼萌發了打造一輛自動駕駛自行車的念頭的呢?

理由有些「暴力」……

騎車不小心摔了,臉剎著地……

稚暉君表示,「這事不能就這麼過去了」,於是乎:

(心疼稚暉君幾秒)

當然,稚暉君本人也在視訊中表示,其實很早就有設計這種自行車的想法。

最初是因為看到清華大學的那項自行車研究,可以跟隨人類,敏捷避開障礙物。

其背後的類腦晶片「天機」,也於2019年8月登上Nature封面。

好奇的小夥伴肯定會問了,二者有何區別

量子位替你們問完了哈~

首先,是原理不太一樣。

清華的自行車模仿的是人類行為,沒有使用動量控制,而稚暉君的「軒」則涉及到了動量控制。

此外,在龍頭方面,稚暉君表示在改進過後,也可以實現清華的控制方式(移動過程使用龍頭平衡,靜止狀態使用動量平衡)。

但最核心的一個區別就是,清華打造的自行車背後,核心是類腦晶片

對此,稚暉君表示:

他們的工作很厲害,我這個無法類比,只是受他們啟發做了個類似的應用。

為了體現跟清華工作的區別,稚暉君本人還在項目名字上下點了功夫。

XUAN裡的「U」,代表的意思是unNATURAL,「正經翻譯」就是——沒上過Nature……

這個項目一如既往地開源了,如果你也想復刻一下……

哦對了,是時候該揭曉XUAN的造價了——據大神本人不完全統計,超3萬元

不過,稚暉君也表示:

最終硬體成本來算的話應該不到一萬,就鐳射雷達貴一點,主要還是試錯成本。

以及,劃重點,不售賣哈~

視訊連線:https://www.bilibili.com/video/BV1fV411x72a

項目連線:https://github.com/peng-zhihui/XUAN-Bike/tree/main/Hardware/XUAN%E5%8A%A0%E5%B7%A5%E4%BB%B6

參考連結:[1]https://zhuanlan.zhihu.com/p/147659820[2]https://www.bilibili.com/video/BV11V41127pq


IT145.com E-mail:sddin#qq.com