Skip to content
WE BUILDHUMANOIDS

GUIDE · 4 MIN READ

Humanoid robot SDKs

What humanoid robot SDKs provide, how ROS 2 workspaces, native frameworks and model toolkits differ, and what to check before building on one.

CHECKED AUTOMATICALLY AGAINST ITS SOURCES · · DRAFTED WITH AI ASSISTANCE FROM THE CITED SOURCES

For: People who build, program or evaluate humanoid robots.

What a humanoid SDK is for

Booster Robotics says its SDK aims to provide a simple and easy-to-use interface for developers to control its products. [1] The Booster release package provides the C++ SDK, while the Python SDK is delivered separately through pip. [1]

Galbot's SDK supports C++ and Python and ships an API reference, tutorials and example code. [2] Pollen Robotics offers a Python SDK for Reachy 2, with reference documentation generated by pdoc from the docstrings in the source. [3]

ROS 2 workspaces

EngineAI describes its repository as a ROS2 workspace containing the ROS2 interface and example code for its robots. [4] The workspace layout separates interface examples, interface protocol definitions, third-party libraries and a simulation environment that runs on the host. [4]

The EngineAI workspace also sets out environment variables for the host. They set a robot-specific ROS domain ID, allow ROS 2 nodes to communicate over the local network, and select Cyclone DDS as the middleware. [4]

ROBOTIS publishes a repository of official ROS 2 packages for its AI Sapiens K1 platform. The ROBOTIS packages provide the robot description, bringup configuration, controller interfaces and simulation-to-real tools. [5]

The EngineAI workspace links to a separate description of its ROS2 interface protocol. [4] Check whether the interface protocol of any SDK you consider is published and documented before you build on it.

Native control frameworks

Some SDKs are runtime frameworks rather than interface libraries. The EngineAI Native SDK is meant for humanoid application development and system integration. [6] Its listed modules include a scheduling framework for real-time control and inference tasks, configuration-driven task orchestration, model and parameter management, and a plugin mechanism that separates perception, planning and control. [6]

The EngineAI Native SDK structures behaviour as a finite state machine, in which each motion state defines its entry conditions and permitted transitions. [6] For its PM01 education configuration the listed states include idle, passive, pd_stand, walk, dance and rl_lab, and the idle state is the safe state after power-on in which no active motion control runs. [6] The configuration for the T800 lists idle, passive, pd_stand, walk and dance, plus a stand-up task that takes the robot from lying on its back to standing and a lie-down task for the reverse. [6]

The EngineAI Native SDK documentation also describes a soft emergency stop: any state can be forced to passive with the LB and RB buttons. [6]

Simulation and sim-to-real

The mujoco_ros2_control repository provides a ros2_control system interface and supporting packages to run ROS 2 controllers against the MuJoCo physics simulator. [7] It wraps MuJoCo as a hardware/system interface, so the ros2_control stack (controller manager, controllers and controller interfaces) can be used against simulated robots based on MJCF or generated from URDF. [7]

The EngineAI Native SDK includes a MuJoCo simulation module and real-robot deployment scripts, intended to carry work from simulation to the physical robot. [6] The EngineAI ROS workspace includes a simulation environment too, and it warns that when simulating you should either not connect to the physical robot or restrict ROS to the local host, to prevent accidental connections. [4]

Toolkits built around AI models

Google DeepMind's Safari SDK is the SDK for its Gemini Robotics models. It covers tooling for the Gemini Robotics models, including accessing checkpoints, serving a model, evaluating it on a robot and in simulation, uploading data and fine-tuning. [8] Its repository states that it is not an officially supported Google product, and that most of the functionality requires joining the Gemini Robotics Trusted Tester Program. [8]

The SDK includes a command-line tool with commands for training, serving, listing jobs, showing data statistics, downloading artefacts and uploading data. [8] It also contains an agent framework with agents, embodiments, tools and an asynchronous event bus. [8] Embodiments are the hardware-specific part that connects an agent to a physical robot. [8]

The repository notes that the code is still in active development. [8]

Evaluating an SDK

Start with version matching. Galbot tells users to confirm the robot version before installing, and lists the SDK release alongside the robot software environment it is compatible with. [2]

Next, look at the practical prerequisites. The Booster README names a prebuilt environment with a specific operating system, CPU architectures and compiler. [1] The EngineAI Native SDK documents cross-compilation: because some of its robots use an onboard computer with a different processor architecture, you can build binaries for the real robot on a separate host machine. [6]

Finally, read the licence and the safety guidance. The Booster SDK is licensed under the Apache License, Version 2.0, and lists fastDDS as a third-party library. [1] The EngineAI Native SDK advises suspending the robot on a gantry first and lowering it only after it is in pd_stand mode. [6] Treat first runs on hardware as a procedure, with an emergency stop within reach.