3、机械臂安全控制

一、API 简介

1、is_power_on()

函数功能:判断机械臂是否供电。

返回值:1 已供电,0 断电,-1 错误。

2、power_on()

函数功能:为机械臂供电。

3、power_off()

函数功能:为机械臂断电,所有功能将失效。注意:断电后无法让机械臂放松,即set_free_mode()失效。

4、pause()

函数功能:暂停机械臂运动。

5、resume()

函数功能:恢复机械臂运动。

6、stop()

函数功能:机械臂停止运动

7、is_in_position(data,flag)

函数功能:判断机械臂是否到达指定位置

参数说明:

data:包含六个元素的 list 集合,表示角度集合,或者是机械臂头部数据集合。

flag:1 表示 data 数据表示机械臂头部数据,0 表示 data 数据表示机械臂角度集合数据。

8、is_paused()

函数功能:判断机械臂是否处于暂停状态

返回值:1表示处于暂停状态,0表示没有处于暂停状态,-1表示错误

二、代码内容

from pymycobot.mycobot import MyCobot
from pymycobot import PI_PORT, PI_BAUD  # 当使用树莓派版本的mycobot时,可以引用这两个变量进行MyCobot初始化
import time

# 初始化一个MyCobot对象
mc = MyCobot(PI_PORT, PI_BAUD)
# 判断机械臂是否供电,若无供电需要先为其供电
if not mc.is_power_on():
    # 为机械臂供电
    mc.power_on()
# 机械臂以30的速度到达[0,0,0,0,0,0]位置
mc.send_angles([0, 0, 0, 0, 0, 0], 30)
# 获取当前时间
start = time.time()
# 判断机械臂是否到达[0,0,0,0,0,0]位置
while not mc.is_in_position([0, 0, 0, 0, 0, 0], 0):
    # 恢复机械臂的移动
    mc.resume()
    # 让机械臂移动0.5s
    time.sleep(0.5)
    # 暂停机械臂移动
    mc.pause()
    # 判断移动是否超时
    if time.time() - start > 9:
        # 停止机械臂的移动
        mc.stop()
        break
# 获取当前时间
start = time.time()
# 机械臂以30的速度到达[88.68, -138.51, 155.65, -128.05, -9.93, -15.29]位置
mc.send_angles([88.68, -138.51, 155.65, -128.05, -9.93, -15.29], 30)
# 判断机械臂是否到达[88.68, -138.51, 155.65, -128.05, -9.93, -15.29]位置
while not mc.is_in_position([88.68, -138.51, 155.65, -128.05, -9.93, -15.29], 0):
    # 恢复机械臂的移动
    mc.resume()
    # 让机械臂移动0.5s
    time.sleep(0.5)
    # 暂停机械臂移动 可以用is_paused()判断机械臂是否处于暂停状态
    mc.pause()
    # 判断移动是否超时
    if time.time() - start > 9:
        mc.stop()
        # 停止机械臂的移动
        break
# 执行完操作后,为机械臂断电
mc.power_off()

三、效果展示

2

results matching ""

    No results matching ""