kuavo-humanoid-sdk 1.1.2a924__tar.gz → 1.1.3a1239__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 (123) hide show
  1. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/PKG-INFO +1 -1
  2. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/README.md +1 -1
  3. kuavo_humanoid_sdk-1.1.3a1239/kuavo_humanoid_sdk/common/global_config.py +15 -0
  4. kuavo_humanoid_sdk-1.1.3a1239/kuavo_humanoid_sdk/common/websocket_kuavo_sdk.py +23 -0
  5. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/interfaces/data_types.py +46 -0
  6. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/kuavo/__init__.py +3 -0
  7. kuavo_humanoid_sdk-1.1.3a1239/kuavo_humanoid_sdk/kuavo/core/audio.py +32 -0
  8. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/kuavo/core/core.py +17 -6
  9. kuavo_humanoid_sdk-1.1.3a1239/kuavo_humanoid_sdk/kuavo/core/ros/audio.py +93 -0
  10. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/kuavo/core/ros/control.py +645 -19
  11. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/kuavo/core/ros/param.py +142 -4
  12. kuavo_humanoid_sdk-1.1.3a1239/kuavo_humanoid_sdk/kuavo/core/ros/state.py +694 -0
  13. kuavo_humanoid_sdk-1.1.3a1239/kuavo_humanoid_sdk/kuavo/core/ros/tools.py +158 -0
  14. kuavo_humanoid_sdk-1.1.3a1239/kuavo_humanoid_sdk/kuavo/core/ros/vision.py +276 -0
  15. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/kuavo/core/ros_env.py +229 -1
  16. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/kuavo/dexterous_hand.py +6 -2
  17. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/kuavo/leju_claw.py +6 -2
  18. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/kuavo/robot.py +43 -22
  19. kuavo_humanoid_sdk-1.1.3a1239/kuavo_humanoid_sdk/kuavo/robot_audio.py +39 -0
  20. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/kuavo/robot_info.py +7 -2
  21. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/kuavo/robot_state.py +6 -2
  22. kuavo_humanoid_sdk-1.1.3a1239/kuavo_humanoid_sdk/kuavo/robot_tool.py +62 -0
  23. kuavo_humanoid_sdk-1.1.3a1239/kuavo_humanoid_sdk/kuavo/robot_vision.py +90 -0
  24. kuavo_humanoid_sdk-1.1.3a1239/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AprilTagDetection.py +306 -0
  25. kuavo_humanoid_sdk-1.1.3a1239/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AprilTagDetectionArray.py +437 -0
  26. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/__init__.py +9 -0
  27. {kuavo_humanoid_sdk-1.1.2a924/kuavo_humanoid_sdk/msg/motion_capture_ik → kuavo_humanoid_sdk-1.1.3a1239/kuavo_humanoid_sdk/msg/kuavo_msgs}/msg/_armHandPose.py +2 -2
  28. {kuavo_humanoid_sdk-1.1.2a924/kuavo_humanoid_sdk/msg/motion_capture_ik → kuavo_humanoid_sdk-1.1.3a1239/kuavo_humanoid_sdk/msg/kuavo_msgs}/msg/_handPose.py +2 -2
  29. {kuavo_humanoid_sdk-1.1.2a924/kuavo_humanoid_sdk/msg/motion_capture_ik → kuavo_humanoid_sdk-1.1.3a1239/kuavo_humanoid_sdk/msg/kuavo_msgs}/msg/_ikSolveError.py +13 -13
  30. {kuavo_humanoid_sdk-1.1.2a924/kuavo_humanoid_sdk/msg/motion_capture_ik → kuavo_humanoid_sdk-1.1.3a1239/kuavo_humanoid_sdk/msg/kuavo_msgs}/msg/_ikSolveParam.py +2 -2
  31. {kuavo_humanoid_sdk-1.1.2a924/kuavo_humanoid_sdk/msg/motion_capture_ik → kuavo_humanoid_sdk-1.1.3a1239/kuavo_humanoid_sdk/msg/kuavo_msgs}/msg/_robotArmQVVD.py +2 -2
  32. {kuavo_humanoid_sdk-1.1.2a924/kuavo_humanoid_sdk/msg/motion_capture_ik → kuavo_humanoid_sdk-1.1.3a1239/kuavo_humanoid_sdk/msg/kuavo_msgs}/msg/_twoArmHandPose.py +13 -13
  33. {kuavo_humanoid_sdk-1.1.2a924/kuavo_humanoid_sdk/msg/motion_capture_ik → kuavo_humanoid_sdk-1.1.3a1239/kuavo_humanoid_sdk/msg/kuavo_msgs}/msg/_twoArmHandPoseCmd.py +15 -15
  34. kuavo_humanoid_sdk-1.1.3a1239/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SpeechSynthesis.py +270 -0
  35. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/__init__.py +5 -0
  36. {kuavo_humanoid_sdk-1.1.2a924/kuavo_humanoid_sdk/msg/motion_capture_ik → kuavo_humanoid_sdk-1.1.3a1239/kuavo_humanoid_sdk/msg/kuavo_msgs}/srv/_changeArmCtrlModeKuavo.py +5 -5
  37. {kuavo_humanoid_sdk-1.1.2a924/kuavo_humanoid_sdk/msg/motion_capture_ik → kuavo_humanoid_sdk-1.1.3a1239/kuavo_humanoid_sdk/msg/kuavo_msgs}/srv/_fkSrv.py +13 -13
  38. kuavo_humanoid_sdk-1.1.3a1239/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_playmusic.py +274 -0
  39. {kuavo_humanoid_sdk-1.1.2a924/kuavo_humanoid_sdk/msg/motion_capture_ik → kuavo_humanoid_sdk-1.1.3a1239/kuavo_humanoid_sdk/msg/kuavo_msgs}/srv/_twoArmHandPoseCmdSrv.py +23 -23
  40. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk.egg-info/PKG-INFO +1 -1
  41. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk.egg-info/SOURCES.txt +23 -15
  42. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk.egg-info/requires.txt +1 -0
  43. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/setup.py +1 -0
  44. kuavo_humanoid_sdk-1.1.2a924/kuavo_humanoid_sdk/kuavo/core/ros/state.py +0 -380
  45. kuavo_humanoid_sdk-1.1.2a924/kuavo_humanoid_sdk/msg/motion_capture_ik/msg/__init__.py +0 -9
  46. kuavo_humanoid_sdk-1.1.2a924/kuavo_humanoid_sdk/msg/motion_capture_ik/msg/_headBodyPose.py +0 -145
  47. kuavo_humanoid_sdk-1.1.2a924/kuavo_humanoid_sdk/msg/motion_capture_ik/msg/_robotHandPosition.py +0 -225
  48. kuavo_humanoid_sdk-1.1.2a924/kuavo_humanoid_sdk/msg/motion_capture_ik/srv/__init__.py +0 -4
  49. kuavo_humanoid_sdk-1.1.2a924/kuavo_humanoid_sdk/msg/motion_capture_ik/srv/_changeArmCtrlMode.py +0 -275
  50. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/__init__.py +0 -0
  51. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/common/logger.py +0 -0
  52. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/interfaces/__init__.py +0 -0
  53. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/interfaces/end_effector.py +0 -0
  54. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/interfaces/robot.py +0 -0
  55. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/interfaces/robot_info.py +0 -0
  56. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/kuavo/core/dex_hand_control.py +0 -0
  57. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/kuavo/core/leju_claw_control.py +0 -0
  58. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/kuavo/core/ros/sat_utils.py +0 -0
  59. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/kuavo/robot_arm.py +0 -0
  60. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/kuavo/robot_head.py +0 -0
  61. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/__init__.py +0 -0
  62. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/__init__.py +0 -0
  63. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_Metadata.py +0 -0
  64. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armPoseWithTimeStamp.py +0 -0
  65. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armTargetPoses.py +0 -0
  66. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_dexhandCommand.py +0 -0
  67. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_dexhandTouchState.py +0 -0
  68. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_endEffectorData.py +0 -0
  69. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPose.py +0 -0
  70. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoseTargetTrajectories.py +0 -0
  71. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gaitTimeName.py +0 -0
  72. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gestureInfo.py +0 -0
  73. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gestureTask.py +0 -0
  74. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_headBodyPose.py +0 -0
  75. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_imuData.py +0 -0
  76. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointCmd.py +0 -0
  77. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointData.py +0 -0
  78. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_lejuClawCommand.py +0 -0
  79. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_lejuClawState.py +0 -0
  80. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_questJoySticks.py +0 -0
  81. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotHandPosition.py +0 -0
  82. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotHeadMotionData.py +0 -0
  83. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotState.py +0 -0
  84. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_sensorsData.py +0 -0
  85. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_switchGaitByName.py +0 -0
  86. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_touchSensorStatus.py +0 -0
  87. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_yoloDetection.py +0 -0
  88. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_yoloOutputData.py +0 -0
  89. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeArmCtrlMode.py +0 -0
  90. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeTorsoCtrlMode.py +0 -0
  91. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_controlLejuClaw.py +0 -0
  92. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_enableHandTouchSensor.py +0 -0
  93. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_footPoseTargetTrajectoriesSrv.py +0 -0
  94. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureExecute.py +0 -0
  95. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureExecuteState.py +0 -0
  96. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureList.py +0 -0
  97. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getCurrentGaitName.py +0 -0
  98. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_handForceLevel.py +0 -0
  99. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_jointMoveTo.py +0 -0
  100. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setHwIntialState.py +0 -0
  101. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setMotorEncoderRoundService.py +0 -0
  102. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setTagId.py +0 -0
  103. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_singleStepControl.py +0 -0
  104. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/motion_capture_ik/__init__.py +0 -0
  105. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/ocs2_msgs/__init__.py +0 -0
  106. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/__init__.py +0 -0
  107. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_constraint.py +0 -0
  108. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_controller_data.py +0 -0
  109. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_lagrangian_metrics.py +0 -0
  110. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mode_schedule.py +0 -0
  111. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_flattened_controller.py +0 -0
  112. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_input.py +0 -0
  113. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_observation.py +0 -0
  114. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_performance_indices.py +0 -0
  115. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_solver_data.py +0 -0
  116. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_state.py +0 -0
  117. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_target_trajectories.py +0 -0
  118. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_multiplier.py +0 -0
  119. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/ocs2_msgs/srv/__init__.py +0 -0
  120. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk/msg/ocs2_msgs/srv/_reset.py +0 -0
  121. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk.egg-info/dependency_links.txt +0 -0
  122. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/kuavo_humanoid_sdk.egg-info/top_level.txt +0 -0
  123. {kuavo_humanoid_sdk-1.1.2a924 → kuavo_humanoid_sdk-1.1.3a1239}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kuavo_humanoid_sdk
