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

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

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

Mycobot機(jī)械臂各關(guān)節(jié)的運(yùn)動(三)

大象機(jī)器人科技 ? 來源: 大象機(jī)器人科技 ? 作者: 大象機(jī)器人科技 ? 2022-09-30 18:08 ? 次閱讀

這一節(jié)我們開始第一個(gè)程序,就是機(jī)械臂各關(guān)節(jié)的運(yùn)動。讓我們首先打開Mycobot,然后登入一個(gè)終端,我們輸入“python”進(jìn)入python環(huán)境。

poYBAGM2wCuAR2SzAAELcq1EO_0590.jpg

我們采用一邊實(shí)驗(yàn)一邊介紹MyCobot機(jī)械臂的API的使用方法:

(1)控制機(jī)械臂左右擺動所使用的 API 為:MyCobot(port)

程序的開頭首先要導(dǎo)入這些API:

from pymycobot.mycobot import MyCobot

from pymycobot.genre import Angle

from pymycobot import PI_PORT, PI_BAUD # 當(dāng)使用樹莓派版本的mycobot時(shí),可以引用這兩個(gè)變量進(jìn)行MyCobot初始化

import time


(2)get_angles()

函數(shù)功能:獲得機(jī)械臂六個(gè)關(guān)節(jié)點(diǎn)的角度。

返回值:返回值的類型是 list,共有六個(gè)元素?cái)?shù)據(jù),分別對應(yīng)關(guān)節(jié) 1~6。

當(dāng)機(jī)械臂運(yùn)行到某一個(gè)位置時(shí)我們可以通過print指令打印出當(dāng)前機(jī)械臂的各關(guān)節(jié)角度數(shù)據(jù)。

如:

mc = MyCobot(PI_PORT, PI_BAUD)

angle_datas = mc.get_angles()

print(angle_datas)


運(yùn)行后給出的結(jié)果:

pYYBAGM2wCyAcUwPAABy_zjnzls204.jpg

注意我們這里先記下這個(gè)機(jī)械臂的值: [6.06, -144.05, 154.77, -148.35, -75.84, -99.4],這個(gè)值的機(jī)械臂是個(gè)什么樣子呢,我拍個(gè)照片給大家看。

pYYBAGM2wCyAMx4sAACUAGq1Otk303.jpg

(3)send_angle(id, degree, speed)

id:指的是哪一節(jié)機(jī)械臂,如果不指定id,那么就是指你要給出6節(jié)機(jī)械臂的運(yùn)動角度。

degree:指的是關(guān)節(jié)的角度,取值范圍-180~180

speed:指關(guān)節(jié)到達(dá)指定位置時(shí)的速度,取值范圍0~100,值越大速度越快。

我們傳遞個(gè)數(shù)值給機(jī)械臂,當(dāng)然先傳0,就是0角度的狀態(tài)。

mc.send_angles([0, 0, 0, 0, 0, 0], 50)

機(jī)械臂變成了這樣子:


poYBAGM2wC2AJF1ZAABq8lpjNZc011.jpg

接下來讓我們測試每一個(gè)關(guān)節(jié)是怎么運(yùn)動的和運(yùn)動的方向:

mc.send_angle(Angle.J1.value, 90, 50) #第一節(jié)轉(zhuǎn)90度,速度50

mc.send_angle(Angle.J2.value, 30, 50) #第二節(jié)轉(zhuǎn)30度,速度50

mc.send_angle(Angle.J3.value, 30, 50) #第三節(jié)轉(zhuǎn)30度,速度50

mc.send_angle(Angle.J4.value, 30, 50) #第四節(jié)轉(zhuǎn)30度,速度50

mc.send_angle(Angle.J5.value, 30, 50) #第五節(jié)轉(zhuǎn)30度,速度50

mc.send_angle(Angle.J6.value, 30, 50) #第六節(jié)轉(zhuǎn)30度,速度50

然后是這個(gè)樣子:

pYYBAGM2wC2AOloEAABPpr54aHA888.jpg

所有的運(yùn)動均符合右手定律。有興趣的小伙伴可以試一下-90度,機(jī)械臂是如何運(yùn)動。

(4)release_all_servos()

函數(shù)功能:放松機(jī)械臂,讓其可以隨意手動擺動。注意執(zhí)行這個(gè)指令的時(shí)侯機(jī)械臂會因重力落下,要注意防止砸到其他的東西。

mc.release_all_servos()

然后讓我們再把機(jī)械臂運(yùn)動到剛開始的狀態(tài),這就要用到我們當(dāng)時(shí)的那個(gè)值: [6.06, -144.05, 154.77, -148.35, -75.84, -99.4],好的讓我們執(zhí)行:

