myGripper H100 三指灵巧手

1 产品展示

2 产品简介

myGripper H100 是深圳市大象机器人科技有限公司专门为机器人科研、教学等应用场景所开发的一款三指灵巧手。H100 配备有 6 个高性能数字伺服电机,能够实现输出力矩、运动速度、绝对位置等多参数的控制。H100 支持 100Hz 高频通信,可在抓取过程中实时读取状态信息,充分满足科研场景对于数据收集的需求。

3 适配机型

ER myCobot Pro 630

ER Mercury 系列

4 适用场景

精密抓取:拿取水果、食物、工具器材等多种物品

肢体互动:结合机器人实现点赞、打招呼、手势控制等动作

实验操作:在实验室中进行精密操作和实验演示

教学演示:用于机器人课程中的实践教学

5 规格说明

产品规格参数

名称 myGripper H100 三指灵巧手
握持范围 0 - 130mm
指尖数 3指,分别对应人手的:拇指 食指 无名指
使用寿命 10W次及以上
可活动关节 6个
电机类型 伺服舵机,支持电流、位置、速度控制
重量 780g
额定负载 500g
电源参数 24V2A
固定方法 螺丝固定
使用环境要求 常温常压
控制接口 RS485控制
线缆接口型号 M8-8PIN

引脚线序说明

编号1,5 连接GND与24V,编号2,3 为控制 IO 输入,编号6,7 为 IO 输出,编 号4,8为485 通信,是与灵巧手接收与发送指令

注意事项

请根据线标区分线序,如出现线标丢失、脱落、遗忘等情况,请联系我 司工作人员,配合确定线序。如不联系我司工作人员,因接错线序,导致灵巧手 损坏,后果自负

5.1 工作原理

在电机的驱动下,机械手的手指表面做直线往复运动,实现打开或关闭动作。通过设置夹持力矩,使工件的冲击最小,定位点可控,夹紧可控。

5.3 控制方式

USB-485模块接线

连接灵巧手端的 24V,GND, 485_A(T/R+,485+) , 485_B(T/R-,485-)共 4 根线,电源为24V直流稳压电源,将模块的 USB 插口插入到电脑的 USB 接口

485A 接入 485 转 USB 模块 A+;
485B 接入 485 转 USB 模块 B-;
24V 接入 24V 直流稳压电源正极;
GND 接入 24V 直流稳压电源负极

串口控制方法

串口调试助手调试

用户可用UartAssist串口调试助手,参考下图发送相应的灵巧手指令,CRC校验码无需填写,UartAssist串口调试助手会自动生成。

灵巧手串口默认配置

  • 灵巧手 ID:14
  • 波特率:115200
  • 数据位:8
  • 停止位:1
  • 校验位:无校验位

灵巧手采用自定义协议,一条指令由帧头(2byte),长度(1byte),地址码 ID(1byte),功能码(1byte),寄存器地址(2byte),寄存器数据(2*n个byte),校验码(2byte),我们以读取灵巧手角度为例

帧头 长度 ID 功能码 寄存器地址 寄存器数据/参数 CRC-16MODBUS校验码
Fe Fe 08 0e 03 00 0C 00 01 71 01

帧头:254 254

长度:指令长度 08

ID: 0E,可以在设备中修改,默认 ID 为 14 ,0E 代表灵巧手当前 ID 为 14

功能码:识别指令是设置还是获取功能,06(对寄存器进行写操作)/03(对寄存器进行读操作)。

寄存器地址:00 0c 灵巧手功能对应寄存器地址

寄存器参数:00 01 若是读取,只需填写舵机的ID,若是设置,需要填写舵机的ID和写入的参数

CRC 校验:71 01 保证终端设备不去响应那些在传输过程中发生改变的数据,保证系统的安全性和效率,CRC 校验采用 16 位的循环余方法 。将帧头,长度,功能码,寄存器地址,寄存器参数所有16进制直接进行校验得到 71 01 校验码。