3
- Version: 1.1.2a924
3
+ Version: 1.1.3a1239
4
4
  Summary: A Python SDK for kuavo humanoid robot.
5
5
  Home-page: https://gitee.com/leju-robot/kuavo-ros-opensource/
6
6
  Author: ['lejurobot']
@@ -3,7 +3,7 @@
3
3
 
4
4
  一个全面的 Python SDK,用于控制 Kuavo 人形机器人。该 SDK 提供了机器人状态管理、手臂和头部控制以及末端执行器操作的接口。它设计用于与 ROS(机器人操作系统)环境一起工作。
5
5
 
6
- **警告**:该 SDK 目前仅支持 **ROS1**。不支持 ROS2。
6
+ **警告**:该 SDK 目前仅支持 **ROS1**。不支持 ROS2。
7
7
 
8
8
  PyPI 项目地址: https://pypi.org/project/kuavo-humanoid-sdk/
9
9
 
@@ -0,0 +1,15 @@
1
+
2
+ class GlobalConfig:
3
+
4
+ _instance = None
5
+
6
+ use_websocket = False
7
+ websocket_host = '127.0.0.1'
8
+ websocket_port = 9090
9
+
10
+ def __new__(cls, *args, **kwargs):
11
+ if cls._instance is None:
12
+ cls._instance = super().__new__(cls)
13
+ return cls._instance
14
+
15
+
@@ -0,0 +1,23 @@
1
+ import roslibpy
2
+ from kuavo_humanoid_sdk.common.global_config import GlobalConfig
3
+
4
+ class WebSocketKuavoSDK:
5
+
6
+ _instance = None
7
+ _initialized = False
8
+
9
+ def __new__(cls, *args, **kwargs):
10
+ if cls._instance is None:
11
+ cls._instance = super().__new__(cls)
12
+ return cls._instance
13
+
14
+ def __init__(self):
15
+ if not self._initialized:
16
+ self._initialized = True
17
+ self.client = roslibpy.Ros(host=GlobalConfig.websocket_host, port=GlobalConfig.websocket_port)
18
+ self.client.run(timeout=GlobalConfig.websocket_timeout)
19
+
20
+
21
+ def __del__(self):
22
+ self.client.terminate()
23
+ self.instance = None
@@ -1,6 +1,7 @@
1
1
  from typing import Tuple
