kuavo-humanoid-sdk-ws 1.3.1b4453__tar.gz → 1.3.1b4459__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. kuavo_humanoid_sdk_ws-1.3.1b4459/PKG-INFO +272 -0
  2. kuavo_humanoid_sdk_ws-1.3.1b4459/kuavo_humanoid_sdk_ws.egg-info/PKG-INFO +272 -0
  3. kuavo_humanoid_sdk_ws-1.3.1b4453/PKG-INFO +0 -271
  4. kuavo_humanoid_sdk_ws-1.3.1b4453/kuavo_humanoid_sdk_ws.egg-info/PKG-INFO +0 -271
  5. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/README.md +0 -0
  6. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/__init__.py +0 -0
  7. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/common/launch_robot_tool.py +0 -0
  8. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/common/logger.py +0 -0
  9. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/common/websocket_kuavo_sdk.py +0 -0
  10. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/interfaces/__init__.py +0 -0
  11. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/interfaces/data_types.py +0 -0
  12. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/interfaces/end_effector.py +0 -0
  13. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/interfaces/robot.py +0 -0
  14. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/interfaces/robot_info.py +0 -0
  15. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo/__init__.py +0 -0
  16. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo/core/audio.py +0 -0
  17. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo/core/core.py +0 -0
  18. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo/core/dex_hand_control.py +0 -0
  19. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo/core/leju_claw_control.py +0 -0
  20. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo/core/ros/audio.py +0 -0
  21. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo/core/ros/control.py +0 -0
  22. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo/core/ros/observation.py +0 -0
  23. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo/core/ros/param.py +0 -0
  24. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo/core/ros/sat_utils.py +0 -0
  25. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo/core/ros/state.py +0 -0
  26. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo/core/ros/tools.py +0 -0
  27. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo/core/ros/vision.py +0 -0
  28. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo/core/ros_env.py +0 -0
  29. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo/dexterous_hand.py +0 -0
  30. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo/leju_claw.py +0 -0
  31. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo/robot.py +0 -0
  32. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo/robot_arm.py +0 -0
  33. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo/robot_audio.py +0 -0
  34. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo/robot_head.py +0 -0
  35. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo/robot_info.py +0 -0
  36. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo/robot_observation.py +0 -0
  37. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo/robot_state.py +0 -0
  38. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo/robot_tool.py +0 -0
  39. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo/robot_vision.py +0 -0
  40. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo/robot_waist.py +0 -0
  41. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo_strategy/__init__.py +0 -0
  42. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo_strategy/grasp_box/grasp_box_strategy.py +0 -0
  43. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/kuavo_strategy/kuavo_strategy.py +0 -0
  44. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk/msg/__init__.py +0 -0
  45. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk_ws.egg-info/SOURCES.txt +0 -0
  46. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk_ws.egg-info/dependency_links.txt +0 -0
  47. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk_ws.egg-info/requires.txt +2 -2
  48. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/kuavo_humanoid_sdk_ws.egg-info/top_level.txt +0 -0
  49. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/setup.cfg +0 -0
  50. {kuavo_humanoid_sdk_ws-1.3.1b4453 → kuavo_humanoid_sdk_ws-1.3.1b4459}/setup.py +0 -0