命令总览

  • 读取固件主版本号

    指令:fe fe 08 0e 03 00 01 00 00 72 51

    功能码:03 读操作

    参数:无

    返回:fe fe 08 0e 03 00 01 00 01 B2 90

    标注:数据返回 00 01,返回版本号为 1

  • 读取固件次版本号

    指令:FE FE 08 0E 03 00 02 00 00 72 A1

    功能码:03 读操作

    参数:无

    返回:FE FE 08 0E 03 00 02 00 01 B2 60

    标注:数据返回 00 01,表示返回版本号为 1

  • 设置/读取设备 ID 号

    • 设置

      指令:FE FE 08 0E 06 00 03 00 0E 76 BD

      功能码:06 写操作

      参数:00 0E,ID 设置范围(1-254)

      返回:FE FE 08 0E 06 00 03 00 01 72 FD

      标注:成功返回 00 01,失败返回 00 00,设备 ID 修改后,指令中的 ID 也需要修改 成一样才可以通信

    • 读取

      指令:FE FE 08 0E 03 00 04 00 00 73 41

      功能码:03 读操作

      参数:无

      返回:FE FE 08 0E 03 00 04 00 0E B7 C0

      标注:数据返回 00 0E,表示当前灵巧手 ID 号

  • 设置/读取 485 波特率

    • 设置

      指令:FE FE 08 0E 06 00 05 00 00 73 1D

      功能码:06 写操作

      参数:参数 00 00,0-115200,1-1000000,2-57600,3-19200,4-9600,5-4800, 如设置为 1000000,参数改为 00 01

      返回:FE FE 08 0E 06 00 05 00 01 72 FD

      标注:成功返回 00 01,失败返回 00 00

    • 读取

      指令:FE FE 08 0E 03 00 06 00 00 B3 E0

      功能码:03 读操作

      参数:无

      返回:FE FE 08 0E 03 00 06 00 00 B3 E0

      标注:返回数据 00 00,与设值参数对应波特率的值

  • 设置灵巧手使能状态

    指令:FE FE 08 0E 06 00 0A 00 00 B0 EC

    功能码:06 写操作

    参数:00 00, 00 表示断使能, 00 01 表示使能

    返回:FE FE 08 0E 06 00 0A 00 01 70 2D

    标注:成功返回 00 01,失败返回 00 00

  • 设置/读取灵巧手角度

    • 设置

      指令:FE FE 0A 0E 06 00 0B 00 01 00 64 FF 39

      功能码:06 写操作

      参数:00 01 00 64,设置舵机1角度为100

      返回:FE FE 08 0E 06 00 0B 00 01 B0 7C

      标注:成功返回 00 01,失败返回 00 00

    • 读取

      指令:FE FE 08 0E 03 00 0C 00 01 71 01

      功能码:03 读操作

      参数:无

      返回:FE FE 08 0E 03 00 0C 00 64 5A C1

      标注:返回数据 00 64,表示当前角度为 100,全开状态

  • 设置舵机零位

    指令:FE FE 08 0E 06 00 0D 00 01 B1 9C

    功能码: 06 写操作

    参数:00 01 设置舵机1零位

    返回:FE FE 08 0E 06 00 0D 00 01 B1 9C

    标注:成功返回 00 01,失败返回 00 00

  • 读取灵巧手夹持状态

    指令:FE FE 08 0E 03 00 0E 00 00 71 61

    功能码:03 读操作

    参数:无

    返回:FE FE 08 0E 03 00 0E 00 01 B1 A0

    标注:00 01,返回数据 0为正在运动 ,1为停止运动,未检测到夹到物,2为停止运动,检测到夹住物体,3为检测到夹住物体,物体掉落

  • 设置/读取舵机 P 值

    • 设置

      指令:FE FE 0A 0E 06 00 0F 00 01 00 64 3F C8

      功能码:06 写操作

      参数:00 01 00 64,设置舵机1 P 值为 100,设置范围(1-254)

      返回:FE FE 08 0E 06 00 0F 00 01 71 3D

      标注:成功返回 00 01,失败返回 00 00

    • 读取

      指令:FE FE 08 0E 03 00 10 00 01 B7 C0 功能码:03 读操作 参数:00 01 舵机1 返回:FE FE 08 0E 03 00 10 00 64 9C 00 标注:返回数据 00 64,表示当前 P 值为 100

  • 设置/读取舵机 D 值

    • 设置

      指令:FE FE 0A 0E 06 00 11 00 01 00 64 3D 60

      功能码:06 写操作

      参数:00 01 00 64,设置舵机1 D 值为 100,设置范围(1-254)

      返回:FE FE 08 0E 06 00 11 00 01 77 5D

      标注:成功返回 00 01,失败返回 00 00

      若灵巧手出现抖动,可适当增大 D 值

    • 读取

      指令:FE FE 08 0E 03 00 12 00 01 77 61

      功能码:03 读操作

      参数:00 01 舵机1

      返回:FE FE 08 0E 03 00 12 00 64 5C A1

      标注:返回数据 00 64,表示当前 D 值为 100

  • 设置/读取舵机 I 值

    • 设置

      指令:FE FE 0A 0E 06 00 13 00 01 00 00 16 18

      功能码:06 写操作

      参数:00 01 00 00,设置舵机1 I 值为 0,设置范围(1-254)

      返回:FE FE 08 0E 06 00 13 00 01 B7 FC

      标注:成功返回 00 01,失败返回 00 00

    • 读取

      指令:FE FE 08 0E 03 00 14 00 01 76 81

      功能码:03 读操作

      参数:00 01 舵机1

      返回:FE FE 08 0E 03 00 14 00 00 B6 40

      标注:返回数据 00 00,表示当前 I 值为 0

  • 设置/读取舵机顺时针可运行误差

    • 设置

      指令:FE FE 0A 0E 06 00 15 00 01 00 03 17 D0

      功能码:06 写操作

      参数:00 01 00 03,设置舵机1的误差值为 3,设置范围(0-16)

      返回:FE FE 08 0E 06 00 15 00 01 B6 1C

      标注:成功返回 00 01,失败返回 00 00

    • 读取

      指令:FE FE 08 0E 03 00 16 00 01 B6 20

      功能码:03 读操作

      参数:00 01 舵机1

      返回:FE FE 08 0E 03 00 16 00 01 B6 20

      标注:返回数据 00 01,表示当前值为 1

  • 设置/读取舵机逆时针可运行误差

    • 设置

      指令:FE FE 0A 0E 06 00 17 00 01 00 03 D7 A9

      功能码:06 写操作

      参数:00 01 00 03,设置舵机的误差值为 3,设置范围(0-16)

      返回:FE FE 08 0E 06 00 17 00 01 76 BD

      标注:成功返回 00 01,失败返回 00 00

    • 读取

      指令:FE FE 08 0E 03 00 18 00 01 75 41

      功能码:03 读操作

      参数:00 01 舵机1

      返回:FE FE 08 0E 03 00 18 00 01 75 41

      标注:返回数据 00 01,表示当前值为 1

  • 设置/读取舵机最小启动力

    • 设置

      指令:FE FE 0A 0E 06 00 19 00 01 00 18 1D 80

      功能码: 06 写操作

      参数:00 01 00 18 设置舵机1的值为24

      返回:FE FE 08 0E 06 00 19 00 01 B5 DC

      标注:成功返回 00 01,失败返回 00 00

    • 读取

      指令:FE FE 08 0E 03 00 1A 00 01 B5 E0

      功能码:03 读操作

      参数:00 01 舵机1

      返回:FE FE 08 0E 03 00 1A 00 18 7F 21

      标注:返回数据 00 18,表示当前值为 24

  • 设置/读取舵机扭矩

    • 设置

      指令:FE FE 0A 0E 06 00 1B 00 01 00 64 3C F8

      功能码: 06 写操作

      参数:00 01 00 64 设置舵机1扭力为 100,参数范围(0-100)

      返回:FE FE 08 0E 06 00 1B 00 01 75 7D

      标注:成功返回 00 01,失败返回 00 00

    • 读取

      指令:FE FE 08 0E 03 00 1C 00 01 B4 00

      功能码:03 读操作

      参数:00 01 舵机1

      返回:FE FE 08 0E 03 00 1C 01 2C 39 C1

  • 设置/读取舵机速度

    • 设置

      指令:FE FE 0A 0E 06 00 20 00 01 00 14 1D 1C

      功能码: 06 写操作

      参数:00 01 00 14 设置舵机1速度为 20,参数范围(1-100)

      返回:FE FE 08 0E 06 00 20 00 01 B8 0C

      标注:成功返回 00 01,失败返回 00 00

    • 读取

      指令:FE FE 08 0E 03 00 21 00 01 78 91

      功能码:03 读操作

      参数:00 01 舵机1

      返回:FE FE 08 0E 03 00 21 00 32 6D D1

      标注:00 32 数据返回为 50

  • 设置灵巧手手势

    • 设置

      指令:FE FE 08 0E 06 00 34 01 01 00 35 EC

      功能码: 06 写操作

      参数:01 01 设置手势(0-4),手势闭合程度(0-5)

      返回:FE FE 08 0E 06 00 34 00 01 B8 0C

      标注:成功返回 00 01,失败返回 00 00

  • 设置/读取灵巧手角度

    • 设置

      指令:FE FE 12 0E 06 00 2D 00 00 00 00 00 00 00 00 00 00 00 00 00 14 23 FC

      功能码: 06 写操作

      参数:00 00 00 00 00 00 00 00 00 00 00 00 00 14 前面12个字节代表角度(0-100),最后两个字节代表速度 (0-100)

      返回:FE FE 08 0E 06 00 2D 00 01 7B 9D

      标注:成功返回 00 01,失败返回 00 00

    • 读取

      指令:FE FE 08 0E 03 00 32 00 00 7D A1

      功能码:03 读操作

      参数:无

      返回:FE FE 0C 0E 03 00 32 00 00 00 01 00 00 00 00 00 01 00 00 84 74

      标注:00 00 00 01 00 00 00 00 00 01 00 00 数据返回为 [0, 1, 0, 0, 1, 0]

