agibot_x1_infer repository

open-source robotics inference

agibot_x1_infer repository

open-source robotics inference

agibot_x1_infer repository

open-source robotics inference

agibot_x1_infer repository

open-source robotics inference ros2_utils my_ros2_proto

Repository Summary

Description The inference module for AgiBot X1.
Checkout URI https://github.com/agibottech/agibot_x1_infer.git
VCS Type git
VCS Version main
Last Updated 2025-04-03
Dev Status UNKNOWN
CI status No Continuous Integration
Released UNRELEASED
Tags open-source robotics inference
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
ros2_utils 0.0.0
my_ros2_proto 0.1.0

README

Readme

English 中文

Introduction

AgiBot X1 is a modular humanoid robot with high dof developed and open-sourced by AgiBot. It is built upon AgiBot’s open-source framework AimRT as middleware and using reinforcement learning for locomotion control.

This project is about the accompanying software for AgiBot X1, including multiple functional modules such as model inference, platform driver, and software simulation.

For detailed tutorials on AimRT framework, please visit the AimRT official website.

x1

Software Architecture Diagram

sw_arch

For detailed annotations of modules, please refer to the Development Guide.

Directory Structure

.
├── build.sh              # Build scripts
├── cmake                 # CMake scripts for build dependencies
│   ├── GetAimRT.cmake
│   ├── GetGTest.cmake
│   └── NamespaceTool.cmake
├── CMakeLists.txt        # Top-level CMakeLists.txt
├── format.sh             # Formatting scripts
├── README.md             # README document
├── doc                   # Development guide directory
├── src                   # Source code directory
│   ├── CMakeLists.txt    # CMakeLists.txt for the source code directory
│   ├── assistant         # ROS2 simulation and example project directory
│   ├── install           # Configuration script directory
│   ├── module            # Module directory
│   ├── pkg               # Deployment directory
│   └── protocols         # Protocol directory
└── test.sh               # Testing scripts

Running Instructions

Preparation for Launch

sudo apt update
sudo apt install -y build-essential cmake git libprotobuf-dev protobuf-compiler

git clone --recursive https://github.com/microsoft/onnxruntime

cd onnxruntime
./build.sh --config Release --build_shared_lib --parallel

cd build/Linux/Release/
sudo make install

  • Install ROS2 Humble and configure the environment variables. For detailed instructions, visit the ROS2 official website.

  • Install dependencies for the simulation environment.

sudo apt install jstest-gtk libglfw3-dev libdart-external-lodepng-dev

It will be very slow or even fail to download AimRT’s numerous dependencies from default sources. Therefore, we provide environment variables DOWNLOAD_FLAGS for the download based on the Gitee source in url_gitee.bashrc. Simply source url_gitee.bashrc before running build.sh and add environment variable parameters for the Gitee source.

After completing the above steps, execute the following commands in the terminal:

source /opt/ros/humble/setup.bash
source url_gitee.bashrc

# Build
./build.sh $DOWNLOAD_FLAGS

# Test
./test.sh $DOWNLOAD_FLAGS

Launch Simulation

Before starting, it is necessary to connect the handle receiver.

cd build/
./run_sim.sh

Launch on Real Robot

Export your library path first, just need to execute once.

# Open "/etc/ld.so.conf" as root
sudo vi /etc/ld.so.conf

# Add this path to the end of "/etc/ld.so.conf"
/opt/ros/humble/lib
{YourProjectSource}/build/install/lib

# Refresh system env
sudo ldconfig

Ready to launch.

cd build/
./run.sh

Joystick Control

For specific control instructions, please refer to the Joystick Control Module.

License Agreement

The code provided in this project runs on the AimRT framework. This is research code subject to frequent changes, and cannot apply to all specific purposes. The source code is released under the MULAN license agreement.

Usage Instructions

If you have any questions or issues with this repository, please use the Issues.

Please do not contact us via email as we may not be able to respond. If you would like to contribute code, simply fork the repository (or if you are a collaborator, create a branch), make your changes, and submit a pull request to us.

CONTRIBUTING

No CONTRIBUTING.md found.

agibot_x1_infer repository

open-source robotics inference

agibot_x1_infer repository

open-source robotics inference

agibot_x1_infer repository

open-source robotics inference

agibot_x1_infer repository

open-source robotics inference

agibot_x1_infer repository

open-source robotics inference

agibot_x1_infer repository

open-source robotics inference

agibot_x1_infer repository

open-source robotics inference

agibot_x1_infer repository

open-source robotics inference

agibot_x1_infer repository

open-source robotics inference

agibot_x1_infer repository

open-source robotics inference

agibot_x1_infer repository

open-source robotics inference

agibot_x1_infer repository

open-source robotics inference

agibot_x1_infer repository

open-source robotics inference

agibot_x1_infer repository

open-source robotics inference

agibot_x1_infer repository

open-source robotics inference