難以想象,這竟然是一個18歲高中生獨立做出來的機器人!
無論室內(nèi)外,都能實現(xiàn)跟蹤:
就連在黑夜里跟著走,也No problem:
當(dāng)坐騎也完全沒問題:
原理確定、外形設(shè)計、電路連接、代碼編寫,所有工作耗時200天。
而且,全部由這位叫做凌十七的B站Up主一人完成!
視頻上傳不到3天,就斬獲近百萬播放量。
本來,自主導(dǎo)演的機器人故事和硬核DIY機器人全流程已經(jīng)足夠惹眼。
在視頻即將結(jié)束時,Up主還掏出樂器,為這一項目獻曲一首,直接引爆了彈幕:
請問還有什么是您不會的呢?
六邊形戰(zhàn)士!
寶藏男孩?!
從程序員,到導(dǎo)演,到音樂愛好者,多種身份無縫切換!
這到底是怎樣的一位Up主?
這又是怎樣的一個機器人?
從建模到制作,全自主設(shè)計
要做一個什么樣的機器人呢?
凌十七給出了他心目中的標(biāo)準(zhǔn):
鋼結(jié)構(gòu),塑料外殼。
能跟隨,能跑,能裝東西,能拉著走,關(guān)鍵……還能坐。
畫好了設(shè)計圖,18歲的少年沉吟道:可行。
那就開始,第一步:建模!
大家來感受一下這個建模工作量:
拉近了看,整個機身的設(shè)計并非粗糙直白的幾何形狀,而是參考人體工學(xué),從穩(wěn)定性和實用性等方面進行了設(shè)計:
建模完成后,就迎來了下一個頭禿程度不輸建模的環(huán)節(jié)——
外殼制作。
讓模型從電腦來到現(xiàn)實里,凌十七選用以水洗樹脂為材料進行3D建模。
這聽起來似乎不需要過多的操作,只要坐在機器前等著收成品就好:
但實際嘗試起來,問題可就太多了:
使用水洗樹脂作為打印耗材可能會出現(xiàn)開裂問題
在成品外殼過薄時會出現(xiàn)更嚴(yán)重的變形,進而導(dǎo)致無法安裝
超大尺寸的零部件對于組裝精度的要求非常高
這中間沒有捷徑,只有一次次進行地嘗試、調(diào)整、再嘗試、再調(diào)整。
樣子成型了,接下來就是給零部件們上補土。
這道工序能在統(tǒng)一底色的同時,填補了打印表面出現(xiàn)的不平整。
然后就是外表制作的最后一步,刷漆:
現(xiàn)在,“很沒有技術(shù)含量,非常無聊且浪費時間”的外殼制作環(huán)節(jié)完成了。
再來看機器人的眼睛,凌十七所選用的二維激光雷達(dá):
他一共使用了兩個雷達(dá),并都根據(jù)通信規(guī)則重寫了解包算法。
好,接下來就是去制作機器人的心臟了!
凌十七選擇了單片機作為主控設(shè)備,來控制無刷電機和舵機,并進行遙控、驅(qū)動和跟隨速度方向的最終判斷:
然后將樹莓派作為跟蹤算法輸出設(shè)備,串口傳輸數(shù)據(jù)給單片機:
這里的單片機和樹莓派都由一個統(tǒng)一的10A降壓模塊供電。
但由于樹莓派USB可提供的電流非常小,而雷達(dá)又是直接從USB端口拉供電的,所以一開始常常會陷入無限重啟的狀態(tài)中。
因此,凌十七把雷達(dá)中的電路供電壓(VCC)單獨引到了5V,解決了這個問題。
至于完整的跟蹤功能,凌十七一共用了250行代碼來實現(xiàn)。
和外殼制作相比,代碼書寫稱得上是“很有技術(shù)含量,非常不無聊且花費時間”了。
畢竟,在最后列出來的已解決的問題中,程序方面的例子是最多的:
要能在硬件支持范圍之外跟蹤目標(biāo),因此限制了跟蹤角度,超出后重新尋找目標(biāo);
要防止在丟失目標(biāo)時亂跑,因此就通過程序使在探測到目標(biāo)距離過長時停止跟蹤;
還要能夠及時與單片機通信,防止通信過多丟失數(shù)據(jù),以及非線性的轉(zhuǎn)向算法……
而最終,設(shè)計圖里所提到的功能,已經(jīng)基本實現(xiàn)了。
除了開頭提到的功能外,存儲東西也完全沒問題:
站在自己這十分有說服力的雜亂地面上,凌十七這樣表示:
這是我這輩子目前開發(fā)過最難的項目。
機器人背后的故事
沒錯,從0到1打造一個機器人,對于機器人專業(yè)的學(xué)生來說也許不難,但對于高中生而言,需要自學(xué)從編程、電路到自動控制的所有技術(shù)知識。
軟件上,所有程序和軟硬件代碼都需要自行調(diào)試、優(yōu)化,算法上修過的bug可以說是“不計其數(shù)”:
硬件上,在對機身進行建模時,凌十七雖然專門學(xué)習(xí)了相關(guān)的設(shè)計方法:
但自己動手做的時候,僅僅是外殼設(shè)計這個“看起來沒啥技術(shù)含量”的工作,就耗費了相當(dāng)長一段時間,壞過好幾個外殼:
可想而知,除了外殼,在建模和設(shè)計上還有多少需要更換的零部件。
凌十七自己也表示,最后產(chǎn)出的零件垃圾甚至“能再造一臺機器人”出來:
后來好不容易做好后,機器人又損壞了一次。
2020年8月開始設(shè)計、10月制作,但在12月份進行戶外拍攝的時候,這個機器人的“頭部”意外掉了。
由于脖子連接處的舵機很不牢靠,最初只是搭在機器人身上,很容易取下來,導(dǎo)致雖然在家中實驗時沒出現(xiàn)任何問題,但在不平坦的路面上卻無法hold住,最終壞了。
了解這一情況后,凌十七改進了機器人結(jié)構(gòu),全部采用螺絲固定,就沒有再出現(xiàn)類似的問題。
但也正是因為這件事,項目被迫中止了一段時間,后來拆除接近1/3的機器人外殼,重新制作后,才于2021年4月左右完成。
當(dāng)然,也并非只調(diào)整了外殼,這次改裝也對軟件進行了重新升級。
雷達(dá)上,加入了三四個算法,主要是為了優(yōu)化通信和雷達(dá)的無效數(shù)據(jù),還有幾個是為了排除跟蹤時可能出現(xiàn)的誤導(dǎo)、或是某些嚴(yán)重影響運行效果的情況;
驅(qū)動算法上,也經(jīng)過了參數(shù)調(diào)整優(yōu)化,但這一操作并不規(guī)范,基本是在試錯,如果進行更正式的項目的話,可能會算好一個正規(guī)的模型,再進行編程。
所有算法都是凌十七自行編寫的,沒有參考其他算法:
畢竟沒見過類似產(chǎn)品,而且在確定原理的時候,腦子里就已經(jīng)想好邏輯了,所以也沒想過要找別人的代碼。
經(jīng)過9個月打磨的機器人,從各方面來說都較為優(yōu)秀,不過對于凌十七來說,還是有可以繼續(xù)改進的地方。
一方面,機器人并不能做出表情,所有視頻中的表情都是后期處理上去的,也就是特效制作。
凌十七表示,原本是想外包特效,結(jié)果發(fā)現(xiàn)外包能力不足,做出來的特效太拉垮……所以就自己學(xué)著去做了,效果確實要更好。
當(dāng)然,直接顯示表情也是可以做到的,只是“目前市面上已經(jīng)有很成熟的算法了”,因此他沒有考慮作為機器人的“亮點”來完成。
另一方面,從機器人本身來說,物理穩(wěn)定性不好;而避障算法所采用的兩代激光雷達(dá),也都受光照影響,效果與預(yù)期有差距,戶外的表現(xiàn)不夠好。
如果有時間再優(yōu)化的話,凌十七打算將兩個激光雷達(dá)和攝像頭進行結(jié)合,會讓戶外跟蹤更加穩(wěn)定。
至于為什么要做這個機器人?
凌十七表示,最初是想找個人幫忙拎設(shè)備(如錄視頻所用的三腳架、攝像機),后來意識到,這件事可以“不必由人來完成”。
要是能做個自動拉貨車,還能當(dāng)代駕,豈不美哉。
雖然后期確實投入了巨大的精力,但從完成度來看,效果還是非常不錯的。
而機器人小D(Devil)的名字,則來源于一首名為《Devil Swing(Remix)》的歌。
也正是因為這個項目,讓凌十七決心從電子工程轉(zhuǎn)專業(yè)(此前已被佐治亞理工學(xué)院錄取),去學(xué)習(xí)AI和機器人。
△原本想要學(xué)習(xí)的專業(yè)
在接受量子位采訪中,凌十七表示,自己通過這個項目意識到,以后可能是算法的天下,所以想把重心更多地放到編程上。
“想轉(zhuǎn)專業(yè)去搞AI&機器人”
凌十七來自上海師范大學(xué)附屬中學(xué)(上師大附中),前16年也與其他中學(xué)生一樣,“基本在應(yīng)對考試中度過”。
高一,凌十七通過競賽接觸到機器人,從此打開了新世界的大門。
視頻中可見,除了在“機器人綜合技能”和“電子控制項目”比賽中獲得一等獎以外,凌十七還發(fā)明了一種“激光定位特殊用途使用的遙控裝置”,并斬獲多個獎項。
凌十七表示,雖然這些比賽“含金量不高”,但成功激起了他對機器人的興趣:
當(dāng)我第一次發(fā)現(xiàn),我能讓自己以外的事物按照我的意志運行的時候,何其感動,何其震撼,就感覺一切從未如此充滿意義。
機器人就是照亮我人生道路的第一道光。
他于2019年開始上傳視頻,并于2020年初制作了一把小刀,帶電路、能發(fā)光的那種,播放量一下子從幾萬沖上了一百多萬:
接下來的一個視頻中,這把小刀直接進化成了能噴火、變色的光劍,播放量達(dá)到了200W+,也坐實了“手工UP主”的名聲:
在那之后,機器人小D一打造就是9個月,轉(zhuǎn)眼來到2021年。
期間,凌十七一度有過想要放棄的念頭,“感覺再搞下去自己就要不正常了”,但最終還是堅持了下來。
也正是在這個項目中,他找到了自己未來前進的方向。
對于這個機器人,不少大V激情轉(zhuǎn)發(fā):
B站官方也熱烈鼓勵:
值得一提的是,凌十七的技能點并不僅限于機器人、導(dǎo)演和彈琴,據(jù)他的高中同學(xué)表示,畫畫、編曲等等技能點也已經(jīng)點亮。
對于未來,凌十七表示,更有可能去創(chuàng)業(yè),做產(chǎn)品或是搞創(chuàng)作。如果投身科研的話,大概率會想要研究通用人工智能(AGI)方向。
雖然這個機器人還沒有涉及AI方向的算法,不過凌十七表示,已經(jīng)打算開始從CV學(xué)起,做一些相關(guān)的AI小項目,例如物體、形狀識別等算法。
他會在AI領(lǐng)域擦出什么樣的火花?
讓我們拭目以待。
評論