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

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

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

開(kāi)源六軸協(xié)作機(jī)械臂MechArm案例演示!

大象機(jī)器人科技 ? 來(lái)源:大象機(jī)器人科技 ? 作者:大象機(jī)器人科技 ? 2023-11-28 15:58 ? 次閱讀

介紹
今天,我將向大家展示一個(gè)我獨(dú)立設(shè)計(jì)并實(shí)現(xiàn)的機(jī)械臂模型。這個(gè)模型的核心功能是實(shí)現(xiàn)實(shí)時(shí)的手勢(shì)追蹤——只需用手輕輕拖拽,機(jī)械臂就能立即跟隨你的動(dòng)作進(jìn)行移動(dòng)。

我之所以想要?jiǎng)?chuàng)造這樣一個(gè)模型,是因?yàn)樵谝恍┪kU(xiǎn)環(huán)境中,我們可以用機(jī)械臂來(lái)代替人工進(jìn)行作業(yè),從而避免人員的生命安全受到威脅。

你可能會(huì)問(wèn),為什么不直接使用遠(yuǎn)程的鍵盤控制、手柄控制或者APP控制,而要選擇手動(dòng)拖拽的方式呢?我覺(jué)得只有手動(dòng)操作,才能最大程度上滿足我們對(duì)動(dòng)作精準(zhǔn)度的需求。因此,我決定開(kāi)始嘗試制作這個(gè)模型,并初步完成了整個(gè)demo。

我希望,通過(guò)這個(gè)demo,我能向大家展示出機(jī)械臂的無(wú)限可能性,同時(shí)也希望能激發(fā)出大家對(duì)未來(lái)科技的無(wú)限憧憬。

機(jī)械臂設(shè)備
mechArm 270 M5
mechArm 270 是一款六自由度的機(jī)械臂,它精巧的結(jié)構(gòu)設(shè)計(jì),能夠放入一個(gè)書(shū)包里,攜帶和方便。較為重要的一點(diǎn)是開(kāi)放了很多控制的API,用python能夠快速開(kāi)始對(duì)機(jī)械臂的控制。沒(méi)有很復(fù)雜的操作,甚至還有圖形編程,這對(duì)一些不是很懂代碼的人也能夠快速上手控制機(jī)械臂。

mechArm是一款桌面型的仿工業(yè)結(jié)構(gòu)的機(jī)械臂,工作最大半徑在270mm,負(fù)載250g,重復(fù)定位精度控制在±0.5mm。

Project
介紹完基礎(chǔ)的設(shè)備,我們就開(kāi)始介紹我時(shí)如何制作這個(gè)demo過(guò)程的記錄。

使用的環(huán)境
操作系統(tǒng):windows11

編程語(yǔ)言:python3.9+

python lib:pymycobot,time

pymycobot是大象機(jī)器人的一個(gè)開(kāi)源庫(kù),專門用來(lái)控制大象機(jī)器人的機(jī)械臂。一段簡(jiǎn)單的控制代碼例子。

Code:

#Main methods used

#Create objects to communicate with the robotic arm.
MyCobot(serial,baud)
# angles control robot,
send_angles([list_angles],speed)
# coords control robot
send_coords([list_coords],speed,mode)

Example:

import time
from pymycobot.mycobot import MyCobot

# create a object
mc = MyCobot("com7",115200)

# angles control
mc.send_angles([0,0,0,0,0,0],100)
time.sleep(1)
mc.send_angles([90,90,90,90,90,90],100)
time.sleep(1)


簡(jiǎn)單介紹了下如何使用python來(lái)控制mechArm,是不是很容易呢。

分析問(wèn)題
開(kāi)始項(xiàng)目之前要搭建框架,了解我們具體需要解決什么問(wèn)題才能夠?qū)崿F(xiàn)。對(duì)此我做了一個(gè)項(xiàng)目的流程圖。下面我將手動(dòng)施教的機(jī)械臂簡(jiǎn)稱為R1,跟隨運(yùn)動(dòng)的機(jī)械臂簡(jiǎn)稱為R2。

wKgZomVlnNKAS5b_AABFZ6isNzk901.png