python USB转485模块控制

驱动库安装 点击下载驱动库

串口依赖库安装

在电脑终端执行下面命令,安装依赖库

pip install pyserial

API说明

get_gripper_firmware_version()

  • 功能: 获取夹爪固件主版本号
  • 参数:
  • 返回: (int)固件主版本号

get_gripper_modified_version()

  • 功能: 获取夹爪固件次版本号
  • 参数:
  • 返回: (int)固件次版本号

get_gripper_gripper_Id()

  • 功能: 获取夹爪ID
  • 参数:
  • 返回: (int)夹爪ID

get_gripper_gripper_baud()

  • 功能: 获取夹爪波特率
  • 参数:
  • 返回:(int) 0-5
    • 0: 115200
    • 1: 1000000
    • 2: 57600
    • 3: 19200
    • 4: 9600
    • 5: 4800

get_gripper_joint_angle(id)

  • 功能: 获取夹爪的当前位置数据信息
  • 参数: id: (int) 夹爪关节ID,取值范围 1-6
  • 返回: (int)夹爪关节ID的当前位置数据

get_gripper_status()

  • 功能: 获取夹爪的当前状态
  • 参数:
  • 返回:(int) 0-3
    • 0: 正在运动
    • 1: 停止运动,未检测到夹到物体
    • 2: 停止运动,检测到夹到了物体
    • 3: 检测到夹到物体以后,物体掉落

