真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

8 評論 9661 瀏覽 5 收藏 18 分鐘

編輯導(dǎo)語:

作者:代潤澤、陳大鑫、劉冰一;微信公眾號:AI科技評論

什么是自行車?B站一位UP主可能會給你一個與眾不同的回答,即不用人力就能自己行駛的車。如今,越來越多人在媒體平臺上發(fā)布他們的奇思妙想,展示了無限創(chuàng)意。文中的AI算法工程師稚暉君便是如此,讓我們一起來看一下。

不知道大家從小到大有沒有思考?過這樣一個問題:什么叫自行車?

——???這還用問嗎?

——對啊,這還用問嗎?

自行車那當(dāng)然是不靠人騎著它自己就能行駛的車啊。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

考慮到2021年是自動駕駛爆發(fā)元年,造手機的、送外賣的、賣襪子的等等各種大廠紛紛入局造車。

這時一位B站UP主表示道,何不做一輛能自動駕駛的自行車?

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

這不是在開玩笑!

這是野生鋼鐵俠、華為天才少年、AI算法工程師稚暉君昨天剛剛“發(fā)布”的一個新項目。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

稚暉解釋道,他前段時間不小心騎自行車摔傷了,休養(yǎng)后直言不能就這么算了!表示,正在著手設(shè)計自動駕駛自行車,這是說到做到了!

話不多說,直接來看看他是怎么完成的吧。

讓自行車變成自動駕駛,首先需要的是硬件改造,加入自動控制系統(tǒng)。

其次,為了將駕駛員的工具人存在性去掉,需要給車子搭載一整套傳感器組成的感知網(wǎng)絡(luò),以及一個算力足夠強大的計算芯片作為大腦。

最后就是在前面的硬件基礎(chǔ)上開發(fā)實現(xiàn)一套感知和控制算法,俗稱注入靈魂。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

一、第一步,讓車子跑

對于結(jié)構(gòu)上的改造——先在CAD上面建模,得到一輛虛擬自行車,也可以稱之為自行車的數(shù)字孿生。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

有了車體模型,所有的改造工作都可以在計算機上完成,只需加上“一點點”的細(xì)節(jié),那么最終的改造方案就出來了:

先給車子安裝兩個巨大的無刷電機,以及一個控制龍頭的舵機。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

傳感器方面搭載了一個RGBD的深度相機,加速度計和陀螺儀,以及一個激光雷達(dá)。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

電池使用的是6S的航模動力鋰電池,續(xù)航大約有2-3小時。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

主控計算模塊被安置在了座椅的后方。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

而驅(qū)動結(jié)構(gòu)方面,關(guān)于控制龍頭的旋轉(zhuǎn)舵機,前后方向的平衡靠兩個輪子的支撐和地面摩擦力,至于左右的平衡,當(dāng)在騎行狀態(tài)下,可以靠著左右調(diào)節(jié)龍頭來獲得轉(zhuǎn)向加速度以此來抵消重力的影響。

那么靜止?fàn)顟B(tài)下如何保持左右平衡呢?

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

要靠角動量守恒,上過小學(xué)二年級的都知道角動量守恒定律是自然界中最普遍的守恒定律之一。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

當(dāng)系統(tǒng)一個動力角動量發(fā)生變化的時候,就會將力矩傳遞給其他物體。所以這輛自行車中間的無刷電機,其實就是驅(qū)動一個金屬的動量輪。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

實際上這也是在太空中衛(wèi)星??在沒有摩擦力的情況下調(diào)整自身姿態(tài)的一樣的原理。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

而后面的無刷電機就是靠摩擦力驅(qū)動后輪,讓車子整體前后運動。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

關(guān)于零件的加工,其中一部分零件可以用3D打印來制作,不過考慮到功率問題,3D打印塑料的硬度和剛性都不太適合作為核心的結(jié)構(gòu)件,因此用于固定電機的零件,稚暉君還是選擇用金屬來加工。

所有的零件配齊組裝完成后,就需要安裝電力系統(tǒng)了 ,也就是主控模塊和 AI計算單元。

二、第二部分,讓車子有機器大腦

和人類一樣,將計算單元分為小腦和大腦,那么小腦部分就分為低算力、低時延、運行實時系統(tǒng),大腦部分就分為高算力、高時延、運行非實時操作系統(tǒng),用于感知、思考和決策。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

在這個系統(tǒng)中使用的是在HoloCubic里面的MCU,ESP32作為小腦。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