mc.send_angles([6.06, -144.05, 154.77, -148.35, -75.84, -99.4],50)

輸入指令請注意不要用全角字符,一定要把鍵盤切換成半角字符運(yùn)行。

poYBAGM2wC6AXBs6AACDcvgjjTM655.jpg

這樣機(jī)械臂又回到了初始時(shí)的狀態(tài)。

(5)寫成可執(zhí)行文件。

假如我們寫成一段連續(xù)的可執(zhí)行文件又是怎么的呢?參考說明書中的代碼,看下面機(jī)械臂搖擺程序:

#!/usr/bin/python3

#-*- coding: UTF-8 -*-

from pymycobot.mycobot import MyCobot

from pymycobot.genre import Angle

from pymycobot import PI_PORT, PI_BAUD # 當(dāng)使用樹莓派版本的mycobot時(shí),可以引用這兩個(gè)變量進(jìn)行MyCobot初始化

import time

mc = MyCobot(PI_PORT, PI_BAUD)

# 獲得當(dāng)前位置的坐標(biāo)

angle_datas = mc.get_angles()

print(angle_datas)

# 用數(shù)列傳遞傳遞坐標(biāo)參數(shù),讓機(jī)械臂移動到指定位置

mc.send_angles([0, 0, 0, 0, 0, 0], 50)

print(mc.is_paused())

# 設(shè)置等待時(shí)間,確保機(jī)械臂已經(jīng)到達(dá)指定位置

# while not mc.is_paused():

time.sleep(2.5)

# 讓關(guān)節(jié)1移動到90這個(gè)位置

mc.send_angle(Angle.J1.value, 90, 50)

# 設(shè)置等待時(shí)間,確保機(jī)械臂已經(jīng)到達(dá)指定位置

time.sleep(2)

# 設(shè)置循環(huán)次數(shù)

num = 5

# 讓機(jī)械臂左右搖擺

while num > 0:

# 讓關(guān)節(jié)2移動到50這個(gè)位置

mc.send_angle(Angle.J2.value, 50, 50)

# 設(shè)置等待時(shí)間,確保機(jī)械臂已經(jīng)到達(dá)指定位置

time.sleep(1.5)

# 讓關(guān)節(jié)2移動到-50這個(gè)位置

mc.send_angle(Angle.J2.value, -50, 50)

# 設(shè)置等待時(shí)間,確保機(jī)械臂已經(jīng)到達(dá)指定位置

time.sleep(1.5)

num -= 1

# 讓機(jī)械臂縮起來。你可以手動擺動機(jī)械臂,然后使用get_angles()函數(shù)獲得坐標(biāo)數(shù)列,

# 通過該函數(shù)讓機(jī)械臂到達(dá)你所想的位置。

mc.send_angles([88.68, -138.51, 155.65, -128.05, -9.93, -15.29], 50)

# 設(shè)置等待時(shí)間,確保機(jī)械臂已經(jīng)到達(dá)指定位置

time.sleep(2.5)

# 讓機(jī)械臂放松,可以手動擺動機(jī)械臂

mc.release_all_servos()

注意:程序前面要加上:

#!/usr/bin/python3

#-*- coding: UTF-8 -*-

讓我們把這個(gè)文件保存成,3.py

運(yùn)行這段代碼:

直接在終端窗口執(zhí)行:

python 3.py


這樣就可以連續(xù)執(zhí)行機(jī)械臂的運(yùn)動了。

審核編輯 黃昊宇

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

    關(guān)注

    210

    文章

    27859

    瀏覽量

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

    關(guān)注

    12

    文章

    502

    瀏覽量

    24312
