華為天才少年技驚B站!自制鴻蒙系統機械臂、效果太酷炫

天才少年,一人成伍。

稚暉君一更新,其他科技區UP主紛紛回到生活區,這算是年輕人對稚暉君的最高褒獎了!

國慶期間內,華為天才少年稚暉君送上一份大件:一人!一條龍!造了一只鋼鐵俠的機械臂!

據說這是他迄今為止的“業余項目”中最復雜的一個,連何同學都在評論區占據沙發:我好菜,

機械臂的名字也非常有趣——叫做Dummy,不僅致敬鋼鐵俠的機械臂笨笨,還是綁定到機械臂的末端上的“引導點”,暗含稚暉君的小心思,實在是妙哇!

這次稚暉君的項目,操作系統和 AI 計算平臺也分別都用上了華為鴻蒙和昇騰 Atlas 處理器,機身還是一抹靚麗的大陸紅,

身在華為,心在中華,在彈幕大軍感嘆稚暉君軟硬件通吃的超強專業能力和連做四個月的高效“肝”能力的同時,還對這位天才少年的人文素養豎起大拇哥!


最終選定為大陸紅

用B站“專業話術”說,這不得“一鍵三連”!正如稚暉君多次在B站動態中表示:要努力成為科技和人文交叉口最靚的仔!

主業華為AI算法工程師,副業科技區UP主,這屆的原PO不簡單

路人粉應該知道,他身上的標簽,最顯眼的“華為天才少年”。但是關注過他的人卻知道,他的標簽,是對科技的極致熱愛。

稚暉君應該是每一個電子愛好者所向往但是又渴望而不可及的大佬,但他表示自己不算CS科班,本科是生物醫學工程專業,研究所是資訊與通信系統專業,18年畢業于電子科技大學部,之后進入OPPO算法崗工作,目前已經是華為AI算法工程師,

除此之外,他還是一位技術追求極致的UP主,從一個愛好動手的大學部生分享各種硬件DIY視訊,到分享B站最強小電視、FOC矢量控制器、PocketLCD,自動行駛腳踏車,在斜杠的路上受到眾多網友追捧。

用稚暉君自己的話來說,上班做AI算法研究,芯片使能軟體棧開發,DSA架構下稀疏矩陣加速,視覺庫異構加速之類的,但是下班做的東西對大家來說更好玩。在這款機械臂的動態中,整整兩個月,他與粉絲一同分享機械臂的長成記錄:

8月6號預告“下一個項目是機械臂”

10號的與眾多網友報備“已出設計圖”

在這之后的一個月中,順便吐槽一下加工師傅拖慢進度,等待的時間已經做出小模塊

9月17號終于收到加工件,19號完成機械臂的整套閉環驅動

10月6號全部完工,7號出視訊

網友驚嘆稚暉君的恐怖之處在于:一個人完成了所有細節,建模,算法,電路設計,驅動設計,APP開發,單拎出來足夠做個畢設了!

其知識覆蓋面并非靠普通的學業方式實現,被華為以天才計劃納入麾下,想必就是看中他這一點,在8月2日,任正非在中央研究院創新先鋒座談會上與部分科學家、專家、實習生的講話中說到:

對于2012實驗室(華為的總研究組織),公司從未給過你們過多約束。比如,有人研究腳踏車的自動駕駛,公司沒有約束過他,我們要生產腳踏車嗎?沒有啊,這是他掌握的一把“手術刀”,或許以后會發揮什么作用,產生什么巨大的商業價值,

這個項目看上去是四個月的工作,實際上有之前無刷驅動、小電視等項目的大量沉淀。表面上看起來是項目是電子和機械,背后全是算法和數學。

在項目背后,稚暉君自己表示,堅持每個項目開源,與大家一同進步。能夠通過一個項目視訊帶大家概覽某一個方向的技術,有了對該領域的sense和興趣之后,再激勵大家去自主學習,這相比于獨樂樂可能是更有意義的事情。