大腦則應(yīng)用了昇騰邊緣計算機芯片昇騰310 AI處理器。

然后設(shè)計一個載板,將這兩個計算單元整合到一起,板子的結(jié)構(gòu)為四層設(shè)計,比較簡單:

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

PCB打樣之后再手工焊接一下,這也是傳統(tǒng)藝能環(huán)節(jié):

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

之后通過總線把大腦和小腦相連,在軟件上實現(xiàn)一套RPC框架,讓它們可以方便地通信。其中小腦的框架基于FreeRtos,主要是實現(xiàn)傳感器的數(shù)據(jù)處理,以及電機的控制算法。簡單分為三個任務(wù):閉環(huán)控制線程、電機通信線程、以及屏幕刷新線程。

另外用下面這個小屏幕來實時顯示一些參數(shù)。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

而大腦的軟件框架就要復(fù)雜很多。除了基于昇騰的整個AI棧之外,還在系統(tǒng)中使用了一個做機器人常用的框架—— ROS,本質(zhì)上是一個高性能的通信中間件。

到現(xiàn)在電路方面已經(jīng)有了腦子,還缺一個很重要的模塊,那就是心臟,也就是此前設(shè)計的Ctrl-FOC驅(qū)動器。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

作為Ctrl的二代作品,它的表現(xiàn)還是非常的猛的,在很小的體積之下, 實現(xiàn)了兩路共100安 的無刷電機FOC控制,同時還順便 驅(qū)動了前面60Kg的舵機,以及一個散熱風(fēng)扇。

此時,把結(jié)構(gòu)零件和電路全部 整合起來,車輛的完全體就誕生啦!

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

到了這里,稚暉君表示以上組裝還算比較常規(guī),接下來的注入靈魂才是關(guān)鍵。

這就要涉及到機器人了,機器人是一個復(fù)雜的系統(tǒng),設(shè)計一臺機器人的時候,科學(xué)的方法是將機器人進行理論上的分析,也就是運用運動學(xué)和動力學(xué)的建模,通過數(shù)學(xué)模型知道哪些事情是相對 容易的哪些是復(fù)雜的。

例如,這輛車子的控制代碼中,有超過50個重要參數(shù):控制周期、反饋矩陣、PID增益、濾波器截止頻率等。這些魔法數(shù)字要全部得到合理的設(shè)置,才能使系統(tǒng)進入穩(wěn)定且快速收斂的狀態(tài)。(這里可以類比深度學(xué)習(xí)的調(diào)參大法)

而一些物理參數(shù)的設(shè)置,如電機功率應(yīng)該選多大的?飛輪質(zhì)量應(yīng)該選多少?

重心的分布應(yīng)該怎樣設(shè)置才比較合理?也都需要準(zhǔn)確的數(shù)學(xué)模型進行指導(dǎo)才行。

在得到模型之后, 為了進一步驗證理論的準(zhǔn)確性,一般要在計算機中進行仿真,這里稚暉君使用的是游戲引擎Unity——先在游戲引擎中構(gòu)建一個虛擬的物理環(huán)境,賦給小車真實的的質(zhì)量和重力, 接著將控制算法的計算結(jié)果可視化呈現(xiàn)出來。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

這一步驗證完成之后 ,還有一個sim2real的過程,也就是把仿真結(jié)果遷移到現(xiàn)實環(huán)境中。其實這是一個很復(fù)雜的過程,因為現(xiàn)實中有更多的不確定性因素,很多情況下機器人往往在仿真中重拳出擊,而在現(xiàn)實中“唯唯諾諾”秒變智障?,有的甚至在仿真中也一言難盡。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

同理,這輛車在調(diào)試的過程中也是非常艱辛的。

在這套系統(tǒng)中在姿態(tài)控制中,稚暉君使用的LQR控制器,方向控制使用了經(jīng)典的PID算法,傳感器則是對加速度計和陀螺儀數(shù)據(jù)使用了二階的巴特沃斯濾波器之后再通過卡爾曼濾波器進行數(shù)據(jù)融合,最終得到車身姿態(tài)。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

終于,在經(jīng)過稚暉君漫長的參數(shù)整定之后,控制算法終于收斂到了完美的效果!

你現(xiàn)在已經(jīng)是一輛「成熟」的自行車了,是時候拉出去遛一遛了證明自己了。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

哇!可以看出它做到了靜態(tài)保持靜止:

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

這主要得益于合理的算法和設(shè)計,且當(dāng)車子受到一定的沖擊和突然增加負(fù)載的情況下,也能穩(wěn)定地保持平衡。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