2
2
  from enum import Enum
3
3
  from dataclasses import dataclass
4
+ import numpy as np
4
5
 
5
6
  @dataclass
6
7
  class KuavoJointData:
@@ -143,3 +144,48 @@ class KuavoDexHandTouchState:
143
144
  status: int # 传感器状态
144
145
  # 5 fingers
145
146
  data: Tuple[KuavoTouchState, KuavoTouchState, KuavoTouchState, KuavoTouchState, KuavoTouchState]
147
+
148
+ @dataclass
149
+ class AprilTagData:
150
+ """Represents detected AprilTag information with pose estimation.
151
+
152
+ Attributes:
153
+ id (list): List of detected AprilTag IDs (integers)
154
+ size (list): List of tag physical sizes in meters (floats)
155
+ pose (list): List of PoseQuaternion objects representing tag poses
156
+ """
157
+ id: list
158
+ size: list
159
+ pose: list
160
+
161
+ @dataclass
162
+ class HomogeneousMatrix:
163
+ """4x4 homogeneous transformation matrix for 3D transformations.
164
+
165
+ Represents both rotation and translation in 3D space. Can be used for
166
+ coordinate frame transformations and pose composition.
167
+
168
+ Attributes:
169
+ matrix (np.ndarray): 4x4 numpy array of shape (4, 4) containing::
170
+
171
+ [[R, t],
172
+ [0, 1]]
173
+
174
+ where R is 3x3 rotation matrix and t is 3x1 translation
175
+ """
176
+ matrix: np.ndarray # Shape (4,4) homogeneous transformation matrix
177
+
178
+ @dataclass
179
+ class PoseQuaternion:
180
+ """3D pose representation using position and quaternion orientation.
181
+
182
+ Provides a singularity-free orientation representation. Commonly used
183
+ in robotics for smooth interpolation between orientations.
184
+
185
+ Attributes:
186
+ position (Tuple[float, float, float]): XYZ coordinates in meters
187
+ orientation (Tuple[float, float, float, float]): Unit quaternion in
188
+ (x, y, z, w) format following ROS convention
189
+ """
190
+ position: Tuple[float, float, float]
191
+ orientation: Tuple[float, float, float, float]
@@ -1,7 +1,10 @@
1
1
  from .robot import KuavoSDK, KuavoRobot
