失蹤人口回歸了!華為「天才少年」稚暉君這次帶來(lái)了一個(gè)又萌又硬的桌面小機(jī)器人ElectronBot。
還記得上次那個(gè)「全棧自研」的給葡萄縫針的鋼鐵俠機(jī)械臂Dummy嗎?
近3個(gè)月沒(méi)更的華為「天才少年」稚暉君帶著他的最新視頻來(lái)了!
?
雖然跳票了一段時(shí)間,但他還是來(lái)了。網(wǎng)友紛紛表示:「失蹤人口回歸」。
這次的項(xiàng)目叫ElectronBot,是個(gè)支線項(xiàng)目。稚暉君表示,整體難度不高。
不如先看看整體效果如何?
「電子」機(jī)器人如何造?
在開(kāi)始項(xiàng)目之前,稚暉君簡(jiǎn)單介紹了一下選擇這個(gè)項(xiàng)目的動(dòng)機(jī)。他戲稱(chēng):「這是一個(gè)撿到一個(gè)鼠標(biāo)墊,想配一臺(tái)電腦的故事。」
眾所周知,稚暉君熱衷于收集各式各樣的「屏幕」。這次,他不知道從哪搞來(lái)了一塊圓形的LCD屏幕。
靈光乍現(xiàn),稚暉君的DNA動(dòng)了。
簡(jiǎn)單的手表、掛件已經(jīng)滿足不了他了。他打算做一個(gè)新穎的、「又萌又硬」的機(jī)器人。
他的靈感一部分來(lái)自于早些年很火的「Anki Vector」、豐田推出的對(duì)話機(jī)器人「Kirobo Mini」、索尼曾經(jīng)推出的音樂(lè)蛋「Rolly」,還有外形酷似阿童木的迷你機(jī)器人「Robi」等等。
但是稚暉君卻表示,這些機(jī)器人功能太單一,擴(kuò)展性和開(kāi)放性還不強(qiáng)。
他打算自己設(shè)計(jì)一臺(tái)桌面型的迷你機(jī)器人。
上述的迷你機(jī)器人,受限于體積等因素,本身計(jì)算能力并不強(qiáng)。并且想要實(shí)現(xiàn)稍微智能點(diǎn)的交互,還得依賴手機(jī)的芯片。稚暉君銳評(píng):「不夠優(yōu)雅,也不夠?qū)嵱??!?/p>
他想設(shè)計(jì)一款無(wú)需充電、隨時(shí)待機(jī)、有強(qiáng)大計(jì)算能力的機(jī)器人。
他想到了一個(gè)辦法,就是把這臺(tái)機(jī)器人設(shè)計(jì)成一臺(tái)電腦的配件。那么就可以獲得電腦上的應(yīng)用程序、擁有其強(qiáng)大的算力、還能時(shí)刻連著USB充著電。
有這等好事,機(jī)器人聽(tīng)了都直點(diǎn)頭。
因?yàn)長(zhǎng)CD屏幕是圓形的,一臺(tái)圓潤(rùn)可愛(ài)科幻風(fēng)的機(jī)器人原型就新鮮出爐了。
稚暉君表示,這是他第一次嘗試用T-Spline曲面建模。成品機(jī)器人雙臂可動(dòng),有兩個(gè)自由度,身體和頭部各有一個(gè)自由度。
而且稚暉君這人能處,有6個(gè)舵機(jī)他真塞。這可不簡(jiǎn)單,機(jī)身這么小,稚暉君想了很多有創(chuàng)意的傳動(dòng)方案。
他希望機(jī)器人的手臂可以同時(shí)前后和左右旋轉(zhuǎn),而手臂的位置不足以塞下一個(gè)舵機(jī),因此只能把舵機(jī)都裝到肚子里去。
同時(shí),稚暉君還希望手臂的兩個(gè)角度可以進(jìn)行反驅(qū),所以彈簧扭簧這種東西就只能pass了。
為了解決在狹小的機(jī)身中把動(dòng)力從舵機(jī)傳遞到手臂,還要能實(shí)現(xiàn)動(dòng)力雙向傳遞的問(wèn)題,他設(shè)計(jì)了一種獨(dú)特的結(jié)構(gòu)。
手臂前后的運(yùn)動(dòng)由一個(gè)舵機(jī)通過(guò)齒輪嚙合進(jìn)行傳動(dòng),而另一個(gè)正交方向的運(yùn)動(dòng),則由另一個(gè)舵機(jī),通過(guò)T型推桿進(jìn)行傳動(dòng)。
這機(jī)器人別看小,肚子里一點(diǎn)空間都沒(méi)浪費(fèi),被稚暉君塞的滿滿的。真是強(qiáng)迫癥的福音啊。
而機(jī)器人的底座則使用鋁CNC進(jìn)行加工。
下一步,就該到電路設(shè)計(jì)環(huán)節(jié)了。
稚暉君使用了Cortex-M4內(nèi)核MCU,STM32F4。用于驅(qū)動(dòng)屏幕和控制舵機(jī)以及USB通信。
由于芯片本身的USB功能只支持全速或是低速的USB,稚暉君在電路上添加了高速的USB-PHY芯片,成功將理論通信速率提高到了400Mbps。而最后實(shí)際的最高通信速率也有300Mbps。
這個(gè)速度遠(yuǎn)高于UART、I^{2}C、SPI等短總線。這也給后續(xù)的軟件開(kāi)發(fā)提供了更多可能性。
主控板的設(shè)計(jì)相對(duì)就比較簡(jiǎn)單了,兩層PCB就搞定了。這樣體積就做到了最小,和屏幕的面積保持了一致。
機(jī)器人的身體內(nèi)部也有一個(gè)傳感器的板子,包括一個(gè)攝像頭,還有一個(gè)紅外手勢(shì)傳感器。
還有一塊驅(qū)動(dòng)板。因?yàn)槭忻嫔系亩鏅C(jī)只能接收pwm信號(hào),進(jìn)行角度控制。
這就有問(wèn)題了。
在這種情況下我們只能發(fā)送指令,讓舵機(jī)運(yùn)動(dòng),卻不能接收指令,從而知道它的運(yùn)動(dòng)狀態(tài)。同時(shí),想要讓舵機(jī)進(jìn)行反驅(qū),就必須能讓舵機(jī)隨時(shí)進(jìn)行輸出力矩的切換。
傳統(tǒng)舵機(jī)雖然做不到這一點(diǎn),卻難不倒心靈手巧智商高的稚暉君。他對(duì)市面上的傳統(tǒng)3g舵機(jī)魔改了一通,設(shè)計(jì)了一個(gè)迷你的舵機(jī)驅(qū)動(dòng)器。
這個(gè)小驅(qū)動(dòng)器支持I^{2}C總線通信,PID閉環(huán)控制,位置回傳,還能設(shè)置最大的輸出力矩,斷電儲(chǔ)存參數(shù)等等。
這樣一來(lái),原本6個(gè)普普通通的舵機(jī),被稚暉君巧手一點(diǎn),就成了6個(gè)熱乎乎的智能舵機(jī)。
到這里,所有的硬件該有的都有了,也就該組裝了。
看完稚暉君的組裝過(guò)程,小編不得不感嘆一句,誰(shuí)說(shuō)理工男是直男,只是他沒(méi)對(duì)你細(xì)膩而已。
整個(gè)組裝過(guò)程一般人真搞不定。
稚暉君給自己設(shè)計(jì)的小機(jī)器人起名叫Electron(電子)。Electron通過(guò)USB線和計(jì)算機(jī)相連,作為計(jì)算機(jī)的配件。
換句話說(shuō),機(jī)器人叫「電子」,那通過(guò)USB連接的計(jì)算機(jī)就是「電子」的「腦子」,簡(jiǎn)稱(chēng)...
「電腦」???
如果只是將其當(dāng)成一個(gè)播放器的話,這個(gè)機(jī)器人和之前提到的那些沒(méi)有太大區(qū)別。
畢竟,稚暉君設(shè)計(jì)它的初心就是想把它作為一個(gè)工具機(jī)器人兼電腦配件,讓其能發(fā)揮一些更加實(shí)用的功能。
他給電子開(kāi)發(fā)了一套完整的、多層次的開(kāi)放SDK。
最上層是Electron Studio,屬于純圖形化的交互。
如果想用自己寫(xiě)的程序控制電子的話,稚暉君還提供了Electron Player庫(kù)。只通過(guò)及其簡(jiǎn)單的代碼,便可鏈接和控制機(jī)器人,還可以設(shè)置播放內(nèi)容。
如果還想以更硬核的方式進(jìn)行二次開(kāi)發(fā),稚暉君還提供了更底層的Electron LowLevel庫(kù)。
對(duì)此,稚暉君還做了一個(gè)范例,通過(guò)調(diào)節(jié)機(jī)器人右手實(shí)現(xiàn)控制電腦音量和亮度。
利用機(jī)器人機(jī)身搭載的攝像頭和紅外手持傳感器,開(kāi)發(fā)了通過(guò)AI算法識(shí)別手勢(shì)的程序。
當(dāng)擺出不同手勢(shì)類(lèi)型,就可以打開(kāi)預(yù)先設(shè)定好的程序,或者切換桌面。
最有意思的一個(gè)應(yīng)用是,稚暉君基于OpenPose開(kāi)發(fā)了一個(gè)程序,用于單目的人體關(guān)鍵點(diǎn)檢測(cè)。
如果有2臺(tái)機(jī)器人的話,就可以視頻了,而且你還可以通過(guò)手勢(shì)控制機(jī)器人運(yùn)動(dòng)。
稚暉君還給這個(gè)應(yīng)用起了一個(gè)特別的名字「量子糾纏」。
最后,稚暉君還順便給電子做了一個(gè)收納盒,太精巧了。
代碼開(kāi)源
視頻末,稚暉君附上了軟硬件開(kāi)源地址:
https://github.com/peng-zhihui/ElectronBot
才剛剛發(fā)布沒(méi)幾個(gè)小時(shí),都已經(jīng)有90個(gè)star,還有6個(gè)fork了。
不得不說(shuō),天才少年的實(shí)力太強(qiáng)了。
具體使用說(shuō)明,稚暉君表示自己會(huì)稍晚點(diǎn)補(bǔ)充,先補(bǔ)個(gè)覺(jué)。
包括此前他做的可以自動(dòng)駕駛的自行車(chē)、機(jī)器臂等等,每個(gè)項(xiàng)目都會(huì)耗費(fèi)很大精力,再加上稚暉君也有自己的本職工作。
編輯:黃飛
評(píng)論
查看更多