收藏 人收藏

    評論

    相關(guān)推薦

    工業(yè)機(jī)器人和機(jī)械的設(shè)計(jì)、功能和應(yīng)用有哪些區(qū)別?

    自動化設(shè)備,專門用于在工業(yè)生產(chǎn)線或其他工業(yè)環(huán)境中執(zhí)行各種操作任務(wù)。它們通常具備多軸關(guān)節(jié)結(jié)構(gòu),能夠在維空間內(nèi)自由移動,并搭載各種工具、夾具或傳感器來完成特定的任務(wù)。 工業(yè)機(jī)器人和機(jī)械
    的頭像 發(fā)表于 08-16 09:43 ?261次閱讀

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

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

    國產(chǎn)Cortex-A55人工智能教學(xué)實(shí)驗(yàn)箱_基于Python機(jī)械跳舞實(shí)驗(yàn)案例分享

    發(fā)行包管理,它也提供一些工具和庫用于獲取、建立、編寫和執(zhí)行多機(jī)融合的程序。 機(jī)械通過ROS機(jī)器人操控系統(tǒng),簡化了6自由度串行總線舵機(jī)復(fù)雜運(yùn)動控制,可實(shí)現(xiàn)機(jī)械
    發(fā)表于 06-28 14:37

    大象機(jī)器人開源協(xié)作機(jī)械myCobot 630 全面升級!

    1. 開篇概述 在快速發(fā)展的機(jī)器人技術(shù)領(lǐng)域中,Elephant Robotics的myCobot 600已經(jīng)證明了其在教育、科研和輕工業(yè)領(lǐng)域的顯著適用性。作為一款具備六自由度的機(jī)械myCo
    的頭像 發(fā)表于 04-28 15:19 ?799次閱讀
    大象機(jī)器人開源協(xié)作<b class='flag-5'>機(jī)械</b><b class='flag-5'>臂</b><b class='flag-5'>myCobot</b> 630 全面升級!

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

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

    【國產(chǎn)FPGA+OMAPL138開發(fā)板體驗(yàn)】(原創(chuàng))2.手把手玩轉(zhuǎn)游戲機(jī)械

    。這可能涉及到設(shè)置通信協(xié)議、數(shù)據(jù)打包/解包、錯(cuò)誤處理等。 3.2 機(jī)械驅(qū)動 根據(jù)機(jī)械的規(guī)格和通信協(xié)議,編寫驅(qū)動以控制其運(yùn)動。這可能包括控
    發(fā)表于 02-01 20:18

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

    的靈感源自于我對創(chuàng)新技術(shù)的熱愛以及對改善人機(jī)互動方式的追求。我的目標(biāo)是開發(fā)一個(gè)基于手勢的機(jī)械控制系統(tǒng),使非專業(yè)人士也能輕松操作。為此,我選擇了Google的MediaPipe庫進(jìn)行手勢識別,并以myCobot 320 m5作為
    的頭像 發(fā)表于 01-31 16:17 ?564次閱讀
    大象機(jī)器人六軸協(xié)作<b class='flag-5'>機(jī)械</b><b class='flag-5'>臂</b><b class='flag-5'>myCobot</b> 320 進(jìn)行手勢識別!

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

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

    機(jī)器人關(guān)節(jié)Joint描述

    類型。 revolute,也是旋轉(zhuǎn)關(guān)節(jié),和continuous類型的區(qū)別在于不能無限旋轉(zhuǎn),而是帶有角度限制,比如機(jī)械的兩個(gè)連桿,就屬于這種運(yùn)動。 prismatic,是滑動
    的頭像 發(fā)表于 11-22 16:51 ?1134次閱讀
    機(jī)器人<b class='flag-5'>關(guān)節(jié)</b>Joint描述

    如何解決柔性機(jī)械建模過程問題

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

    六自由度機(jī)械次多項(xiàng)式插值法

    對串聯(lián)機(jī)械而言,軌跡規(guī)劃可以分為:關(guān)節(jié)空間軌跡規(guī)劃和笛卡爾空間軌跡規(guī)劃。關(guān)節(jié)空間軌跡規(guī)劃是把機(jī)器人的關(guān)節(jié)變量變換成跟時(shí)間的函數(shù),然后對角速
    的頭像 發(fā)表于 11-17 15:52 ?937次閱讀
    六自由度<b class='flag-5'>機(jī)械</b><b class='flag-5'>臂</b><b class='flag-5'>三</b>次多項(xiàng)式插值法

    機(jī)械結(jié)構(gòu)是什么樣的

    機(jī)械 6 個(gè)關(guān)節(jié)都是轉(zhuǎn)動關(guān)節(jié),前 3 個(gè)關(guān)節(jié)確定手腕參考點(diǎn)的位置,后 3個(gè)關(guān)節(jié)確定手腕的方位
    的頭像 發(fā)表于 11-17 15:48 ?2533次閱讀
    <b class='flag-5'>機(jī)械</b><b class='flag-5'>臂</b>結(jié)構(gòu)是什么樣的

    關(guān)節(jié)機(jī)械接觸力補(bǔ)償因素

    具有單軸力傳感器的單關(guān)節(jié)機(jī)械接觸力估計(jì): 接觸力估計(jì)需要考慮多個(gè)因素進(jìn)行補(bǔ)償,以提高估計(jì)的準(zhǔn)確性。以下是一些常見的補(bǔ)償因素: 1.重力補(bǔ)償:機(jī)械
    的頭像 發(fā)表于 11-10 17:08 ?515次閱讀

    開源七軸myArm協(xié)作機(jī)械正逆運(yùn)動學(xué)技術(shù)講解

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

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

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