2
2
  from .robot_info import KuavoRobotInfo
3
3
  from .robot_state import KuavoRobotState
4
+ from .robot_vision import KuavoRobotVision
5
+ from .robot_tool import KuavoRobotTools
4
6
  from .robot_arm import KuavoRobotArm
5
7
  from .robot_head import KuavoRobotHead
8
+ from .robot_audio import KuavoRobotAudio
6
9
  from .dexterous_hand import DexterousHand, TouchDexterousHand
7
10
  from .leju_claw import LejuClaw
@@ -0,0 +1,32 @@
1
+ import time
2
+ import math
3
+ import threading
4
+ import numpy as np
5
+ from typing import Tuple
6
+ from transitions import Machine, State
7
+
8
+ from kuavo_humanoid_sdk.common.logger import SDKLogger
9
+ from kuavo_humanoid_sdk.kuavo.core.ros.audio import Audio
10
+
11
+ class KuavoRobotAudioCore:
12
+ def __init__(self):
13
+ self.robot_audio = Audio()
14
+
15
+ def play_audio(self, music_number: str, volume: float = 0.5, speed: float = 1.0) -> bool:
16
+ """
17
+ play music
18
+ """
19
+ return self.robot_audio.play_audio(music_number, volume, speed)
20
+
21
+ def stop_music(self) -> bool:
22
+ """
23
+ stop music
24
+ """
25
+ return self.robot_audio.stop_audio()
26
+
27
+ def text_to_speech(self, text: str, volume: float = 0.5) -> bool:
28
+ """
29
+ text to speech
30
+ """
31
+ return self.robot_audio.text_to_speech(text, volume)
32
+
@@ -19,18 +19,19 @@ Each state has an entry callback that handles initialization when entering that
19
19
 
