{"id":23305662,"url":"https://github.com/AgibotTech/agibot_x1_infer","last_synced_at":"2025-08-22T10:30:50.902Z","repository":{"id":259349351,"uuid":"877058977","full_name":"AgibotTech/agibot_x1_infer","owner":"AgibotTech","description":"The inference module for AgiBot X1.","archived":false,"fork":false,"pushed_at":"2024-10-25T10:01:17.000Z","size":44475,"stargazers_count":731,"open_issues_count":4,"forks_count":224,"subscribers_count":7,"default_branch":"main","last_synced_at":"2024-10-26T21:03:33.273Z","etag":null,"topics":["inference","open-source","robotics"],"latest_commit_sha":null,"homepage":"https://www.zhiyuan-robot.com/products/X1","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AgibotTech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-23T02:36:22.000Z","updated_at":"2024-10-26T20:58:18.000Z","dependencies_parsed_at":"2024-10-28T04:09:09.818Z","dependency_job_id":null,"html_url":"https://github.com/AgibotTech/agibot_x1_infer","commit_stats":null,"previous_names":["agibottech/agibot_x1_infer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgibotTech%2Fagibot_x1_infer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgibotTech%2Fagibot_x1_infer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgibotTech%2Fagibot_x1_infer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AgibotTech%2Fagibot_x1_infer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AgibotTech","download_url":"https://codeload.github.com/AgibotTech/agibot_x1_infer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230582885,"owners_count":18248672,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["inference","open-source","robotics"],"created_at":"2024-12-20T12:13:24.146Z","updated_at":"2024-12-20T12:13:29.516Z","avatar_url":"https://github.com/AgibotTech.png","language":"C++","funding_links":[],"categories":["Humanoid","1. 机器人项目 | Robots"],"sub_categories":["Robot","1.2 人形与足式机器人"],"readme":"# Readme\n\nEnglish | [中文](README.zh_CN.md)\n\n## Introduction\n\n[AgiBot X1](https://www.zhiyuan-robot.com/qzproduct/169.html) 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.\n\nThis project is about the accompanying software for AgiBot X1, including multiple functional modules such as model inference, platform driver, and software simulation.\n\nFor detailed tutorials on `AimRT` framework, please visit the [AimRT official website](https://aimrt.org/).\n\n![x1](doc/x1.jpg)\n\n## Software Architecture Diagram\n\n![sw_arch](doc/sw_arch.png)\n\nFor detailed annotations of modules, please refer to the [Development Guide](doc/tutorials.md).\n\n## Directory Structure\n\n```bash\n.\n├── build.sh              # Build scripts\n├── cmake                 # CMake scripts for build dependencies\n│   ├── GetAimRT.cmake\n│   ├── GetGTest.cmake\n│   └── NamespaceTool.cmake\n├── CMakeLists.txt        # Top-level CMakeLists.txt\n├── format.sh             # Formatting scripts\n├── README.md             # README document\n├── doc                   # Development guide directory\n├── src                   # Source code directory\n│   ├── CMakeLists.txt    # CMakeLists.txt for the source code directory\n│   ├── assistant         # ROS2 simulation and example project directory\n│   ├── install           # Configuration script directory\n│   ├── module            # Module directory\n│   ├── pkg               # Deployment directory\n│   └── protocols         # Protocol directory\n└── test.sh               # Testing scripts\n```\n\n## Running Instructions\n\n### Preparation for Launch\n\n- Install [cmake](https://cmake.org/download/) (version 3.26 or above).\n\n- Install [ONNX Runtime](https://github.com/microsoft/onnxruntime).\n\n```bash\nsudo apt update\nsudo apt install -y build-essential cmake git libprotobuf-dev protobuf-compiler\n\ngit clone --recursive https://github.com/microsoft/onnxruntime\n\ncd onnxruntime\n./build.sh --config Release --build_shared_lib --parallel\n\ncd build/Linux/Release/\nsudo make install\n```\n\n- Install `ROS2 Humble` and configure the environment variables. For detailed instructions, visit the [ROS2 official website](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html).\n\n- Install dependencies for the simulation environment.\n\n```bash\nsudo apt install jstest-gtk \\\n                 ros-humble-xacro \\\n                 ros-humble-gazebo-ros-pkgs \\\n                 ros-humble-gazebo-ros2-control \\\n                 ros-humble-joint-state-publisher \\\n                 ros-humble-joint-state-broadcaster \\\n                 \n```\n\n- Install the Linux [realtime kernel patch](https://wiki.linuxfoundation.org/realtime/start) if real-robot debugging is needed.\n\n*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.bashrc`. Simply source `url.bashrc` before running `build.sh` and add environment variable parameters for the Gitee source.*\n\nAfter completing the above steps, execute the following commands in the terminal:\n\n```bash\nsource /opt/ros/humble/setup.bash\nsource url.bashrc\n\n# Build\n./build.sh $DOWNLOAD_FLAGS\n\n# Test\n./test.sh $DOWNLOAD_FLAGS\n```\n\n### Launch Simulation\n\nPrepare two terminals:\n\n```bash\ncd build/\n\n# Terminal 1: Launch the inference module and joystick control module in simulation mode.\n./run_sim.sh\n\n# Terminal 2: Launch the Gazebo simulation program.\n./run_gazebo.sh\n```\n\n### Launch on Real Robot\n\nExport your library path first, **just need to execute once**.\n\n```bash\n# Open \"/etc/ld.so.conf\" as root\nsudo vi /etc/ld.so.conf\n\n# Add this path to the end of \"/etc/ld.so.conf\"\n/opt/ros/humble/lib\n{YourProjectSource}/build/install/lib\n\n# Refresh system env\nsudo ldconfig\n```\n\nReady to launch.\n\n```bash\ncd build/\n./run.sh\n```\n\n### Joystick Control\n\nFor specific control instructions, please refer to the [Joystick Control Module](doc/joy_stick_module/joy_stick_module.md).\n\n## License Agreement\n\nThe code provided in this project runs on the [AimRT](https://aimrt.org/) framework. This is research code subject to frequent changes, and cannot apply to all specific purposes. The source code is released under the [MULAN](https://spdx.org/licenses/MulanPSL-2.0.html) license agreement.\n\n## Usage Instructions\n\nIf you have any questions or issues with this repository, please use the `Issues`.\n\nPlease 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.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAgibotTech%2Fagibot_x1_infer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FAgibotTech%2Fagibot_x1_infer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FAgibotTech%2Fagibot_x1_infer/lists"}