0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于STM32、ESP32,鋼鐵俠打造機械臂設(shè)計

STM32嵌入式開發(fā) ? 來源:STM32嵌入式開發(fā) ? 2024-01-08 13:37 ? 次閱讀

機器人一直是稚暉君很感興趣的一個方向,而在工業(yè)機器人中他認(rèn)為最實用的非機械臂莫屬。正巧,半年前稚暉君偶然淘到了一臺二手機械臂,這讓他有些激動。然而,喜悅之情還沒持續(xù)多久,稚暉君就有些不開心了:在他花了一些時間將這臺機械臂研究透徹,并自己開發(fā)了一套 SDK 后,感到了一點不妙:“這個手子不太行啊”。

稚暉君表示,目前市面上的機械臂都不夠酷,因此決定要自己造一臺很酷的機械臂,并將其取名為 Dummy(取自鋼鐵俠中一只名為 Dummy 的機械臂)。為此他總結(jié)了一份架構(gòu)設(shè)計圖(由于該圖較長,視頻中為滾動呈現(xiàn),因此本文僅截取部分):

8e36207e-ade0-11ee-8b88-92fbcf53809c.png

硬件準(zhǔn)備

既然是要設(shè)計一臺機械臂,那就需要從硬件開始準(zhǔn)備,畢竟無論軟件算法再重要,也需要一個優(yōu)質(zhì)的載體才能完美呈現(xiàn)。

驅(qū)動方案

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

一般真正的工業(yè)機器人使用的電機都是無刷伺服電機,其性能各方面都非常優(yōu)秀,只是它的驅(qū)動系統(tǒng)較為復(fù)雜,并不適用于本次機械臂極其緊湊的結(jié)構(gòu)當(dāng)中。相比之下,稚暉君選擇了精度最高的步行電機,但它在高轉(zhuǎn)速下力矩較小的缺點需要克服。

為此,稚暉君選擇使用工業(yè)機械臂里面最常用的諧波減速以解決步行電機的力矩問題:其零背隙、高減速比、超小體積等優(yōu)點簡直是為這個項目量身打造。

電機和減速器確定后,驅(qū)動器方面稚暉君設(shè)計了一個步進電機的一體閉環(huán)驅(qū)動,以此保證驅(qū)動精度和體積最小化。

結(jié)構(gòu)設(shè)計

驅(qū)動方案確定之后,緊接著就是結(jié)構(gòu)設(shè)計,以下為設(shè)計圖最終版本:

8e5a49c2-ade0-11ee-8b88-92fbcf53809c.png

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

8e78f106-ade0-11ee-8b88-92fbcf53809c.png

沒錯,這個最終版本是第 151 版,在此之前還有 150 個版本稿,稚暉君都直呼:“這次的作品是我至今為止畫過最復(fù)雜的結(jié)構(gòu)設(shè)計了?!?/p>

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

8e833fda-ade0-11ee-8b88-92fbcf53809c.png

稚暉君還提到,之所以這個機械臂會設(shè)計成紅色,并不是為了致敬鋼鐵俠,而是因為“如果野生鋼鐵俠的機器人有顏色的話,那一定是中國紅”,稚暉君自稱為“野生鋼鐵俠”。

電路設(shè)計

整套機械臂的電路設(shè)計也非常復(fù)雜,其中涉及到了電源模塊、電機驅(qū)動、計算模塊、通信系統(tǒng)等很多方面,光各種型號的 MCU 就用了 12 個。此外,為了后續(xù)的擴展性夠強,能在交互方面做一些獨特創(chuàng)新,稚暉君在機體上還搭載了 WiFi、藍牙、2.4G 等多種無線能力。

當(dāng)然,這都是次要的,在電路方面最主要的還是主控制器和電機伺服驅(qū)動器。

先說電機伺服驅(qū)動器吧,稚暉君將其設(shè)計為電機一體式的驅(qū)動,支持 CAN 總線和功率機聯(lián),因此整套系統(tǒng)下來,僅需 4 根線即可將 6 個電機以及末端執(zhí)行器全部連接起來。不僅如此,這款驅(qū)動器的性能也非常優(yōu)秀,使用 FOC 加斬波恒流,并且添加了高精度的磁編碼進行閉環(huán)控制,因此避免了像傳統(tǒng)步進電機那樣丟步的可能,在最高轉(zhuǎn)速和效率方面也表現(xiàn)不俗。