如何做出一只“緊湊”的機械臂

如何自己造一臺很酷的機械臂呢?如何在成本有限地情況下造出市面上精度最高、性能最強、體積最小的機械臂?

首先要解決三個問題:機械結構設計、電子系統、軟體系統。

一、機械結構設計結構設計中首先要解決的是精度問題,在機器人的硬件設計中,常說的機器人三大核心部件是電機、減速器、驅動器。真正的工業機器人中使用的電機一般是無刷伺服電機,

無刷伺服電機不論是在動態響應,力矩保持,精度各方面都非常優秀。缺點是驅動系統比較復雜,不適合用在本次這樣極其緊湊的結構中。于是稚暉君的方案中,決定使用步行電機。這類電機的精度最高,但缺點在于高轉速下力矩比較小。

所以為了解決力矩的問題,一般會給電機配備減速器,減速器就是類似汽車的變速箱,是用于降低輸出的轉速,而成倍增加輸出力矩。

目前市面上的小型機械臂使用的都是行星減速器,而在本次項目中,使用了工業機械臂里面最常用的諧波減速。在柔性輪和波發生器的相互作用下,諧波減速器具有零背隙、高減速比,超小體積等優點,非常適用本項目。

諧波減速器的運行原理在電機和減速器確定后,最后是驅動器,同樣為了保證驅動精度以及體積的最小化,稚暉君設計了一個步行電機的一體閉環驅動。在“第151個設計稿”上,整只機械臂一共使用了6個電機,6個諧波減速器,

同時為了保證機身強度和精度,機身的主體采用鋁CNC加工,而裝飾的組件則使用3D列印制作。所有的控制電路都集成在本體上且充分考慮美觀。

二、電子系統整套設備的電路設計相當復雜,涉及了電源模塊、電機驅動、計算模塊、通信系統等等,

實際上這臺機械臂上光各種型號的MCU就有12個,而且為了使后續的擴展性足夠強,且交互方面能夠做一些很有意思的創新,在機體上搭載了Wifi,藍牙,2.4G等很多種無線能力,電路方面最主要的是主控制器和電機伺服驅動器,其中后者為了電機一體式的驅動,支持CAN總線和功率機聯,所以整套系統將所有的6個電機以及末端執行器連接起來,僅需要4根線。

這款驅動器的性能可以說非常暴力,方案使用的是FOC加斬波恒流。由于添加了高精度的磁鐵編碼進行閉環控制,所以不會存在傳統步金電機丟步的風險。

同時在最高轉速和效率方面,也不是3D列印機上那種驅動器能比擬的。如果說驅動器是心臟的話,那控制器就是機械臂的小腦了,在這個項目中,稚暉君使用了之前設計的機器人開發框架REF、基于Corte-M4內核的MCU,提到這,稚暉君還是考量到后期的性能擴展性,憑借M4自帶FPU和DSP的內核,為后面的控制算法中實現涉及到的大量復雜計算,展現出明顯的效率提升。

另外主控制器采用冗余設計,除了主控制器REF外,還板載了一個ESP32作為協處理器。一方面作為STM32的安全備份,另一方面可以用于提供wifi藍牙等無線能力。

總之為了解決最開始提到的精度和性能問題,解決方案就是:第一,使用步進電機加一體閉環驅動,第二,使用0背隙的諧波減速器第三,在后續的算法實踐中進行高精度補償,

三、軟體設計對于機械臂來說,最核心的軟體內容在于運動學的正逆解的算法以及動力學模型的實現。

前者告訴我們機械臂的每個關節角度和最終末端的位置之間的正逆解求解關系,后者則用于實現碰撞檢測,柔性控制,力學反饋等功能。其中涉及到大量非常復雜的矩陣和偏微分計算,也是在項目實現中花費時間最多的部分。

而且可以選擇多種坐標方式,比如關節坐標、世界坐標系、工具坐標系等。所有的姿態結算都是在機械臂內完成。第二種交互方式是使用命令行,通過前期設計的REF自帶的RPC框架,可以實現更大自由度的機械臂控制和各種參數設置,

