AgiBot X1 OmniPicker Product Manual

Release: 2025-02-12 14:15:22

1. Safety Instructions

1. Understand the product: Before using the product, please read the product manual carefully to understand the product's functions, operation methods, and safety precautions.

2. Follow the usage requirements: ensure that the machine is used in a suitable environment, avoiding excessively high or low temperatures, humid environments, etc.

3. Power supply safety: Make sure all cables, plugs, and sockets are intact before operation. Disconnect the power supply immediately when encountering abnormal conditions (such as short circuit, overheating, etc.).

4. Regular inspection: Regular maintenance and inspection are performed to ensure that the machine components such as motors and power supplies operate normally to avoid failures caused by aging or damage.

5. Prevent misuse: Ensure that the machine is not used in any inappropriate, dangerous or legally prohibited scenarios.


2. Introduction

2.1 Product Overview (update:Dec. 27, 2024)

AgiBot X1 OmniPicker is an adaptive universal gripper. It combines the advantages of different modal gripper designs and can grasp objects of various shapes with only one active degree of freedom. It is also very light, weighing only about 400g.

OmniPicker has a variety of uses and is very suitable for grasping robots and various robotic arms. In addition to humanoid robots, industrial arms and collaborative arms can also be used. We provide a variety of software communication protocol development interfaces. In addition, the gripper also has active force control, which has a good effect whether it is used for data collection or task operation.

1.PNG


2.2 Main Features

  • Ultra-low BOM cost

  • Adaptive mode & clamping force

  • Supports self-locking clamping force

  • Feedforward force control

  • Driver built-in


2.3 Product parameters

Typical values of key product parameters of AgiBot X1 OmniPicker are as follows
Parameter
Typical value
Product weight
0.4kg
Maximum clamping force
30N
Maximum stroke
120mm
Opening/closing time
0.7s
Communication protocol
CAN, CANFD and RS485 serial port
Rated operating voltage
24V


3. Instructions of product installation 

3.1 Packing list

  1. OmniPicker *1

  2. CANFD wiring *1 


3.2 Instructions of  X1 component operation

The following materials are prepared with AgiBot  X1 Universal Humanoid Package, please prepare the following tools by yourself
S/N
Material name
Quantity
1
OmniPicker
1
2
Ultra-short hexagon socket screw M3x6
3
3
Rear cover
1
4
Hand switchover support
1
5
Hexagon socket head cap screw M4x8
4
6
Bracelet switchover support
1
S/N
Tool name
Model/specification
1
Hexagon key wrench
H2
2
Hexagon key wrench
H2.5
3
Hexagon key wrench
H3
Complete the assembly of  X1 OmniPicker in accordance with the following steps

STEP1: As shown in Figure 1, remove the four countersunk head hexagon socket head cap screw M2.5x8 at the bottom circumference of OmniPicker with a H2 hexagon key wrench to get the back cover;

1.PNG

STEP2: As shown in Figure 2, screw three ultra-short hexagon socket head cap screws M3x6 into the back cover with a H2.5 hexagon key wrench and fix on the hand switchover support;

2.png

STEP3: As shown in Figure 3, use a H2 hexagon key wrench to replace the four countersunk head hexagon socket head cap screws M2.5x8 removed in Step 1 on the gripper;

3.png

STEP4: As shown in Figure 4, use a H3 hexagon key wrench to fix the gripper with four cylindrical hexagon socket head cap screws M4x8 on the bracelet switchover support;

4.png

STEP5: The left and right grippers are installed in the same way, and all the wide fingers of the gripper are close to the outside of the body after installation;
STEP6: If the obtained gripper has great resistance when the screws are removed in STEP1, there may be thread glue when the screws are fixed. The thread glue must be removed after being heated by a hot air gun;
STEP7: Insert gripper cable.

NOTE: Pay attention to the installation direction when the back cover and the hand switchover support are installed 



3.3 Use of other mechanical arms (update: Dec. 16, 2024)

