一直在糾結是先講頭部運動,還是先講空間坐標系,后來決定還是先講頭部運動,讓大家先感受一下機械臂在空間中是怎么定位的,然后我們下一節將詳細介紹機械臂的空間坐標是怎么回事。空間坐標是一項非常復雜且需要深度理解的東西,學好空間坐標才能學好機械臂的各種運動。為了更好的體驗一下機械臂的空間定位,我們先從這個機械臂頭部運動開始,讓大家體驗一下空間坐標及運動。
(1)send_coords([x,y,z,rx,ry,rz],speed,model)是用來控制機械臂頭部以指定姿態移動到指定點。它主要用于實現智能規劃機械臂頭部從一個位置到另一個指定位置。X,Y,Z 表示的是機械臂頭部在空間中的位置(該坐標系為直角坐標系),rx,ry,rz 表示的是機械臂頭部在該點的姿態(該坐標系為歐拉坐標)。
函數功能:智能規劃路線,讓機械臂頭部從原來點移動到指定點。
參數說明: x,y,z 是空間直角坐標系,[rx,ry,rz]表示的是機械臂頭部的姿態,是歐拉坐標系。
speed:表示機械臂運動的速度。取值范圍為 0~100,值越大速度越快。
model:取值限定 0 和 1。0 表示機械臂頭部移動隨機規劃,只要機械臂頭移動到指定點即可。
1 表示機械臂頭部讓機械臂頭部以直線的方式移動到指定點。
(2)get_coords()
函數功能:獲取此時機械臂頭部的空間坐標以及當前姿態。
返回值:返回的類型是包含六個 float 元素的 list 集合,前三個坐標為 x,y,z 表示機械臂頭部的坐標,后三個坐標 rx,ry,rz 表示機械臂頭部的姿態。
我們還是老方法,一邊實驗,一邊學習。打開一個終端窗口輸入python,先導入我們必須API函數。
from pymycobot.mycobot import MyCobot
from pymycobot.genre import Coord
from pymycobot import PI_PORT, PI_BAUD
import time
讓頭部以線性的方式到達[59.9,-65.8,250.7]這個坐標,以及保持[-50.99,83.14,-52.42]這個姿態
mc = MyCobot(PI_PORT, PI_BAUD)
mc.send_coords([59.9, -65.8, 250.7, -50.99, 83.14, -52.42], 80, 1)
可能你做完這一段代碼導到的形狀跟我這個不一樣,也沒關系。因為只要頭部到達這個位置就可以,因為他是以頭部規劃的線路,各個關節即使有各種形狀,也沒關系。我們執行一下get_coords獲取一下此時的坐標數據:
coords = mc.get_coords()
print(coords)
如下圖:
這個值與我們傳遞的值不一樣,主要原因是這是機器內部誤差,這個值接近我們傳遞的數值。
第二個例子:我們輸入:
mc.send_angles([88.68, -138.51, 155.65, -128.05, -9.93, -15.29], 50)
狀態變成這個樣子,然后我們再輸入之前的頭部坐標:
mc.send_coords([59.9, -65.8, 250.7, -50.99, 83.14, -52.42], 80, 1)
機械臂變成了這個樣子,讓我們再取一下機械臂的坐標:
coords = mc.get_coords()
print(coords)
我們得到的坐標為:[59.5, -66.0, 251.1, -49.56, 83.14, -50.92]如下圖。
這說明頭部空間坐標只要達到所在位置,各關節的狀態可能每次都不一樣。
(3)說明書中提供的測試小程序:
#!/usr/bin/python3
#-*- coding: UTF-8 -*-
from pymycobot.mycobot import MyCobot
from pymycobot.genre import Coord
from pymycobot import PI_PORT, PI_BAUD
import time
mc = MyCobot(PI_PORT, PI_BAUD)
# 獲取當前頭部的角度以及姿態
coords = mc.get_coords()
print(coords)
# 智能規劃路線,讓頭部以線性的方式到達[59.9,-65.8,250.7]這個坐標,以及保持[-50.99,83.14,-52.42]這個姿態
mc.send_coords([59.9, -65.8, 250.7, -50.99, 83.14, -52.42], 80, 1)
# 設置等待時間
time.sleep(1.5)
# 智能規劃路線,讓頭部以線性的方式到達[59.9,-65.8,350.7]這個坐標,以及保持[-50.99,83.14,-52.42]這個姿態
mc.send_coords([59.9, -65.8, 350.7, -50.99, 83.14, -52.42], 80, 1)
# 設置等待時間
time.sleep(1.5)
# 僅改變頭部的x坐標,設置頭部的x坐標為-40。讓其智能規劃路線讓頭部移動到改變后的位置
mc.send_coord(Coord.X.value, -40, 70)
同樣,你可以將這段代碼保存成4.py,然后,你開一個新的窗口,執行:
python 4.py
就可以連續運行這段代碼了。
本文來自于:CSDN的BBM的開源HUB分享,使用大象機器人mycobot機械臂
審核編輯 黃昊宇
-
機械臂
+關注
關注
13文章
554瀏覽量
25397 -
協作機器人
+關注
關注
2文章
515瀏覽量
30581
發布評論請先 登錄
GZCOM-NET:為機械臂測試帶來高效無線解決方案!

大象機器人攜手進迭時空推出 RISC-V 全棧開源六軸機械臂產品

大象機器人攜手進迭時空推出 RISC-V 全棧開源六軸機械臂產品
家里亂成“垃圾場”,樹莓派也能一鍵搞定家務了?

專為機器人教育而設計的創客友好型機械臂

如何使用PLC控制myCobot 320機械臂

使用myCobot 280機械臂結合ROS2系統搭建機械分揀站

深度解析!RK3568 加持機械臂是如何實現顏色識別與抓取的?

“雙保險”鎖緊機制:YM28系列連接器為機械臂提供高牢靠的大電流連接

機械臂的高效運作,連接器起關鍵作用
OrangePi AIpro應用:機械臂應用開發指南

評論