Control robotic arm:上邊已經(jīng)提到了如何控制機(jī)械臂,使用pymycobot庫(kù)提供的方法就可以實(shí)現(xiàn)了。

Motion Control methods:R1機(jī)械臂可以用手拖動(dòng),時(shí)時(shí)刻刻返回當(dāng)前機(jī)械臂的角度信息,R2機(jī)械臂接收R1的機(jī)械臂角度信息進(jìn)行控制。

Communication between robotic arms:整個(gè)項(xiàng)目中這一步驟是比較重要的一步。建立好之后,機(jī)械臂能夠發(fā)送信息就能夠很輕易的實(shí)現(xiàn)了。

接下來(lái)主要講解Motion Control methods和communication between robotic arms。

Motion Control methods
獲取實(shí)時(shí)角度信息
pymycobot提供了”get_angles()"方法可以過(guò)去當(dāng)前機(jī)械臂的角度信息。

# Can obtain the current angle information of the robotic arm in real time
get_angles()

# example
print("real-time angles:",mc.get_anlges())

result: real-time angles:[0,0,0,0,0,0]

# Continuously obtain the current angle
while True:
   angels = mc.get_angles()
   print(angles) 
   time.sleep(0.1) #Go to the next step every 0.1s


機(jī)械臂的刷新模式設(shè)置
機(jī)械臂的刷新模式:主要分為兩種插補(bǔ)模式和非插補(bǔ)模式,是指在運(yùn)動(dòng)軌跡規(guī)劃中,控制機(jī)械臂末端執(zhí)行器的移動(dòng)方式。如果沒(méi)有設(shè)置任何模式,機(jī)械臂可能無(wú)法正確執(zhí)行預(yù)期的運(yùn)動(dòng),并且可能導(dǎo)致以下后果:

運(yùn)動(dòng)不平滑
運(yùn)動(dòng)不準(zhǔn)確
運(yùn)動(dòng)不連續(xù)
插補(bǔ)模式:插補(bǔ)模式可以實(shí)現(xiàn)平滑連續(xù)的軌跡規(guī)劃,確保機(jī)械臂末端執(zhí)行器的位置和姿態(tài)在運(yùn)動(dòng)過(guò)程中平滑過(guò)渡。

非插補(bǔ)模式:非插補(bǔ)模式是指機(jī)械臂在運(yùn)動(dòng)過(guò)程中只關(guān)注特定的目標(biāo)點(diǎn),而不進(jìn)行插值計(jì)算。在非插補(bǔ)模式下,機(jī)械臂的位置和姿態(tài)會(huì)在關(guān)鍵點(diǎn)之間直接跳躍,而不會(huì)經(jīng)過(guò)平滑的過(guò)渡。

在進(jìn)行多個(gè)機(jī)械臂同時(shí)使用插補(bǔ)模式進(jìn)行運(yùn)動(dòng)時(shí),可能會(huì)出現(xiàn)等待或排隊(duì)的情況,所以我們選擇使用非插補(bǔ)模式。

#Set refresh mode
set_fresh_mode(1/0) 
1:no interpolation
0:interpolation

mc.set_fresh_mode(1)


我們將前面的整合在一起的代碼如下

Code:

import time
from pymycobot.mycobot import MyCobot

mc = MyCobot("COM7", 115200)    #release arm
mb = MyCobot("COM11", 115200)   #move arm

mb.set_fresh_mode(1)    #no interpolation
time.sleep(1)
mc.release_all_servos() #release robot
time.sleep(1)
speed = 100
while True:
   angles = mc.get_angles()    #get release arm angles
   mb.send_angles(angles, speed)   #send angles to move arm
   time.sleep(0.1)


Communication between robotic arms:


我們的方案是兩臺(tái)機(jī)械臂接入同一個(gè)PC,用串口連接的方式.

# build connection
from pymycobot.mycobot import MyCobot

mc = MyCobot("COM7", 115200)   
mb = MyCobot("COM11", 115200)


用最基礎(chǔ)的usb數(shù)據(jù)線進(jìn)行連接,我們電腦上就有兩個(gè)機(jī)械臂的串口號(hào),可以對(duì)他們分別發(fā)送指令任務(wù)。

讓我們一起來(lái)看看效果如何

wKgZomVIh76AXEaEAF0KJXR_cc0045.png

