Skip to main content

A Python SDK for kuavo humanoid robot.

Project description

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.

Kuavo 4Pro Robot

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)
  • 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 master branch 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 beta branch 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:

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:

https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/docs/markdown/index.md

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.

https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/robot_info_example.py

Basic Robot Control

A basic example showing how to initialize the SDK and control the robot’s movement.

https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/motion_example.py

End Effector Control

LejuClaw Gripper

Examples demonstrating how to control the LejuClaw gripper end effector, including position, velocity and torque control.

https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/lejuclaw_example.py

QiangNao DexHand

Examples showing how to control the QiangNao DexHand, a dexterous robotic hand with multiple degrees of freedom for complex manipulation tasks.

https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/dexhand_example.py

Arm Control

Examples showing arm trajectory control and target pose control.

https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/ctrl_arm_example.py

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.

https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/arm_ik_example.py

Head Control

Examples showing how to control the robot’s head movements, including nodding (pitch) and shaking (yaw) motions.

https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/ctrl_head_example.py

Step-by-Step Control

Examples showing how to control the robot’s movements step by step, including individual foot placement and trajectory control.

https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/step_control_example.py

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:

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

kuavo_humanoid_sdk_ws-1.4.4b1794.tar.gz (145.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file kuavo_humanoid_sdk_ws-1.4.4b1794.tar.gz.

File metadata

File hashes

Hashes for kuavo_humanoid_sdk_ws-1.4.4b1794.tar.gz
Algorithm Hash digest
SHA256 c7ad84a367bc7f61f3792b593a536bb6d29c28863a44d585c45fbe0bcc31736c
MD5 fa5b3399a68679a2a110d306718aa98d
BLAKE2b-256 bb97db2588d60ea251d398ec8a7a3d5ecd28a3de9e25f4db9815511f50173b61

See more details on using hashes here.

File details

Details for the file kuavo_humanoid_sdk_ws-1.4.4b1794-20260720081814-py3-none-any.whl.

File metadata

File hashes

Hashes for kuavo_humanoid_sdk_ws-1.4.4b1794-20260720081814-py3-none-any.whl
Algorithm Hash digest
SHA256 0bb83c7f6283fd2306e3962c8aebbe53e7c5c8e973ac027aafed3e6e5786db80
MD5 959935e5657158eafa6cc3c2ff0cc03f
BLAKE2b-256 ec14b3b788b82806008863e594028ee9f54bb17306562ca937fbf3960600cd64

See more details on using hashes here.

File details

Details for the file kuavo_humanoid_sdk_ws-1.4.4b1794-20260719105936-py3-none-any.whl.

File metadata

File hashes

Hashes for kuavo_humanoid_sdk_ws-1.4.4b1794-20260719105936-py3-none-any.whl
Algorithm Hash digest
SHA256 58f844af68ea7fa8bbbca1fd1ac72ed5ce91dca4cda5af4cfc90de7b81b746b7
MD5 3d3af65100c5bbe2a9d8e3d4e9f95c41
BLAKE2b-256 2223aefd7672ee3fa47860264ae66c729ebd89302a0538687595b3990aa6a737

See more details on using hashes here.

File details

Details for the file kuavo_humanoid_sdk_ws-1.4.4b1794-20260719082142-py3-none-any.whl.

File metadata

File hashes

Hashes for kuavo_humanoid_sdk_ws-1.4.4b1794-20260719082142-py3-none-any.whl
Algorithm Hash digest
SHA256 a36108b15a38e276ac9277dab10bf002c76d09699623c51471ae06e2d6ac79dd
MD5 90c40a92864c6dc22018d734d89f769e
BLAKE2b-256 551c77aae34fdbb1c2681765dfee549fdbcf3b8edb888e83477be264ab0caa1c

See more details on using hashes here.

File details

Details for the file kuavo_humanoid_sdk_ws-1.4.4b1794-20260718113255-py3-none-any.whl.

File metadata

File hashes

Hashes for kuavo_humanoid_sdk_ws-1.4.4b1794-20260718113255-py3-none-any.whl
Algorithm Hash digest
SHA256 622c44bd57cdd33333773c09513e0d5519df220f8d5722ae57764e3d826c4858
MD5 190da79cc7ff2cec9509ae19c34493b9
BLAKE2b-256 c0c1d4f318977decf93a1335a6baf94d762308517e1a648e28f8767ce6a7e122

See more details on using hashes here.

File details

Details for the file kuavo_humanoid_sdk_ws-1.4.4b1794-20260718082245-py3-none-any.whl.

File metadata

File hashes

Hashes for kuavo_humanoid_sdk_ws-1.4.4b1794-20260718082245-py3-none-any.whl
Algorithm Hash digest
SHA256 67a3d09c14fb36052e5bec1085daacccd58f65b5f9cb0cd6822d03afc14e2aee
MD5 f570757147d74e5947ed0424d75b6b1b
BLAKE2b-256 869a3aa2942e4c15de446e4134ef1ee2e1302b454053151348ce3ab86c8e15f1

See more details on using hashes here.

File details

Details for the file kuavo_humanoid_sdk_ws-1.4.4b1794-20260717195549-py3-none-any.whl.

File metadata

File hashes

Hashes for kuavo_humanoid_sdk_ws-1.4.4b1794-20260717195549-py3-none-any.whl
Algorithm Hash digest
SHA256 65d48a121c8650ab7bb6febfdd166374831cdb4f4737c11c7f24d189fc5b619d
MD5 141ce82990136f150469fe0e83842074
BLAKE2b-256 27fd84d71b5cada61832131de4d381448c85ab3f50790e76f3256b9fbc074660

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page