作者 | 吳彤、王曄
編輯 | 青暮
稚暉君一更新,其他科技區(qū)UP主紛紛回到生活區(qū)。這算是年輕人對稚暉君的最高褒獎了!
國慶期間內(nèi),華為天才少年稚暉君送上一份大件:一人!一條龍!造了一只鋼鐵俠的機械臂!

據(jù)說這是他迄今為止的“業(yè)余項目”中最復雜的一個。連何同學都在評論區(qū)占據(jù)沙發(fā):我好菜。

機械臂的名字也非常有趣——叫做Dummy,不僅致敬鋼鐵俠的機械臂笨笨,還是綁定到機械臂的末端上的“引導點”,暗含稚暉君的小心思,實在是妙哇!
這次稚暉君的項目,操作系統(tǒng)和 AI 計算平臺也分別都用上了華為鴻蒙和昇騰 Atlas 處理器,機身還是一抹靚麗的中國紅。身在華為,心在中華,在彈幕大軍感嘆稚暉君軟硬件通吃的超強專業(yè)能力和連做四個月的高效“肝”能力的同時,還對這位天才少年的人文素養(yǎng)豎起大拇哥!
最終選定為中國紅
用B站“專業(yè)話術(shù)”說,這不得“一鍵三連”!
正如稚暉君多次在B站動態(tài)中表示:要努力成為科技和人文交叉口最靚的仔!
主業(yè)華為AI算法工程師,副業(yè)科技區(qū)UP主,這屆的博主不簡單路人粉應該知道,他身上的標簽,最顯眼的“華為天才少年”。但是關(guān)注過他的人卻知道,他的標簽,是對科技的極致熱愛。稚暉君應該是每一個電子愛好者所向往但是又渴望而不可及的大佬。但他表示自己不算CS科班,本科是生物醫(yī)學工程專業(yè),研究生是信息與通信系統(tǒng)專業(yè),18年畢業(yè)于電子科技大學,之后進入OPPO算法崗工作,目前已經(jīng)是華為AI算法工程師。除此之外,他還是一位技術(shù)追求極致的UP主,從一個愛好動手的大學生分享各種硬件DIY視頻,到分享B站最強小電視、FOC矢量控制器、PocketLCD,自動行駛自行車,在斜杠的路上受到眾多網(wǎng)友追捧。用稚暉君自己的話來說,上班做AI算法研究,芯片使能軟件棧開發(fā),DSA架構(gòu)下稀疏矩陣加速,視覺庫異構(gòu)加速之類的,但是下班做的東西對大家來說更好玩。在這款機械臂的動態(tài)中,整整兩個月,他與粉絲一同分享機械臂的長成記錄:網(wǎng)友驚嘆稚暉君的恐怖之處在于:一個人完成了所有細節(jié),建模,算法,電路設計,驅(qū)動設計,APP開發(fā),單拎出來足夠做個畢設了!其知識覆蓋面并非靠普通的學業(yè)方式實現(xiàn),被華為以天才計劃納入麾下,想必就是看中他這一點。在8月2日,任正非在中央研究院創(chuàng)新先鋒座談會上與部分科學家、專家、實習生的講話中說到:對于2012實驗室(華為的總研究組織),公司從未給過你們過多約束。比如,有人研究自行車的自動駕駛,公司沒有約束過他。我們要生產(chǎn)自行車嗎?沒有啊。這是他掌握的一把“手術(shù)刀”,或許以后會發(fā)揮什么作用,產(chǎn)生什么巨大的商業(yè)價值。
這個項目看上去是四個月的工作,實際上有之前無刷驅(qū)動、小電視等項目的大量沉淀。表面上看起來是項目是電子和機械,背后全是算法和數(shù)學。在項目背后,稚暉君自己表示,堅持每個項目開源,與大家一同進步。能夠通過一個項目視頻帶大家概覽某一個方向的技術(shù),有了對該領域的sense和興趣之后,再激勵大家去自主學習,這相比于獨樂樂可能是更有意義的事情。如何自己造一臺很酷的機械臂呢?如何在成本有限地情況下造出市面上精度最高、性能最強、體積最小的機械臂?首先要解決三個問題:機械結(jié)構(gòu)設計、電子系統(tǒng)、軟件系統(tǒng)。一、機械結(jié)構(gòu)設計
結(jié)構(gòu)設計中首先要解決的是精度問題,在機器人的硬件設計中,常說的機器人三大核心部件是電機、減速器、驅(qū)動器。真正的工業(yè)機器人中使用的電機一般是無刷伺服電機。無刷伺服電機不論是在動態(tài)響應,力矩保持,精度各方面都非常優(yōu)秀。缺點是驅(qū)動系統(tǒng)比較復雜,不適合用在本次這樣極其緊湊的結(jié)構(gòu)中。于是稚暉君的方案中,決定使用步行電機。這類電機的精度最高,但缺點在于高轉(zhuǎn)速下力矩比較小。所以為了解決力矩的問題,一般會給電機配備減速器。減速器就是類似汽車的變速箱,是用于降低輸出的轉(zhuǎn)速,而成倍增加輸出力矩。目前市面上的小型機械臂使用的都是行星減速器,而在本次項目中,使用了工業(yè)機械臂里面最常用的諧波減速。在柔性輪和波發(fā)生器的相互作用下,諧波減速器具有零背隙、高減速比,超小體積等優(yōu)點,非常適用本項目。在電機和減速器確定后,最后是驅(qū)動器。同樣為了保證驅(qū)動精度以及體積的最小化,稚暉君設計了一個步行電機的一體閉環(huán)驅(qū)動。在“第151個設計稿”上,整只機械臂一共使用了6個電機,6個諧波減速器。同時為了保證機身強度和精度,機身的主體采用鋁CNC加工,而裝飾的組件則使用3D打印制作。所有的控制電路都集成在本體上且充分考慮美觀。二、電子系統(tǒng)
整套設備的電路設計相當復雜,涉及了電源模塊、電機驅(qū)動、計算模塊、通信系統(tǒng)等等。實際上這臺機械臂上光各種型號的MCU就有12個,而且為了使后續(xù)的擴展性足夠強,且交互方面能夠做一些很有意思的創(chuàng)新,在機體上搭載了Wifi,藍牙,2.4G等很多種無線能力。電路方面最主要的是主控制器和電機伺服驅(qū)動器,其中后者為了電機一體式的驅(qū)動,支持CAN總線和功率機聯(lián),所以整套系統(tǒng)將所有的6個電機以及末端執(zhí)行器連接起來,僅需要4根線。這款驅(qū)動器的性能可以說非常暴力,方案使用的是FOC加斬波恒流。由于添加了高精度的磁鐵編碼進行閉環(huán)控制,所以不會存在傳統(tǒng)步金電機丟步的風險。同時在最高轉(zhuǎn)速和效率方面,也不是3D打印機上那種驅(qū)動器能比擬的。如果說驅(qū)動器是心臟的話,那控制器就是機械臂的小腦了。在這個項目中,稚暉君使用了之前設計的機器人開發(fā)框架REF、基于Corte-M4內(nèi)核的MCU。提到這,稚暉君還是考量到后期的性能擴展性,憑借M4自帶FPU和DSP的內(nèi)核,為后面的控制算法中實現(xiàn)涉及到的大量復雜計算,展現(xiàn)出明顯的效率提升。另外主控制器采用冗余設計。除了主控制器REF外,還板載了一個ESP32作為協(xié)處理器。一方面作為STM32的安全備份,另一方面可以用于提供wifi藍牙等無線能力。總之為了解決最開始提到的精度和性能問題,解決方案就是:第一,使用步進電機加一體閉環(huán)驅(qū)動,三、軟件設計
對于機械臂來說,最核心的軟件內(nèi)容在于運動學的正逆解的算法以及動力學模型的實現(xiàn)。前者告訴我們機械臂的每個關(guān)節(jié)角度和最終末端的位置之間的正逆解求解關(guān)系,后者則用于實現(xiàn)碰撞檢測,柔性控制,力學反饋等功能。其中涉及到大量非常復雜的矩陣和偏微分計算,也是在項目實現(xiàn)中花費時間最多的部分。而且可以選擇多種坐標方式,比如關(guān)節(jié)坐標、世界坐標系、工具坐標系等。所有的姿態(tài)結(jié)算都是在機械臂內(nèi)完成。第二種交互方式是使用命令行,通過前期設計的REF自帶的RPC框架,可以實現(xiàn)更大自由度的機械臂控制和各種參數(shù)設置。但是前面兩種方式偏極客,對于普通人來說,圖形化才是更“陽間”的交互方式。于是也實現(xiàn)了對應的圖形化上位機。在上位機中可以進行傻瓜式的拖拽交互,而且是雙向交互。也就是既可以把動作下發(fā)給機械臂,也可以在軟件中實時同步機械臂的姿態(tài)。至此,這款機械臂才基本可以滿足絕大多數(shù)的使用需求。這就完了嗎?相比于上述方案,更優(yōu)雅的交互方式是什么呢?當然是軟件都不用打開,所見即所得--示教系統(tǒng)!
手動示教效果圖
回到硬件設計階段,如果合理地設置減速器的減速比,這臺機械臂就可以在保持力矩和精度的同時進行反驅(qū),所以獲得了一個手動協(xié)作示教的功能。只需要手動教它一遍運動的流程,它就可以自動學習重復。手動示教,其實是很多協(xié)作機器人都有的功能,并不算炫酷。值得一提的是開啟示教功能的方法,整個機械臂的機身,除了一個電源按鈕,沒有別的按鍵,那么如何進行各種功能的切換呢?一方面是通過動力學模型進行自動檢測,另外可以通過示教器開啟。在方案中,稚暉君設計了一個無線智能小終端,也是這臺機械臂的伴侶,它可以通過低功耗藍牙和機械臂進行無感連接,連接之后可以實時顯示機械臂的各種狀態(tài)信息,以及切換各種功能,比如進入示教模式。在新方案中,是不是可以結(jié)合一些比較前沿的技術(shù),比如AR增強現(xiàn)實技術(shù),在上位機中無法展示真實的環(huán)境,實現(xiàn)指哪打哪的效果?AR環(huán)境中的機械臂效果
但此時,生物學本行的稚暉君想到,機械臂和人類手臂有什么不同?人類使用機械臂最符合直覺的方式是什么?能不能設計一套系統(tǒng),把人手臂的動作直接同步到機械臂上面?在終極方案中,稚暉君設計了一套裝置,由雙目相機、AHRS系統(tǒng)、AI算力平臺、力傳感器和力反饋裝置以及通信模組組成。為了實現(xiàn)機械臂和人手臂動作同步,首先需要獲取準確的手部位置和旋轉(zhuǎn)姿態(tài),而這兩點分別由雙目相機進行目標識別、跟蹤定位,以及AHRS系統(tǒng)進行姿態(tài)解算來實現(xiàn)。其中涉及到的AI算法需要高效的計算平臺來承載,用是華為昇騰的Atlas邊緣計算平臺。實時位姿勢信息經(jīng)過復雜的坐標換算,以無線的方式發(fā)送給機械臂,并由機械臂響應執(zhí)行,這樣的交互極其絲滑。但機械臂的實用性并不體現(xiàn)在動一下而已, 通過在機械臂末端更換不同的效應器,來實現(xiàn)不同的功能,完成不同任務,才是有價值的地方。比如說安裝激光器可以三維雕刻、安裝畫筆可以書畫、安裝小型的主軸作為6軸的雕刻機,又或者最常見的,安裝夾爪完成各種通用操作。在末端,稚暉君添加了從ps5手柄拆來的帶力反饋的微型夾爪,可以時刻得到夾爪正在抓取東西的力度。結(jié)合前面說的空間定位系統(tǒng),又設計了一個手持控制器,包括AHRS裝置。而末端有一個紅外的LED,還可以用于雙目相機進行輔助識別。整個鏈條打通后的效果是,我們不僅可以把動作實時同步到機械臂,還能在控制器這邊實時感受到機械臂末端抓取東西的質(zhì)感,這才是終極的交互形態(tài)。談到如何應用,其實并不遙遠。通過機械臂執(zhí)行動作,可以達到很多人手無法達到的效果,比如可以進行軟件去抖、運動范圍的重映射、力矩強增強等,更重要的是遠程手術(shù),也不再是難題。https://www.bilibili.com/video/BV12341117rG?p=1&share_medium=iphone&share_plat=ios&share_session_id=02EEB283-86D5-43E9-A998-D488F508B245&share_source=WEIXIN&share_tag=s_i×tamp=1633613310&unique_k=CN0sJ1&share_times=3https://www.zhihu.com/question/491080130
雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。