華為“天才少年” DIY 生日禮物:四個月打造能縫葡萄的機械臂!

整理 | 鄭麗媛

出品 | CSDN(ID:CSDNnews)

他來了他來了!“鴿”了這麼久,華為“天才少年”稚暉君終於帶著他的新專案迴歸了!

還記得今年六月,稚暉君帶著一輛改裝腳踏車成為了自動駕駛界的清流:《我把腳踏車做成了自動駕駛!!》。該影片吸引了無數人圍觀讚歎,光B 站就已達成 376w+的播放量。

此後,許多網友在一鍵三連的同時,也關注起了這位自 2017 年起就喜歡 DIY各種東西的up 主:FOC 向量控制驅動器、螃蟹殼火星車、帶螢幕的 NFC 名片……內容之硬核豐富,令人無比期待稚暉君下一次會帶來怎樣有趣的專案。

終於,時隔 4 個月,在國慶假期的最後一天,稚暉君釋出了他的新影片《我造了一臺鋼鐵俠的機械臂!》。

華為“天才少年” DIY 生日禮物:四個月打造能縫葡萄的機械臂!

攢了四個月,可不得來波大的?正如稚暉君自己所調侃的那樣“鴿得越久,說明事情越大”,這次的機械臂專案,他將其形容為

“不管是從實現難度還是工作量上來說,都可能是我目前做的最複雜的專案之一了”

那麼,上次的腳踏車能“自行”,

這次的機械臂能幹嘛呢?答:給葡萄做精密的縫合手術

稚暉君一不滿,就有新專案看

機器人一直是稚暉君很感興趣的一個方向,而在工業機器人中他認為最實用的非機械臂莫屬。正巧,半年前稚暉君偶然淘到了一臺二手機械臂,這讓他有些激動,雖然這臺機械臂生產於 2014 年、售後和配套資料幾乎為 0,但效能還不錯,該有的功能基本都有,個人水平高應該也能玩得起來。

然而,喜悅之情還沒持續多久,稚暉君就有些不開心了:在

他花了一些時間將這臺機械臂研究透徹,並自己開發了一套 SDK 後,感到了一點不妙:“這個手子不太行啊”

俗話說,高手過招,往往只需要一個眼神,而稚暉君決定要做新專案,也僅出於一些不滿:上次的“自行”車源於一個摔跤,這次的機械臂也是因為他覺得“使用體驗非常一言難盡”,體積也過於大了,底座以上都砍掉才是“稚暉君風格”。然後呢,

稚暉君一不滿,我們就有新專案看了!

稚暉君表示,目前市面上的機械臂都不夠酷,因此決定要自己造一臺很酷的機械臂,並將其取名為 Dummy(取自鋼鐵俠中一隻名為 Dummy 的機械臂)。為此他總結了一份架構設計圖(由於該圖較長,影片中為滾動呈現,因此本文僅擷取部分):

華為“天才少年” DIY 生日禮物:四個月打造能縫葡萄的機械臂!

硬體準備!

既然是要設計一臺機械臂,那就需要從硬體開始準備,畢竟無論軟體演算法再重要,也需要一個優質的載體才能完美呈現。

驅動方案

硬體方面,首先需要確定的就是驅動方案,其中包括人們常說機器人的三大核心部件——電機、減速器和驅動器。

一般真正的工業機器人使用的電機都是無刷伺服電機,其效能各方面都非常優秀,只是它的驅動系統較為複雜,並不適用於本次機械臂極其緊湊的結構當中。相比之下,

稚暉君選擇了精度最高的步行電機,但它在高轉速下力矩較小的缺點需要克服

為此,

稚暉君選擇使用工業機械臂裡面最常用的諧波減速以解決步行電機的力矩問題

:其零背隙、高減速比、超小體積等優點簡直是為這個專案量身打造。

電機和減速器確定後,驅動器方面稚暉君設計了一個步進電機的一體閉環驅動,以此保證驅動精度和體積最小化。

結構設計

驅動方案確定之後,緊接著就是結構設計,以下為設計圖最終版本:

華為“天才少年” DIY 生日禮物:四個月打造能縫葡萄的機械臂!

大家有沒有注意到這張圖的一個亮點?

沒錯,這個最終版本是第 151 版,在此之前還有 150 個版本稿,稚暉君都直呼:“

這次的作品是我至今為止畫過最複雜的結構設計了。

從圖中可以看到,這款機械臂一共使用了 6 個電機和 6 個諧波減速器,機身主體採用鋁 CNC 加工,裝飾元件則由3D 打印製作,為了美觀,控制電路上也都整合在本體上。

華為“天才少年” DIY 生日禮物:四個月打造能縫葡萄的機械臂!

稚暉君還提到,