8ea260d6-ade0-11ee-8b88-92fbcf53809c.png

“如果說驅(qū)動器是心臟的話,那控制器就是機械臂的小腦了?!笨刂破鞣矫?,稚暉君采用了他此前開發(fā)的機器人開發(fā)框架 REF,基于 Cortex-M4 內(nèi)核的 MCU。稚暉君解釋道,這是因為 M4 內(nèi)核自帶 FPU 和 DSP,可大幅提升此后控制算法中涉及到的大量復(fù)雜計算的效率。另外,主控制器采用冗余設(shè)計,除了主控制器 REF 外,還搭載了一個 ESP32 作為協(xié)處理器,用作 STM32 的安全備份并提供 WiFi、 藍牙等無線能力。

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

第一、使用步進電機加一體閉環(huán)驅(qū)動;

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

第三、在后續(xù)的算法實踐中進行高精度補償。

軟件走起

硬件具備了,但這只是開始,更為核心的還是軟件算法部分。稚暉君指出,對于機械臂來說,最核心的軟件內(nèi)容在于運動學(xué)正逆解的算法以及動力學(xué)模型的實現(xiàn)。

8eb50d08-ade0-11ee-8b88-92fbcf53809c.png

運動學(xué)正逆解算法可以得知機械臂每個關(guān)節(jié)角度和最終末端位置之間的正逆解求解關(guān)系,而動力學(xué)模型則用于實現(xiàn)碰撞檢測、柔性控制、力學(xué)反饋等多種功能,具體會涉及到大量十分復(fù)雜的矩陣和偏微分計算,這一點也是稚暉君在項目實現(xiàn)中花費時間最多的部分:“請大家記住,這些項目表面上看起來是電子和機械,其實背后全是算法和數(shù)學(xué)?!?/p>

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

8ec41d5c-ade0-11ee-8b88-92fbcf53809c.png

看起來是不是很像......沒錯,就是鴻蒙的 Logo,這臺機械臂主控制器里運行的是 LiteOS 內(nèi)核的鴻蒙系統(tǒng)。

交互方式

軟硬件兼?zhèn)洌敲唇酉聛砭褪俏覀冏钕猜剺芬姷难菔经h(huán)節(jié)啦!在這個部分,稚暉君展示了很多常規(guī)和非常規(guī)的交互方式,一句話總結(jié)就是:你想要的交互方式,這里都有!

利用串口

這是一種最簡單的交互方式,機械臂通過 USB 連上電腦會出現(xiàn)一個串口號,使用者能很方便地用串口命令來控制機械臂,還可以選擇多種坐標(biāo)方式,例如關(guān)節(jié)坐標(biāo)系、世界坐標(biāo)系、工具坐標(biāo)系等,而所有的姿態(tài)結(jié)算均在機械臂內(nèi)部完成。

8ee97dea-ade0-11ee-8b88-92fbcf53809c.png

使用命令行

通過稚暉君設(shè)計的 REF 自帶的 RPC 框架,可實現(xiàn)更大自由度的機械臂控制和各種參數(shù)設(shè)置。

8eff1600-ade0-11ee-8b88-92fbcf53809c.png

圖形化上位機

以上兩種方式對于技術(shù)人沒啥問題,但對于普通人來說就有些“陰間”了。因此稚暉君還實現(xiàn)了對應(yīng)的圖形化上位機,可以在上位機中進行“傻瓜式”的拖拽交互。

同時,這種交互還是雙向的,即不僅可以把動作下發(fā)給機械臂,還可以在軟件中實時同步機械臂的姿態(tài):

手動協(xié)作示教

理論上來說,以上三種交互方式已經(jīng)可以滿足絕大多數(shù)的使用需求了,但精益求精的稚暉君怎會止步于此:“更優(yōu)雅的交互方式是什么?當(dāng)然是連軟件都不用打開,所見即所得?!?/p>

基于此,可在硬件設(shè)計階段通過合理設(shè)置減速器的減速比,使得機械臂可以在保持力矩和精度的同時進行反驅(qū),以此獲得手動協(xié)作示教的功能,即只需手動教它一遍運動流程,它就可以自動學(xué)習(xí)重復(fù):

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

8f13a8f4-ade0-11ee-8b88-92fbcf53809c.png