但是前面兩種方式偏極客,對于普通人來說,圖形化才是更“陽間”的交互方式。于是也實現了對應的圖形化上位機,在上位機中可以進行傻瓜式的拖拽交互,而且是雙向交互,

也就是既可以把動作下發給機械臂,也可以在軟體中實時同步機械臂的姿態。至此,這款機械臂才基本可以滿足絕大多數的使用需求,這就完了嗎?相比于上述方案,更優雅的交互方式是什么呢?當然是軟體都不用打開,所見即所得–示教系統!


手動示教過程


手動示教效果圖

回到硬件設計階段,如果合理地設置減速器的減速比,這臺機械臂就可以在保持力矩和精度的同時進行反驅,所以獲得了一個手動協作示教的功能。只需要手動教它一遍運動的流程,它就可以自動學習重復。手動示教,其實是很多協作機器人都有的功能,并不算炫酷。

值得一提的是開啟示教功能的方法,整個機械臂的機身,除了一個電源按鈕,沒有別的按鍵,那么如何進行各種功能的切換呢?一方面是通過動力學模型進行自動檢測,另外可以通過示教器開啟,

在方案中,稚暉君設計了一個無線智能小終端,也是這臺機械臂的伴侶,它可以通過低功耗藍牙和機械臂進行無感連接,連接之后可以實時顯示機械臂的各種狀態資訊,以及切換各種功能,比如進入示教模式,

還有別的交互方式嗎?在新方案中,是不是可以結合一些比較前沿的技術,比如AR增強現實技術,在上位機中無法展示真實的環境,實現指哪打哪的效果?


AR環境中的機械臂效果

當然,只要方案可行,稚暉君就能做出來!但此時,生物學本行的稚暉君想到,機械臂和人類手臂有什么不同?人類使用機械臂最符合直覺的方式是什么?能不能設計一套系統,把人手臂的動作直接同步到機械臂上面?

如何做出一只“優雅”的機械臂?

同步現實!在終極方案中,稚暉君設計了一套裝置,由雙目相機、AHRS系統、AI算力平臺、力傳感器和力反饋裝置以及通信模組組成。

為了實現機械臂和人手臂動作同步,首先需要獲取準確的手部位置和旋轉姿態,而這兩點分別由雙目相機進行目標識別、跟蹤定位,以及AHRS系統進行姿態解算來實現。

其中涉及到的AI算法需要高效的計算平臺來承載,用是華為昇騰的Atlas邊緣計算平臺。實時位姿勢資訊經過復雜的坐標換算,以無線的方式發送給機械臂,并由機械臂響應執行,這樣的交互極其絲滑,

但機械臂的實用性并不體現在動一下而已, 通過在機械臂末端更換不同的效應器,來實現不同的功能,完成不同任務,才是有價值的地方,

比如說安裝激光器可以三維雕刻、安裝畫筆可以書畫、安裝小型的主軸作為6軸的雕刻機,又或者最常見的,安裝夾爪完成各種通用操作。

在末端,稚暉君添加了從ps5手柄拆來的帶力反饋的微型夾爪,可以時刻得到夾爪正在抓取東西的力度。結合前面說的空間定位系統,又設計了一個手持控制器,包括AHRS裝置。而末端有一個紅外的LED,還可以用于雙目相機進行輔助識別,

整個鏈條打通后的效果是,我們不僅可以把動作實時同步到機械臂,還能在控制器這邊實時感受到機械臂末端抓取東西的質感,這才是終極的交互形態。

機械臂縫合葡萄皮談到如何應用,其實并不遙遠。通過機械臂執行動作,可以達到很多人手無法達到的效果,比如可以進行軟體去抖、運動范圍的重映射、力矩強增強等,更重要的是遠程手術,也不再是難題。


廁所里遠程手術

0 条回复 A文章作者 M管理員
    暫無討論,說說你的看法吧