之所以這個機械臂會設計成紅色,並不是為了致敬鋼鐵俠,而是因為“如果野生鋼鐵俠的機器人有顏色的話,那一定是中國紅”,畢竟他的生日在國慶節。

(PS:稚暉君自稱為“野生鋼鐵俠”)

電路設計

整套機械臂的電路設計也非常複雜,其中涉及到了電源模組、電機驅動、計算模組、通訊系統等很多方面

,光各種型號的 MCU就用了 12 個。此外,為了後續的擴充套件性夠強,能在互動方面做一些獨特創新,稚暉君在機體上還搭載了 WiFi、藍芽、2。4G 等多種無線能力。

當然,這都是次要的,

在電路方面最主要的還是主控制器和電機伺服驅動器

先說電機伺服驅動器吧,

稚暉君將其設計為電機一體式的驅動

,支援 CAN 匯流排和功率機聯,因此整套系統下來,僅需 4 根線即可將 6 個電機以及末端執行器全部連線起來。不僅如此,這款驅動器的效能也非常優秀,使用 FOC 加斬波恆流,並且添加了高精度的磁編碼進行閉環控制,因此避免了像傳統步進電機那樣丟步的可能,在最高轉速和效率方面也表現不俗。

華為“天才少年” DIY 生日禮物:四個月打造能縫葡萄的機械臂!

“如果說驅動器是心臟的話,那控制器就是機械臂的小腦了。”

控制器方面,稚暉君採用了他此前開發的機器人開發框架 REF

,基於 Cortex-M4 核心的 MCU。稚暉君解釋道,這是因為M4 核心自帶 FPU 和 DSP,可大幅提升此後控制演算法中涉及到的大量複雜計算的效率。另外,主控制器採用冗餘設計,除了主控制器 REF 外,還搭載了一個 ESP32 作為協處理器,用作 STM32 的安全備份並提供 WiFi、 藍芽等無線能力。

總體而言,稚暉君為解決精度和效能問題,共進行了三個步驟:

第一、使用步進電機加一體閉環驅動;

第二、使用 0 背隙的諧波減速器;

第三、在後續的演算法實踐中進行高精度補償。

軟體走起!

硬體具備了,但這只是開始,更為核心的還是軟體演算法部分。稚暉君指出,對於機械臂來說,最核心的軟體內容在於

運動學正逆解的演算法

以及

動力學模型的實現

華為“天才少年” DIY 生日禮物:四個月打造能縫葡萄的機械臂!

運動學正逆解演算法可以得知機械臂每個關節角度和最終末端位置之間的正逆解求解關係,而動力學模型則用於實現碰撞檢測、柔性控制、力學反饋等多種功能,具體會涉及到大量十分複雜的矩陣和偏微分計算,這一點也是稚暉君在專案實現中花費時間最多的部分:“請大家記住,這些專案表面上看起來是電子和機械,其實背後全是演算法和數學。”

除了核心演算法外,軟體部分還包括命令列和圖形化的上位機、手機端的 APP 以及無線示教器韌體等。另外,可能還有人注意到了機械臂底座上有一個又大又圓的燈環:

華為“天才少年” DIY 生日禮物:四個月打造能縫葡萄的機械臂!

看起來是不是很像……沒錯,就是鴻蒙的 Logo,

這臺機械臂主控制器裡執行的是 LiteOS 核心的鴻蒙系統

不過由於影片時長有限,許多技術內容並沒有詳細講述,所幸

稚暉君將這次的專案也開源了,因此感興趣的小夥伴可以前往其 GitHub 檢視專案詳細程式碼

:https://github。com/peng-zhihui/Dummy-Robot。

華為“天才少年” DIY 生日禮物:四個月打造能縫葡萄的機械臂!

你想要的互動方式,這裡都有!

軟硬體兼備,那麼接下來就是我們最喜聞樂見的演示環節啦!在這個部分,稚暉君展示了很多常規和非常規的互動方式,一句話總結就是:

你想要的互動方式,這裡都有!

利用串列埠

這是一種最簡單的互動方式,機械臂透過 USB 連上電腦會出現一個串列埠號,使用者能很方便地用串列埠命令來控制機械臂,還可以選擇多種座標方式,例如關節座標系、世界座標系、工具座標系等,而所有的姿態結算均在機械臂內部完成。

華為“天才少年” DIY 生日禮物:四個月打造能縫葡萄的機械臂!

使用命令列

透過稚暉君設計的REF 自帶的 RPC 框架,可實現更大自由度的機械臂控制和各種引數設定。

華為“天才少年” DIY 生日禮物:四個月打造能縫葡萄的機械臂!

圖形化上位機

以上兩種方式對於技術人沒啥問題,但對於普通人來說就有些“陰間”了。因此稚暉君還實現了對應的圖形化上位機,可以在上位機中進行“傻瓜式”的拖拽互動。