這個無線示教器名為 Peak,其功能非常多,可通過低功耗藍牙和機械臂進行無感連接以實時顯示機械臂的各種狀態(tài)信息,還可以切換各種功能,其中就包括進入示教模式。

AR

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

終極交互形態(tài):像自己的手臂一樣

相信在許多人看來,以上這些交互方式已經(jīng)足夠優(yōu)秀了,但對稚暉君來說卻“還沒有到理想狀態(tài)”、“這一切都還不夠自然和優(yōu)雅”。為了追求極致的交互狀態(tài),稚暉君思考了很久,最終想到了人類使用機械臂最符合直覺的方式:要跟使用自己的手臂一樣。

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

首先由雙目相機進行目標(biāo)識別和跟蹤定位以及AHRS 系統(tǒng)進行姿態(tài)解算來獲取準(zhǔn)確的手部位置和旋轉(zhuǎn)姿態(tài)(由于此過程涉及到的 AI 算法需要高效計算平臺來承載,因此稚暉君選擇了華為昇騰的 Atlas 邊緣計算平臺),然后實時的位姿信息會經(jīng)過復(fù)雜的坐標(biāo)換算通過無線的方式發(fā)送給機械臂,機械臂收到之后便能響應(yīng)執(zhí)行。

不僅如此,考慮到機械臂的實用性價值,稚暉君還為機械臂設(shè)計了一個帶力反饋的微型夾爪,也就是說,使用者可隨時得知夾爪正在抓取東西的力度。

8f2828e2-ade0-11ee-8b88-92fbcf53809c.png

同時,結(jié)合空間定位系統(tǒng),他還設(shè)計了一個手持控制器,集成了 AHRS 裝置、紅外 LED 以及 PS5 手柄中號稱黑科技的扳機(其中安置了一個力反饋馬達,可實現(xiàn)對于各種物理效果的真實模擬)。

8fbec432-ade0-11ee-8b88-92fbcf53809c.png

整套設(shè)備的最終效果堪稱終極交互形態(tài):使用者不僅可以把動作實時同步到機械臂,而且還可以在控制器這邊實時感受到機械臂末端抓取東西的質(zhì)感。

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

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






審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 機器人
    +關(guān)注

    關(guān)注

    210

    文章

    27838

    瀏覽量

    204575
  • STM32
    +關(guān)注

    關(guān)注

    2257

    文章

    10828

    瀏覽量

    352444
  • 機械臂
    +關(guān)注

    關(guān)注

    12

    文章

    502

    瀏覽量

    24292
  • ESP32
    +關(guān)注

    關(guān)注

    17

    文章

    936

    瀏覽量

    16659

原文標(biāo)題:基于STM32、ESP32,鋼鐵俠打造機械臂