If users connects OmniPicker to other mechanical arms, it is allowed to refer to the following installation interface drawings to design the adapter and complete the assembly in accordance with 3.2 instructions of  X1 component operation.

1.PNG2.png


4. Product dimension information 

4.1 External dimensional drawing

The following shows the external dimensions of OmniPicker in the opening and closing states.

1739360612912670.png

1739360630819577.png

1739360648771172.png

1739360666370722.png

5. Interconnection of electrical interface 

5.1 Definition of 6 PIN interface

The external electrical interface of AgiBot  X1 OmniPicker uses 6PIN socket with lock at a distance of 1.25mm.
  1. If the gripper version number is 20, that is, the red box in the control panel is a resistance welding plate, and its interface pins are defined as shown in the following table:

S/N
Definition of PIN
Quantity
1
VIN
Pins 1 and 2 are used as power input, and the voltage does not exceed 24V DC.
2
VIN
3
H
UART2_TX or RS485_B or FDCAN2_H.
4
L
UART2_RX or RS485_A or FDCAN2_L.
5
GND
Pins 5 and 6 are used as GND for power supply.
6
GND
  1. If the gripper version number is 30, that is, the red box in the control panel is a dip switch, and its interface pins are defined as shown in the following table:

S/N
Definition of PIN
Quantity
1
VIN
Pins 1 and 2 are used as power input, and the voltage does not exceed 24V DC.
2
VIN
3
L
UART2_RX or RS485_B or FDCAN2_L.
4
H
UART2_TX or RS485_A or FDCAN2_H.
5
GND
Pins 5 and 6 are used as GND for power supply.
6
GND
Two kinds of grippers can be distinguished by the gripper package or the 14-digit SN code at the bottom of the fuselage, as follows:
The 6th and 7th digits of SN are gripper version numbers, including 20 and 30.
X1 0 06 20 XXXXXXX               X1 0 06 30 XXXXXXX
The difference between the two grippers is PCBA. Refer to 5.2 selection of communication mode for details 


5.2 Selection of communication mode for details (update: Dec. 27, 2024)

When the back cover of the machine is opened, two kinds of gripper PCBA states can be distinguished in accordance with the contents marked by the red box in the figure below, and then different operation modes can be adopted.

1. If the gripper version number is 20, that is, the red box in the control panel is a resistance welding plate, corresponding communication mode is selected by means of jumper resistance. The jumper resistance is welded on CAN/CANFD by default. If it is necessary to switch to other communication modes, it is required to correspond to PCBA screen printing, remove the jumper resistor of the original CAN/CANFD and weld it to the corresponding communication interface resistance welding plate. RS485 is welded to two resistors above the red frame, while UART is welded to two resistors below the red frame.

1.PNG

2. If the gripper version number is 30, that is, the red box in the control panel is dip switch, operate as below.

3. a. The default is CAN/CANFD, pins 3 and 4 are in the ON state, and the other pins are in the OFF state.

4. b. If it is necessary to switch to RS485, pull pins 1 and 2 to ON, and recover other pins to OFF.

5. c. If it is necessary to switch to UART, pull pins 5 6nd 6 to ON, and recover other pins to OFF. 


6. Communication interface and protocol 

OmniPicker is equipped with multiple communication interfaces at the same time to adapt to different working environments.
General configuration steps are as follows:
a. First, select the corresponding communication interface in accordance with the instructions in 5. interconnection of electrical interface. The default is CAN/CANFD
b. Configure gripper parameters through USB connection to the upper computer
c. Connect the gripper into the corresponding hardware systems 


6.1 LED state indicators

LED
Meaning
White indicator flashes
Disabled state
Green indicator is always on
Enabled state (default power-on self-enable)
Red indicator is always on
Error state
Blue indicator is always on
Motor calibration in progress (calibration completed before delivery in default)


6.2 Upper computer control

The upper computer can explicitly change the parameters through the command line, and it is recommended to fully understand the configuration parameters for use for the first time. 


6.2.1 Usage

