AgiBot X1 Development Guide

Release: 2024-10-24 10:04:55

Introduction

Thank you for your interest in AgiBot X1 open source humanoid robot, according to this guide to complete the construction of the robot.

1.PNG

1. Overview of Agibot X1

1.1 Structure

The body contains 29 joints (R86-2*9, R86-3*6, R52*10, L28*4) and 2 grippers, which support the expansion of the head with 3 degrees of freedom.

1280X1280.JPEG

2. Hardware

1.PNG

3. Open source materials (update: 2024.12.12)

3.1 Design Materials

Please download BOM list, STEP, SolidWorks drawings, and SOP from any of the following channels.


4. X1 deploy process (update: 2025.1.14)

Follow the following process in turn to complete the construction of AgiBot X1.


4.1 Actuator Status Confirmation

Before the assembly of the X1 machine, confirm each actuator to prevent re-calibrating the settings after installation. The status confirmation process of the actuator is as follows. The host computer can explicitly change the parameters inside the R86-3/R86-2/R52/L28 actuator through the CMD.
It is recommended to fully understand the method of parameter configuration when using it for the first time. Note: The R series actuator is the main one, and the L28 actuator will be marked if there are different points.


4.1.1 Runtime environment preparation

prepare a computer with Windows system, and download  REF-CLI v1.0.3.exe .
  1. Power on the actuator, connect the actuator to the computer with a USB-C data cable (Note: L28 is a 4pin USB cable), and open REF-CLI. After the software recognizing successfully, there will be the following display:

    1.PNG

At this time, the device with number 00003986464D has an index name of ref0 in the computer. The issued instructions need to be consistent with the device name.

Type ref0 and hit Enter to display the basic information of the current actuator. According to the figure below, the current firmware version is 3.2.7, and the CAN bus ID is 1.

2.png

  1. Query the internal parameter mode of the actuator, enter the command: ref0.motor.config, the default is mode 6 = MIT hybrid control, as shown in the following figure:

3.png

Note: For detailed operating methods, see the product manual of AgiBot X1 PowerFlow R series actuator.


4.1.2 LED status indication

LED status
Means
Green flashing
Disabled state
Green always on
Enable state
Red always on
Error status (Note: Here at L28 it is blinking blue).
Blue always on
Motor calibration in progress (Default calibration completed).

4.1.3 Enable/Disable

The actuator is in the disabled state after power-on. You can switch the state by the following command and observe the LED state for determination.
Note: When executing the parameter save command, it must be in the disabled state, and all parameters must be saved and repowered. Take effect after power-on.
ref0.motor.request_state(x)    // x: 0 means disable(0代表失能), 1 means Enable(1代表使能).


4.1.4 Set the ID

ref0.can_node_id to represent the node ID of the CAN bus. You can view its value directly or assign it with =. Execute the following command.

ref0.can_node_id=8 // CAN ID is set as 8

1.PNG

All parameter changes saving need the commond save_config() , and this operation needs to be performed in a disabled state.
Ref0.motor.request_state (0)//If currently enabled, disable the actuator first

Ref0.save_config ()//Save all parameters, return True is successful, and it will take effect after power on again.

2.png


4.1.5   Zero calibration

Note: After power on, L28 will automatically go back to zero, no manual zero calibration required.
The user can set the zero position of the actuator by himself and enter the following commands in the disabled state:
Ref0.motor.apply_user_offset ()//Save the current position as zero
Ref0.motor.request_state (0)//If currently enabled, disable the actuator first

Ref0.save_config ()//Save all parameters, return True is successful, and it will take effect after power on again.

1.PNG


4.2 Actuator desktop joint debugging test 

4.2.1 Wiring instructions

Connect according to the wiring scheme of the whole machine, including DCU and all joints.

1.PNG


4.2.2 Test steps

Note: This test is in a desktop joint debugging environment. All joints will be enabled and perform forward and reverse movements. Do not use it in an entire machine environment!!!

The PC requires an X86 architecture CPU and the installation of the Ubuntu22.04 real-time system.

1.PNG

1. Download the joint debugging test software xyber_dcu_test_v0.1.3.zip

2. Enter the cfg directory, open x1_test_cfg.yaml, modify the corresponding network card name, and you can also block the missing joints. If you do not want the actuator to move, you can set the move_actuator field to false. In this way, the test program will only enable the actuator to verify the whole machine communication. The imu_dcu_name field can turn on and off the inspection of IMU data. For details, see the comments.

2.png

3. Execute the test script and enter the password according to the prompts

Bash
./run_x1_test.sh
4. All joints will execute, enable - > forward - > reverse - > stop,The software will automatically determine whether it has moved to the exact position. Observe log printing, if the test fails, the log will be printed in red.


4.3 Assemble of X1

To complete the assembly of X1, please refer to the SOP of  X1  in the 3.1 design data and the AgiBot X1 installation video https://agibotmall.com/video.


4.4 IMU debugging.

The IMU used by X1 is YIS320. For the specific model, please refer to the open-source BOM list.
At present, only the IMU connected by the lower limb DCU is enabled in the software, and only one lower limb IMU can be connected.

DCU and IMU communicate serially, and the baud rate is 921600. For any IMU, you need to check the baud rate with its software and adjust the output frequency to the maximum.

1.PNG

Note: 确定means set.


4.5 The hardware deployment

Please follow the following steps to complete the hardware confirmation of X1.
STEP1: After the SOP wiring is completed, use the multimeter, dial the code to the short-circuit test gear, and test the positive electrode (multimeter red refill) and negative electrode (multimeter black refill) of the battery or power supply. If the multimeter does not make a beep, it means that there is no short circuit at the positive and negative electrodes.
STEP2: After confirming that there is no short circuit at the positive and negative electrodes, turn on the main switch ship type switch and let the switch be in the ON state.
STEP3: Take out the wireless switch key in the material of X1, press the ON button, and the whole machine is powered on.
STEP4: The whole machine is powered on, and there is no abnormality, such as abnormal indicator light (refer to the definition of 4.2 indicator light for details) or abnormal power off (the indicator light of the slow-up board is turned off), etc., you can follow the manual for subsequent debugging steps.


4.6 Zero calibration of  X1

Please refer to the X1 whole machine is marked zero work instruction.


4.7 Software deployment of X1

For the software deployment method, please refer to the explanation of the inference code section in 3.2 Open Source Code.