get_gripper_joint_speed(id)

  • 功能: 获取夹爪关节ID的当前速度
  • 参数: id: (int) 夹爪关节ID,取值范围 1-6
  • 返回: (int)夹爪关节ID的当前速度

get_gripper_joint_P(id)

  • 功能: 获取夹爪关节ID的PID的P值
  • 参数: id: (int) 夹爪关节ID,取值范围 1-6
  • 返回: (int)夹爪关节ID的PID的P值

get_gripper_joint_I(id)

  • 功能: 获取夹爪关节ID的PID的I值
  • 参数: id: (int) 夹爪关节ID,取值范围 1-6
  • 返回: (int)夹爪关节ID的PID的I值

get_gripper_joint_D(id)

  • 功能: 获取夹爪关节ID的PID的D值
  • 参数: id: (int) 夹爪关节ID,取值范围 1-6
  • 返回: (int)夹爪关节ID的PID的D值

get_gripper_joint_cw(id)

  • 功能: 获取夹爪关节ID的顺时针可运行误差
  • 参数: id: (int) 夹爪关节ID,取值范围 1-6
  • 返回: (int)夹爪关节ID的顺时针可运行误差

get_gripper_joint_cww(id)

  • 功能: 获取夹爪关节ID的逆时针可运行误差
  • 参数: id: (int) 夹爪关节ID,取值范围 1-6
  • 返回: (int)夹爪关节ID的逆时针可运行误差

get_gripper_joint_mini_pressure(id)

  • 功能: 获取夹爪关节ID的最小启动力
  • 参数: id: (int) 夹爪关节ID,取值范围 1-6
  • 返回: (int)夹爪关节ID的最小启动力

get_gripper_joint_mini_pressure(id)

  • 功能: 获取夹爪关节ID的最小启动力
  • 参数: id: (int) 夹爪关节ID,取值范围 1-6
  • 返回: (int)夹爪关节ID的最小启动力

get_gripper_angles()

  • 功能: 获取夹爪6个关节的角度
  • 参数: id: (int) 夹爪关节ID,取值范围 1-6
  • 返回: (list)夹爪6个关节的角度

set_gripper_Id(value)

  • 功能: 设置夹爪ID号
  • 参数:
    • value: (int) 夹爪ID,取值范围 1-254
  • 返回:(int) 0-1
    • 0: 失败
    • 1: 成功

set_gripper_baud(value)

  • 功能: 设置夹爪波特率
  • 参数:
    • value: (int) 夹爪波特率,取值范围 0-5
      • 0: 115200
      • 1: 1000000
      • 2: 57600
      • 3: 19200
      • 4: 9600
      • 5: 4800
  • 返回:(int) 0-1
    • 0: 失败
    • 1: 成功

set_gripper_enable(value)

  • 功能: 设置夹爪使能状态
  • 参数:
    • value: (int) 使能状态,取值范围 0-1
      • 0: 掉使能
      • 1: 上使能
  • 返回:(int) 0-1
    • 0: 失败
    • 1: 成功