Prepare a Windows computer and download the upper computer software  REF-CLI v1.0.3.exe .
After it is ensured that there are no obstacles in the stroke of the gripper, power on the gripper. If everything is normal, the gripper will automatically close to find the zero position. In case of failure to close, it is required to stop checking whether the gripper moves smoothly.

Connect the gripper to the computer with a USB-C data cable, and open the upper computer software. After the upper computer identifies successfully, there will be the following display:

1.PNG

At this time, the index name of the equipment numbered 000032843334 in the upper computer is ref0.

Type ref0 directly in the upper computer and press enter, then, the basic information of the current gripper will be displayed. In accordance with the following figure, the firmware version of the current gripper is 1.3.4, and the CAN bus ID is 8.

2.png


6.2.2 Change of CAN-ID

Ref0.can_node_id represents the node ID of CAN bus. It is allowed to view its value directly, or use = to assign values. Execute the following command.
Ref0.can_node_id=8    // CAN ID sets to 8

1.PNG

All parameter changes need to be saved by calling save_config() method, and this operation needs to be carried out in the disabled state.


ref0.motor.request_state(0)    // Disable the gripper first, where 0 means disabled and 1 means enabled
ref0.save_config()             // Save all the parameters
2.png

Note: All parameter changes will take effect after saving and re-powering on. 


6.2.3 Gripper movement control

  1. Power on the gripper again. (Default self-enabled upon power-on)

  2. Wait for the gripper to close automatically

  3. Connect the upper computer and call the set_pos(x) method to set its position, where x is the opening and closing percentage, with the range of 0.0-1.0, 0 means closed and 1 means fully open.

ref0.motor.ctrl.set_pos(0.5) // move the gripper to 50% of the stroke.


6.3 CAN/CANFD communication protocol (update: Dec. 27, 2024)

When the gripper communicates with CANFD, the baud rate is 1M in arbitration domain (80% sampling point) + 5M in data domain (75% sampling point), and it is compatible with CAN protocol with a baud rate of 1M (80% sampling point).
Note: The firmware version of CAN protocol is not less than 3.3.0. 


6.3.1 Downlink control

The control frame is defined as follows.
CAN ID
DLC
D0
D1
D2
D3
D4
D5
D6
D7
can_node_id
8
Reserved
Pos Cmd
Force Cmd
Vel Cmd
Acc Cmd
Dec Cmd
Reserved
Reserved
• ID : Downlink control ID of gripper, corresponding to ref0.can_node_id
• Reserved : Keep data, write 0
• Pos Cmd : Target position, the numerical range is 0-FF, where 0 means clamping and FF means fully opening
• Force Cmd : Target torque, the numerical range is 0-FF, and FF is the maximum torque
• Vel Cmd : Target speed, the numerical range is 0-FF, and FF is the maximum speed
• Acc Cmd : Target acceleration, the numerical range is 0-FF, and FF is the maximum acceleration
•  Dec Cmd : Target deceleration, the numerical range is 0-FF, and FF is the maximum deceleration
If the gripper is controlled to run to 50% of the stroke, all other parameters can be given the maximum value:
Send message  00 7F FF FF FF FF 00 00 


6.3.2 Uplink state

After power-on and successful enabling, every time the gripper receives a control command, the state data of the a frame will be reported immediately. The state frame is defined as follows.
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 : Downlink message ID of gripper, corresponding to ref0.can_node_id
•  Fault Code : Error code, with the following meanings
Code
Meaning
00
No fault
01
Over-temperature alarm
02
Over-speed alarm
03
Initialize fault alarm
04
Out-of-limit detection alarm
•  State : Current state, with the following meanings
Code
Meaning
00
Target position has been reached
01
The gripper is moving
02
The gripper is in locked-rotor
03
Object falls
  • Pos : Current position, the same as Pos Cmd

  • Vel : Current speed, the same as Vel Cmd

  • Force : Current torque, the same as Force Cmd

  • Reserved: Reserved bit. The data of D5-D7 three bytes will directly copy the sent data packet, and can be used for checking or ignored. 


6.4 Serial port/485 communication protocol

