智元 OmniPicker 产品手册

发布时间:2024-11-14 00:00:00

1. 重要安全须知

1.1 使用注意事项

• 了解产品:在使用该产品之前,请仔细阅读产品手册,了解产品的功能、操作方式以及安全注意事项。

• 遵循使用要求:确保机器在适宜环境中进行使用,避免过高或过低的温度、潮湿环境等。

• 电源安全:操作前确保所有电缆、插头、插座完好无损。遇到异常情况(如短路、过热等)时立即断开电源。

• 定期检查:定期进行维护和检查,确保机器的组件如电机、电源等正常运行,避免因老化或损坏导致的危险。

• 防止误用:确保机器不会用于任何不当、危险或法律禁止的场景。

1.2 免责声明

公司致力于不断提高产品可靠性和性能,并因此保留升级产品的权利,恕不另行通知。公司力求确保本手册内容的准确性和可靠性,但不对其中的任何错误或遗漏信息负责。以下情况导致的故障不在本保修范围内:

1)未按用户手册要求安装、接线、连接其他控制设备;

2)未经允许,私自拆装灵巧手;

3)使用时超出用户手册所示规格或标准;

4)由于运输不当导致的产品损坏;

5)事故或碰撞导致的损坏;

6)火灾、地震、海啸、雷击、大风和洪水等自然灾害。

本公司对于因客户违反本章节内的免责声明而造成的任何损失或伤害不承担任何责任。请客户在购买和使用本产品前,仔细阅读并同意本免责声明。


2.产品简介


2.1 产品概述(更新时间:2025.12.23)

智元 OmniPicker 是一款自适应的通用夹爪。融合了不同模态的夹爪设计的优点,只用一个主动自由度就可以实现各种不同形状物体的抓取。产品非常轻便易用,重量只有 430g

OmniPicker 用途多样,适用于各种抓取任务,适配多种机器人本体如人形机器人,工业臂、协作臂等,OmniPicker 提供多种软件通信协议开发接口,帮助客户快速完成适配。此外夹爪具备主动力控能力,可以完成如数据采集,轻度作业等多种任务。

图片1.png



2.2 主要特性

• 超低BOM成本

• 自适应模式&夹持力

• 夹持力自锁

• 前馈力控

• 驱动内置


2.3 产品参数

智元 OmniPicker 关键产品参数典型值如下

参数

典型值

产品重量

0.43kg

最大夹持力

30N

最大推荐负载

1.5kg

最大行程

120mm

打开/闭合时间

0.7s

重复定位精度

±0.05mm

通信协议

CANCAN-FDRS485、串口、Modbus RTU

额定工作电压

24V DC


3. 产品安装说明

3.1 装箱清单

1. OmniPicker * 1

2. CAN-FD 通讯线 * 1


3.2 安装指引

在购买的智元灵犀X1通用人形套餐中有安装使用的物料,如图1,请自备安装工具如图2

序号

物料名称

数量

1

OmniPicker

1

2

超短头内六角螺栓 M3x6

3

3

后盖

1

4

手转接支架

1

5

圆柱头内六角螺丝 M4x8

4

6

手链接支架

1

 

序号

工具名称

型号/规格

1

内六角扳手

H2

2

内六角扳手

H2.5

3

内六角扳手

H3

按以下步骤完成 OmniPicker 的组装

STEP1如图1,将OmniPicker底部圆周4颗沉头内六角螺丝M2.5x8H2内六角扳手取下后得到后盖;

 图片2.png

STEP2如图2,用H2.5内六角扳手将3颗超短头内六角螺丝M3x6拧入后盖,固定在手转接支架上;

图片3.png

STEP3如图3,用H2内六角扳手将第1步拆下的4颗沉头内六角螺丝M2.5x8装回夹爪上;

图片4.png

STEP4如图4,用H3内六角扳手将4颗圆柱头内六角螺丝M4x8把夹爪固定在手链接支架上;

图片5.png

STEP5左右夹爪按照同样的方式安装,装完后夹爪宽手指均靠身体外侧;

STEP6若拿到的夹爪在STEP1拆除螺丝时阻力很大,可能原因为螺丝固定时涂有螺纹胶,建议尝试热风枪加热后拆除;

STEP7插入夹爪线缆。

NOTE后盖和手转接支架固定时注意安装方向


3.3 使用其他机械臂(更新日期:2025.12.23)

