華為天才少年造出自動(dòng)駕駛單車(chē)!圖紙已開(kāi)源。B站老板:重新定義「自行」車(chē)

魚(yú)羊 金磊 發(fā)自 凹非寺
量子位 報(bào)道 | 公眾號(hào) QbitAI
果然高手在民間。
誰(shuí)能料到,一輛自行車(chē)的硬核打開(kāi)方式,竟是大火的自動(dòng)駕駛。
踢開(kāi)腳撐,金雞獨(dú)立、穩(wěn)如泰山:

單側(cè)加個(gè)板磚?小場(chǎng)面:

畢竟,它是連高難度“雜技姿勢(shì)”都能hold住的自行車(chē):

沒(méi)事走兩步?
可以有,還是會(huì)自己拐彎的那種:

避障、上路,毫無(wú)壓力:

甚至還配備了特斯拉都沒(méi)有的激光雷達(dá)。
這就是B站“野生鋼鐵俠”稚暉君耗時(shí)4個(gè)月時(shí)間(基本只是周末),打造出的全新項(xiàng)目XUAN (軒)。

短短幾天,播放量超過(guò)150W,硬核、復(fù)雜程度之高,直接看呆一眾網(wǎng)友。
來(lái)感受一下這個(gè)畫(huà)風(fēng)。

連B站老板陳睿都被吸引而來(lái):

甚至業(yè)內(nèi)人士也直呼:
任何一個(gè)部分拿出來(lái)都是一篇本科畢業(yè)論文。
還有實(shí)物,碩士畢業(yè)綽綽有余……

稚暉君到底是如何打造的這么一臺(tái)“賽博朋克”自行車(chē)?
接下來(lái),讓我們一起一探究竟(經(jīng)授權(quán))。
(你可能還很關(guān)心它的價(jià)格,別著急,我們文末揭曉答案~)
把自行車(chē)做成自動(dòng)駕駛,共分幾步?
稚暉君選擇的自行車(chē),是大家非常熟知的死飛 (Fixed Gear)。
(沒(méi)錯(cuò),就是漂移玩家的最愛(ài))
這種自行車(chē)的一大特點(diǎn),便是結(jié)構(gòu)簡(jiǎn)單、沒(méi)有剎車(chē)。
于是,稚暉君先對(duì)死飛進(jìn)行了一個(gè)CAD建模的工作。

建模工作完成之后,便得到了一輛虛擬自行車(chē)。
此后的所有改造工作,便可以在計(jì)算機(jī)上完成。
整體來(lái)看,XUAN的誕生一共分為三大步:
硬件改造:因?yàn)樽孕熊?chē)是一個(gè)欠驅(qū)動(dòng)系統(tǒng),所以先要做的就是讓它站穩(wěn),然后跑起來(lái)。這一步將涉及一套復(fù)雜的自動(dòng)控制系統(tǒng)。
智能化:畢竟自動(dòng)駕駛嘛,“工具人”就得被抹去。因此,這一步便是搭載一整套傳感器組成的感知網(wǎng)絡(luò),以及一個(gè)算力足夠強(qiáng)大的計(jì)算芯片作大腦。
軟件和算法:最后一步,便是在上述的硬件基礎(chǔ)上,開(kāi)發(fā)、實(shí)現(xiàn)一套感知和控制算法。稚暉君稱之為“注入靈魂”。

Step by Step,先來(lái)看下第一個(gè)大問(wèn)題。
自行車(chē)怎么自己保持平衡?
在騎自行車(chē)的時(shí)候,前后方向的平衡,靠得是2個(gè)輪子的支撐和地面摩擦力。
而左右方向上,運(yùn)動(dòng)過(guò)程中靠的是龍頭的左右調(diào)節(jié),獲取轉(zhuǎn)向的加速度,以此抵消重力的影響。像這樣:

那么在靜止?fàn)顟B(tài)下呢?
稚暉君給出的思路便是——角動(dòng)量守恒。
簡(jiǎn)單來(lái)說(shuō),當(dāng)車(chē)子在重力作用下發(fā)生傾倒,就用動(dòng)量輪來(lái)產(chǎn)生一個(gè)相反力矩,抵消掉重力力矩。
具體而言,稚暉君在這輛死飛座位下方安裝了一個(gè)無(wú)刷電機(jī),目的是驅(qū)動(dòng)一個(gè)金屬的動(dòng)量輪。