同時,

這種互動還是雙向的,即不僅可以把動作下發給機械臂,還可以在軟體中實時同步機械臂的姿態

手動協作示教

理論上來說,以上三種互動方式已經可以滿足絕大多數的使用需求了,但精益求精的稚暉君怎會止步於此:“更優雅的互動方式是什麼?

當然是連軟體都不用開啟,所見即所得。

基於此,可在硬體設計階段透過合理設定減速器的減速比,使得機械臂可以在保持力矩和精度的同時進行反驅,以此獲得手動協作示教的功能,即只需手動教它一遍運動流程,它就可以自動學習重複:

但很多協作機器都有手動示教功能,所以稚暉君覺得這並不算炫酷,因此他設計了一個開啟示教功能的特別方法:一個無線智慧小終端。

華為“天才少年” DIY 生日禮物:四個月打造能縫葡萄的機械臂!

這個無線示教器名為 Peak,其功能非常多,可透過低功耗藍芽和機械臂進行無感連線以實時顯示機械臂的各種狀態資訊,還可以切換各種功能,其中就包括進入示教模式。

AR

除此之外,稚暉君還利用了較為前沿的AR技術作為互動方式。畢竟上位機無法展示真實環境,手動示教也比較累,而結合增強現實技術則可以真正實現“指哪打哪”的效果。

終極互動形態:像自己的手臂一樣

相信在許多人看來,以上這些互動方式已經足夠優秀了,但對稚暉君來說卻“還沒有到理想狀態”、“這一切都還不夠自然和優雅”。為了追求極致的互動狀態,稚暉君思考了很久,

最終想到了人類使用機械臂最符合直覺的方式:要跟使用自己的手臂一樣

出於這種想法,稚暉君設計了一套由雙目相機、AHRS 系統、AI 算力平臺、力感測和力反饋裝置以及通訊模組組成的裝置,以此實現將人類手臂的動作直接同步到機械臂上,具體原理如下:

首先由雙目相機進行目標識別和跟蹤定位以及AHRS 系統進行姿態解算來獲取準確的手部位置和旋轉姿態(由於此過程涉及到的 AI 演算法需要高效計算平臺來承載,因此稚暉君選擇了華為昇騰的 Atlas 邊緣計算平臺),然後實時的位姿資訊會經過複雜的座標換算透過無線的方式傳送給機械臂,機械臂收到之後便能響應執行。

不僅如此,考慮到機械臂的實用性價值,

稚暉君還為機械臂設計了一個帶力反饋的微型夾爪

,也就是說,使用者可隨時得知夾爪正在抓取東西的力度。

華為“天才少年” DIY 生日禮物:四個月打造能縫葡萄的機械臂!

同時,結合空間定位系統,

他還設計了一個手持控制器,集成了AHRS 裝置、紅外 LED以及PS5 手柄中號稱黑科技的扳機

(其中安置了一個力反饋馬達,可實現對於各種物理效果的真實模擬)。

華為“天才少年” DIY 生日禮物:四個月打造能縫葡萄的機械臂!

整套裝置的最終效果堪稱終極互動形態:使用者不僅可以把動作實時同步到機械臂,而且還可以在控制器這邊實時感受到機械臂末端抓取東西的質感。

為了展現這個效果有多驚人,稚暉君用機械臂給葡萄做了一個縫合手術:

自然,這套動作讓人們親手完成也可以,不就是縫個葡萄,但你可以人在廁所縫著客廳的葡萄嗎?沒錯,這臺機械臂可以實現遠端操作,除此之外,他還可以進行軟體去抖、運動範圍的重對映、力矩強增強等多種人手無法達到的效果。

“請叫我‘野生鋼鐵俠’”

其實在稚暉君看來,這次的機械臂專案不過是他在業餘時間研究的一個“小作品”,與華為公司沒有什麼關係,只是他為自己準備的一個生日禮物,不想卻得到了眾多人的關注與稱讚,“華為天才少年”一詞也再度登上許多網站的熱搜。

對此,稚暉君表示:“

我既不是天才,也已經不是少年了,可能‘野生鋼鐵俠’這個稱呼更適合我。

”同時,這個專案並非想做什麼顛覆行業的東西,也遠遠比不上達芬奇機器人。但如果能因此引發一些學生的興趣,讓大家投入到相關領域學習創新,那自然是再好不過了。

最後,稚暉君透露,下一個主線專案將是之前預告了很久的某個機器人專案。不知道這一次,他又會“鴿”多久呢(bushi)?

參考連結:

https://www。bilibili。com/video/BV12341117rG?spm_id_from=333。999。0。0

https://weibo。com/n/%E7%A8%9A%E6%99%96%E5%90%9B

https://github。com/peng-zhihui

TAG: 稚暉機械電機互動方式專案