用户如将OmniPicker接到其他机械臂上,可参考如下安装接口图纸自行设计转接件。


图片7.png


4. 产品尺寸信息

4.1 外部尺寸图

如下展示了OmniPicker打开和闭合状态下的外部尺寸

图片8.png

图片9.png

 图片10.png

5. 电气接口互联(更新日期:2025年12月23日)

5.1 6 PIN接口定义

智元 OmniPicker 对外的电气接口使用的是间距为1.25mm6 PIN带锁扣的插座,

1. 如夹爪版本号为20,即控制板中红框中为电阻焊盘,其接口引脚定义如下表所示:

序号

PIN定义

功能描述

1

VIN

12脚用作电源输入,电压不超过24V DC

2

VIN

3

CAN_H

UART2_TXRS485_BCAN总线-高。

4

CAN_L

UART2_RXRS485_ACAN总线-低。

5

GND

56脚用作电源的GND

6

GND

2. 如夹爪版本号为30,即控制板中红框为拨码开关,其接口引脚定义如下表所示:

序号

PIN定义

功能描述

1

VIN

12脚用作电源输入,电压不超过24V DC

 

2

VIN

3

CAN_L

UART2_RXRS485_BCAN总线-低。

4

CAN_H

UART2_TXRS485_ACAN总线-高。

5

GND

56脚用作电源的GND

6

GND

 

注:可通过夹爪包装或者机身底部的14SN码区分两种夹爪, 区分方式如下,

SN67位为夹爪版本号,有2030两种,

X1 0 06 20 XXXXXXX               X1 0 06 30 XXXXXXX

两种夹爪差异点为PCBA,具体见 5.2 通信方式选择


5.2 通信方式选择

打开机器后盖,可根据下图中红框标出的内容区分两种夹爪PCBA状态,进而采用不同的操作方式。

1. 如夹爪版本号为20,即控制板中红框中为电阻焊盘,则通过跳线电阻的方式选择相应的通信方式。跳线电阻默认焊接在 CAN/CAN-FD 上。如需切换到其他通信方式则对应PCBA丝印,将原 CAN/CAN-FD的跳线电阻拆除后焊接到相应的通信接口电阻焊盘上。RS485 焊接红框上方两个电阻,UART 则焊接红框下方两个电阻。

图片1.png

图片2.png

2. 如夹爪版本号为30,即控制板中红框为拨码开关,则按照如下操作方式。

a. 默认为 CAN/CAN-FD34引脚为 ON 的状态,其他引脚处于 OFF 状态。

b. 如果需要切换到 RS485, 则12引脚拨到 ON 的状态,其他引脚恢复 OFF 状态。

c. 如果需要切换到 UART,则56引脚拨到 ON 的状态,其他引脚恢复 OFF 状态。

图片3.png 

 

3. PCB的背面焊有一颗120Ω的终端电阻,需要根据使用场景来决定是否保留,电阻位置见下图红框内部的R47

○ 当使用 CAN/CAN-FD/RS485 通信方式时,需要保留该电阻,出厂默认焊接

○ 当使用 UART - TTL 通信方式时,需要手动拆除该电阻

图片4.png

6. 通信接口及协议

OmniPicker同时配备了多种通信接口,用于适配不同的工作环境。

一般配置步骤如下:

1. 先根据 5.电气接口互联 中的说明选择对应的通信接口,默认为CAN/CAN-FD

2. 通过 USB 连接上位机配置夹爪参数

3. 将夹爪接入对应的硬件系统中




6.1 LED状态指示

LED

含义

绿色闪烁

失能状态

绿色常亮

使能状态(默认上电自使能)

红色常亮

错误状态

蓝色常亮

电机校准中(出厂默认校准完毕)

彩色交替闪烁

固件升级中


6.2 上位机控制(更新日期:2025.12.23)

上位机可以通过命令行更改参数,在第一次使用时建议充分了解其配置参数。

6.2.1 使用方法

准备一台Windows系统的电脑,并下载上位机软件 REF-CLI v1.0.3.exe

确保夹爪的行程中没有障碍物后,将夹爪上电。若一切正常,夹爪会自动闭合以寻找零位,若未能闭合则需停止使用,检查夹爪运动是否流畅。

确保夹爪上电后,用 USB-C 数据线将夹爪连接至电脑,并打开上位机软件。等待上位机识别成功后,会有如下显示:

