4.1 Read the user guide to familiarize yourself with relevant terminology and safety precautions.
4.2 Choose a Development Mode
Attention
When developing on the development computing unit, from v1.2.0 on secondary development programs must be built and run inside a container. Non-container development mode (using the SDK directly on the development computing unit host) will have restricted permissions, and system package installation (apt, pip, etc.) will only be supported in container-based development mode. Both modes are available in v1.1.0 — migrate secondary development programs into a container during v1.1.0.
The Host PC / Computing Pack + Cross-Device Networking mode runs on your own device and is not affected by this restriction.
4.2.1 Use SDK Directly on the Development Computing Unit (Quick Start; X2 Ultra and X2 Ultra(new version) Only)
The development computing unit comes with all dependencies preinstalled — no additional setup is required. Proceed to Network Connection.
Attention
From v1.2.0 on, this mode no longer supports running secondary development programs. For real development work, choose the container-based development mode below.
4.2.2 Container-Based Development on the Development Computing Unit (Recommended; X2 Ultra and X2 Ultra(new version) Only)
Containers isolate the development environment and avoid polluting the robot’s main system.
→ Go to Develop in a Container and follow the instructions to set up and enter the development container.
4.2.3 Host PC / Computing Pack + Cross-Device Networking
The SDK version must match the robot firmware version. Copy it from the development computing unit (X2 Ultra and X2 Ultra(new version) only) or download from the floating toolbar at x2-aimdk.agibot.com.
System requirements:
Operating System: Ubuntu 22.04 LTS
ROS 2 Version: Humble
Python Version: Python 3.8 or later
C++ Standard: C++17
SDK example dependencies:
OpenCV: Image processing
Ruckig: Trajectory generation
ncurses: Terminal control
libcurl: Network communication
cv_bridge: ROS–OpenCV image conversion
Host PC / computing pack installation reference
For Ubuntu 22.04 LTS installation, refer to the official Ubuntu installation guide and download from the official release page.
For ROS 2 installation, refer to the official ROS 2 documentation.
Python 3 and C++ requirements are already satisfied by default on Ubuntu 22.04 with ROS Humble.
4.3 Network connection
4.3.1 X2 Ultra / X2 Ultra(new version)
Both the AgiBot X2 Ultra and the X2 Ultra(new version) are equipped with a development computing unit and share the same network access methods, supporting multiple ways to connect to the onboard system:
(1) Direct wired connection via the rear Ethernet port — Connect a network cable between the robot’s SDK development Ethernet port and the host PC / computing pack.
Configure the host PC / computing pack network interface to a static IP (10.0.1.2, subnet mask 255.255.255.0).
The development computing unit will then be accessible at 10.0.1.41, enabling cross-device ROS networking and SSH login (credentials require technical support).
(2) Wi-Fi connection through the robot’s built-in hotspot
Enable the AP Hotspot in the robot APP, and check the Wi-Fi SSID and password.
After connecting to the hotspot, you can access the development computing unit via the jump host at 192.168.88.88 (SSH credentials require technical support).
4.3.2 X2 EDU
The X2 EDU has no built-in development computing unit. Developers must run the SDK on an external host PC or computing pack and communicate with the motion control computing unit over the network.
(1) Direct wired connection via the rear Ethernet port — Connect a network cable between the robot’s rear Ethernet port and the host PC / computing pack.
Configure the host PC / computing pack network interface to a static IP (10.0.1.2, subnet mask 255.255.255.0).
The motion control computing unit is accessible at 10.0.1.40, enabling cross-device ROS networking and SSH login (credentials require technical support).
(2) Wi-Fi connection through the robot’s built-in hotspot
Enable the AP Hotspot in the robot APP, and check the Wi-Fi SSID and password.
After connecting to the hotspot, you can directly access the motion control computing unit at 192.168.88.88 (SSH credentials require technical support).
Attention
Taking Motion Control Computing Unit (PC1, 10.0.1.40/192.168.88.88) as build & run environment for secondary development is strictly prohibited to avoid safety risks
Attention
For host PC / computing pack SDK + cross-device networking, use a wired direct connection. Wi-Fi should only be used for debugging.
Important
It is not recommended to place the robot and the development host PC / computing pack on a public or complex network with other devices. Developers must properly manage network security risks to prevent communication interference or data leakage.
After completing the steps above, continue according to your chosen development mode:
Container-based development: go to Develop in a Container, then follow Running a Code Example after building.
Non-container development (bare-metal / host PC networking): go directly to Running a Code Example. Complete the SDK build before your first run.
Caution
Notes about non-volatile user data:
The disks in the robot would be reformatted during firmware upgrade/downgrade, please back up your data
User data under
$HOME(/home/agi, compatible path /agibot/data/home/agi) would survive in generalException 1: DO NOT save data into
$HOME/aimdk*, which are preserved and maintained by the systemException 2: All data under
$HOMEwould be moved to$HOME/.old_agi_home.bak(specific to v1.0 firmware flashing)BE CAREFUL of features like factory reset, which would forcibly erase all user data (including
$HOME)