20
20
  import time
21
21
  import math
22
- import rospy
23
22
  import threading
24
23
  import numpy as np
25
24
  from typing import Tuple
26
25
  from transitions import Machine, State
27
26
 
28
27
  from kuavo_humanoid_sdk.interfaces.data_types import KuavoArmCtrlMode, KuavoIKParams, KuavoPose
29
- from kuavo_humanoid_sdk.kuavo.core.ros.control import KuavoRobotControl
30
- from kuavo_humanoid_sdk.kuavo.core.ros.state import KuavoRobotStateCore
28
+ from kuavo_humanoid_sdk.kuavo.core.ros.control import KuavoRobotControl, KuavoRobotControlWebsocket
29
+ from kuavo_humanoid_sdk.kuavo.core.ros.vision import KuavoRobotVisionCore
30
+ from kuavo_humanoid_sdk.kuavo.core.ros.tools import KuavoRobotToolsCore
31
+ from kuavo_humanoid_sdk.kuavo.core.ros.state import KuavoRobotStateCore, KuavoRobotStateCoreWebsocket
31
32
  from kuavo_humanoid_sdk.kuavo.core.ros.param import make_robot_param
32
33
  from kuavo_humanoid_sdk.common.logger import SDKLogger
33
-
34
+ from kuavo_humanoid_sdk.common.global_config import GlobalConfig
34
35
  # Define robot states
35
36
  ROBOT_STATES = [
36
37
  State(name='stance', on_enter=['_on_enter_stance']),
@@ -65,9 +66,19 @@ class KuavoRobotCore:
65
66
  send_event=True
66
67
  )
67
68
  # robot control
68
- self._control = KuavoRobotControl()
69
- self._rb_state = KuavoRobotStateCore()
69
+ if GlobalConfig.use_websocket:
70
+ self._control = KuavoRobotControlWebsocket()
71
+ self._rb_state = KuavoRobotStateCoreWebsocket()
72
+ else:
73
+ self._control = KuavoRobotControl()
74
+ self._rb_state = KuavoRobotStateCore()
75
+ # robot vision
76
+ self._robot_vision = KuavoRobotVisionCore()
77
+ # robot ros tf
78
+ self._robot_tf_tool = KuavoRobotToolsCore()
79
+
70
80
  self._arm_ctrl_mode = KuavoArmCtrlMode.AutoSwing
81
+
71
82
  # register gait changed callback
72
83
  self._rb_state.register_gait_changed_callback(self._humanoid_gait_changed)
73
84
  # initialized
@@ -0,0 +1,93 @@
1
+ #!/usr/bin/env python3
2
+ # coding: utf-8
3
+
4
+ from kuavo_humanoid_sdk.common.logger import SDKLogger
5
+ from kuavo_humanoid_sdk.kuavo.core.core import KuavoRobotCore
6
+
7
+ try:
8
+ import rospy
9
+ from std_msgs.msg import Bool
10
+ from kuavo_humanoid_sdk.msg.kuavo_msgs.srv import playmusic, playmusicRequest
11
+ from kuavo_humanoid_sdk.msg.kuavo_msgs.srv import SpeechSynthesis, SpeechSynthesisRequest
12
+ except ImportError:
13
+ pass
14
+
15
+ class Audio:
16
+ """Audio system interface for controlling audio playback functionality of Kuavo humanoid robot.
17
+
18
+ Provides functionality to play music files.
19
+ """
20
+
21
+ def __init__(self):
22
+ """Initialize the audio system."""
23
+ self._audio_stop_publisher = rospy.Publisher('stop_music', Bool, queue_size=10)
24
+ rospy.sleep(0.5) # Wait for publisher initialization
25
+ def play_audio(self, file_name: str,volume: float = 0.5,speed: float = 1.0) -> bool:
26
+ """Play the specified audio file.
27
+
28
+ Args:
29
+ file_name (str): Name of the audio file to play
30
+
31
+ Returns:
32
+ bool: True if the play request was successfully sent, False otherwise
33
+ """
34
+ try:
35
+ # Wait for service availability
36
+ rospy.wait_for_service('play_music', timeout=2.0)
37
+ # Create service client
38
+ play_music_service = rospy.ServiceProxy('play_music', playmusic)
39
+ # Call service
40
+ request = playmusicRequest()
41
+ request.music_number = file_name
42
+ volume = min(max(volume , 0), 1.0)
43
+ request.volume = volume
44
+ request.speed = speed
45
+ response = play_music_service(request)
46
+ SDKLogger.info(f"[Robot Audio] Requested to play audio file: {file_name}")
47
+ return True
48
+ except rospy.ROSException as e:
49
+ SDKLogger.error(f"[Robot Audio] Audio playback service unavailable: {str(e)}")
50
+ return False
51
+ except Exception as e:
52
+ SDKLogger.error(f"[Robot Audio] Failed to play audio file: {str(e)}")
53
+ return False
54
+
55
+ def stop_audio(self):
56
+ """Stop the currently playing audio."""
57
+ try:
58
+ msg = Bool()
59
+ msg.data = True
60
+ self._audio_stop_publisher.publish(msg)
61
+ SDKLogger.info("[Robot Audio] Requested to stop audio playback")
62
+ return True
63
+ except Exception as e:
64
+ SDKLogger.error(f"[Robot Audio] Failed to stop audio playback: {str(e)}")
65
+ return False
66
+
67
+ def text_to_speech(self, text: str,volume: float = 0.5) -> bool:
68
+ """Synthesize and play the specified text.
69
+
70
+ Args:
71
+ text (str): Text to be played
72
+
73
+ Returns:
74
+ bool: True if the play request was successfully sent, False otherwise
75
+ """
76
+ try:
77
+ # Wait for service availability
78
+ rospy.wait_for_service('play_music', timeout=2.0)
79
+ # Create service client
80
+ play_music_service = rospy.ServiceProxy('speech_synthesis', SpeechSynthesis)
81
+ # Call service
82
+ request = SpeechSynthesisRequest()
83
+ request.data = text
84
+ request.volume = volume
85
+ response = play_music_service(request)
86
+ SDKLogger.info(f"[Robot Audio] Requested to play audio text: {text}")
87
+ return True
88
+ except rospy.ROSException as e:
89
+ SDKLogger.error(f"[Robot Audio] Audio playback service unavailable: {str(e)}")
90
+ return False
91
+ except Exception as e:
92
+ SDKLogger.error(f"[Robot Audio] Failed to play audio text: {str(e)}")
93
+ return False