图片5.png

此时,编号为 000032843334 的设备在上位机中的索引名为 ref0 

注:若存在多个夹爪情况,则设备在上位机中的索引名会按序排列,第一个为ref0 第二个为 ref1,以此类推,请注意按对应编号修改命令。关闭上位机并重启后,软件会重新从ref0 开始识别。

在上位机中直接键入 ref0 并敲击回车,会显示当前夹爪的基本信息。根据下图所示,当前夹爪的固件版本为 1.3.4CAN总线ID8

图片6.png 

6.2.2 更改CAN-ID

ref0.can_node_id 代表 CAN总线的节点ID。可以直接查看其数值,也可以使用 = 进行赋值。执行以下命令。

Bash
ref0.can_node_id=8    // CAN ID设置为8

图片7.png

所有的参数变更,都需要调用 save_config() 方法进行保存,而该操作需要在 失能 状态下进行。

 

 

Bash
ref0.motor.request_state(0)    // 先将夹爪 失能, 0代表失能,1代表使能

ref0.save_config()             // 保存所有参数

图片8.png

注:所有参数变更,都在保存并重新上电后生效。

6.2.3 控制夹爪运动

1. 夹爪重新上电。(默认上电自使能)

2. 等待夹爪自动闭合。

3. 连接上位机,并调用 set_pos(x) 方法设置其位置,其中x为开合百分比,范围 0.0 - 1.00为闭合,1为全部张开。

Bash
 ref0.motor.ctrl.set_pos(0.5) // 将夹爪运动至行程50%处。


6.3 CAN/CAN-FD 通信协议

当夹爪使用 CAN-FD 进行通信时,波特率为 仲裁域1M80%采样点) + 数据域5M75%采样点),同时兼容波特率为1M80%采样点)的 CAN 协议。

注:CAN 协议固件版本不低于 3.3.0

6.3.1 下行控制

控制帧定义如下所示。

CAN ID

DLC

D0

D1

D2

D3

D4

D5

D6

D7

can_node_id

8

Reserved

Pos Cmd

Vel Cmd

Force Cmd

Acc Cmd

Dec Cmd

Reserved

Reserved

• ID :夹爪的下行控制 ID,对应 ref0.can_node_id

• Reserved  保留数据,必须写0

• Pos Cmd  目标位置,数值范围 0 - FF0为夹紧,FF为完全张开

• Vel Cmd  目标速度,数值范围 0 - FFFF为最大速度

• Force Cmd  目标力矩,数值范围 0 - FFFF为最大力矩

• Acc Cmd  目标加速度,数值范围 0 - FFFF为最大加速度

• Dec Cmd  目标减速度,数值范围 0 - FFFF为最大减速度

 

如控制夹爪运行至 50%行程处,其他参数全部给到最大值:

发送报文  00 7F FF FF FF FF 00 00

6.3.2 上行状态

上电并使能成功后,每当夹爪收到一次控制指令,会立即上报一帧状态数据。状态帧定义如下所示。

CAN ID

DLC

D0

D1

D2

D3

D4

D5

D6

D7

can_node_id

8

Fault Code

State

Pos

Vel

Force

Reserved

Reserved

Reserved

• ID :夹爪的上行报文ID,对应 ref0.can_node_id

• Fault Code  错误代码,含义如下

Code

含义

00

无故障

01

过温警报

02

超速警报

03

初始化故障警报

04

超限检测警报

• State  当前状态,含义如下

Code

含义

00

已到达目标位置

01

夹爪移动中

02

夹爪堵转

03

物体掉落

• Pos  当前位置,意义同 Pos Cmd

• Vel  当前速度,意义同 Vel Cmd

• Force  当前力矩,意义同 Force Cmd

Reserved :预留位。D5-D7 三字节数据会直接复制发送的数据包,可自行用作校验,也可无视。

6.4 串口 TTL/485 通信协议

注:串口总线也支持串行链接,节点ID 复用 can_node_id。固件版本不低于 3.3.2

3.3.5之前版本中当夹爪使用 串口 TTL 485 进行通信时,波特率为 115200@8N18bit数据位,0校验位,1停止位)。

3.3.5及之后版本中,波特率见上位机中的 uart_baudrate 参数,数据位 8位,校验位 0位,停止位见上位机中的 uart_stopbits参数

6.4.1 TTL/485 模式切换