而在座位后方,他也安裝了一個(gè)無(wú)刷電機(jī),這個(gè)目的則是靠摩擦力來(lái)驅(qū)動(dòng)后輪,讓自行車(chē)整體前后運(yùn)動(dòng)。

稚暉君本是想用3D打印來(lái)完成這兩個(gè)零件的加工,但礙于材料硬度和剛性不足,所以金屬材料成為了此次的首選。
(所幸,稚暉君朋友家里“有廠”,問(wèn)題迎刃而解)
而后,便是快樂(lè)的組裝環(huán)節(jié):

OK,自行車(chē)的平衡問(wèn)題,就此解決。
自行車(chē)的“機(jī)器大腦”
硬件框架有了,想讓自行車(chē)能跑起來(lái),甚至能認(rèn)路,下一步就是上“腦子”。
跟人類相似,機(jī)器人也分“大腦”和“小腦”。
簡(jiǎn)單來(lái)說(shuō),小腦用來(lái)控制實(shí)時(shí)行動(dòng);大腦則負(fù)責(zé)耗費(fèi)算力、高時(shí)延的感知和決策。
這一回,稚暉君給自行車(chē)上的“小腦”是ESP32。
ESP32是一種低成本、低功耗的單片機(jī)控制器,集成Wi-Fi和雙模藍(lán)牙。

基于FreeRTOS(一個(gè)開(kāi)源嵌入式實(shí)時(shí)操作系統(tǒng)),稚暉君搭建了小腦的RPC通信框架,用來(lái)實(shí)現(xiàn)傳感器的數(shù)據(jù)處理,以及電機(jī)的控制算法。
“大腦”則是昇騰310。這是昇騰系列的邊緣計(jì)算芯片,基于達(dá)芬奇架構(gòu),最高能夠提供22TOPs的算力。

大腦的算法開(kāi)發(fā),主要基于昇騰AI棧和ROS(機(jī)器人操作系統(tǒng))實(shí)現(xiàn)。
于是,在深度相機(jī)、激光雷達(dá)等傳感器的幫助之下,這輛自行車(chē)能夠檢測(cè)出周?chē)奈矬w,實(shí)現(xiàn)避障和跟隨:

還能夠機(jī)智地識(shí)別地形,給自己規(guī)劃路徑:

自行車(chē)的“機(jī)器心臟”
當(dāng)然啦,“成精”的自行車(chē),不僅要有頭腦,還要有一顆強(qiáng)勁的“心臟”來(lái)驅(qū)動(dòng)它工作。
而XUAN的“心臟”來(lái)自稚暉君的另一個(gè)項(xiàng)目,Ctrl-FOC矢量控制驅(qū)動(dòng)器。
這是一個(gè)超迷你雙通道無(wú)刷電機(jī)驅(qū)動(dòng)器,單路最大驅(qū)動(dòng)電流能超過(guò)100A。
值得一提的是,稚暉君的這一FOC驅(qū)動(dòng)器有兩個(gè)版本的設(shè)計(jì)方案,其中一個(gè)版本,電路設(shè)計(jì)為上下疊板設(shè)計(jì),將邏輯單元和功率單元分開(kāi)。也就是說(shuō),只需要替換掉驅(qū)動(dòng)電路,就可以匹配更大功率的電機(jī)。
具體到XUAN這個(gè)項(xiàng)目,下圖中這么大點(diǎn)的驅(qū)動(dòng)器,最終實(shí)現(xiàn)了兩路共100A的無(wú)刷電機(jī)FOC控制,還驅(qū)動(dòng)了車(chē)頭60kg扭力舵機(jī)和散熱風(fēng)扇。

最后,注入靈魂
萬(wàn)事俱備,但想要上路,至此還少了一點(diǎn)煉丹的靈魂——調(diào)參。
稚暉君表示,這輛自動(dòng)駕駛自行車(chē)的控制代碼中,有超過(guò)50個(gè)重要參數(shù),包括控制周期、反饋矩陣、PID增益、濾波器截止頻率等等。
此外,電機(jī)的功率、重心的分布等物理參數(shù),也都會(huì)對(duì)最終的效果造成影響。
稍有不慎,那自行車(chē)就不是穩(wěn)如老狗那畫(huà)風(fēng)了……

