kuavo-humanoid-sdk 1.2.1b3321__tar.gz → 1.2.2__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.

Potentially problematic release.


This version of kuavo-humanoid-sdk might be problematic. Click here for more details.

Files changed (195) hide show
  1. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/PKG-INFO +11 -11
  2. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/README.md +42 -1
  3. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/interfaces/data_types.py +0 -12
  4. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/kuavo/__init__.py +1 -6
  5. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/kuavo/core/core.py +22 -76
  6. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/kuavo/core/ros/audio.py +9 -27
  7. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/kuavo/core/ros/control.py +30 -245
  8. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/kuavo/core/ros/param.py +15 -33
  9. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/kuavo/core/ros/state.py +3 -50
  10. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/kuavo/core/ros/tools.py +2 -3
  11. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/kuavo/core/ros_env.py +0 -1
  12. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/kuavo/dexterous_hand.py +1 -38
  13. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/kuavo/robot.py +57 -238
  14. kuavo_humanoid_sdk-1.2.2/kuavo_humanoid_sdk/kuavo/robot_arm.py +210 -0
  15. kuavo_humanoid_sdk-1.2.2/kuavo_humanoid_sdk/kuavo/robot_head.py +50 -0
  16. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/kuavo/robot_info.py +1 -22
  17. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/kuavo/robot_state.py +1 -12
  18. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/kuavo/robot_tool.py +2 -29
  19. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/kuavo/robot_vision.py +2 -0
  20. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/kuavo_strategy/grasp_box/grasp_box_strategy.py +134 -333
  21. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/kuavo_strategy/kuavo_strategy.py +3 -5
  22. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/__init__.py +1 -15
  23. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armHandPose.py +1 -2
  24. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armTargetPoses.py +4 -24
  25. kuavo_humanoid_sdk-1.2.2/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_questJoySticks.py +191 -0
  26. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_sensorsData.py +5 -165
  27. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPose.py +1 -2
  28. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseCmd.py +1 -2
  29. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/__init__.py +0 -14
  30. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_fkSrv.py +1 -2
  31. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_planArmTrajectoryBezierCurve.py +0 -1
  32. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_twoArmHandPoseCmdSrv.py +2 -4
  33. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk.egg-info/PKG-INFO +11 -11
  34. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk.egg-info/SOURCES.txt +1 -50
  35. kuavo_humanoid_sdk-1.2.2/kuavo_humanoid_sdk.egg-info/requires.txt +2 -0
  36. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/setup.py +2 -13
  37. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/kuavo/core/llm_doubao.py +0 -608
  38. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/kuavo/core/microphone.py +0 -192
  39. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/kuavo/core/navigation.py +0 -70
  40. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/kuavo/core/ros/camera.py +0 -105
  41. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/kuavo/core/ros/microphone.py +0 -38
  42. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/kuavo/core/ros/navigation.py +0 -217
  43. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/kuavo/core/sdk_deprecated.py +0 -41
  44. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/kuavo/demo_climbstair.py +0 -249
  45. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/kuavo/logger_client.py +0 -80
  46. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/kuavo/robot_arm.py +0 -411
  47. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/kuavo/robot_blockly.py +0 -1154
  48. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/kuavo/robot_climbstair.py +0 -1607
  49. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/kuavo/robot_head.py +0 -95
  50. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/kuavo/robot_microphone.py +0 -19
  51. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/kuavo/robot_navigation.py +0 -135
  52. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/kuavo/robot_speech.py +0 -24
  53. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/kuavo_strategy_v2/common/data_type.py +0 -340
  54. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/kuavo_strategy_v2/common/events/base_event.py +0 -215
  55. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/kuavo_strategy_v2/common/robot_sdk.py +0 -25
  56. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/case.py +0 -331
  57. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/strategy.py +0 -504
  58. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/kuavo_strategy_v2/utils/logger_setup.py +0 -40
  59. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/kuavo_strategy_v2/utils/utils.py +0 -88
  60. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AudioReceiverData.py +0 -122
  61. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_FTsensorData.py +0 -260
  62. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_MmDetectionMsg.py +0 -264
  63. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_TaskPoint.py +0 -175
  64. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armCollisionCheckInfo.py +0 -160
  65. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPose6D.py +0 -123
  66. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPose6DTargetTrajectories.py +0 -320
  67. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoseWithVision.py +0 -136
  68. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoseWithVisionArray.py +0 -231
  69. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoses6D.py +0 -149
  70. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_kuavoModeSchedule.py +0 -224
  71. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_picoPoseInfo.py +0 -143
  72. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_picoPoseInfoList.py +0 -220
  73. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotBodyMatrices.py +0 -332
  74. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_tagDataArray.py +0 -216
  75. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_CreatePath.py +0 -581
  76. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_GetAllMaps.py +0 -241
  77. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_GetCurrentMap.py +0 -225
  78. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_GetTargetPartPoseInCamera.py +0 -298
  79. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_InitialPoseWithTaskPoint.py +0 -281
  80. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_LoadMap.py +0 -281
  81. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_NavigateToTaskPoint.py +0 -281
  82. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetInitialPose.py +0 -394
  83. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetLEDMode.py +0 -468
  84. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetLEDMode_free.py +0 -289
  85. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_TaskPointOperation.py +0 -536
  86. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_adjustZeroPoint.py +0 -277
  87. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_footPose6DTargetTrajectoriesSrv.py +0 -426
  88. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getMotorZeroPoints.py +0 -286
  89. kuavo_humanoid_sdk-1.2.1b3321/kuavo_humanoid_sdk.egg-info/requires.txt +0 -8
  90. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/__init__.py +0 -0
  91. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/common/logger.py +0 -0
  92. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/interfaces/__init__.py +0 -0
  93. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/interfaces/end_effector.py +0 -0
  94. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/interfaces/robot.py +0 -0
  95. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/interfaces/robot_info.py +0 -0
  96. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/kuavo/core/audio.py +0 -0
  97. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/kuavo/core/dex_hand_control.py +0 -0
  98. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/kuavo/core/leju_claw_control.py +0 -0
  99. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/kuavo/core/ros/observation.py +0 -0
  100. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/kuavo/core/ros/sat_utils.py +0 -0
  101. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/kuavo/core/ros/vision.py +0 -0
  102. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/kuavo/leju_claw.py +0 -0
  103. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/kuavo/robot_audio.py +0 -0
  104. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/kuavo/robot_observation.py +0 -0
  105. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/kuavo_strategy/__init__.py +0 -0
  106. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/__init__.py +0 -0
  107. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/__init__.py +0 -0
  108. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AprilTagDetection.py +0 -0
  109. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AprilTagDetectionArray.py +0 -0
  110. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_JoySticks.py +0 -0
  111. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_Metadata.py +0 -0
  112. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_RobotActionState.py +0 -0
  113. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_TFArray.py +0 -0
  114. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armHandPoseFree.py +0 -0
  115. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armPoseWithTimeStamp.py +0 -0
  116. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_bezierCurveCubicPoint.py +0 -0
  117. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_dexhandCommand.py +0 -0
  118. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_dexhandTouchState.py +0 -0
  119. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_endEffectorData.py +0 -0
  120. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPose.py +0 -0
  121. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoseTargetTrajectories.py +0 -0
  122. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoses.py +0 -0
  123. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_fullBodyTargetTrajectories.py +0 -0
  124. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gaitTimeName.py +0 -0
  125. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gestureInfo.py +0 -0
  126. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gestureTask.py +0 -0
  127. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_handPose.py +0 -0
  128. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_headBodyPose.py +0 -0
  129. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_ikSolveError.py +0 -0
  130. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_ikSolveParam.py +0 -0
  131. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_imuData.py +0 -0
  132. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointBezierTrajectory.py +0 -0
  133. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointCmd.py +0 -0
  134. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointData.py +0 -0
  135. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_lejuClawCommand.py +0 -0
  136. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_lejuClawState.py +0 -0
  137. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_motorParam.py +0 -0
  138. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_planArmState.py +0 -0
  139. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_qv.py +0 -0
  140. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotArmQVVD.py +0 -0
  141. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotHandPosition.py +0 -0
  142. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotHeadMotionData.py +0 -0
  143. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotState.py +0 -0
  144. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_switchGaitByName.py +0 -0
  145. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_touchSensorStatus.py +0 -0
  146. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseCmdFree.py +0 -0
  147. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseFree.py +0 -0
  148. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_yoloDetection.py +0 -0
  149. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_yoloOutputData.py +0 -0
  150. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_ExecuteArmAction.py +0 -0
  151. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_RepublishTFs.py +0 -0
  152. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetJoyTopic.py +0 -0
  153. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SpeechSynthesis.py +0 -0
  154. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeArmCtrlMode.py +0 -0
  155. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeArmCtrlModeKuavo.py +0 -0
  156. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeMotorParam.py +0 -0
  157. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeTorsoCtrlMode.py +0 -0
  158. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_controlLejuClaw.py +0 -0
  159. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_enableHandTouchSensor.py +0 -0
  160. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_footPoseTargetTrajectoriesSrv.py +0 -0
  161. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureExecute.py +0 -0
  162. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureExecuteState.py +0 -0
  163. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureList.py +0 -0
  164. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getCurrentGaitName.py +0 -0
  165. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getMotorParam.py +0 -0
  166. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_handForceLevel.py +0 -0
  167. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_jointMoveTo.py +0 -0
  168. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_planArmTrajectoryCubicSpline.py +0 -0
  169. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_playmusic.py +0 -0
  170. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setHwIntialState.py +0 -0
  171. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setMmCtrlFrame.py +0 -0
  172. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setMotorEncoderRoundService.py +0 -0
  173. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setTagId.py +0 -0
  174. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_singleStepControl.py +0 -0
  175. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_twoArmHandPoseCmdFreeSrv.py +0 -0
  176. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/motion_capture_ik/__init__.py +0 -0
  177. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/ocs2_msgs/__init__.py +0 -0
  178. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/__init__.py +0 -0
  179. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_constraint.py +0 -0
  180. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_controller_data.py +0 -0
  181. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_lagrangian_metrics.py +0 -0
  182. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mode_schedule.py +0 -0
  183. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_flattened_controller.py +0 -0
  184. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_input.py +0 -0
  185. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_observation.py +0 -0
  186. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_performance_indices.py +0 -0
  187. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_solver_data.py +0 -0
  188. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_state.py +0 -0
  189. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_target_trajectories.py +0 -0
  190. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_multiplier.py +0 -0
  191. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/ocs2_msgs/srv/__init__.py +0 -0
  192. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk/msg/ocs2_msgs/srv/_reset.py +0 -0
  193. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk.egg-info/dependency_links.txt +0 -0
  194. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/kuavo_humanoid_sdk.egg-info/top_level.txt +0 -0
  195. {kuavo_humanoid_sdk-1.2.1b3321 → kuavo_humanoid_sdk-1.2.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kuavo_humanoid_sdk
3
- Version: 1.2.1b3321
3
+ Version: 1.2.2
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']
@@ -37,7 +37,7 @@ Description-Content-Type: text/markdown
37
37
  - 躯干状态(位置、姿态、速度)
38
38
  - 里程计信息
39
39
  - 末端执行器状态:
40
- - 夹爪(lejuclaw): 位置、速度、力矩、抓取状态
40
+ - 夹持器(lejuclaw): 位置、速度、力矩、抓取状态
41
41
  - 灵巧手(qiangnao): 位置、速度、力矩
42
42
  - 触觉灵巧手(qiangnao_touch): 位置、速度、力矩、触觉状态
43
43
  - 末端执行器位置和姿态
@@ -50,7 +50,7 @@ Description-Content-Type: text/markdown
50
50
  - 用于计算末端执行器位姿的正运动学(FK)
51
51
  - 复杂动作的关键帧序列控制
52
52
  - 末端执行器控制
53
- - 夹爪控制(可配置速度和力矩的位置控制)
53
+ - 夹持器控制(可配置速度和力矩的位置控制)
54
54
  - 灵巧手控制
55
55
  - 位置控制
56
56
  - 预定义手势(OK、666、握拳等)控制
@@ -228,13 +228,13 @@ https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid
228
228
 
229
229
  一个获取机器人基本信息的示例。
230
230
 
231
- [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/atomic_skills/robot_info_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/atomic_skills/robot_info_example.py)
231
+ [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)
232
232
 
233
233
  ### 运动控制示例
234
234
 
235
235
  一个基本示例,用于初始化 SDK 并控制机器人运动。
236
236
 
237
- [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/atomic_skills/motion_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/atomic_skills/motion_example.py)
237
+ [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)
238
238
 
239
239
  ### 末端执行器控制示例
240
240
 
@@ -242,37 +242,37 @@ https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid
242
242
 
243
243
  展示如何控制 LejuClaw 夹爪末端执行器的示例,包括位置、速度和力矩控制。
244
244
 
245
- [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/atomic_skills/lejuclaw_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/atomic_skills/lejuclaw_example.py)
245
+ [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)
246
246
 
247
247
  #### QiangNao 灵巧手
248
248
 
249
249
  展示如何控制 QiangNao 灵巧手的示例,这是一个具有多个自由度的灵巧机器人手,可用于复杂的操作任务。
250
250
 
251
- [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/atomic_skills/dexhand_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/atomic_skills/dexhand_example.py)
251
+ [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)
252
252
 
253
253
  ### 手臂控制示例
254
254
 
255
255
  展示手臂轨迹控制和目标姿态控制的示例。
256
256
 
257
- [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/atomic_skills/ctrl_arm_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/atomic_skills/ctrl_arm_example.py)
257
+ [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)
258
258
 
259
259
  ### 手臂正向运动学和逆向运动学示例
260
260
 
261
261
  展示如何使用正向运动学(FK)从关节角度计算末端执行器位置,以及如何使用逆向运动学(IK)计算实现期望末端执行器姿态所需的关节角度的示例。
262
262
 
263
- [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/atomic_skills/arm_ik_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/atomic_skills/arm_ik_example.py)
263
+ [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)
264
264
 
265
265
  ### 头部控制示例
266
266
 
267
267
  展示如何控制机器人头部运动的示例,包括点头(俯仰)和摇头(偏航)动作。
268
268
 
269
- [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/atomic_skills/ctrl_head_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/atomic_skills/ctrl_head_example.py)
269
+ [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)
270
270
 
271
271
  ### 单步控制示例
272
272
 
273
273
  展示如何控制机器人按照自定义落足点轨迹运动的示例。
274
274
 
275
- [https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/atomic_skills/step_control_example.py](https://gitee.com/leju-robot/kuavo-ros-opensource/tree/master/src/kuavo_humanoid_sdk/examples/atomic_skills/step_control_example.py)
275
+ [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)
276
276
 
277
277
 
278
278
  ## 许可证
@@ -77,8 +77,49 @@ chmod +x ./gen_docs.sh
77
77
  ![](docs/images/image.png)
78
78
 
79
79
  ## 搬箱子案例
80
+ **编译**:
81
+ ```
82
+ catkin build humanoid_controllers kuavo_msgs gazebo_sim ar_control
83
+ ```
84
+
85
+ **运行**:
86
+
87
+ ⚠️ 在运行之前, 需要确认机器人版本`ROBOT_VERSION=45`,否则会机器人末端控制会有问题
88
+ ```
89
+ # 启动gazebo场景
90
+ roslaunch humanoid_controllers load_kuavo_gazebo_manipulate.launch joystick_type:=bt2pro
91
+
92
+ # 启动ar_tag转换码操作和virtual操作
93
+ roslaunch ar_control robot_strategies.launch
94
+
95
+ # 运行搬箱子案例
96
+ python3 grasp_box_example.py
97
+ ```
98
+
99
+ 🚨 第一次启动gazebo场景前需要修改tag尺寸:
100
+
101
+ 在`/opt/ros/noetic/share/apriltag_ros/config/tags.yaml`文件中将tag的size尺寸修改为和立方体tag码的尺寸一致(只需做一次)
102
+ ```
103
+ standalone_tags:
104
+ [
105
+ {id: 0, size: 0.088, name: 'tag_0'},
106
+ {id: 1, size: 0.088, name: 'tag_1'},
107
+ {id: 2, size: 0.088, name: 'tag_2'},
108
+ {id: 3, size: 0.088, name: 'tag_3'},
109
+ {id: 4, size: 0.088, name: 'tag_4'},
110
+ {id: 5, size: 0.088, name: 'tag_5'},
111
+ {id: 6, size: 0.088, name: 'tag_6'},
112
+ {id: 7, size: 0.088, name: 'tag_7'},
113
+ {id: 8, size: 0.088, name: 'tag_8'},
114
+ {id: 9, size: 0.088, name: 'tag_9'},
115
+ ]
116
+ ```
117
+ 🚨 每次启动gazebo场景后需要手动打光:
118
+
119
+ 需要在机器人腰部位置附近给个点光源,否则会找不到tag
120
+
121
+ ![](docs/images/gazebo.jpg)
80
122
 
81
- 请参阅 html 或 markdown 文档中,**策略模块/搬箱子示例**章节内容,获取更多信息。
82
123
 
83
124
  **测试**
84
125
  ```
@@ -129,18 +129,6 @@ class KuavoPose:
129
129
  position: Tuple[float, float, float] # x, y, z
130
130
  orientation: Tuple[float, float, float, float] # x, y, z, w
131
131
 
132
- def __str__(self) -> str:
133
- """Returns a formatted string representation of the pose.
134
-
135
- Returns:
136
- str: Formatted pose string with position and orientation
137
- """
138
- return (
139
- f"Position (x,y,z): ({self.position[0]:.3f}, {self.position[1]:.3f}, {self.position[2]:.3f})\n"
140
- f"Orientation (x,y,z,w): ({self.orientation[0]:.3f}, {self.orientation[1]:.3f}, "
141
- f"{self.orientation[2]:.3f}, {self.orientation[3]:.3f})"
142
- )
143
-
144
132
  @dataclass
145
133
  class KuavoIKParams:
146
134
  """表示IK节点参数的数据类。"""
@@ -8,9 +8,4 @@ from .robot_head import KuavoRobotHead
8
8
  from .robot_audio import KuavoRobotAudio
9
9
  from .dexterous_hand import DexterousHand, TouchDexterousHand
10
10
  from .leju_claw import LejuClaw
11
- from .robot_observation import KuavoRobotObservation
12
- from .robot_blockly import RobotControlBlockly
13
- from .robot_microphone import RobotMicrophone
14
- from .robot_navigation import RobotNavigation
15
- from .robot_speech import RobotSpeech
16
- from .dexterous_hand import DexterousHand
11
+ from .robot_observation import KuavoRobotObservation
@@ -29,7 +29,6 @@ from kuavo_humanoid_sdk.kuavo.core.ros.control import KuavoRobotControl
29
29
  from kuavo_humanoid_sdk.kuavo.core.ros.state import KuavoRobotStateCore
30
30
  from kuavo_humanoid_sdk.kuavo.core.ros.param import make_robot_param
31
31
  from kuavo_humanoid_sdk.common.logger import SDKLogger
32
- from kuavo_humanoid_sdk.kuavo.logger_client import get_logger
33
32
  # Define robot states
34
33
  ROBOT_STATES = [
35
34
  State(name='stance', on_enter=['_on_enter_stance']),
@@ -60,7 +59,6 @@ class KuavoRobotCore:
60
59
 
61
60
  def __init__(self):
62
61
  if not hasattr(self, '_initialized'):
63
- self.logger = get_logger() # ✅ 初始化日志客户端(全局唯一)
64
62
  self.machine = Machine(
65
63
  model=self,
66
64
  states=ROBOT_STATES,
@@ -123,8 +121,8 @@ class KuavoRobotCore:
123
121
  raise RuntimeError(f"[Core] initialize failed: \n"
124
122
  f"{e}, please check the robot is launched, "
125
123
  f"e.g. `roslaunch humanoid_controllers load_kuavo_real.launch`")
126
- self._rb_info = make_robot_param()
127
- success, err_msg = self._control.initialize(eef_type=self._rb_info["end_effector_type"], debug=debug)
124
+ rb_info = make_robot_param()
125
+ success, err_msg = self._control.initialize(eef_type=rb_info["end_effector_type"], debug=debug)
128
126
  if not success:
129
127
  raise RuntimeError(f"[Core] initialize failed: \n{err_msg}, please check the robot is launched, "
130
128
  f"e.g. `roslaunch humanoid_controllers load_kuavo_real.launch`")
@@ -228,14 +226,6 @@ class KuavoRobotCore:
228
226
  if abs(pitch) > MAX_PITCH:
229
227
  SDKLogger.warn(f"[Core] pitch {pitch} exceeds limit [{MIN_PITCH}, {MAX_PITCH}], will be limited")
230
228
 
231
- # 结合当前高度做过滤
232
- target_height = self._rb_info['init_stand_height'] + limited_height
233
- # 躯干上升运动变化不宜过大, 目标高度减去实时躯干高度大于阈值
234
- HEIGHT_CHANGE_THRESHOLD = 0.25
235
- if (self._rb_state.com_height < target_height) and (target_height - self._rb_state.com_height) >= HEIGHT_CHANGE_THRESHOLD:
236
- limited_height = (self._rb_state.com_height + HEIGHT_CHANGE_THRESHOLD) - self._rb_info['init_stand_height']
237
- print(f"\033[33mWarning! Height change too large, limiting to safe range,reset height to {limited_height}\033[0m")
238
-
239
229
  return self._control.control_torso_height(limited_height, limited_pitch)
240
230
 
241
231
  def step_control(self, target_pose:list, dt:float=0.4, is_left_first_default:bool=True, collision_check:bool=True)->bool:
@@ -263,21 +253,17 @@ class KuavoRobotCore:
263
253
  com_height = self._rb_state.com_height
264
254
  # print(f"[Core] Current COM height: {com_height:.2f}m")
265
255
  # Check height limits based on current COM height
266
- MIN_COM_HEIGHT = self._rb_info['init_stand_height'] - 0.15 # Minimum allowed COM height in meters
267
- MAX_COM_HEIGHT = self._rb_info['init_stand_height'] + 0.02 # Maximum allowed COM height in meters
256
+ MIN_COM_HEIGHT = 0.66 # Minimum allowed COM height in meters
257
+ MAX_COM_HEIGHT = 0.86 # Maximum allowed COM height in meters
268
258
 
269
- if com_height < MIN_COM_HEIGHT:
270
- print(f"\033[31m[Core] Torso height too low, control failed: current COM height {com_height:.2f}m is below the minimum allowed height {MIN_COM_HEIGHT}m\033[0m")
271
- return False
272
-
273
259
  # Validate COM height constraints
274
260
  if target_pose[2] < 0 and com_height < MIN_COM_HEIGHT:
275
- print(f"\033[33mWarning! Cannot squat lower: COM height {com_height:.2f}m below minimum {MIN_COM_HEIGHT}m\033[0m")
276
- return False
261
+ SDKLogger.warn(f"[Core] Cannot squat lower: COM height {com_height:.2f}m below minimum {MIN_COM_HEIGHT}m")
262
+ return None
277
263
 
278
264
  if target_pose[2] > 0 and com_height > MAX_COM_HEIGHT:
279
- print(f"\033[33mWarning! Cannot stand higher: COM height {com_height:.2f}m above maximum {MAX_COM_HEIGHT}m\033[0m")
280
- return False
265
+ SDKLogger.warn(f"[Core] Cannot stand higher: COM height {com_height:.2f}m above maximum {MAX_COM_HEIGHT}m")
266
+ return None
281
267
 
282
268
  # Ensure target height is within allowed range if height change requested
283
269
  if target_pose[2] != 0:
@@ -289,7 +275,8 @@ class KuavoRobotCore:
289
275
  SDKLogger.warn(f"[Core] Target height {target_height:.2f}m above maximum {MAX_COM_HEIGHT}m, limiting")
290
276
  target_pose[2] = MAX_COM_HEIGHT - com_height
291
277
 
292
- if com_height > (self._rb_info['init_stand_height']-0.03):
278
+ # TODO(kuavo): 根据实物测试来调整....
279
+ if com_height > 0.82:
293
280
  max_x_step = 0.20
294
281
  max_y_step = 0.20
295
282
  max_yaw_step = 90
@@ -390,18 +377,7 @@ class KuavoRobotCore:
390
377
  # e.g., limit ranges for safety
391
378
  self.to_command_pose_world()
392
379
  return self._control.control_command_pose_world(target_pose_x, target_pose_y, target_pose_z, target_pose_yaw)
393
-
394
- def control_robot_arm_target_poses(self, times: list, joint_q: list) -> bool:
395
- if self.state != 'stance':
396
- raise RuntimeError("[Core] control_robot_arm_target_poses failed: robot must be in stance state")
397
-
398
- if self._arm_ctrl_mode != KuavoArmCtrlMode.ExternalControl:
399
- SDKLogger.debug("[Core] control_robot_arm_target_poses, current arm mode != ExternalControl, change it.")
400
- if not self.change_robot_arm_ctrl_mode(KuavoArmCtrlMode.ExternalControl):
401
- SDKLogger.warn("[Core] control_robot_arm_target_poses failed, change robot arm ctrl mode failed!")
402
- return False
403
-
404
- return self._control.control_robot_arm_target_poses(times, joint_q)
380
+
405
381
  def execute_gesture(self, gestures:list)->bool:
406
382
  return self._control.execute_gesture(gestures)
407
383
 
@@ -434,8 +410,6 @@ class KuavoRobotCore:
434
410
  if self.state != 'stance':
435
411
  raise RuntimeError(f"[Core] control_robot_arm_joint_positions failed: robot must be in stance state, current state: {self.state}")
436
412
 
437
- if self._control.is_arm_collision_mode() and self._control.is_arm_collision():
438
- raise RuntimeError(f"Arm collision detected, cannot publish arm trajectory")
439
413
  # change to external control mode
440
414
  if self._arm_ctrl_mode != KuavoArmCtrlMode.ExternalControl:
441
415
  SDKLogger.debug("[Core] control_robot_arm_joint_positions, current arm mode != ExternalControl, change it.")
@@ -447,9 +421,6 @@ class KuavoRobotCore:
447
421
  def control_robot_arm_joint_trajectory(self, times:list, joint_q:list)->bool:
448
422
  if self.state != 'stance':
449
423
  raise RuntimeError("[Core] control_robot_arm_joint_trajectory failed: robot must be in stance state")
450
-
451
- if self._control.is_arm_collision_mode() and self._control.is_arm_collision():
452
- raise RuntimeError(f"Arm collision detected, cannot publish arm trajectory")
453
424
 
454
425
  if self._arm_ctrl_mode != KuavoArmCtrlMode.ExternalControl:
455
426
  SDKLogger.debug("[Core] control_robot_arm_joint_trajectory, current arm mode != ExternalControl, change it.")
@@ -474,9 +445,6 @@ class KuavoRobotCore:
474
445
 
475
446
  return self._control.control_robot_end_effector_pose(left_pose, right_pose, frame)
476
447
 
477
- def control_hand_wrench(self, left_wrench: list, right_wrench: list) -> bool:
478
- return self._control.control_hand_wrench(left_wrench, right_wrench)
479
-
480
448
  def change_manipulation_mpc_frame(self, frame: KuavoManipulationMpcFrame)->bool:
481
449
  timeout = 1.0
482
450
  count = 0
@@ -538,15 +506,19 @@ class KuavoRobotCore:
538
506
  return True
539
507
 
540
508
  def change_robot_arm_ctrl_mode(self, mode:KuavoArmCtrlMode)->bool:
541
-
542
- if self._control.is_arm_collision_mode() and self.is_arm_collision():
543
- SDKLogger.warn("[Core] change_robot_arm_ctrl_mode failed, arm collision detected!")
544
- return False
545
-
509
+ timeout = 1.0
546
510
  count = 0
547
- if self._rb_state.arm_control_mode != mode:
511
+ while self._rb_state.arm_control_mode != mode:
548
512
  SDKLogger.debug(f"[Core] Change robot arm control from {self._rb_state.arm_control_mode} to {mode}, retry: {count}")
549
513
  self._control.change_robot_arm_ctrl_mode(mode)
514
+ if self._rb_state.arm_control_mode == mode:
515
+ break
516
+ if timeout <= 0:
517
+ SDKLogger.warn("[Core] Change robot arm control mode timeout!")
518
+ return False
519
+ timeout -= 0.1
520
+ time.sleep(0.1)
521
+ count += 1
550
522
 
551
523
  if not hasattr(self, '_arm_ctrl_mode_lock'):
552
524
  self._arm_ctrl_mode_lock = threading.Lock()
@@ -600,23 +572,10 @@ class KuavoRobotCore:
600
572
  params: KuavoIKParams=None) -> list:
601
573
  return self._control.arm_ik(l_eef_pose, r_eef_pose, l_elbow_pos_xyz, r_elbow_pos_xyz, arm_q0, params)
602
574
 
603
- def arm_ik_free(self,
604
- l_eef_pose: KuavoPose,
605
- r_eef_pose: KuavoPose,
606
- l_elbow_pos_xyz: list = [0.0, 0.0, 0.0],
607
- r_elbow_pos_xyz: list = [0.0, 0.0, 0.0],
608
- arm_q0: list = None,
609
- params: KuavoIKParams=None) -> list:
610
- return self._control.arm_ik_free(l_eef_pose, r_eef_pose, l_elbow_pos_xyz, r_elbow_pos_xyz, arm_q0, params)
611
575
 
612
576
  def arm_fk(self, q: list) -> Tuple[KuavoPose, KuavoPose]:
613
577
  return self._control.arm_fk(q)
614
578
 
615
- """ ------------------------------------------------------------------------"""
616
- """ Base Pitch Limit Control """
617
- def enable_base_pitch_limit(self, enable: bool) -> Tuple[bool, str]:
618
- return self._control.enable_base_pitch_limit(enable)
619
- """ ------------------------------------------------------------------------"""
620
579
  """ Callbacks """
621
580
  def _humanoid_gait_changed(self, current_time: float, gait_name: str):
622
581
  if self.state != gait_name:
@@ -627,19 +586,6 @@ class KuavoRobotCore:
627
586
  # Call the transition method if it exists
628
587
  getattr(self, to_method)()
629
588
 
630
- def is_arm_collision(self)->bool:
631
- return self._control.is_arm_collision()
632
-
633
- def release_arm_collision_mode(self):
634
-
635
- self._control.release_arm_collision_mode()
636
-
637
-
638
- def wait_arm_collision_complete(self):
639
- self._control.wait_arm_collision_complete()
640
-
641
- def set_arm_collision_mode(self, enable: bool):
642
- self._control.set_arm_collision_mode(enable)
643
589
 
644
590
  if __name__ == "__main__":
645
591
  DEBUG_MODE = 0
@@ -663,4 +609,4 @@ if __name__ == "__main__":
663
609
  print("state now is to_trot:", core.state)
664
610
  time.sleep(3.0)
665
611
  core.to_stance()
666
- print("state now is to_stance:", core.state)
612
+ print("state now is to_stance:", core.state)
@@ -1,11 +1,16 @@
1
1
  #!/usr/bin/env python3
2
2
  # coding: utf-8
3
- import rospy
4
- from std_msgs.msg import Bool, Int16MultiArray
5
3
  from kuavo_humanoid_sdk.common.logger import SDKLogger
6
4
  from kuavo_humanoid_sdk.kuavo.core.core import KuavoRobotCore
7
- from kuavo_humanoid_sdk.msg.kuavo_msgs.srv import playmusic, playmusicRequest
8
- from kuavo_humanoid_sdk.msg.kuavo_msgs.srv import SpeechSynthesis, SpeechSynthesisRequest
5
+
6
+ try:
7
+ import rospy
8
+ from std_msgs.msg import Bool
9
+ from kuavo_humanoid_sdk.msg.kuavo_msgs.srv import playmusic, playmusicRequest
10
+ from kuavo_humanoid_sdk.msg.kuavo_msgs.srv import SpeechSynthesis, SpeechSynthesisRequest
11
+ except:
12
+ pass
13
+
9
14
  class Audio:
10
15
  """Audio system interface for controlling audio playback functionality of Kuavo humanoid robot.
11
16
 
@@ -15,7 +20,6 @@ class Audio:
15
20
  def __init__(self):
16
21
  """Initialize the audio system."""
17
22
  self._audio_stop_publisher = rospy.Publisher('stop_music', Bool, queue_size=10)
18
- self.audio_data_publisher = rospy.Publisher('audio_data', Int16MultiArray, queue_size=10)
19
23
  rospy.sleep(0.5) # Wait for publisher initialization
20
24
  def play_audio(self, file_name: str, volume: int = 100, speed: float = 1.0) -> bool:
21
25
  """Play the specified audio file.
@@ -86,25 +90,3 @@ class Audio:
86
90
  SDKLogger.error(f"[Robot Audio] Failed to play audio text: {str(e)}")
87
91
  return False
88
92
 
89
- def publish_audio_chunk(self, audio_chunk, gain: int = 1):
90
- """Publish a single audio chunk to the topic, for real-time audio streaming"""
91
- try:
92
- if not audio_chunk:
93
- return False
94
-
95
- # 应用增益
96
- amplified_chunk = [int(sample * gain) for sample in audio_chunk]
97
-
98
- # 创建并发布消息
99
- msg = Int16MultiArray()
100
- msg.data = amplified_chunk
101
-
102
- self.audio_data_publisher.publish(msg)
103
- # SDKLogger.debug(f"[Robot Audio] 发布音频块,大小: {len(amplified_chunk)}")
104
-
105
- return True
106
-
107
- except Exception as e:
108
- SDKLogger.error(f"[Robot Audio] 发布音频块时出错: {e}")
109
- return False
110
-