電子發(fā)燒友網(wǎng)報(bào)道(文/李彎彎)近年來自動(dòng)駕駛大爆發(fā),不僅僅是各大廠商紛紛入局,網(wǎng)絡(luò)上也涌現(xiàn)出一批科技達(dá)人,設(shè)計(jì)各種類型的自動(dòng)駕駛自行車,自動(dòng)駕駛電動(dòng)車……
最近B站一位UP主發(fā)了一條視頻,說自己之前以電動(dòng)汽車為原型,設(shè)計(jì)了一輛自動(dòng)駕駛兩輪車,車是設(shè)計(jì)出來了,結(jié)果卻因?yàn)橐馔獍岩粭l腿給炸沒了。
車子的核心原理是,基于角動(dòng)量守恒理論設(shè)計(jì)的。在車的內(nèi)部,有一個(gè)高速旋轉(zhuǎn)陀螺儀,速度可達(dá)到每分鐘上萬轉(zhuǎn),當(dāng)物體高速旋轉(zhuǎn)的時(shí)候,它的角動(dòng)量很大,旋轉(zhuǎn)的軸就會(huì)一直穩(wěn)定的指向一個(gè)方向,意思是說,想要更加穩(wěn)定,就必須轉(zhuǎn)得足夠快,以此來保證兩輪車平衡。
之所以會(huì)出現(xiàn)意外,是因?yàn)樗?dāng)時(shí)把轉(zhuǎn)數(shù)調(diào)太高,導(dǎo)致內(nèi)部的陀螺儀炸開,飛出的鐵塊把腿給炸沒了。據(jù)他描述當(dāng)時(shí)的場(chǎng)面慘不忍睹,機(jī)床上兩公分厚的鑄鐵都沒有抗住,炸了一個(gè)缺口,房屋墻壁也炸出來好多洞。
之前稚暉君設(shè)計(jì)過無人駕駛自行車,與他的自行車相比,這個(gè)以電動(dòng)車為原型設(shè)計(jì)的無人駕駛兩輪車,可以載人。不過因?yàn)槭軅木壒剩@位UP主說,之前設(shè)計(jì)的這個(gè)車子也就一直擱置下來,他格外提醒,大家在工作和做研究的時(shí)候,一定要注意安全。
真的是被這位UP主深深感動(dòng)到,可以說是非常勵(lì)志了,在他的個(gè)性簽名寫的是“意外受傷截肢,很幸運(yùn)的撿了條命,以后積極生活”,更有意思的是,他給自己設(shè)計(jì)了各種功能的假肢,果然沒有什么可以抵擋對(duì)科技創(chuàng)造的熱情。
如何設(shè)計(jì)一輛無人駕駛兩輪車
那么具體如何設(shè)計(jì)一輛兩輪無人駕駛車呢?從稚暉君視頻,可以詳細(xì)的了解到每一個(gè)設(shè)計(jì)步驟,他設(shè)計(jì)的是一輛無人駕駛自行車。
首先,與4個(gè)輪子的汽車不同,自行車是一個(gè)欠驅(qū)動(dòng)系統(tǒng),不進(jìn)行控制的話,不僅不能跑,還站不穩(wěn),因此這里需要一套復(fù)雜的自動(dòng)控制系統(tǒng);
其次,為了把駕駛員工具人的存在性給去掉,需要給車子搭載一套傳感器組成的感知網(wǎng)絡(luò),以及一個(gè)算力足夠強(qiáng)大的計(jì)算芯片作為大腦;
最后,就是在前面的硬件基礎(chǔ)上開發(fā)實(shí)現(xiàn)一套巧妙的感知和控制算法,俗稱注入靈魂。
第一步,硬件改造,讓車子跑起來
稚暉君改造的自行車是一輛死飛(Fixed Gear),它結(jié)構(gòu)很簡(jiǎn)單,沒有剎車,減速靠反向蹬車。首先是使用計(jì)算機(jī)輔助工具CAD來進(jìn)行建模,一通操作之后得到一輛虛擬的自行車。
圖:用CAD建模得到的虛擬自行車
有了車體模型之后,所有的改造工作都可以在計(jì)算機(jī)上完成。
圖:在設(shè)計(jì)圖紙上改造完成的車子
稚暉君給車子安裝了兩個(gè)巨大的無刷電機(jī),以及一個(gè)控制龍頭的舵機(jī)。傳感器方面,搭載了一個(gè)RGBD的深度相機(jī),加速度計(jì)和陀螺儀,以及一個(gè)激光雷達(dá)。電池使用的是6S的航模動(dòng)力鋰電池,續(xù)航大概有2-3個(gè)小時(shí)。主控計(jì)算模塊被安置在座椅的后方。
兩個(gè)無刷電機(jī)的作用是什么呢?自行車前后方的平衡靠的是兩個(gè)輪子,以及地面的摩擦力,而左右的平衡,在騎行的時(shí)候靠左右調(diào)節(jié)龍頭,來獲得轉(zhuǎn)向加速度,以此抵消重力的影響,而靜止?fàn)顟B(tài)下怎么平衡呢,靠的是角動(dòng)量守恒。
角動(dòng)量守恒定律是自然界中最普遍的守恒定律之一,當(dāng)系統(tǒng)中一個(gè)物體角動(dòng)量發(fā)生變化的時(shí)候,就會(huì)將力矩傳遞給其他物體,中間的無刷電機(jī),就是用于驅(qū)動(dòng)的動(dòng)量輪,后面的無刷電機(jī),則是用于靠摩擦力驅(qū)動(dòng)后輪,讓車子整體前后運(yùn)動(dòng)。
圖紙?jiān)O(shè)計(jì)完之后,就是零件加工,其中一部分零件可以用3D打印制作,但由于做的東西功率比較硬核,3D打印塑料的硬度和剛性,都不太適合作為核心的結(jié)構(gòu)件,所以用于固定電機(jī)的零件,使用的是金屬來加工。湊齊改造所需的所有零件,組裝完成就是下面的樣子。
我們?cè)谠O(shè)計(jì)機(jī)器人時(shí),會(huì)將計(jì)算系統(tǒng)分為低算力、低時(shí)延、運(yùn)行實(shí)時(shí)系統(tǒng)的小腦,用于控制身體,以及高算力、高時(shí)延、運(yùn)行非實(shí)時(shí)操作系統(tǒng)的大腦,用于感知、思考和決策。
在這個(gè)系統(tǒng)中,小腦使用的是MCU ESP32,大腦用的是昇騰310 AI處理器,昇騰310搭載達(dá)芬奇Core,可以提供最高22TOPS的AI算力。
圖:再設(shè)計(jì)了一個(gè)載板,把兩個(gè)計(jì)算單元整合到一起
大腦和小腦通過總線相連,并在軟件上實(shí)現(xiàn)一套R(shí)PC框架,讓它們可以方便地進(jìn)行通信。
小腦的框架是基于FreeRTOS,主要是實(shí)現(xiàn)傳感器的數(shù)據(jù)處理,以及電機(jī)的控制算法,簡(jiǎn)單地劃分了三個(gè)任務(wù):閉環(huán)控制線程,電機(jī)通信線程,以及屏幕刷新線程。
大腦的軟件框架則要復(fù)雜很多,除了基于昇騰的整個(gè)AI棧之外,稚暉君還在系統(tǒng)中使用了ROS,這是機(jī)器人界常用的框架,它本質(zhì)上是一個(gè)高性能的通信中間件,后面的消息分發(fā)、業(yè)務(wù)串流、SLAM等的實(shí)現(xiàn)都是基于ROS開發(fā)的。
大腦和小腦有了之后,電路方面還有一個(gè)很重要的模塊,那就是心臟,采用的是Ctrl-FOC驅(qū)動(dòng)器,這個(gè)驅(qū)動(dòng)器很厲害,雖然體積很小,卻實(shí)現(xiàn)了兩路共100A的無刷電機(jī)FOC控制,同時(shí)還順便驅(qū)動(dòng)了前面的60KG舵機(jī),以及一個(gè)散熱風(fēng)扇。
圖:把結(jié)構(gòu)零件和電路全部整合起來,就完成了
第三步,算法,給機(jī)器注入靈魂
稚暉君介紹,機(jī)器人是一個(gè)復(fù)雜的系統(tǒng),設(shè)計(jì)的時(shí)候,科學(xué)的方法是首先對(duì)機(jī)器人進(jìn)行理論上的分析,也就是運(yùn)動(dòng)學(xué)和動(dòng)力學(xué)的建模,數(shù)學(xué)建模會(huì)告訴我們哪些事情是相對(duì)容易的,哪些是復(fù)雜的。
舉例來說,在這個(gè)車子的控制代碼中,有超過50個(gè)重要參數(shù)、控制周期、反饋矩陣、PID增益、濾波器截止頻率等,這些數(shù)字要全部得到合理設(shè)置,才能使系統(tǒng)進(jìn)入穩(wěn)定,且快速收斂的狀態(tài)。
而一些物理參數(shù)的設(shè)置,比如說,電機(jī)功率應(yīng)該選多大?飛輪質(zhì)量應(yīng)該選多少?重心的分布怎么設(shè)置才比較合理等,也都需要有準(zhǔn)確的數(shù)學(xué)模型來進(jìn)行指導(dǎo)。
在得到模型之后,為了進(jìn)一部驗(yàn)證理論的準(zhǔn)確性,一般會(huì)先在計(jì)算機(jī)中進(jìn)行仿真,視頻中,稚暉君用的是一個(gè)游戲引擎Unity,在游戲引擎中構(gòu)建一個(gè)虛擬的物理環(huán)境,賦給小車真實(shí)的質(zhì)量和重力,然后將控制算法的計(jì)算結(jié)果可視化顯示出來。
驗(yàn)證完成之后,還有一個(gè)sim2real的過程,就是把仿真的結(jié)果遷移到現(xiàn)實(shí)環(huán)境中,這個(gè)過程很復(fù)雜,因?yàn)楝F(xiàn)實(shí)中有很多的不確定性因素,很多情況下,機(jī)器人往往是在仿真中重拳出擊,然后在現(xiàn)實(shí)中唯唯諾諾,所以整個(gè)調(diào)試的過程也是異常艱辛。
這套系統(tǒng),姿態(tài)控制使用的是LQR控制器,方向控制使用的是PID,傳感器則是對(duì)加速度計(jì)和陀螺儀,數(shù)據(jù)使用二階的巴特沃斯濾波器之后,再通過卡爾曼濾波進(jìn)行數(shù)據(jù)融合,最終得到車身的姿態(tài)。經(jīng)過漫長(zhǎng)的參數(shù)整定之后,控制算法終于收斂了完美的效果,到這里,一輛成熟的自行車就完成了。
圖:一輛成熟的自行車
經(jīng)過測(cè)試,車載的姿態(tài)保持性能非常好,受到一定沖擊,或者突然增加負(fù)載,也能穩(wěn)定的保持平衡。
結(jié)合后輪電機(jī)的驅(qū)動(dòng)能力,讓它走兩步也毫無壓力。至此,能動(dòng)的基本目標(biāo)已經(jīng)達(dá)成了。
最后引入AI,實(shí)現(xiàn)一定程度的自動(dòng)駕駛。這個(gè)自行車搭載了深度相機(jī),可以在電腦上看到,車子WIFI實(shí)時(shí)的RGB圖,再結(jié)合一些AI算法,可以實(shí)現(xiàn)避障、讓它在行駛過程中,識(shí)別各種物體,進(jìn)行跟隨等功能。
除此之外,自動(dòng)駕駛中的一個(gè)很重要的技術(shù),就是路徑規(guī)劃,車子搭載了激光雷達(dá),激光雷達(dá)通過測(cè)量,激光發(fā)射到反射回來所消耗的時(shí)間,乘以光速就可以獲得目標(biāo)的距離位置。
由此360度成像就能夠獲得比攝像頭更可靠的深度信息,將這些數(shù)據(jù)用于進(jìn)行SLM圖與路徑規(guī)劃,最后就可以實(shí)現(xiàn)讓自行車進(jìn)行自主探索環(huán)境了。
小結(jié)
稚暉君之前在設(shè)計(jì)完這輛無人駕駛自行車的時(shí)候,提到由于開發(fā)時(shí)間有限,本次項(xiàng)目只是實(shí)現(xiàn)了非?;A(chǔ)的自動(dòng)駕駛功能功能,還有很多可以改進(jìn)的地方,比如,受限于整車的功率,這套系統(tǒng)目前無法實(shí)現(xiàn)載人,如果換成電動(dòng)車,就不一樣了,而如今用無人駕駛電動(dòng)車載人的設(shè)計(jì)也已經(jīng)有人設(shè)計(jì)出來啦,給科技愛好者們的創(chuàng)造力點(diǎn)贊。
-
電動(dòng)自行車
+關(guān)注
關(guān)注
4文章
284瀏覽量
28801 -
自行車
+關(guān)注
關(guān)注
0文章
111瀏覽量
24649 -
自動(dòng)駕駛
+關(guān)注
關(guān)注
784文章
13896瀏覽量
166694 -
稚暉君
+關(guān)注
關(guān)注
6文章
35瀏覽量
5199
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論