set_gripper_joint_calibration(id)

  • 功能: 设置夹爪关节ID零位校准
  • 参数: id: (int) 夹爪关节ID,取值范围 1-6
  • 返回:(int) 0-1
    • 0: 失败
    • 1: 成功

set_gripper_joint_P(id,value)

  • 功能: 设置夹爪关节ID的PID的P值
  • 参数:
    • id: (int) 关节ID,取值范围 1-6
    • value: (int) P值,取值范围 0-254
  • 返回:(int) 0-1
    • 0: 失败
    • 1: 成功

set_gripper_joint_I(id,value)

  • 功能: 设置夹爪关节ID的PID的I值
  • 参数:
    • id: (int) 关节ID,取值范围 1-6
    • value: (int) I值,取值范围 0-254
  • 返回:(int) 0-1
    • 0: 失败
    • 1: 成功

set_gripper_joint_D(id,value)

  • 功能: 设置夹爪关节ID的PID的D值
  • 参数:
    • id: (int) 关节ID,取值范围 1-6
    • value: (int) D值,取值范围 0-254
  • 返回:(int) 0-1
    • 0: 失败
    • 1: 成功

set_gripper_joint_cw(id,value)

  • 功能: 设置夹爪关节ID的顺时针可运行误差
  • 参数:
    • id: (int) 关节ID,取值范围 1-6
    • value: (int) 误差,取值范围 0-16
  • 返回:(int) 0-1
    • 0: 失败
    • 1: 成功

set_gripper_joint_cww(id,value)

  • 功能: 设置夹爪关节ID的逆时针可运行误差
  • 参数:
    • id: (int) 关节ID,取值范围 1-6
    • value: (int) 误差,取值范围 0-16
  • 返回:(int) 0-1
    • 0: 失败
    • 1: 成功

set_gripper_joint_mini_pressure(id,value)

  • 功能: 设置夹爪关节ID的最小启动力
  • 参数:
    • id: (int) 关节ID,取值范围 1-6
    • value: (int) 最小启动力,取值范围 0-254
  • 返回:(int) 0-1
    • 0: 失败
    • 1: 成功

set_gripper_joint_torque(id,value)

  • 功能: 设置夹爪关节ID的扭矩
  • 参数:
    • id: (int) 关节ID,取值范围 1-6
    • value: (int) 扭矩,取值范围 0-300
  • 返回:(int) 0-1
    • 0: 失败
    • 1: 成功

set_gripper_joint_speed(id,speed)

  • 功能: 设置夹爪关节ID的速度
  • 参数:
    • id: (int) 关节ID,取值范围 1-6
    • speed: (int) 速度,取值范围 1-100
  • 返回:(int) 0-1
    • 0: 失败
    • 1: 成功

set_gripper_angles(angles,speed)

  • 功能: 设置夹爪全关节角度
  • 参数:
    • angles: (list) 6个关节角度,每个关节角度取值范围 0-100
    • speed: (int) 速度,取值范围 1-100
  • 返回:(int) 0-1
    • 0: 失败
    • 1: 成功

set_gripper_action(value)

  • 功能: 设置夹爪捏合动作
  • 参数:
    • value: (int) 动作,取值范围 0-3
      • 0:食指与拇指捏合
      • 1: 中指于拇指捏合
      • 2: 三指握住
      • 3: 双指夹持
  • 返回:(int) 0-1
    • 0: 失败
    • 1: 成功

set_gripper_pose(pose,value,flag)

  • 功能: 设置夹爪捏合动作及开合程度
  • 参数:

    • pose: (int) 动作,取值范围 0-3
      • 0:食指与拇指捏合
      • 1: 中指于拇指捏合
      • 2: 三指握住
      • 3: 双指夹持
    • value: (int) 开合程度,取值范围 0-5,合拢程度,等级越高越合拢
    • flag: (int) 空闲标志,标志1时,空闲手指可自由操控
  • 返回:(int) 0-1

    • 0: 失败
    • 1: 成功

测试程序

from MyHand import MyGripper_H100
import time
if __name__=="__main__":
    g=MyGripper_H100("COM27",baudrate=115200,id=14)##填写实际的串口号和波特率和夹爪ID
    print("夹爪的实际ID为:",g.get_gripper_Id())
    print(g.set_gripper_joint_angle(0,50))
    time.sleep(2)
    print(g.set_gripper_joint_angle(0,0))
    time.sleep(2)

6 场景案例

基于USB-485模块python控制案例

基于630、A1抓取案例

results matching ""

    No results matching ""