坐标控制

主要用于实现智能规划路线让机械臂从一个位置到另一个指定位置。分为[x,y,z,rx,ry,rz],其中[x,y,z]表示的是机械臂头部在空间中的位置(该坐标系为直角坐标系),[rx,ry,rz]表示的是机械臂头部在该点的姿态(该坐标系为欧拉坐标)。算法的实现以及欧拉坐标的表示需要一定的学术知识,这里不对其过多的讲解,我们只要懂得直角坐标系就可以很好的使用这个函数了。

注意: 在设置坐标时,不同系列的机械臂关节构造有所不同,同一组坐标,不同系列的机械臂会展示不同的姿态。

7.3-1

单参数坐标

send_coord(id, coord, data, speed)

发送单个坐标值给机械臂进行移动

  • 参数

    • id – 1/2/3 (左臂/右臂/腰部).

    • coord – 1 ~ 6 (x/y/z/rx/ry/rz)

    • data – 坐标值

    • speed – 0 ~ 100

get_coord(id, joint_id)

获取单个关节坐标参数

  • 参数

    • id (int) – 1/2/3 (左臂/右臂/腰部).

    • joint_id (int) – 1 - 7 (7 is 夹爪)

多参数坐标

send_coords(id, coords, speed, mode)

发送整体坐标和姿态,让机械臂头部从原来点移动到您指定点。

  • 参数

    • id – 1/2(左/右)。

    • coords – 坐标值列表(List[float]),长度 6,[x(mm), y, z, rx(angle), ry, rz]

    • speed - (int) 1 ~ 100

    • mode - (int) 0 - moveJ, 1 - moveL, 2 - moveC

示例

from pymycobot.mybuddy import MyBuddy
import time
mc = MyBuddy("/dev/ttyACM0", 115200)

# 获取左臂的坐标
coords = mc.get_coords(1)
print(coords)

# 智能规划路线,让头部以线性的方式到达[57.0, -107.4, 316.3]这个坐标,以及保持[-93.81, -12.71, -163.49]这个姿态,速度为80mm/s
mc.send_coords(1, [57.0, -107.4, 316.3, -93.81, -12.71, -163.49], 80, 1)

time.sleep(1.5)

# 智能规划路线,让头部以线性的方式到达[-13.7, -107.5, 223.9]这个坐标,以及保持[165.52, -75.41, -73.52]这个姿态,速度为80mm/s
mc.send_coords(1, [-13.7, -107.5, 223.9, 165.52, -75.41, -73.52], 80, 1)

time.sleep(1.5)

# 仅改变左臂头部的x坐标,设置头部的x坐标为-40。让其智能规划路线让头部移动到改变后的位置,速度为70mm/s
mc.send_coord(1, 1, -40, 70)

results matching ""

    No results matching ""