坐标控制
主要用于实现智能规划路线让机械臂从一个位置到另一个指定位置。分为[x,y,z]
,其中[x,y,z]
表示的是机械臂头部在空间中的位置(该坐标系为直角坐标系),`算法的实现需要一定的学术知识,这里不对其过多的讲解,我们只要懂得直角坐标系就可以很好的使用这个函数了。
注意: 在设置坐标时,不同系列的机械臂关节构造有所不同,同一组坐标,不同系列的机械臂会展示不同的姿态。
1 单参数坐标
1.1 set_coord(id,coord,speed)
- 功能: 发送单个坐标值给机械臂进行移动
- 参数说明:
id
:代表机械臂的坐标,三轴有三个坐标,有特定的表示方法。 X坐标的表示法:"X"或者"x"
.coord
: 输入您想要到达的坐标值 x : -260-300mm y :-300-300mm z : -130-135mmspeed
: 表示机械臂运动的速度,范围是0-100 (单位:mm/s)。
- 返回值: 无
2 多参数坐标
2.1 get_coords_info()
- 功能: 获取机械臂当前坐标。
- 返回值:
list
包含坐标的列表- 三轴:长度为 3,依次为
[x, y, z]
- 三轴:长度为 3,依次为
2.2 set_coords(coords, speed)
- 功能: 发送整体坐标,让机械臂头部从原来点移动到您指定点。
- 参数说明:
coords
:- 三轴:[x,y,z] 的坐标值,长度为3 x : -260-300mm y :-300-300mm z : -130-135mm
speed
: 表示机械臂运动的速度,范围是0-100 (单位:mm/s)。
- 返回值: 无
3 案例
from pymycobot.ultraArm import ultraArm
import time
#以上需写在代码开头,意为导入项目包
# ultraArm 类初始化需要两个参数:串口和波特率
# 第一个是串口字符串, 如:
# linux: "/dev/ttyUSB0"
# windows: "COM3"
# 第二个是波特率:115200
# 以下为如:
# linux:
# ua = ultraArm("/dev/USB0", 115200)
# windows:
# ua = ultraArm("COM3", 115200)
#
# 初始化一个ultraArm对象
# 下面为 windows版本创建对象代码
ua = ultraArm("COM3", 115200)
# ultraArm进行坐标运动/角度运动之前必须进行回零,否则无法获取到正确的角度/坐标
ua.go_zero()
time.sleep(0.5)
# 获取当前头部的坐标以及姿态
coords = ua.get_coords_info()
time.sleep(2)
print(coords)
# 让机械臂到达[205, 0, -40]这个坐标,速度为80mm/s
ua.set_coords([205, 0, -40], 80)
# 设置等待时间2秒
time.sleep(2)
# 让机械臂到达[180, -50, -40]这个坐标,速度为80mm/s
ua.set_coords([180, -50, -40], 80)
# 设置等待时间2秒
time.sleep(2)
# 仅改变x坐标,设置x坐标为190,速度为70mm/s
ua.set_coord(X, 190, 70)