When the gripper communicates with serial port TTL or 485, the baud rate needs to be changed to 115200@8N1 (8bit data bit, 0 check bit, 1 stop bit).
Note: The serial bus also supports serial link, and the node ID is multiplexed with can_node_id. The firmware version is not less than 3.3.0. 


6.4.1 Downlink control

The control frame is defined as follows, with 12 bytes per frame.
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: Frame header, 0x4141, 2 bytes in total

  • ID: Multiplex can_node_id

  • D3 - D10: Same as the definition of CAN bus downlink protocol D0-D7

  • CheckSum: Data and verification of D2-D10, please refer to Python code below for the calculation method

def checksum(buf) -> int:
ret = 0
for i in buf:
ret += i
return (~ret) & 0xff
If the gripper is controlled to run to 50% of the stroke, assuming that the ID is 1, all other parameters are given the maximum value:
Send data 41 41 01 00 7F FF FF FF FF 00 00 83 


6.4.2 Uplink state

After power-on and successful enabling, every time the gripper receives a control command, the state data of the a frame will be reported immediately. The state frame is defined as follows, with 12 bytes per frame.
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: Frame header, 0x4141, 2 bytes in total

  • ID: Multiplex can_node_id

  • D3 - D10: Same as the definition of CAN bus uplink protocol D0-D7

  • CheckSum: The calculation method is the same as the downlink protocol, and the verification range is D2-D10 


6.5 Firmware upgrade 

6.5.1 Upgrade method

1. Power on the gripper and connect it to PC, and turn on the REF-CLI upper computer to ensure that the equipment is connected normally and initialized. 

1.PNG

2. Control the gripper to 50% of the stroke to prepare for calibration. After the command is executed, observe the gripper and confirm that it has been opened to 50%. 

2.png

Note: This step is very important. Please follow the instructions strictly


3. Enter the upgrade instruction in the upper computer and wait for the progress to end, where path_to_firmware_file is the absolute path of the firmware in the system. Here, version 3.3.0 is taken as an example. 

ota(ref0, r"path_to_firmware_file")

3.png

Note: Please be careful not to operate or move the gripper during upgrade, so as not to cause abnormal USB communication. 


4. After the upgrade is completed, the prompt "Restore Link REF XXX" will reappear in the terminal. Observe the LED indicator, wait for the white indicator to start flashing, and then, enter the calibration command. 

ref0.motor.request_state(2)

4.png

At this point, the LED changes from white flashing to blue steady - on, and the gripper will start to move slowly. Do not operate the gripper during this time and wait for the calibration to complete. When the calibration is successful, the gripper will make a sound, and the LED changes back from blue steady - on to white flashing.


Note: Before performing the calibration, if the gripper fails to open or can no longer be controlled, manually open the gripper according to the following steps.
a. Unplug the power supply and all connection cables.
b. Manually remove the rear cover as shown in the figure below.
c. Manually remove the 4 cross-head screws on the control board as shown in the figure below.
d. Lift the control board to expose the magnet. Note that the 3 welded wires of the control board should not be disconnected during the lifting process, as shown in the figure below.
e. Manually rotate the magnet bracket counter-clockwise until the OmniPicker opens about 50% of its stroke, as shown in the figure below.
f. Re-install the control board and tighten the 4 cross-head screws.

g. Put on the rear cover and tighten the screws.

1739358777316496.png

2.png

3.png

4.png

5. The gripper is powered on again, automatically turns on and closes, and the upgrade is complete.

5.png


6.5.2 Firmware release

Version
Date
Firmware
Remarks
3.3.0
 2024.12.26
1. Serial communication support is added (TTL/485)
2. CAN protocol message support is added
3.3.3
2025.1.10
1.   Serial port communication support(TTL)


7. Others (update: Dec. 16, 2024)

This manual is based on OmniPicker hardware Ver1.2 and software Ver3.2.8.
For other matters not specified herein, please refer to AgiBot official website or contact AgiBot service personnel for information. 


8. Appendix

Please use ROS2 Humble to load the URDF file of the gripper.