使用 USB-C 数据线将夹爪连接至 PC,打开上位机,输入ref0 并敲击回车,查看 rs485_mode 字段的值。

• 若使用 TTL 方式通信,将 rs485_mode 置为 0 并进行保存。注:背部终端电阻需要拆除。

Python
ref0.rs485_mode = 0  // 关闭 485模式,使能 TTL

ref0.motor.request_state(0)  // 失能
ref0.save_config()           // 保存配置

• 若使用 RS485 方式通信,将 rs485_mode 置为1并进行保存

Python
ref0.rs485_mode = 1  // 打开 485模式,关闭 TTL

ref0.motor.request_state(0)  // 失能
ref0.save_config()           // 保存配置

保存并重启后生效。

 

6.4.2 TTL/485 通信参数及通信协议配置

版本不低于3.3.5的固件支持配置TTL/485的通信参数以及通信协议

• 波特率配置

Python
ref0.uart_baudrate = 460800  // 波特率配置成460800(可以替换为所需的波特率)

ref0.motor.request_state(0)  // 失能
ref0.save_config()           // 保存配置

保存并重启后生效。

 

• 停止位设置

停止位编号定义如下

编号

定义

0

1位停止位

1

1.5位停止位

2

2位停止位

 

Python
ref0.uart_stopbits = 0       // 配置成1位停止位(可以替换为所需停止位)

ref0.motor.request_state(0)  // 失能
ref0.save_config()           // 保存配置

保存并重启后生效。

• 通信协议设置

通信协议由modbus_mode参数决定,如果是False则为自定义协议,如果为True则为 Modbus RTU协议

Python
ref0.modbus_mode = True      // 配置成Modbus RTU协议

ref0.motor.request_state(0)  // 失能
ref0.save_config()           // 保存配置

保存并重启后生效。

6.4.3 自定义协议

版本为 3.3.5 之前的固件使用自定义协议,之后固件当上位机参数 modbus_mode配置为false时使用自定义协议

6.4.3.1 下行控制

控制帧定义如下所示,一帧12字节。

D0

D1

D2

D3

D4

D5

D6

D7

D8

D9

D10

D11

Frame Head

ID

Reserved

Pos Cmd

Force Cmd

Vel Cmd

Acc Cmd

Dec Cmd

Reserved

Reserved

CheckSum

• Frame Head:帧头,0x4141,共2字节

• ID 复用 can_node_id

• D3 - D10  CAN总线下行协议 D0 - D7 定义相同

• CheckSum  D2 - D10 的数据和校验,计算方法请参考下方 Python代码

Python
def checksum(buf) -> int:
    ret = 0
    for i in buf:
        ret += i
    return (~ret) & 0xff

 

如控制夹爪运行至 50%行程处,假设 ID 1,其他参数全部给到最大值:

发送数据 41 41 01 00 7F FF FF FF FF 00 00 83

6.4.3.2 上行状态

上电并使能成功后,每当夹爪收到一次控制指令,会立即上报一帧状态数据。状态帧定义如下所示,一帧12字节。

D0

D1

D2

D3

D4

D5

D6

D7

D8

D9

D10

D11

Frame Head

ID

Fault Code

State

Pos

Vel

Force

Reserved

Reserved

Reserved

CheckSum

• Frame Head:帧头,0x4141,共2字节

• ID 复用 can_node_id

• D3 - D10:与 CAN总线上行协议 D0 - D7 定义相同

• CheckSum:计算方法同下行协议,校验范围为 D2 - D10

6.4.4 Modbus RTU 协议

版本在 3.3.5 以上的固件可以通过上位机配置 modbus_mode参数为True以使用 Modbus RTU协议

夹爪 Modbus从站地址复用can_node_id,可以通过读取以及写入modbus寄存器来控制夹爪以及获取夹爪当前状态反馈,Modbus寄存器表如下

寄存器地址(十进制)

寄存器含义

说明

0

固件版本号


10

目标位置

只取寄存器低字节,数值范围 0 - FF0为夹紧,FF为完全张开

11

目标速度

只取寄存器低字节,数值范围 0 - FFFF为最大速度

12

目标力矩

只取寄存器低字节,数值范围 0 - FFFF为最大力矩

13

目标加速度

只取寄存器低字节,数值范围 0 - FFFF为最大加速度

14

目标减速度

只取寄存器低字节,数值范围 0 - FFFF为最大减速度

