科技改變生活 · 科技引領未來
魚羊金磊發自凹非寺量子位報道|公眾號QbitAI果然高手在民間。誰能料到,一輛自行車的硬核打開方式,竟是大火的自動駕駛。踢開腳撐,金雞獨立、穩如泰山:單側加個板磚?小場面:畢竟,它是連高難度“雜技姿勢”都能hold住的自行車:沒事走兩步?可
魚羊 金磊 發自 凹非寺量子位 報道 | 公眾號 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
— 完 —
量子位 QbitAI · 頭條號簽約
關注我們,第一時間獲知前沿科技動態
陳同