@@ -0,0 +1,272 @@
1
+ Metadata-Version: 2.1
2
+ Name: kuavo_humanoid_sdk_ws
3
+ Version: 1.3.1b4459
4
+ Summary: A Python SDK for kuavo humanoid robot.
5
+ Home-page: https://gitee.com/leju-robot/kuavo-ros-opensource/
6
+ Author: ['lejurobot']
7
+ Author-email: edu@lejurobot.com
8
+ License: MIT
9
+ Project-URL: Documentation, https://gitee.com/leju-robot/kuavo-ros-opensource/
10
+ Project-URL: Source Code, https://gitee.com/leju-robot/kuavo-ros-opensource/
11
+ Description: # Kuavo Humanoid SDK
12
+
13
+ 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.
14
+
15
+ **Warning**: This SDK currently only supports **ROS1**. ROS2 support is not available.
16
+
17
+ **Warning**: **This SDK can only be used on the onboard NUC computer located in the robot's torso.**
18
+
19
+ ![Kuavo 4Pro Robot](https://kuavo.lejurobot.com/manual/assets/images/kuavo_4pro-cf84d43f1c370666c6e810d2807ae3e4.png)
20
+
21
+ ## Features
22
+
23
+ - Robot State Management
24
+ - IMU data (acceleration, angular velocity, euler angles)
25
+ - Joint/motor states (position, velocity, torque)
26
+ - Torso state (position, orientation, velocity)
27
+ - Odometry information
28
+ - End-effector states:
29
+ - Gripper(lejuclaw): position, velocity, torque, grasp status
30
+ - Dexterous hand(qiangnao): position, velocity, torque
31
+ - Touch Dexterous hand(qiangnao_touch): position, velocity, torque, touch state
32
+ - End-effector position and orientation
33
+ - Motion states: stand, walk, step_control, trot
34
+
35
+ - Motion Control
36
+ - Arm Control
37
+ - Joint position control
38
+ - End-effector 6D control via inverse kinematics
39
+ - Forward kinematics (FK) for computing end-effector pose
40
+ - Keyframe sequence control for complex motions
41
+ - End-effector Control
42
+ - Gripper control (position control with configurable velocity and torque)
43
+ - Dexterous hand control
44
+ - Position control
45
+ - Pre-defined hand gestures (OK, 666, fist, etc.)
46
+ - Head Control
47
+ - Position control
48
+ - Torso Control
49
+ - Height control (squatting)
50
+ - Forward/backward tilt control
51
+ - Dynamic Motion Control
52
+ - Stance
53
+ - Trot
54
+ - Walking (xy and yaw velocity control)
55
+ - Stepping (gait switching)
56
+
57
+ - Robot Basic Information
58
+ - Robot type (kuavo)
59
+ - Robot version
60
+ - End-effector type
61
+ - Joint names
62
+ - Total degrees of freedom (28)
63
+ - Arm degrees of freedom (7 per arm)
64
+ - Head degrees of freedom (2)
65
+ - Leg degrees of freedom (12)
66
+
67
+ ## Installation
68
+
69
+ **Note: There are currently two versions of this SDK, the stable version and the beta version. Their differences are:**
70
+
71
+ - stable version: corresponding to the functionality provided by the `master` branch of [kuavo-ros-opensource](https://gitee.com/leju-robot/kuavo-ros-opensource/).
72
+ - 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](https://gitee.com/leju-robot/kuavo-ros-opensource/).
73
+
74
+ **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.**
75
+
76
+ Install the latest **​stable version** of Kuavo Humanoid SDK using pip:
77
+ ```bash
78
+ pip install kuavo-humanoid-sdk-ws
79
+ ```
80
+
81
+ Install the latest **​beta version** of Kuavo Humanoid SDK using pip:
82
+ ```bash
83
+ pip install --pre kuavo-humanoid-sdk-ws
84
+ ```
85
+
86
+ For local development installation (editable mode), use:
87
+ ```bash
88
+ cd src/kuavo_humanoid_sdk_ws
89
+ chmod +x install.sh
90
+ ./install.sh
91
+ ```
92
+ ## Upgrade Instructions
93
+ Before upgrading, you can check the currently installed version with:
94
+ ```bash
95
+ pip show kuavo-humanoid-sdk-ws
96
+ # Output:
97
+ Name: kuavo-humanoid-sdk-ws
98
+ Version: 0.1.2
99
+ ...
100
+ ```
101
+
102
+ **Note: If the version number contains the letter b, it indicates a beta version, e.g., Version: 0.1.2b113**
103
+
104
+ To upgrade from a stable version to the latest stable version:
105
+ ```bash
106
+ pip install --upgrade kuavo-humanoid-sdk-ws
107
+ ```
108
+
109
+ To upgrade from a beta version to the latest stable version:
110
+ ```bash
111
+ pip install --upgrade --force-reinstall kuavo-humanoid-sdk-ws
112
+ # or
113
+ pip uninstall kuavo-humanoid-sdk-ws && pip install kuavo-humanoid-sdk-ws
114
+ ```
115
+
116
+ To upgrade from a stable/beta version to the latest beta version:
117
+ ```bash
118
+ pip install --upgrade --pre kuavo-humanoid-sdk-ws
119
+ ```
120
+
121
+ ## Package Information
122
+
123
+ You can check the package information using pip:
124
+ ```bash
125
+ pip show kuavo-humanoid-sdk-ws
126
+ ```
127
+
128
+ ## Quick Start
129
+
130
+ Here's a simple example to get started with Kuavo Humanoid SDK:
131
+
132
+ > **Warning**: Before running any code, make sure to start the robot first by executing either:
133
+ > - For simulation: `roslaunch humanoid_controllers load_kuavo_mujoco_sim.launch` (Example command)
134
+ > - For real robot: `roslaunch humanoid_controllers load_kuavo_real.launch` (Example command)
135
+ ```python3
136
+ # Copyright (c) 2025 Leju Robotics. Licensed under the MIT License.
137
+ import time
138
+ from kuavo_humanoid_sdk import KuavoSDK, KuavoRobot
139
+
140
+ def main():
141
+ if not KuavoSDK().Init(): # Init! !!! IMPORTANT !!!
142
+ print("Init KuavoSDK failed, exit!")
143
+ exit(1)
144
+ robot = KuavoRobot()
145
+
146
+ """ arm reset """
147
+ print("Switching to arm reset mode...")
148
+ robot.arm_reset()
149
+
150
+ """ stance """
151
+ print("Switching to stance mode...")
152
+ robot.stance()
153
+
154
+ """ trot """
155
+ print("Switching to trot mode...")
156
+ robot.trot()
157
+
158
+ """ walk forward """
159
+ print("Starting forward walk...")
160
+ duration = 4.0 # seconds
161
+ speed = 0.3 # m/s
162
+ start_time = time.time()
163
+ while (time.time() - start_time < duration):
164
+ robot.walk(linear_x=speed, linear_y=0.0, angular_z=0.0)
165
+ time.sleep(0.1) # Small sleep to prevent busy loop
166
+
167
+ if __name__ == "__main__":
168
+ main()
169
+ ```
170
+
171
+ ## Docs
172
+ The documentation is available in two formats:
173
+ - HTML format: [docs/html](docs/html), **needs to be generated by running the script**
174
+ - Markdown format: [docs/markdown](docs/markdown)
175
+
176
+ 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:
177
+ ```bash
178
+ cd <kuavo-ros-opensource>/src/kuavo_humanoid_sdk_ws
179
+ chmod +x gen_docs.sh
180
+ ./gen_docs.sh
181
+ ```
182
+
183
+ **We recommend that you view the documentation using `html` for a better experience.**
184
+
185
+ For Markdown documentation at:
186
+
187
+ https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/docs/markdown/index.md
188
+
189
+ ## Examples
190
+
191
+ #### WARNING
192
+ Before running any code examples, make sure to start the robot first by executing either:
193
+
194
+ - For simulation: `roslaunch humanoid_controllers load_kuavo_mujoco_sim.launch` (Example command)
195
+ - For real robot: `roslaunch humanoid_controllers load_kuavo_real.launch` (Example command)
196
+
197
+ ### Robot Info
198
+
199
+ Examples showing how to get basic robot information.
200
+
201
+ [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/robot_info_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/robot_info_example.py)
202
+
203
+ ### Basic Robot Control
204
+
205
+ A basic example showing how to initialize the SDK and control the robot’s movement.
206
+
207
+ [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/motion_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/motion_example.py)
208
+
209
+ ### End Effector Control
210
+
211
+ #### LejuClaw Gripper
212
+
213
+ Examples demonstrating how to control the LejuClaw gripper end effector, including position, velocity and torque control.
214
+
215
+ [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/lejuclaw_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/lejuclaw_example.py)
216
+
217
+ #### QiangNao DexHand
218
+
219
+ Examples showing how to control the QiangNao DexHand, a dexterous robotic hand with multiple degrees of freedom for complex manipulation tasks.
220
+
221
+ [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/dexhand_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/dexhand_example.py)
222
+
223
+ ### Arm Control
224
+
225
+ Examples showing arm trajectory control and target pose control.
226
+
227
+ [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/ctrl_arm_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/ctrl_arm_example.py)
228
+
229
+ ### Forward and Inverse Kinematics
230
+
231
+ 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.
232
+
233
+ [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/arm_ik_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/arm_ik_example.py)
234
+
235
+ ### Head Control
236
+
237
+ Examples showing how to control the robot’s head movements, including nodding (pitch) and shaking (yaw) motions.
238
+
239
+ [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/ctrl_head_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/ctrl_head_example.py)
240
+
241
+ ### Step-by-Step Control
242
+
243
+ Examples showing how to control the robot’s movements step by step, including individual foot placement and trajectory control.
244
+
245
+ [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/step_control_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/step_control_example.py)
246
+
247
+
248
+ ## License
249
+
250
+ This project is licensed under the MIT License - see the LICENSE file for details.
251
+
252
+ ## Contact & Support
253
+
254
+ For any questions, support, or bug reports, please contact:
255
+ - Email: edu@lejurobot.com
256
+ - Website: https://gitee.com/leju-robot/kuavo-ros-opensource/
257
+ - Source Code: https://gitee.com/leju-robot/kuavo-ros-opensource/
258
+ - Issue Tracker: https://gitee.com/leju-robot/kuavo-ros-opensource/issues
259
+
260
+ Keywords: kuavo,humanoid,robot,robotics,lejurobot,ros
261
+ Platform: UNKNOWN
262
+ Classifier: Development Status :: 4 - Beta
263
+ Classifier: Intended Audience :: Developers
264
+ Classifier: License :: OSI Approved :: MIT License
265
+ Classifier: Operating System :: POSIX :: Linux
266
+ Classifier: Programming Language :: Python :: 3
267
+ Classifier: Programming Language :: Python :: 3.8
268
+ Classifier: Programming Language :: Python :: 3.9
269
+ Classifier: Programming Language :: Python :: 3.10
270
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
271
+ Requires-Python: >=3.8
272
+ Description-Content-Type: text/markdown
@@ -0,0 +1,272 @@
1
+ Metadata-Version: 2.1
2
+ Name: kuavo-humanoid-sdk-ws
3
+ Version: 1.3.1b4459
4
+ Summary: A Python SDK for kuavo humanoid robot.
5
+ Home-page: https://gitee.com/leju-robot/kuavo-ros-opensource/
6
+ Author: ['lejurobot']
7
+ Author-email: edu@lejurobot.com
8
+ License: MIT
9
+ Project-URL: Documentation, https://gitee.com/leju-robot/kuavo-ros-opensource/
10
+ Project-URL: Source Code, https://gitee.com/leju-robot/kuavo-ros-opensource/
11
+ Description: # Kuavo Humanoid SDK
12
+
13
+ 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.
14
+
15
+ **Warning**: This SDK currently only supports **ROS1**. ROS2 support is not available.
16
+
17
+ **Warning**: **This SDK can only be used on the onboard NUC computer located in the robot's torso.**
18
+
19
+ ![Kuavo 4Pro Robot](https://kuavo.lejurobot.com/manual/assets/images/kuavo_4pro-cf84d43f1c370666c6e810d2807ae3e4.png)
20
+
21
+ ## Features
22
+
23
+ - Robot State Management
24
+ - IMU data (acceleration, angular velocity, euler angles)
25
+ - Joint/motor states (position, velocity, torque)
26
+ - Torso state (position, orientation, velocity)
27
+ - Odometry information
28
+ - End-effector states:
29
+ - Gripper(lejuclaw): position, velocity, torque, grasp status
30
+ - Dexterous hand(qiangnao): position, velocity, torque
31
+ - Touch Dexterous hand(qiangnao_touch): position, velocity, torque, touch state
32
+ - End-effector position and orientation
33
+ - Motion states: stand, walk, step_control, trot
34
+
35
+ - Motion Control
36
+ - Arm Control
37
+ - Joint position control
38
+ - End-effector 6D control via inverse kinematics
39
+ - Forward kinematics (FK) for computing end-effector pose
40
+ - Keyframe sequence control for complex motions
41
+ - End-effector Control
42
+ - Gripper control (position control with configurable velocity and torque)
43
+ - Dexterous hand control
44
+ - Position control
45
+ - Pre-defined hand gestures (OK, 666, fist, etc.)
46
+ - Head Control
47
+ - Position control
48
+ - Torso Control
49
+ - Height control (squatting)
50
+ - Forward/backward tilt control
51
+ - Dynamic Motion Control
52
+ - Stance
53
+ - Trot
54
+ - Walking (xy and yaw velocity control)
55
+ - Stepping (gait switching)
56
+
57
+ - Robot Basic Information
58
+ - Robot type (kuavo)
59
+ - Robot version
60
+ - End-effector type
61
+ - Joint names
62
+ - Total degrees of freedom (28)
63
+ - Arm degrees of freedom (7 per arm)
64
+ - Head degrees of freedom (2)
65
+ - Leg degrees of freedom (12)
66
+
67
+ ## Installation
68
+
69
+ **Note: There are currently two versions of this SDK, the stable version and the beta version. Their differences are:**
70
+
71
+ - stable version: corresponding to the functionality provided by the `master` branch of [kuavo-ros-opensource](https://gitee.com/leju-robot/kuavo-ros-opensource/).
72
+ - 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](https://gitee.com/leju-robot/kuavo-ros-opensource/).
73
+
74
+ **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.**
75
+
76
+ Install the latest **​stable version** of Kuavo Humanoid SDK using pip:
77
+ ```bash
78
+ pip install kuavo-humanoid-sdk-ws
79
+ ```
80
+
81
+ Install the latest **​beta version** of Kuavo Humanoid SDK using pip:
82
+ ```bash
83
+ pip install --pre kuavo-humanoid-sdk-ws
84
+ ```
85
+
86
+ For local development installation (editable mode), use:
87
+ ```bash
88
+ cd src/kuavo_humanoid_sdk_ws
89
+ chmod +x install.sh
90
+ ./install.sh
91
+ ```
92
+ ## Upgrade Instructions
93
+ Before upgrading, you can check the currently installed version with:
94
+ ```bash
95
+ pip show kuavo-humanoid-sdk-ws
96
+ # Output:
97
+ Name: kuavo-humanoid-sdk-ws
98
+ Version: 0.1.2
99
+ ...
100
+ ```
101
+
102
+ **Note: If the version number contains the letter b, it indicates a beta version, e.g., Version: 0.1.2b113**
103
+
104
+ To upgrade from a stable version to the latest stable version:
105
+ ```bash
106
+ pip install --upgrade kuavo-humanoid-sdk-ws
107
+ ```
108
+
109
+ To upgrade from a beta version to the latest stable version:
110
+ ```bash
111
+ pip install --upgrade --force-reinstall kuavo-humanoid-sdk-ws
112
+ # or
113
+ pip uninstall kuavo-humanoid-sdk-ws && pip install kuavo-humanoid-sdk-ws
114
+ ```
115
+
116
+ To upgrade from a stable/beta version to the latest beta version:
117
+ ```bash
118
+ pip install --upgrade --pre kuavo-humanoid-sdk-ws
119
+ ```
120
+
121
+ ## Package Information
122
+
123
+ You can check the package information using pip:
124
+ ```bash
125
+ pip show kuavo-humanoid-sdk-ws
126
+ ```
127
+
128
+ ## Quick Start
129
+
130
+ Here's a simple example to get started with Kuavo Humanoid SDK:
131
+
132
+ > **Warning**: Before running any code, make sure to start the robot first by executing either:
133
+ > - For simulation: `roslaunch humanoid_controllers load_kuavo_mujoco_sim.launch` (Example command)
134
+ > - For real robot: `roslaunch humanoid_controllers load_kuavo_real.launch` (Example command)
135
+ ```python3
136
+ # Copyright (c) 2025 Leju Robotics. Licensed under the MIT License.
137
+ import time
138
+ from kuavo_humanoid_sdk import KuavoSDK, KuavoRobot
139
+
140
+ def main():
141
+ if not KuavoSDK().Init(): # Init! !!! IMPORTANT !!!
142
+ print("Init KuavoSDK failed, exit!")
143
+ exit(1)
144
+ robot = KuavoRobot()
145
+
146
+ """ arm reset """
147
+ print("Switching to arm reset mode...")
148
+ robot.arm_reset()
149
+
150
+ """ stance """
151
+ print("Switching to stance mode...")
152
+ robot.stance()
153
+
154
+ """ trot """
155
+ print("Switching to trot mode...")
156
+ robot.trot()
157
+
158
+ """ walk forward """
159
+ print("Starting forward walk...")
160
+ duration = 4.0 # seconds
161
+ speed = 0.3 # m/s
162
+ start_time = time.time()
163
+ while (time.time() - start_time < duration):
164
+ robot.walk(linear_x=speed, linear_y=0.0, angular_z=0.0)
165
+ time.sleep(0.1) # Small sleep to prevent busy loop
166
+
167
+ if __name__ == "__main__":
168
+ main()
169
+ ```
170
+
171
+ ## Docs
172
+ The documentation is available in two formats:
173
+ - HTML format: [docs/html](docs/html), **needs to be generated by running the script**
174
+ - Markdown format: [docs/markdown](docs/markdown)
175
+
176
+ 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:
177
+ ```bash
178
+ cd <kuavo-ros-opensource>/src/kuavo_humanoid_sdk_ws
179
+ chmod +x gen_docs.sh
180
+ ./gen_docs.sh
181
+ ```
182
+
183
+ **We recommend that you view the documentation using `html` for a better experience.**
184
+
185
+ For Markdown documentation at:
186
+
187
+ https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/docs/markdown/index.md
188
+
189
+ ## Examples
190
+
191
+ #### WARNING
192
+ Before running any code examples, make sure to start the robot first by executing either:
193
+
194
+ - For simulation: `roslaunch humanoid_controllers load_kuavo_mujoco_sim.launch` (Example command)
195
+ - For real robot: `roslaunch humanoid_controllers load_kuavo_real.launch` (Example command)
196
+
197
+ ### Robot Info
198
+
199
+ Examples showing how to get basic robot information.
200
+
201
+ [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/robot_info_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/robot_info_example.py)
202
+
203
+ ### Basic Robot Control
204
+
205
+ A basic example showing how to initialize the SDK and control the robot’s movement.
206
+
207
+ [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/motion_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/motion_example.py)
208
+
209
+ ### End Effector Control
210
+
211
+ #### LejuClaw Gripper
212
+
213
+ Examples demonstrating how to control the LejuClaw gripper end effector, including position, velocity and torque control.
214
+
215
+ [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/lejuclaw_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/lejuclaw_example.py)
216
+
217
+ #### QiangNao DexHand
218
+
219
+ Examples showing how to control the QiangNao DexHand, a dexterous robotic hand with multiple degrees of freedom for complex manipulation tasks.
220
+
221
+ [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/dexhand_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/dexhand_example.py)
222
+
223
+ ### Arm Control
224
+
225
+ Examples showing arm trajectory control and target pose control.
226
+
227
+ [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/ctrl_arm_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/ctrl_arm_example.py)
228
+
229
+ ### Forward and Inverse Kinematics
230
+
231
+ 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.
232
+
233
+ [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/arm_ik_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/arm_ik_example.py)
234
+
235
+ ### Head Control
236
+
237
+ Examples showing how to control the robot’s head movements, including nodding (pitch) and shaking (yaw) motions.
238
+
239
+ [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/ctrl_head_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/ctrl_head_example.py)
240
+
241
+ ### Step-by-Step Control
242
+
243
+ Examples showing how to control the robot’s movements step by step, including individual foot placement and trajectory control.
244
+
245
+ [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/step_control_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/step_control_example.py)
246
+
247
+
248
+ ## License
249
+
250
+ This project is licensed under the MIT License - see the LICENSE file for details.
251
+
252
+ ## Contact & Support
253
+
254
+ For any questions, support, or bug reports, please contact:
255
+ - Email: edu@lejurobot.com
256
+ - Website: https://gitee.com/leju-robot/kuavo-ros-opensource/
257
+ - Source Code: https://gitee.com/leju-robot/kuavo-ros-opensource/
258
+ - Issue Tracker: https://gitee.com/leju-robot/kuavo-ros-opensource/issues
259
+
260
+ Keywords: kuavo,humanoid,robot,robotics,lejurobot,ros
261
+ Platform: UNKNOWN
262
+ Classifier: Development Status :: 4 - Beta
263
+ Classifier: Intended Audience :: Developers
264
+ Classifier: License :: OSI Approved :: MIT License
265
+ Classifier: Operating System :: POSIX :: Linux
266
+ Classifier: Programming Language :: Python :: 3
267
+ Classifier: Programming Language :: Python :: 3.8
268
+ Classifier: Programming Language :: Python :: 3.9
269
+ Classifier: Programming Language :: Python :: 3.10
270
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
271
+ Requires-Python: >=3.8
272
+ Description-Content-Type: text/markdown
@@ -1,271 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: kuavo_humanoid_sdk_ws
3
- Version: 1.3.1b4453
4
- Summary: A Python SDK for kuavo humanoid robot.
5
- Home-page: https://gitee.com/leju-robot/kuavo-ros-opensource/
6
- Author: ['lejurobot']
7
- Author-email: edu@lejurobot.com
8
- License: MIT
9
- Project-URL: Documentation, https://gitee.com/leju-robot/kuavo-ros-opensource/
10
- Project-URL: Source Code, https://gitee.com/leju-robot/kuavo-ros-opensource/
11
- Keywords: kuavo,humanoid,robot,robotics,lejurobot,ros
12
- Classifier: Development Status :: 4 - Beta
13
- Classifier: Intended Audience :: Developers
14
- Classifier: License :: OSI Approved :: MIT License
15
- Classifier: Operating System :: POSIX :: Linux
16
- Classifier: Programming Language :: Python :: 3
17
- Classifier: Programming Language :: Python :: 3.8
18
- Classifier: Programming Language :: Python :: 3.9
19
- Classifier: Programming Language :: Python :: 3.10
20
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
21
- Requires-Python: >=3.8
22
- Description-Content-Type: text/markdown
23
-
24
- # Kuavo Humanoid SDK
25
-
26
- 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.
27
-
28
- **Warning**: This SDK currently only supports **ROS1**. ROS2 support is not available.
29
-
30
- **Warning**: **This SDK can only be used on the onboard NUC computer located in the robot's torso.**
31
-
32
- ![Kuavo 4Pro Robot](https://kuavo.lejurobot.com/manual/assets/images/kuavo_4pro-cf84d43f1c370666c6e810d2807ae3e4.png)
33
-
34
- ## Features
35
-
36
- - Robot State Management
37
- - IMU data (acceleration, angular velocity, euler angles)
38
- - Joint/motor states (position, velocity, torque)
39
- - Torso state (position, orientation, velocity)
40
- - Odometry information
41
- - End-effector states:
42
- - Gripper(lejuclaw): position, velocity, torque, grasp status
43
- - Dexterous hand(qiangnao): position, velocity, torque
44
- - Touch Dexterous hand(qiangnao_touch): position, velocity, torque, touch state
45
- - End-effector position and orientation
46
- - Motion states: stand, walk, step_control, trot
47
-
48
- - Motion Control
49
- - Arm Control
50
- - Joint position control
51
- - End-effector 6D control via inverse kinematics
52
- - Forward kinematics (FK) for computing end-effector pose
53
- - Keyframe sequence control for complex motions
54
- - End-effector Control
55
- - Gripper control (position control with configurable velocity and torque)
56
- - Dexterous hand control
57
- - Position control
58
- - Pre-defined hand gestures (OK, 666, fist, etc.)
59
- - Head Control
60
- - Position control
61
- - Torso Control
62
- - Height control (squatting)
63
- - Forward/backward tilt control
64
- - Dynamic Motion Control
65
- - Stance
66
- - Trot
67
- - Walking (xy and yaw velocity control)
68
- - Stepping (gait switching)
69
-
70
- - Robot Basic Information
71
- - Robot type (kuavo)
72
- - Robot version
73
- - End-effector type
74
- - Joint names
75
- - Total degrees of freedom (28)
76
- - Arm degrees of freedom (7 per arm)
77
- - Head degrees of freedom (2)
78
- - Leg degrees of freedom (12)
79
-
80
- ## Installation
81
-
82
- **Note: There are currently two versions of this SDK, the stable version and the beta version. Their differences are:**
83
-
84
- - stable version: corresponding to the functionality provided by the `master` branch of [kuavo-ros-opensource](https://gitee.com/leju-robot/kuavo-ros-opensource/).
85
- - 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](https://gitee.com/leju-robot/kuavo-ros-opensource/).
86
-
87
- **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.**
88
-
89
- Install the latest **​stable version** of Kuavo Humanoid SDK using pip:
90
- ```bash
91
- pip install kuavo-humanoid-sdk-ws
92
- ```
93
-
94
- Install the latest **​beta version** of Kuavo Humanoid SDK using pip:
95
- ```bash
96
- pip install --pre kuavo-humanoid-sdk-ws
97
- ```
98
-
99
- For local development installation (editable mode), use:
100
- ```bash
101
- cd src/kuavo_humanoid_sdk_ws
102
- chmod +x install.sh
103
- ./install.sh
104
- ```
105
- ## Upgrade Instructions
106
- Before upgrading, you can check the currently installed version with:
107
- ```bash
108
- pip show kuavo-humanoid-sdk-ws
109
- # Output:
110
- Name: kuavo-humanoid-sdk-ws
111
- Version: 0.1.2
112
- ...
113
- ```
114
-
115
- **Note: If the version number contains the letter b, it indicates a beta version, e.g., Version: 0.1.2b113**
116
-
117
- To upgrade from a stable version to the latest stable version:
118
- ```bash
119
- pip install --upgrade kuavo-humanoid-sdk-ws
120
- ```
121
-
122
- To upgrade from a beta version to the latest stable version:
123
- ```bash
124
- pip install --upgrade --force-reinstall kuavo-humanoid-sdk-ws
125
- # or
126
- pip uninstall kuavo-humanoid-sdk-ws && pip install kuavo-humanoid-sdk-ws
127
- ```
128
-
129
- To upgrade from a stable/beta version to the latest beta version:
130
- ```bash
131
- pip install --upgrade --pre kuavo-humanoid-sdk-ws
132
- ```
133
-
134
- ## Package Information
135
-
136
- You can check the package information using pip:
137
- ```bash
138
- pip show kuavo-humanoid-sdk-ws
139
- ```
140
-
141
- ## Quick Start
142
-
143
- Here's a simple example to get started with Kuavo Humanoid SDK:
144
-
145
- > **Warning**: Before running any code, make sure to start the robot first by executing either:
146
- > - For simulation: `roslaunch humanoid_controllers load_kuavo_mujoco_sim.launch` (Example command)
147
- > - For real robot: `roslaunch humanoid_controllers load_kuavo_real.launch` (Example command)
148
- ```python3
149
- # Copyright (c) 2025 Leju Robotics. Licensed under the MIT License.
150
- import time
151
- from kuavo_humanoid_sdk import KuavoSDK, KuavoRobot
152
-
153
- def main():
154
- if not KuavoSDK().Init(): # Init! !!! IMPORTANT !!!
155
- print("Init KuavoSDK failed, exit!")
156
- exit(1)
157
- robot = KuavoRobot()
158
-
159
- """ arm reset """
160
- print("Switching to arm reset mode...")
161
- robot.arm_reset()
162
-
163
- """ stance """
164
- print("Switching to stance mode...")
165
- robot.stance()
166
-
167
- """ trot """
168
- print("Switching to trot mode...")
169
- robot.trot()
170
-
171
- """ walk forward """
172
- print("Starting forward walk...")
173
- duration = 4.0 # seconds
174
- speed = 0.3 # m/s
175
- start_time = time.time()
176
- while (time.time() - start_time < duration):
177
- robot.walk(linear_x=speed, linear_y=0.0, angular_z=0.0)
178
- time.sleep(0.1) # Small sleep to prevent busy loop
179
-
180
- if __name__ == "__main__":
181
- main()
182
- ```
183
-
184
- ## Docs
185
- The documentation is available in two formats:
186
- - HTML format: [docs/html](docs/html), **needs to be generated by running the script**
187
- - Markdown format: [docs/markdown](docs/markdown)
188
-
189
- 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:
190
- ```bash
191
- cd <kuavo-ros-opensource>/src/kuavo_humanoid_sdk_ws
192
- chmod +x gen_docs.sh
193
- ./gen_docs.sh
194
- ```
195
-
196
- **We recommend that you view the documentation using `html` for a better experience.**
197
-
198
- For Markdown documentation at:
199
-
200
- https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/docs/markdown/index.md
201
-
202
- ## Examples
203
-
204
- #### WARNING
205
- Before running any code examples, make sure to start the robot first by executing either:
206
-
207
- - For simulation: `roslaunch humanoid_controllers load_kuavo_mujoco_sim.launch` (Example command)
208
- - For real robot: `roslaunch humanoid_controllers load_kuavo_real.launch` (Example command)
209
-
210
- ### Robot Info
211
-
212
- Examples showing how to get basic robot information.
213
-
214
- [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/robot_info_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/robot_info_example.py)
215
-
216
- ### Basic Robot Control
217
-
218
- A basic example showing how to initialize the SDK and control the robot’s movement.
219
-
220
- [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/motion_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/motion_example.py)
221
-
222
- ### End Effector Control
223
-
224
- #### LejuClaw Gripper
225
-
226
- Examples demonstrating how to control the LejuClaw gripper end effector, including position, velocity and torque control.
227
-
228
- [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/lejuclaw_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/lejuclaw_example.py)
229
-
230
- #### QiangNao DexHand
231
-
232
- Examples showing how to control the QiangNao DexHand, a dexterous robotic hand with multiple degrees of freedom for complex manipulation tasks.
233
-
234
- [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/dexhand_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/dexhand_example.py)
235
-
236
- ### Arm Control
237
-
238
- Examples showing arm trajectory control and target pose control.
239
-
240
- [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/ctrl_arm_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/ctrl_arm_example.py)
241
-
242
- ### Forward and Inverse Kinematics
243
-
244
- 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.
245
-
246
- [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/arm_ik_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/arm_ik_example.py)
247
-
248
- ### Head Control
249
-
250
- Examples showing how to control the robot’s head movements, including nodding (pitch) and shaking (yaw) motions.
251
-
252
- [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/ctrl_head_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/ctrl_head_example.py)
253
-
254
- ### Step-by-Step Control
255
-
256
- Examples showing how to control the robot’s movements step by step, including individual foot placement and trajectory control.
257
-
258
- [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/step_control_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/step_control_example.py)
259
-
260
-
261
- ## License
262
-
263
- This project is licensed under the MIT License - see the LICENSE file for details.
264
-
265
- ## Contact & Support
266
-
267
- For any questions, support, or bug reports, please contact:
268
- - Email: edu@lejurobot.com
269
- - Website: https://gitee.com/leju-robot/kuavo-ros-opensource/
270
- - Source Code: https://gitee.com/leju-robot/kuavo-ros-opensource/
271
- - Issue Tracker: https://gitee.com/leju-robot/kuavo-ros-opensource/issues
@@ -1,271 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: kuavo-humanoid-sdk-ws
3
- Version: 1.3.1b4453
4
- Summary: A Python SDK for kuavo humanoid robot.
5
- Home-page: https://gitee.com/leju-robot/kuavo-ros-opensource/
6
- Author: ['lejurobot']
7
- Author-email: edu@lejurobot.com
8
- License: MIT
9
- Project-URL: Documentation, https://gitee.com/leju-robot/kuavo-ros-opensource/
10
- Project-URL: Source Code, https://gitee.com/leju-robot/kuavo-ros-opensource/
11
- Keywords: kuavo,humanoid,robot,robotics,lejurobot,ros
12
- Classifier: Development Status :: 4 - Beta
13
- Classifier: Intended Audience :: Developers
14
- Classifier: License :: OSI Approved :: MIT License
15
- Classifier: Operating System :: POSIX :: Linux
16
- Classifier: Programming Language :: Python :: 3
17
- Classifier: Programming Language :: Python :: 3.8
18
- Classifier: Programming Language :: Python :: 3.9
19
- Classifier: Programming Language :: Python :: 3.10
20
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
21
- Requires-Python: >=3.8
22
- Description-Content-Type: text/markdown
23
-
24
- # Kuavo Humanoid SDK
25
-
26
- 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.
27
-
28
- **Warning**: This SDK currently only supports **ROS1**. ROS2 support is not available.
29
-
30
- **Warning**: **This SDK can only be used on the onboard NUC computer located in the robot's torso.**
31
-
32
- ![Kuavo 4Pro Robot](https://kuavo.lejurobot.com/manual/assets/images/kuavo_4pro-cf84d43f1c370666c6e810d2807ae3e4.png)
33
-
34
- ## Features
35
-
36
- - Robot State Management
37
- - IMU data (acceleration, angular velocity, euler angles)
38
- - Joint/motor states (position, velocity, torque)
39
- - Torso state (position, orientation, velocity)
40
- - Odometry information
41
- - End-effector states:
42
- - Gripper(lejuclaw): position, velocity, torque, grasp status
43
- - Dexterous hand(qiangnao): position, velocity, torque
44
- - Touch Dexterous hand(qiangnao_touch): position, velocity, torque, touch state
45
- - End-effector position and orientation
46
- - Motion states: stand, walk, step_control, trot
47
-
48
- - Motion Control
49
- - Arm Control
50
- - Joint position control
51
- - End-effector 6D control via inverse kinematics
52
- - Forward kinematics (FK) for computing end-effector pose
53
- - Keyframe sequence control for complex motions
54
- - End-effector Control
55
- - Gripper control (position control with configurable velocity and torque)
56
- - Dexterous hand control
57
- - Position control
58
- - Pre-defined hand gestures (OK, 666, fist, etc.)
59
- - Head Control
60
- - Position control
61
- - Torso Control
62
- - Height control (squatting)
63
- - Forward/backward tilt control
64
- - Dynamic Motion Control
65
- - Stance
66
- - Trot
67
- - Walking (xy and yaw velocity control)
68
- - Stepping (gait switching)
69
-
70
- - Robot Basic Information
71
- - Robot type (kuavo)
72
- - Robot version
73
- - End-effector type
74
- - Joint names
75
- - Total degrees of freedom (28)
76
- - Arm degrees of freedom (7 per arm)
77
- - Head degrees of freedom (2)
78
- - Leg degrees of freedom (12)
79
-
80
- ## Installation
81
-
82
- **Note: There are currently two versions of this SDK, the stable version and the beta version. Their differences are:**
83
-
84
- - stable version: corresponding to the functionality provided by the `master` branch of [kuavo-ros-opensource](https://gitee.com/leju-robot/kuavo-ros-opensource/).
85
- - 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](https://gitee.com/leju-robot/kuavo-ros-opensource/).
86
-
87
- **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.**
88
-
89
- Install the latest **​stable version** of Kuavo Humanoid SDK using pip:
90
- ```bash
91
- pip install kuavo-humanoid-sdk-ws
92
- ```
93
-
94
- Install the latest **​beta version** of Kuavo Humanoid SDK using pip:
95
- ```bash
96
- pip install --pre kuavo-humanoid-sdk-ws
97
- ```
98
-
99
- For local development installation (editable mode), use:
100
- ```bash
101
- cd src/kuavo_humanoid_sdk_ws
102
- chmod +x install.sh
103
- ./install.sh
104
- ```
105
- ## Upgrade Instructions
106
- Before upgrading, you can check the currently installed version with:
107
- ```bash
108
- pip show kuavo-humanoid-sdk-ws
109
- # Output:
110
- Name: kuavo-humanoid-sdk-ws
111
- Version: 0.1.2
112
- ...
113
- ```
114
-
115
- **Note: If the version number contains the letter b, it indicates a beta version, e.g., Version: 0.1.2b113**
116
-
117
- To upgrade from a stable version to the latest stable version:
118
- ```bash
119
- pip install --upgrade kuavo-humanoid-sdk-ws
120
- ```
121
-
122
- To upgrade from a beta version to the latest stable version:
123
- ```bash
124
- pip install --upgrade --force-reinstall kuavo-humanoid-sdk-ws
125
- # or
126
- pip uninstall kuavo-humanoid-sdk-ws && pip install kuavo-humanoid-sdk-ws
127
- ```
128
-
129
- To upgrade from a stable/beta version to the latest beta version:
130
- ```bash
131
- pip install --upgrade --pre kuavo-humanoid-sdk-ws
132
- ```
133
-
134
- ## Package Information
135
-
136
- You can check the package information using pip:
137
- ```bash
138
- pip show kuavo-humanoid-sdk-ws
139
- ```
140
-
141
- ## Quick Start
142
-
143
- Here's a simple example to get started with Kuavo Humanoid SDK:
144
-
145
- > **Warning**: Before running any code, make sure to start the robot first by executing either:
146
- > - For simulation: `roslaunch humanoid_controllers load_kuavo_mujoco_sim.launch` (Example command)
147
- > - For real robot: `roslaunch humanoid_controllers load_kuavo_real.launch` (Example command)
148
- ```python3
149
- # Copyright (c) 2025 Leju Robotics. Licensed under the MIT License.
150
- import time
151
- from kuavo_humanoid_sdk import KuavoSDK, KuavoRobot
152
-
153
- def main():
154
- if not KuavoSDK().Init(): # Init! !!! IMPORTANT !!!
155
- print("Init KuavoSDK failed, exit!")
156
- exit(1)
157
- robot = KuavoRobot()
158
-
159
- """ arm reset """
160
- print("Switching to arm reset mode...")
161
- robot.arm_reset()
162
-
163
- """ stance """
164
- print("Switching to stance mode...")
165
- robot.stance()
166
-
167
- """ trot """
168
- print("Switching to trot mode...")
169
- robot.trot()
170
-
171
- """ walk forward """
172
- print("Starting forward walk...")
173
- duration = 4.0 # seconds
174
- speed = 0.3 # m/s
175
- start_time = time.time()
176
- while (time.time() - start_time < duration):
177
- robot.walk(linear_x=speed, linear_y=0.0, angular_z=0.0)
178
- time.sleep(0.1) # Small sleep to prevent busy loop
179
-
180
- if __name__ == "__main__":
181
- main()
182
- ```
183
-
184
- ## Docs
185
- The documentation is available in two formats:
186
- - HTML format: [docs/html](docs/html), **needs to be generated by running the script**
187
- - Markdown format: [docs/markdown](docs/markdown)
188
-
189
- 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:
190
- ```bash
191
- cd <kuavo-ros-opensource>/src/kuavo_humanoid_sdk_ws
192
- chmod +x gen_docs.sh
193
- ./gen_docs.sh
194
- ```
195
-
196
- **We recommend that you view the documentation using `html` for a better experience.**
197
-
198
- For Markdown documentation at:
199
-
200
- https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/docs/markdown/index.md
201
-
202
- ## Examples
203
-
204
- #### WARNING
205
- Before running any code examples, make sure to start the robot first by executing either:
206
-
207
- - For simulation: `roslaunch humanoid_controllers load_kuavo_mujoco_sim.launch` (Example command)
208
- - For real robot: `roslaunch humanoid_controllers load_kuavo_real.launch` (Example command)
209
-
210
- ### Robot Info
211
-
212
- Examples showing how to get basic robot information.
213
-
214
- [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/robot_info_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/robot_info_example.py)
215
-
216
- ### Basic Robot Control
217
-
218
- A basic example showing how to initialize the SDK and control the robot’s movement.
219
-
220
- [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/motion_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/motion_example.py)
221
-
222
- ### End Effector Control
223
-
224
- #### LejuClaw Gripper
225
-
226
- Examples demonstrating how to control the LejuClaw gripper end effector, including position, velocity and torque control.
227
-
228
- [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/lejuclaw_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/lejuclaw_example.py)
229
-
230
- #### QiangNao DexHand
231
-
232
- Examples showing how to control the QiangNao DexHand, a dexterous robotic hand with multiple degrees of freedom for complex manipulation tasks.
233
-
234
- [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/dexhand_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/dexhand_example.py)
235
-
236
- ### Arm Control
237
-
238
- Examples showing arm trajectory control and target pose control.
239
-
240
- [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/ctrl_arm_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/ctrl_arm_example.py)
241
-
242
- ### Forward and Inverse Kinematics
243
-
244
- 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.
245
-
246
- [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/arm_ik_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/arm_ik_example.py)
247
-
248
- ### Head Control
249
-
250
- Examples showing how to control the robot’s head movements, including nodding (pitch) and shaking (yaw) motions.
251
-
252
- [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/ctrl_head_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/ctrl_head_example.py)
253
-
254
- ### Step-by-Step Control
255
-
256
- Examples showing how to control the robot’s movements step by step, including individual foot placement and trajectory control.
257
-
258
- [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/step_control_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/step_control_example.py)
259
-
260
-
261
- ## License
262
-
263
- This project is licensed under the MIT License - see the LICENSE file for details.
264
-
265
- ## Contact & Support
266
-
267
- For any questions, support, or bug reports, please contact:
268
- - Email: edu@lejurobot.com
269
- - Website: https://gitee.com/leju-robot/kuavo-ros-opensource/
270
- - Source Code: https://gitee.com/leju-robot/kuavo-ros-opensource/
271
- - Issue Tracker: https://gitee.com/leju-robot/kuavo-ros-opensource/issues
@@ -1,5 +1,5 @@
1
+ argparse
1
2
  numpy
2
- transitions
3
3
  roslibpy
4
- argparse
5
4
  transforms3d
5
+ transitions