【我們為什麼挑選這篇文章】除了汽車,現在連腳踏車都可以自動駕駛!中國有神人 DIY 了一台自動腳踏車,能夠自己前進、轉彎、避開障礙物,就算靜止也不會倒。下文帶你看,神人打造自駕腳踏車的過程。(責任編輯:郭家宏)
本文經 AI 新媒體量子位(公眾號 ID:QbitAI)授權轉載,轉載請連繫出處
作者:量子位
果然高手在民間。
誰能料到,一輛自行車的硬核打開方式,竟是大夯的自動駕駛。
踢開腳架,金雞獨立、穩如泰山:
單側加個板磚?小 case:
畢竟,它是連高難度「雜技姿勢」都能 hold 住的自行車:
沒事走兩步?
可以有,還是會自己轉彎的那種:
避障、上路,毫無壓力:
甚至還配備了特斯拉都沒有的光達。
這就是 B 站「野生鋼鐵人」稚暉君耗時 4 個月時間(基本只是週末),打造出的全新項目 XUAN (軒)。
短短幾天,播放量超過 150 萬,硬核、複雜程度之高,直接看呆一眾網友。
來感受一下這個畫風。
連 B 站老闆陳睿都被吸引而來:
甚至業內人士也直呼:
任何一個部分拿出來都是一篇大學畢業論文。
還有實物,碩士畢業綽綽有餘……
稚暉君到底是如何打造的這麼一台「賽博龐克」自行車?
接下來,讓我們一起一探究竟(經授權)。
(你可能還很關心它的價格,別著急,我們文末揭曉答案~)
讓自行車有自駕功能,需要進行 3 個步驟
稚暉君選擇的自行車,是大家非常熟知的死飛 (Fixed Gear)。
(沒錯,就是甩尾玩家的最愛)
這種自行車的一大特點,便是結構簡單、沒有剎車。
於是,稚暉君先對死飛進行了一個 CAD 建模的工作。
建模工作完成之後,便得到了一輛虛擬自行車。
此後的所有改造工作,便可以在電腦上完成。
整體來看,XUAN 的誕生一共分為三大步:
▌硬體改造:因為自行車是一個欠驅動系統,所以先要做的就是讓它站穩,然後跑起來。這一步將涉及一套複雜的自動控制系統。
▌智慧化:畢竟自動駕駛嘛,「工具人」就得被抹去。因此,這一步便是搭載一整套感測器組成的感知網路,以及一個算力足夠強大的運算晶片作大腦。
▌軟體和演算法:最後一步,便是在上述的硬體基礎上,開發、實現一套感知和控制演算法。稚暉君稱之為「注入靈魂」。
Step by Step,先來看下第一個大問題。
自行車怎麼自己保持平衡?
在騎自行車的時候,前後方向的平衡,靠的是 2 個輪子的支撐和地面摩擦力。
而左右方向上,運動過程中靠的是龍頭的左右調節,獲取轉向的加速度,以此抵消重力的影響。像這樣:
那麼在靜止狀態下呢?
稚暉君給出的思路便是——角動量守恆。
簡單來說,當車子在重力作用下發生傾倒,就用動量輪來產生一個相反力矩,抵消掉重力力矩。
具體而言,稚暉君在這輛死飛座位下方安裝了一個無刷電機,目的是驅動一個金屬的動量輪。
而在座位後方,他也安裝了一個無刷電機,這個目的則是靠摩擦力來驅動後輪,讓自行車整體前後運動。
稚暉君本是想用 3D 列印來完成這兩個零件的加工,但礙於材料硬度和剛性不足,所以金屬材料成為了此次的首選。
(所幸,稚暉君朋友家裡「有廠」,問題迎刃而解)
而後,便是快樂的組裝環節:
OK,自行車的平衡問題,就此解決。
自行車的「腦」,也有分大腦跟小腦
硬體框架有了,想讓自行車能跑起來,甚至能認路,下一步就是上「腦子」。
跟人類相似,機器人也分「大腦」和「小腦」。
簡單來說,小腦用來控制即時行動;大腦則負責耗費算力,執行高時延的感知和決策。
這一回,稚暉君給自行車上的「小腦」是 ESP32。
ESP32 是一種低成本、低功耗的單片機控制器,整合 Wi-Fi 和雙模藍芽。
基於 FreeRTOS(一個開源嵌入式即時操作系統),稚暉君搭建了小腦的 RPC 通訊框架,用來實現感測器的數據處理,以及電機的控制演算法。
「大腦」則是昇騰 310。這是昇騰系列的邊緣運算晶片,基於達文西架構,最高能夠提供 22 TOPs 的算力。
大腦的演算法開發,主要基於昇騰 AI 棧和 ROS(機器人操作系統)實現。
於是,在深度相機、光達等感測器的幫助之下,這輛自行車能夠檢測出周圍的物體,實現避障和跟隨:
還能夠機智地識別地形,給自己規劃路徑: