1、机械臂左右摆动
一、API 简介
控制机械臂左右摆动所使用的 API 为:
1、MyCobot(port)
函数功能:初始化一个 MyCobot 对象。
参数说明:
port
:String 类型数据,是控制机械臂的端口号,windows 系统可以在设备管理器中的端口处查看。
2、get_angles()
函数功能:获得机械臂六个关节点的角度。
返回值:返回值的类型是 list,共有六个元素数据,分别对应关节 1~6。
3、send_angles(degrees,speed)
函数功能:一次性设置六个关节点的角度。
参数说明:
degrees
:list 类型参数,必须包含六个关节点的角度数据。六个关节点的角度取值范围均是-180~180。
speed
:int 类型数据,取值范围 0~100。表示机械臂运行到指定位置时的速度,值越大速度越大。
4、send_angle(id, degree, speed)
函数功能:设置单个关节的角度。
参数说明:
id
:代表机械臂的关节,一共有六个关节,有特定的表示方法。关节一的表示法:Angle.J1.value
。
degree
:表示关节的角度,取值范围:-180~180。
speed
:表示机械臂运动的速度。
5、release_all_servos()
函数功能:放松机械臂,让其可以随意手动摆动。
二、代码内容
from pymycobot.mycobot import MyCobot
from pymycobot.genre import Angle
from pymycobot import PI_PORT, PI_BAUD # 当使用树莓派版本的mycobot时,可以引用这两个变量进行MyCobot初始化
import time
# 初始化一个MyCobot对象
mc = MyCobot(PI_PORT, PI_BAUD)
# 获得当前位置的坐标
angle_datas = mc.get_angles()
print(angle_datas)
# 用数列传递传递坐标参数,让机械臂移动到指定位置
mc.send_angles([0, 0, 0, 0, 0, 0], 50)
print(mc.is_paused())
# 设置等待时间,确保机械臂已经到达指定位置
# while not mc.is_paused():
time.sleep(2.5)
# 让关节1移动到90这个位置
mc.send_angle(Angle.J1.value, 90, 50)
# 设置等待时间,确保机械臂已经到达指定位置
time.sleep(2)
# 设置循环次数
num = 5
# 让机械臂左右摇摆
while num > 0:
# 让关节2移动到50这个位置
mc.send_angle(Angle.J2.value, 50, 50)
# 设置等待时间,确保机械臂已经到达指定位置
time.sleep(1.5)
# 让关节2移动到-50这个位置
mc.send_angle(Angle.J2.value, -50, 50)
# 设置等待时间,确保机械臂已经到达指定位置
time.sleep(1.5)
num -= 1
# 让机械臂缩起来。你可以手动摆动机械臂,然后使用get_angles()函数获得坐标数列,
# 通过该函数让机械臂到达你所想的位置。
mc.send_angles([88.68, -138.51, 155.65, -128.05, -9.93, -15.29], 50)
# 设置等待时间,确保机械臂已经到达指定位置
time.sleep(2.5)
# 让机械臂放松,可以手动摆动机械臂
mc.release_all_servos()