甚至能在高危場景下保持平衡!就差在鐵柵欄上跳舞?了。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

再結(jié)合下后輪電機的驅(qū)動能力,讓它「走兩步」也毫無壓力,而且剎車功能也是很正常的,有網(wǎng)友表示至少要比X撕辣強。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

所以說如果大家某天晚上看到一輛會自己行駛的自行車也不要害怕,它只是「成精了」而已。

到現(xiàn)在,能動的基本目標(biāo)已經(jīng)達(dá)成,可是這就結(jié)束了嗎?

當(dāng)然沒有,接下來就是最令人期待的自動駕駛環(huán)節(jié)了!

這就要通過引入AI 來實現(xiàn)了,當(dāng)然了話先說到前面,這里實現(xiàn)的自動駕駛也只是一定程度上的。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

另外由于這個車子搭載了深度相機,在電腦上就可以看到車子WIFI實時的RGB圖傳畫面,再結(jié)合一些AI算法即可實現(xiàn)一些有趣的功能,比如說自動避障、運動識別跟隨。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

另外,自動駕駛怎么能少的了路徑規(guī)劃呢,此時車子搭載的激光雷達(dá)就排上了用場。激光雷達(dá)通過測量激光發(fā)射到反射所需時間,再乘以光速就可以獲得目標(biāo)的距離位置。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

由此360°成像的結(jié)果可獲取攝像頭更加可靠的深度信息,將這些數(shù)據(jù)用于SLAM圖與路徑規(guī)劃,最后就可以實現(xiàn)讓自行車自主探索了。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

不過稚暉君表示這只是“非?;A(chǔ)”的自動駕駛設(shè)計,還有很多地方需要改進。比如龍頭的傳統(tǒng)結(jié)構(gòu)設(shè)計不太合理,如果換成諧波減速伺服電機直驅(qū),那么行駛的穩(wěn)定性將大幅度提升。

另外受限于整車功率,這套系統(tǒng)目前還無法載人,就只能真.無人駕駛了,但是如果換成電動車可能就不一樣了(不過,這可能就是另外一個故事了)。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

最后,稚暉君談起最初設(shè)計這樣一倆自行車的想法最早是因為看到清華大學(xué)曾研制了一款自動駕駛的自行車,還登上了Nature封面:

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

所以他就想著自己也復(fù)現(xiàn)一個類似的項目,并給車子起名為XUAN,這是因為軒是我國古代對車子的稱呼。

Tips:本次項目的結(jié)構(gòu)設(shè)計是全部開源的,有興趣想要復(fù)現(xiàn)的同學(xué)可以嘗試一下。

真·自行車!華為天才少年剛剛「發(fā)布」了一款無人駕駛自行車,網(wǎng)友:這TM不比特斯拉燃?

最后,說到稚暉君,大家估計都很熟悉了。目前稚暉君已經(jīng)加入了“華為天才少年計劃”。不管是做嵌入式的還是計算機的,稚暉君都是諸多電子愛好者欽佩的大佬。他本碩就讀于電子科技大學(xué),之后進入OPPO算法崗工作,目前已經(jīng)是華為AI架構(gòu)師。

其實稚暉君并非第一次這般“硬核”,AI 科技評論曾報道過他自制B站百大Up獎杯,這位斜杠青年有如此充沛的精力輸出高質(zhì)量工作,讓大家有種“平時上班的工作量還是太小了”的錯覺。

 

作者:代潤澤、陳大鑫、劉冰一;公眾號:AI科技評論

原文鏈接:https://mp.weixin.qq.com/s/W1-rFuJ5oLppHsLOMJxTxw

本文經(jīng)微信公眾號@AI科技評論 授權(quán)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自 Unsplash,基于CC0協(xié)議

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 不如直接買電動車?

    來自江蘇 回復(fù)
  2. 這個能干啥

    回復(fù)
  3. 牛逼啊大佬

    來自廣東 回復(fù)
  4. 科技不是應(yīng)該以人為本嗎,搞這種東西也不實用純粹為了秀技術(shù)?

    來自北京 回復(fù)
    1. 現(xiàn)在看來不實用,說不能以后在某個特定場景就可以應(yīng)用上。科技研究不就是這樣的嘛

      來自北京 回復(fù)
    2. 有飛機之前你想過人能飛著通勤?

      來自浙江 回復(fù)
  5. 想法不錯,下雨防水嗎

    來自四川 回復(fù)
  6. 挺屌的

    來自廣東 回復(fù)