最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

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

2022-09-30 16:53 作者:大象機(jī)器人  | 我要投稿

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




我們采用一邊實(shí)驗一邊介紹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時,可以引用這兩個變量進(jìn)行MyCobot初始化

import time


(2)get_angles()

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

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

當(dāng)機(jī)械臂運(yùn)行到某一個位置時我們可以通過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é)果:




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



(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á)指定位置時的速度,取值范圍0~100,值越大速度越快。

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

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


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




接下來讓我們測試每一個關(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


然后是這個樣子:




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


(4)release_all_servos()

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

mc.release_all_servos()

然后讓我們再把機(jī)械臂運(yùn)動到剛開始的狀態(tài),這就要用到我們當(dāng)時的那個值: [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)行。




這樣機(jī)械臂又回到了初始時的狀態(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時,可以引用這兩個變量進(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è)置等待時間,確保機(jī)械臂已經(jīng)到達(dá)指定位置

# while not mc.is_paused():

time.sleep(2.5)

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

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

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

time.sleep(2)

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

num = 5

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

while num > 0:

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

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

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

time.sleep(1.5)

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

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

# 設(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è)置等待時間,確保機(jī)械臂已經(jīng)到達(dá)指定位置

time.sleep(2.5)

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

mc.release_all_servos()


注意:程序前面要加上:

#!/usr/bin/python3

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


讓我們把這個文件保存成,3.py

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

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

python 3.py

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


本文為CSDN博主「BBM的開源HUB」的原創(chuàng)文章,使用產(chǎn)品為大象機(jī)器人mycobot,侵刪。

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

分享到微博請遵守國家法律
安陆市| 儋州市| 四川省| 黄大仙区| 运城市| 肃南| 民勤县| 东乌| 基隆市| 阿图什市| 竹溪县| 寿光市| 安化县| 洪湖市| 寻甸| 西宁市| 三穗县| 谢通门县| 文山县| 河源市| 郓城县| 凤城市| 温州市| 微山县| 交口县| 金华市| 闸北区| 大庆市| 望奎县| 集贤县| 芮城县| 博客| 阿瓦提县| 上栗县| 阿鲁科尔沁旗| 成武县| 阳新县| 偃师市| 元朗区| 扎鲁特旗| 深水埗区|