15

运动触发标志

写入非零值后触发电机依据10-14寄存器中地址的目标位置等信息运动,电机开始执行运动时自动清零

20

当前错误码

CAN-FD协议错误码定义相同

21

当前状态

CAN-FD协议状态码定义相同

22

当前位置

意义同目标位置

23

当前速度

意义同目标速度

24

当前扭矩

意义同目标扭矩

6.4.4.1 运动控制

用户可以通过 Modbus RTU 0x10(写多寄存器) 命令向 10-15 地址写入控制参数来进行控制,如控制夹爪运行至 50%行程处,假设从站地址为1,其他参数全部给到最大值,根据协议规范可发送如下数据:

01 10 00 0A 00 06 0C 00 7F 00 FF 00 FF 00 FF 00 FF 00 01 B9 BA

该命令向 寄存器地址10(目标位置) 写入7F,向寄存器地址 11-14(速度扭矩等参数)写入FF,向寄存器地址 15写入1触发夹爪运动

6.4.4.2 状态读取

用户可以通过 Modbus RTU 0x03(读多寄存器) 命令读取 20-24 地址数据以获取夹爪状态,假设从站地址为1,发送数据如下

01 03 00 14 00 05 C5 CD

6.5 固件升级

6.5.1 升级方法

1. 夹爪上电连接PC,并打开 REF-CLI 上位机,确保设备已正常连接并初始化。

图片9.png

2. 将夹爪控制至 0.5 行程,为校准做好准备。执行命令后,观察夹爪,确认已经张开至50%

图片10.png

注:此步骤非常重要,请严格根据说明执行。

 

3. 上位机中输入升级指令并等待进度结束,其中 path_to_firmware_file 是固件在系统中的绝对路径,此处以3.3.0版本为例。

Python
ota(ref0, r"path_to_firmware_file")

图片11.png

注:升级过程中请注意不要操作或者挪动夹爪,以免导致USB通信异常。

 

4. 升级完成后,终端中会重新出现 恢复链接 REF XXX” 的提示。

注:若升级完成后,夹爪自动闭合,请跳过此步骤,直接前往5

观察LED指示灯,等待绿灯开始闪烁后,输入校准命令。

Python
ref0.motor.request_state(2)

图片12.png

此时 LED 由绿色闪烁变为蓝色常亮,并且夹爪会开始慢速运动,此时不要操作夹爪,等待校准完成。

当校准成功后,夹爪会发出声音,并且 LED 由蓝色常亮再次变回绿色闪烁。

注:在执行校准之前,若夹爪未能张开或已经无法控制,请按以下步骤手动张开夹爪。

a. 拔掉电源以及所有连接线;

b. 手动拆掉后盖,如下图;

c. 手动拆掉控制板上的 4 个十字螺丝,如下图;

d. 将控制板掀起,露出磁铁,注意掀起过程中控制板的3根焊线不能断开,如下图;

e. 手动逆时针旋转磁铁支架,直至 OmniPicker 张开约50%的行程,如下图;

f. 复将控制板装回,锁紧 4 个十字螺丝;

g. 盖上后盖,锁紧螺丝。

h. 重新执行电机校准命令ref0.motor.request_state(2)

QQ截图20251223141552.png

 

5. 夹爪重新上电,自动开机且闭合,升级完成。

图片13.png

6. 若升级失败,可以使用 flash_app命令重新写入文件。

Python
flash_app(r"PATH")  // PATH是升级文件在系统中的绝对路径

图片14.png

注:使用该命令的 REF-CLI 版本不低于1.0.3


6.5.2 固件发布

版本

日期

固件

备注

3.3.0

2024.12.26

[OmniPicker-fw-ota-v330.bin]

1.           新增 串口通信支持(485

2.           新增   CAN协议报文支持

3.3.3

2025.1.10

[OmniPicker-fw-ota-v333.bin]

1.           新增 串口通信支持(TTL

3.3.5

2025.12.23

[OmniPicker-fw-ota-v335.bin]

1.        新增 Modbus RTU协议支持


7. 其他(更新日期:2025.12.23)

本手册基于 OmniPicker 硬件 Ver1.2,软件 Ver3.3.5 编写。

其他产品手册中未注明事项,请查阅智元官网,或联系智元服务人员获取信息。


8. 附录

请使用ROS2 Humble加载夹爪的URDF文件。

[robot_description.zip]