總結(jié)
根據(jù)內(nèi)容可以看出來(lái)雖然說(shuō)是能夠做到百分之七八十的同步。也會(huì)因?yàn)橐恍┢渌囊蛩厮绊?,造成了不小的延遲。造成延遲的原因可能有幾個(gè)方面,比如說(shuō)數(shù)據(jù)處理和傳輸?shù)乃俣龋瑱C(jī)械臂的反應(yīng)速度,軟件的優(yōu)化,硬件的性能等等,這些都是可能 產(chǎn)生延遲的因素。

除此之外,還有一個(gè)很大的局限性就是,它們的通信通過(guò)串口進(jìn)行連接的,如果距離稍微遠(yuǎn)一點(diǎn)的話就沒(méi)辦法在用這種方法去使用,實(shí)用性不強(qiáng),后期我會(huì)嘗試使用藍(lán)牙,WiFi等無(wú)限連接的方式來(lái)嘗試控制。

本次記錄就更新到這里,如果你有更好的想法,無(wú)論是優(yōu)化的功能或者說(shuō)是其他的建議歡迎在下方留言。

審核編輯 黃宇

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

    關(guān)注

    87

    文章

    28875

    瀏覽量

    266205
  • 開(kāi)源
    +關(guān)注

    關(guān)注

    3

    文章

    3125

    瀏覽量

    42068
  • 機(jī)械臂
    +關(guān)注

    關(guān)注

    12

    文章

    502

    瀏覽量

    24292
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    開(kāi)源協(xié)作機(jī)器人myCobot 320結(jié)合人臉表情識(shí)別情緒!

    在大家的印象中,機(jī)械通常被應(yīng)用在工業(yè)領(lǐng)域,執(zhí)行一些重復(fù)性工作,以幫助和替代人類。然而,機(jī)械不僅限于此,它們也可以成為陪伴型機(jī)器人,為我們提供更多樣化的互動(dòng)體驗(yàn)。 今天,我想探索
    的頭像 發(fā)表于 08-12 15:21 ?702次閱讀
    <b class='flag-5'>開(kāi)源</b><b class='flag-5'>六</b><b class='flag-5'>軸</b><b class='flag-5'>協(xié)作</b>機(jī)器人myCobot 320結(jié)合人臉表情識(shí)別情緒!

    大象機(jī)器人開(kāi)源協(xié)作機(jī)械機(jī)械接入GPT4o大模型!

    和智能化的任務(wù),提升了人機(jī)協(xié)作的效率和效果。我們個(gè)人平時(shí)接觸不太到機(jī)械這類的機(jī)器人產(chǎn)品,但是有一種小型的機(jī)械我們?nèi)巳硕伎梢該碛兴黰yCo
    的頭像 發(fā)表于 07-03 14:09 ?541次閱讀
    大象機(jī)器人<b class='flag-5'>開(kāi)源</b><b class='flag-5'>協(xié)作</b><b class='flag-5'>機(jī)械</b><b class='flag-5'>臂</b><b class='flag-5'>機(jī)械</b><b class='flag-5'>臂</b>接入GPT4o大模型!

    基于維力傳感器的機(jī)械自動(dòng)裝配應(yīng)用

    維力傳感器是一種特殊的力覺(jué)傳感器,可以測(cè)量物體在笛卡爾坐標(biāo)系下三個(gè)軸向的力和力矩,其內(nèi)部采用高度敏感的材料和精密機(jī)械構(gòu)造,可以為機(jī)械提供更高的測(cè)量精度,滿足不同場(chǎng)景下的測(cè)量需求。作
    的頭像 發(fā)表于 06-06 13:49 ?426次閱讀
    基于<b class='flag-5'>六</b>維力傳感器的<b class='flag-5'>機(jī)械</b><b class='flag-5'>臂</b>自動(dòng)裝配應(yīng)用

    如何去提升機(jī)械的位置控制性能?

    控制性能。?? 精度衡量:直接測(cè)量機(jī)械末端的位置比較困難,這里采用一種近似的方式,比較機(jī)械指令角度與實(shí)際編碼器反饋角度間的偏差值。
    的頭像 發(fā)表于 03-05 08:43 ?592次閱讀
    如何去提升<b class='flag-5'>機(jī)械</b><b class='flag-5'>臂</b>的位置控制性能?

    大象機(jī)器人協(xié)作機(jī)械myCobot 320 進(jìn)行手勢(shì)識(shí)別!

    引言 我是一名專注于機(jī)器學(xué)習(xí)和機(jī)器人技術(shù)自由者。我的熱情始于大學(xué)期間的人工智能課程,這促使我探索人機(jī)交互的新方法。尤其對(duì)于機(jī)械的操作,我一直想要簡(jiǎn)化其復(fù)雜性,使之更加直觀和易于使用。 這個(gè)項(xiàng)目
    的頭像 發(fā)表于 01-31 16:17 ?560次閱讀
    大象機(jī)器人<b class='flag-5'>六</b><b class='flag-5'>軸</b><b class='flag-5'>協(xié)作</b><b class='flag-5'>機(jī)械</b><b class='flag-5'>臂</b>myCobot 320 進(jìn)行手勢(shì)識(shí)別!

    使用ChatGPT學(xué)習(xí)大象機(jī)器人協(xié)作機(jī)械mechArm!

    調(diào)試的過(guò)程中,出現(xiàn)了一些問(wèn)題,在識(shí)別收拾的時(shí)候,它是一直識(shí)別,這就意味著如果在1s中內(nèi)識(shí)別了10次的話,會(huì)給機(jī)械發(fā)送10個(gè)命令,這樣肯定不是我一開(kāi)始所設(shè)想的。我一開(kāi)始的想法是,當(dāng)相機(jī)識(shí)別到手勢(shì)的時(shí)候就會(huì)給機(jī)械
    的頭像 發(fā)表于 01-31 14:39 ?534次閱讀
    使用ChatGPT學(xué)習(xí)大象機(jī)器人<b class='flag-5'>六</b><b class='flag-5'>軸</b><b class='flag-5'>協(xié)作</b><b class='flag-5'>機(jī)械</b><b class='flag-5'>臂</b><b class='flag-5'>mechArm</b>!

    開(kāi)源獲獎(jiǎng)案例】四機(jī)械控制系統(tǒng)

    ——來(lái)自迪文開(kāi)發(fā)者論壇本期為大家推送迪文開(kāi)發(fā)者論壇獲獎(jiǎng)開(kāi)源案例——四機(jī)械控制系統(tǒng)。工程師采用T5L智能屏,基于DGUS軟件“旋轉(zhuǎn)指示”控件實(shí)現(xiàn)機(jī)
    的頭像 發(fā)表于 12-23 08:13 ?893次閱讀
    【<b class='flag-5'>開(kāi)源</b>獲獎(jiǎng)案例】四<b class='flag-5'>軸</b><b class='flag-5'>機(jī)械</b><b class='flag-5'>臂</b>控制系統(tǒng)

    開(kāi)源協(xié)作機(jī)械myArm視覺(jué)跟蹤技術(shù)!

    處理技術(shù),使用ArUco標(biāo)記的機(jī)械系統(tǒng)可以實(shí)現(xiàn)更高級(jí)的自動(dòng)化功能,如精確定位、導(dǎo)航和復(fù)雜動(dòng)作的執(zhí)行。 本案例旨在展示結(jié)合ArUco標(biāo)記和機(jī)械運(yùn)動(dòng)控制技術(shù),實(shí)現(xiàn)對(duì)
    的頭像 發(fā)表于 12-18 11:14 ?935次閱讀
    七<b class='flag-5'>軸</b><b class='flag-5'>開(kāi)源</b><b class='flag-5'>協(xié)作</b><b class='flag-5'>機(jī)械</b><b class='flag-5'>臂</b>myArm視覺(jué)跟蹤技術(shù)!

    開(kāi)源協(xié)作機(jī)械ultraArm激光雕刻技術(shù)案例!

    、高效率和廣泛的材料適應(yīng)性,在眾多領(lǐng)域展現(xiàn)出獨(dú)特的優(yōu)勢(shì)。本文將深入探討激光雕刻的工作原理,以及如何通過(guò)一款四全金屬機(jī)械來(lái)實(shí)現(xiàn)精準(zhǔn)的雕刻路徑跟隨。我們將詳細(xì)解析激光頭的發(fā)射原理、激光與材料的相互作用,以及機(jī)
    的頭像 發(fā)表于 11-27 15:26 ?1009次閱讀
    <b class='flag-5'>開(kāi)源</b>四<b class='flag-5'>軸</b><b class='flag-5'>協(xié)作</b><b class='flag-5'>機(jī)械</b><b class='flag-5'>臂</b>ultraArm激光雕刻技術(shù)案例!

    如何解決柔性機(jī)械建模過(guò)程問(wèn)題

    柔性機(jī)械 剛性機(jī)械建模方法已經(jīng)可以有效地求解出機(jī)械各部分之間的耦合情況,但是對(duì)于柔性
    的頭像 發(fā)表于 11-17 17:12 ?703次閱讀

    剛性機(jī)械的動(dòng)力學(xué)建模

    剛性機(jī)械 機(jī)械建模是機(jī)械控制的基礎(chǔ),控制效果的好壞很大程度上決定于所建立的動(dòng)力學(xué)模型的準(zhǔn)確
    的頭像 發(fā)表于 11-17 17:03 ?659次閱讀

    開(kāi)源myArm協(xié)作機(jī)械正逆運(yùn)動(dòng)學(xué)技術(shù)講解

    引言: 在本文中,我們將深入探討機(jī)器人學(xué)的兩個(gè)核心概念:正運(yùn)動(dòng)學(xué)和逆運(yùn)動(dòng)學(xué)。這兩個(gè)概念是理解和控制機(jī)械運(yùn)動(dòng)的基礎(chǔ)。通過(guò)一個(gè)具體的7機(jī)械
    的頭像 發(fā)表于 11-06 14:58 ?1340次閱讀
    <b class='flag-5'>開(kāi)源</b>七<b class='flag-5'>軸</b>myArm<b class='flag-5'>協(xié)作</b><b class='flag-5'>機(jī)械</b><b class='flag-5'>臂</b>正逆運(yùn)動(dòng)學(xué)技術(shù)講解

    開(kāi)源協(xié)作機(jī)械MechArm 拖動(dòng)示教模型案例

    介紹 今天,我將向大家展示一個(gè)我獨(dú)立設(shè)計(jì)并實(shí)現(xiàn)的機(jī)械模型。這個(gè)模型的核心功能是實(shí)現(xiàn)實(shí)時(shí)的手勢(shì)追蹤——只需用手輕輕拖拽,機(jī)械就能立即跟隨你的動(dòng)作進(jìn)行移動(dòng)。 我之所以想要?jiǎng)?chuàng)造這樣一個(gè)模
    的頭像 發(fā)表于 11-06 14:29 ?879次閱讀
    <b class='flag-5'>開(kāi)源</b><b class='flag-5'>六</b><b class='flag-5'>軸</b><b class='flag-5'>協(xié)作</b><b class='flag-5'>機(jī)械</b><b class='flag-5'>臂</b><b class='flag-5'>MechArm</b> 拖動(dòng)示教模型案例

    開(kāi)源機(jī)械myCobot 280末端執(zhí)行器實(shí)用案例解析

    使用。 本文中主要介紹4款常用的機(jī)械的末端執(zhí)行器。 Product myCobot 280 M5Stack myCobot 280 系列是世界最小最輕的
    的頭像 發(fā)表于 10-16 16:28 ?999次閱讀
    <b class='flag-5'>開(kāi)源</b><b class='flag-5'>六</b><b class='flag-5'>軸</b><b class='flag-5'>機(jī)械</b><b class='flag-5'>臂</b>myCobot 280末端執(zhí)行器實(shí)用案例解析

    myArm 全新七桌面型機(jī)械

    在于其靈活性和可編程性,以及它的工作半徑和嵌入式控制主板的選擇。在本文中,我們將詳細(xì)介紹myArm 300 Pi的特性和功能,并將其與我們的機(jī)械進(jìn)行比較,以便您更好地理解我們的新
    的頭像 發(fā)表于 09-28 10:19 ?757次閱讀
    myArm 全新七<b class='flag-5'>軸</b>桌面型<b class='flag-5'>機(jī)械</b><b class='flag-5'>臂</b>