文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發(fā)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    真實版鋼鐵現(xiàn)世!!

    `真實版鋼鐵現(xiàn)世啦 啦 啦 啦??!兩米多高三百斤重,吸引不了有高智商的,我不信還吸引不了低智商的?`
    發(fā)表于 01-21 11:25

    華為天才少年稚暉君自制機械,能給葡萄縫針的那種,成本 1 萬塊

    。當(dāng)然,稚暉君也做了較為“陽間”的圖形化方式。而較為極客的 2 兩種方法:通過串口和命令行,也有的哈。這樣的野生鋼鐵機械,究竟是怎么“煉成”的?如何
    發(fā)表于 10-11 11:29

    ESP32模組的主要特性

    WT-ESP32-DevKitC V4是一款基于ESP32的小型開發(fā)板,集WIFI+藍牙方案于一體,板上模組絕大部分管腳均已引出,開發(fā)人員可根據(jù)實際需求,輕松通過跳線連接多種外圍器件,或?qū)㈤_發(fā)板直接
    發(fā)表于 11-04 14:54 ?3783次閱讀

    ESP32開發(fā)套件 ESP32-DevKitC

    今天推出的一款套件是來自全球創(chuàng)客屆大名鼎鼎的樂鑫科技官方提供的經(jīng)典ESP32開發(fā)套件 -?ESP32-DevKitC。 它基于樂鑫ESP32控制器(32-bit MCU 2.4 GHz Wi-Fi
    的頭像 發(fā)表于 01-06 16:55 ?8134次閱讀

    esp32和arduino的區(qū)別,esp32能否替代arduino

    很多創(chuàng)客愛好者甚至有些技術(shù)工程師在理解esp32和arduino的時候總是問一句這兩塊板子哪個更好用?他們可能潛意識中就覺得arduino和esp32是競品的關(guān)系,但實際是這樣嗎?今天我們就深入
    發(fā)表于 06-24 17:11 ?2.6w次閱讀

    ESP32 開發(fā)之旅② Arduino For ESP32說明

    文章目錄1. Arduino Core For ESP32是什么?2.Arduino core for ESP32庫3.與ESP8266庫類比3.1 WiFi —— ESP
    發(fā)表于 11-13 19:51 ?33次下載
    <b class='flag-5'>ESP32</b> 開發(fā)之旅② Arduino For <b class='flag-5'>ESP32</b>說明

    ESP32 SDIO 使用教程

    ESP32 SDIO 使用教程本文旨在說明如何使用標(biāo)準(zhǔn)的 ESP32-WROOM-32D 開發(fā)板進行 SDIO 的通信。本文檔適用于所有需要與 ESP32 SDIO slave 通信的方案
    發(fā)表于 11-23 17:51 ?233次下載
    <b class='flag-5'>ESP32</b> SDIO 使用教程

    ESP32系列芯片的規(guī)格

    ESP32是一款2.4GHz Wi-Fi和藍牙組合芯片,采用TSMC超低功耗40nm設(shè)計技術(shù)它旨在實現(xiàn)最佳功率和射頻性能,顯示出魯棒性、多功能性和靈活性在各種應(yīng)用和電源場景中的可靠性。ESP32系列芯片包括ESP32-D0WDQ
    發(fā)表于 04-25 16:21 ?7次下載

    ESP32/STM32電源系統(tǒng)開源項目

    電子發(fā)燒友網(wǎng)站提供《ESP32/STM32電源系統(tǒng)開源項目.zip》資料免費下載
    發(fā)表于 07-13 09:27 ?13次下載
    <b class='flag-5'>ESP32</b>/<b class='flag-5'>STM32</b>電源系統(tǒng)開源項目

    采用Toit和ESP32打造的溫控風(fēng)扇

    電子發(fā)燒友網(wǎng)站提供《采用Toit和ESP32打造的溫控風(fēng)扇.zip》資料免費下載
    發(fā)表于 11-02 10:48 ?3次下載
    采用Toit和<b class='flag-5'>ESP32</b><b class='flag-5'>打造</b>的溫控風(fēng)扇

    使用Ardudino Uno來控制鋼鐵

    電子發(fā)燒友網(wǎng)站提供《使用Ardudino Uno來控制鋼鐵.zip》資料免費下載
    發(fā)表于 12-20 17:33 ?0次下載
    使用Ardudino Uno來控制<b class='flag-5'>鋼鐵</b><b class='flag-5'>俠</b>

    ESP32ESP32通過Internet進行通信

    電子發(fā)燒友網(wǎng)站提供《ESP32ESP32通過Internet進行通信.zip》資料免費下載
    發(fā)表于 06-15 09:58 ?4次下載
    <b class='flag-5'>ESP32</b>到<b class='flag-5'>ESP32</b>通過Internet進行通信

    鋼鐵NiteLite開源硬件

    電子發(fā)燒友網(wǎng)站提供《鋼鐵NiteLite開源硬件.zip》資料免費下載
    發(fā)表于 07-10 10:45 ?0次下載
    <b class='flag-5'>鋼鐵</b><b class='flag-5'>俠</b>NiteLite開源硬件

    嵌入式領(lǐng)域的未來之爭,ESP32STM32誰將勝出?

    STM32比起來,ESP32內(nèi)核的速度更高,處理指令更快,不過ESP32更多是面向物聯(lián)網(wǎng)方向的芯片,內(nèi)置了藍牙和Wi-Fi。
    發(fā)表于 04-15 11:01 ?1401次閱讀

    ESP32能取代STM32嗎?哪個更好?

    不能!首先二者不存在哪個更好的問題,因為這兩個芯片使用場景各不相同,在嵌入式系統(tǒng)領(lǐng)域,ESP32STM32都是常見的單片機系列,它們各自具有一定的優(yōu)勢和適用場景。本文主要探討ESP32是否能夠取代
    的頭像 發(fā)表于 07-06 08:04 ?2964次閱讀
    <b class='flag-5'>ESP32</b>能取代<b class='flag-5'>STM32</b>嗎?哪個更好?