This release is a pre-release and may not be stable for production use.
Kuavo Humanoid SDK
A comprehensive Python SDK for controlling Kuavo humanoid robots. This SDK provides interfaces for robot state management, arm and head control, and end-effector operations. It is designed to work with ROS (Robot Operating System) environments.
Warning: This SDK currently only supports ROS1. ROS2 support is not available.
Warning: This SDK can only be used on the onboard NUC computer located in the robot's torso.
Features
-
Robot State Management
- IMU data (acceleration, angular velocity, euler angles)
- Joint/motor states (position, velocity, torque)
- Torso state (position, orientation, velocity)
- Odometry information
- End-effector states:
- Gripper(lejuclaw): position, velocity, torque, grasp status
- Dexterous hand(qiangnao): position, velocity, torque
- Touch Dexterous hand(qiangnao_touch): position, velocity, torque, touch state
- End-effector position and orientation
- Motion states: stand, walk, step_control, trot
-
Motion Control
- Arm Control
- Joint position control
- End-effector 6D control via inverse kinematics
- Forward kinematics (FK) for computing end-effector pose
- Keyframe sequence control for complex motions
- End-effector Control
- Gripper control (position control with configurable velocity and torque)
- Dexterous hand control
- Position control
- Pre-defined hand gestures (OK, 666, fist, etc.)
- Head Control
- Position control
- Torso Control
- Height control (squatting)
- Forward/backward tilt control
- Dynamic Motion Control
- Stance
- Trot
- Walking (xy and yaw velocity control)
- Stepping (gait switching)
- Arm Control
-
Robot Basic Information
- Robot type (kuavo)
- Robot version
- End-effector type
- Joint names
- Total degrees of freedom (28)
- Arm degrees of freedom (7 per arm)
- Head degrees of freedom (2)
- Leg degrees of freedom (12)
Installation
Note: There are currently two versions of this SDK, the stable version and the beta version. Their differences are:
- stable version: corresponding to the functionality provided by the
masterbranch of kuavo-ros-opensource. - Beta version: This version is more aggressive than the official version and also provides richer functionality, corresponding to the functionality provided by the
betabranch of kuavo-ros-opensource.
Friendly reminder: Please be clear about which version you need to install. If your SDK version does not match kuavo-ros-opensource, some features may not be available.
Install the latest stable version of Kuavo Humanoid SDK using pip:
pip install kuavo-humanoid-sdk-ws
Install the latest beta version of Kuavo Humanoid SDK using pip:
pip install --pre kuavo-humanoid-sdk-ws
For local development installation (editable mode), use:
cd src/kuavo_humanoid_sdk_ws
chmod +x install.sh
./install.sh
Upgrade Instructions
Before upgrading, you can check the currently installed version with:
pip show kuavo-humanoid-sdk-ws
# Output:
Name: kuavo-humanoid-sdk-ws
Version: 0.1.2
...
Note: If the version number contains the letter b, it indicates a beta version, e.g., Version: 0.1.2b113
To upgrade from a stable version to the latest stable version:
pip install --upgrade kuavo-humanoid-sdk-ws
To upgrade from a beta version to the latest stable version:
pip install --upgrade --force-reinstall kuavo-humanoid-sdk-ws
# or
pip uninstall kuavo-humanoid-sdk-ws && pip install kuavo-humanoid-sdk-ws
To upgrade from a stable/beta version to the latest beta version:
pip install --upgrade --pre kuavo-humanoid-sdk-ws
Package Information
You can check the package information using pip:
pip show kuavo-humanoid-sdk-ws
Quick Start
Here's a simple example to get started with Kuavo Humanoid SDK:
Warning: Before running any code, make sure to start the robot first by executing either:
- For simulation:
roslaunch humanoid_controllers load_kuavo_mujoco_sim.launch(Example command)- For real robot:
roslaunch humanoid_controllers load_kuavo_real.launch(Example command)
# Copyright (c) 2025 Leju Robotics. Licensed under the MIT License.
import time
from kuavo_humanoid_sdk import KuavoSDK, KuavoRobot
def main():
if not KuavoSDK().Init(): # Init! !!! IMPORTANT !!!
print("Init KuavoSDK failed, exit!")
exit(1)
robot = KuavoRobot()
""" arm reset """
print("Switching to arm reset mode...")
robot.arm_reset()
""" stance """
print("Switching to stance mode...")
robot.stance()
""" trot """
print("Switching to trot mode...")
robot.trot()
""" walk forward """
print("Starting forward walk...")
duration = 4.0 # seconds
speed = 0.3 # m/s
start_time = time.time()
while (time.time() - start_time < duration):
robot.walk(linear_x=speed, linear_y=0.0, angular_z=0.0)
time.sleep(0.1) # Small sleep to prevent busy loop
if __name__ == "__main__":
main()
Docs
The documentation is available in two formats:
- HTML format: docs/html, needs to be generated by running the script
- Markdown format: docs/markdown
We recommend that you generate the documentation locally by running the documentation script. The documentation will be output to the docs/html and docs/markdown folders:
cd <kuavo-ros-opensource>/src/kuavo_humanoid_sdk_ws
chmod +x gen_docs.sh
./gen_docs.sh
We recommend that you view the documentation using html for a better experience.
For Markdown documentation at:
Examples
WARNING
Before running any code examples, make sure to start the robot first by executing either:
- For simulation:
roslaunch humanoid_controllers load_kuavo_mujoco_sim.launch(Example command) - For real robot:
roslaunch humanoid_controllers load_kuavo_real.launch(Example command)
Robot Info
Examples showing how to get basic robot information.
Basic Robot Control
A basic example showing how to initialize the SDK and control the robot’s movement.
End Effector Control
LejuClaw Gripper
Examples demonstrating how to control the LejuClaw gripper end effector, including position, velocity and torque control.
QiangNao DexHand
Examples showing how to control the QiangNao DexHand, a dexterous robotic hand with multiple degrees of freedom for complex manipulation tasks.
Arm Control
Examples showing arm trajectory control and target pose control.
Forward and Inverse Kinematics
Examples demonstrating how to use forward kinematics (FK) to compute end-effector positions from joint angles, and inverse kinematics (IK) to calculate joint angles needed to achieve desired end-effector poses.
Head Control
Examples showing how to control the robot’s head movements, including nodding (pitch) and shaking (yaw) motions.
Step-by-Step Control
Examples showing how to control the robot’s movements step by step, including individual foot placement and trajectory control.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Contact & Support
For any questions, support, or bug reports, please contact:
- Email: edu@lejurobot.com
- Website: https://gitee.com/leju-robot/kuavo-ros-opensource/
- Source Code: https://gitee.com/leju-robot/kuavo-ros-opensource/
- Issue Tracker: https://gitee.com/leju-robot/kuavo-ros-opensource/issues
Metadata
Release files for kuavo-humanoid-sdk-ws 1.4.4b1751
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| kuavo_humanoid_sdk_ws-1.4.4b1751.tar.gz | 145.3 kB | Without provenance | Details for kuavo_humanoid_sdk_ws-1.4.4b1751.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| kuavo_humanoid_sdk_ws-1.4.4b1751-20260716161629-py3-none-any.whl | Python 3 | none | any | Details for kuavo_humanoid_sdk_ws-1.4.4b1751-20260716161629-py3-none-any.whl |
Total release size: 316.3 kB
Release files / kuavo_humanoid_sdk_ws-1.4.4b1751.tar.gz
| Download URL | kuavo_humanoid_sdk_ws-1.4.4b1751.tar.gz |
|---|---|
| Size | 145.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5fbd77257943b2d302e6ab148edeaaef19f4fb78207b6d6ab4ebf525b1b34c21
|
|
BLAKE2b-256 checksum How to use checksums |
723ed49a30b907318bf648f4a4cef5e38577999d89c8d5f204c9effdc2d3d530
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.8.10
|
Release files / kuavo_humanoid_sdk_ws-1.4.4b1751-20260716161629-py3-none-any.whl
| Download URL | kuavo_humanoid_sdk_ws-1.4.4b1751-20260716161629-py3-none-any.whl |
|---|---|
| Size | 171.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d74430b8fd22ba18053d1f863a86b305a9c806d128ec46eef0e425569c4e1484
|
|
BLAKE2b-256 checksum How to use checksums |
a9e4a3aefea6627df9276f17b5c8ed721ad4a053ab0e76a99709ac97689eecd7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.8.10
|
Security for kuavo-humanoid-sdk-ws 1.4.4b1751
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.