6、夹爪的使用

一、API 简介

1、is_gripper_moving()

函数功能:判断夹爪是否正在运行。

返回参数:

1 表示正在运行,0 表示没有运行,-1 表示出错

2、set_encoder(joint_id, encoder)

函数功能:让指定关节点转动到指定位置

参数说明:

joint_id:取值范围 1~7,分别表示 1~6 个关节点以及夹爪。

encoder:取值范围 0~4096,2048 表示角度时的 0。

3、set_encoders(encoders, sp)

函数功能:让机械臂移动到指定位置。

参数说明:

encoders:六个 int 元素的 list 集合,六个 encoder 数据的顺序分别代表 1~6 个关节点的位置。

sp:表示机械臂转动的速度。

4、get_encoder(joint_id)

函数功能:获取指定关节点的 encoder 数据。

参数说明:

joint_id:取值范围 1~7,分别表示 1~6 个关节点以及夹爪。

返回值:

encoder:表示该关节的 encoder 数据信息。

5、set_gripper_value(value, speed)

函数功能:让夹爪以指定的速度转动到指定的位置。

参数说明:

value:表示夹爪所要到达的位置,取值范围 0~4096。

speed:表示以多少的速度转动,取值范围 0~100。

6、get_gripper_value()

函数功能:获取夹爪的encoder数据信息。

返回值:

encoder:夹爪的数据信息。

7、set_gripper_state(flag, speed)

函数功能:让夹爪以指定的速度达到指定的状态。

参数说明:

flag:1 表示夹爪合拢,0 表示夹爪打开。

speed:表示以多快的速度达到指定的状态,取值范围 0~100。

二、代码内容

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


def gripper_test(mc):
    print("Start check IO part of api\n")
    # 检测夹爪是否正在移动
    flag = mc.is_gripper_moving()
    print("Is gripper moving: {}".format(flag))
    time.sleep(1)

    # Set the current position to (2048).
    # Use it when you are sure you need it.
    # Gripper has been initialized for a long time. Generally, there
    # is no need to change the method.
    # mc.set_gripper_ini()
    # 设置关节点1,让其转动到2048这个位置
    mc.set_encoder(1, 2048)
    time.sleep(2)
    # 设置六个关节位,让机械臂以20的速度转动到该位置
    mc.set_encoders([1024, 1024, 1024, 1024, 1024, 1024], 20)
    time.sleep(3)
    # 获取关节点1的位置信息
    print(mc.get_encoder(1))
    # 设置夹爪转动到2048这个位置
    mc.set_encoder(7, 2048)
    time.sleep(3)
    # 设置夹爪让其转到1300这个位置
    mc.set_encoder(7, 1300)
    time.sleep(3)

    # 以70的速度让夹爪到达2048状态
    mc.set_gripper_value(2048, 70)
    time.sleep(3)
    # 以70的速度让夹爪到达1500状态
    mc.set_gripper_value(1500, 70)
    time.sleep(3)

    # 设置夹爪的状态,让其以70的速度快速打开爪子
    mc.set_gripper_state(0, 70)
    time.sleep(3)
    # 设置夹爪的状态,让其以70的速度快速收拢爪子
    mc.set_gripper_state(1, 70)
    time.sleep(3)

    # 获取夹爪的值
    print("")
    print(mc.get_gripper_value())


if __name__ == "__main__":
    # 初始化一个MyCobot对象
    mc = MyCobot(PI_PORT, PI_BAUD)
    # 让其移动到零位
    mc.set_encoders([2048, 2048, 2048, 2048, 2048, 2048], 20)
    time.sleep(3)
    gripper_test(mc)

三、展示效果

2

results matching ""

    No results matching ""