在數(shù)學(xué)建模之后,稚暉君還采用了游戲引擎Unity作為仿真環(huán)境,像正經(jīng)自動(dòng)駕駛研發(fā)那樣,先在仿真環(huán)境里讓自行車(chē)跑了個(gè)踏實(shí)。

總之,讓一輛自行車(chē)成熟起來(lái),自己上路,夠不容易的。
就有網(wǎng)友表示:
人傻了,畢業(yè)設(shè)計(jì)題目是自行車(chē)自平衡系統(tǒng)設(shè)計(jì),做到調(diào)參就不會(huì)了。

不過(guò),受限于整車(chē)功率,目前這輛自行車(chē)還不能載人。
另外,也有網(wǎng)友提出,用動(dòng)量輪來(lái)控制平衡屬于某種意義上的作弊。對(duì)此,稚暉君回應(yīng):現(xiàn)在的龍頭傳動(dòng)結(jié)構(gòu)設(shè)計(jì)不太合理,之后會(huì)嘗試只用龍頭控制平衡。

為什么要造XUAN?
有關(guān)“棧溢出工程師”、“野生鋼鐵俠”稚暉君,想來(lái)關(guān)注B站科技區(qū)的小伙伴們已經(jīng)很熟悉了。
稚暉君本名彭志輝,2018年畢業(yè)于電子科技大學(xué),2020年通過(guò)“天才少年計(jì)劃”加入華為。
他的視頻向來(lái)以硬核著稱,比如從手畫(huà)PCB到寫(xiě)C++代碼全部一人搞定的套娃小電視。
辣么這次,稚暉君又是怎么萌發(fā)了打造一輛自動(dòng)駕駛自行車(chē)的念頭的呢?
理由有些“暴力”……
騎車(chē)不小心摔了,臉剎著地……

稚暉君表示,“這事不能就這么過(guò)去了”,于是乎:

(心疼稚暉君幾秒)
當(dāng)然,稚暉君本人也在視頻中表示,其實(shí)很早就有設(shè)計(jì)這種自行車(chē)的想法。
最初是因?yàn)榭吹角迦A大學(xué)的那項(xiàng)自行車(chē)研究,可以跟隨人類,敏捷避開(kāi)障礙物。
其背后的類腦芯片“天機(jī)”,也于2019年8月登上Nature封面。

好奇的小伙伴肯定會(huì)問(wèn)了,二者有何區(qū)別?
量子位替你們問(wèn)完了哈~
首先,是原理不太一樣。
清華的自行車(chē)模仿的是人類行為,沒(méi)有使用動(dòng)量控制,而稚暉君的“軒”則涉及到了動(dòng)量控制。
此外,在龍頭方面,稚暉君表示在改進(jìn)過(guò)后,也可以實(shí)現(xiàn)清華的控制方式(移動(dòng)過(guò)程使用龍頭平衡,靜止?fàn)顟B(tài)使用動(dòng)量平衡)。
但最核心的一個(gè)區(qū)別就是,清華打造的自行車(chē)背后,核心是類腦芯片。
對(duì)此,稚暉君表示:
他們的工作很厲害,我這個(gè)無(wú)法類比,只是受他們啟發(fā)做了個(gè)類似的應(yīng)用。
為了體現(xiàn)跟清華工作的區(qū)別,稚暉君本人還在項(xiàng)目名字上下點(diǎn)了功夫。
XUAN里的“U”,代表的意思是unNATURAL,“正經(jīng)翻譯”就是——沒(méi)上過(guò)Nature……

這個(gè)項(xiàng)目一如既往地開(kāi)源了,如果你也想復(fù)刻一下……
哦對(duì)了,是時(shí)候該揭曉XUAN的造價(jià)了——據(jù)大神本人不完全統(tǒng)計(jì),超3萬(wàn)元。
不過(guò),稚暉君也表示:
最終硬件成本來(lái)算的話應(yīng)該不到一萬(wàn),就激光雷達(dá)貴一點(diǎn),主要還是試錯(cuò)成本。
以及,劃重點(diǎn),不售賣(mài)哈~
視頻連接:
https://www.bilibili.com/video/BV1fV411x72a
項(xiàng)目連接:
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
— 完 —
