kuavo-humanoid-sdk 1.3.1b98__tar.gz → 1.3.1b4077__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 (248) hide show
  1. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/PKG-INFO +1 -1
  2. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/README.md +0 -0
  3. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/__init__.py +0 -0
  4. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/common/logger.py +0 -0
  5. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/interfaces/__init__.py +0 -0
  6. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/interfaces/data_types.py +1 -0
  7. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/interfaces/end_effector.py +0 -0
  8. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/interfaces/robot.py +0 -0
  9. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/interfaces/robot_info.py +0 -0
  10. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/__init__.py +1 -0
  11. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/audio.py +0 -0
  12. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/core.py +218 -25
  13. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/dex_hand_control.py +0 -0
  14. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/leju_claw_control.py +0 -0
  15. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/llm_doubao.py +0 -0
  16. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/llm_doubao_lib/audio_manager.py +0 -0
  17. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/llm_doubao_lib/config.py +0 -0
  18. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/llm_doubao_lib/protocol.py +0 -0
  19. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/llm_doubao_lib/realtime_dialog_client.py +0 -0
  20. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/microphone.py +0 -0
  21. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/model_utils/model_utils.py +16 -3
  22. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/navigation.py +0 -0
  23. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/ros/audio.py +0 -0
  24. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/ros/camera.py +0 -0
  25. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/ros/control.py +415 -30
  26. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/ros/microphone.py +0 -0
  27. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/ros/navigation.py +0 -0
  28. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/ros/observation.py +0 -0
  29. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo/core/ros/param.py +317 -0
  30. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/ros/sat_utils.py +0 -0
  31. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/ros/state.py +113 -40
  32. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/ros/tools.py +25 -0
  33. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/ros/vision.py +0 -0
  34. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/ros_env.py +4 -1
  35. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/sdk_deprecated.py +0 -0
  36. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/demo_climbstair.py +0 -0
  37. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/dexterous_hand.py +0 -0
  38. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/leju_claw.py +0 -0
  39. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/logger_client.py +28 -14
  40. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/robot.py +105 -50
  41. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/robot_arm.py +40 -16
  42. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/robot_audio.py +0 -0
  43. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/robot_blockly.py +117 -28
  44. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/robot_climbstair.py +0 -0
  45. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/robot_head.py +0 -0
  46. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo/robot_info.py +248 -0
  47. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo/robot_llm.py +338 -0
  48. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/robot_microphone.py +0 -0
  49. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/robot_navigation.py +80 -0
  50. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/robot_observation.py +0 -0
  51. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/robot_speech.py +0 -0
  52. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/robot_state.py +35 -2
  53. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/robot_tool.py +0 -0
  54. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/robot_vision.py +0 -0
  55. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo/robot_waist.py +41 -0
  56. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo/wheel_arm.py +112 -0
  57. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo_strategy/__init__.py +0 -0
  58. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo_strategy/grasp_box/grasp_box_strategy.py +194 -1
  59. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo_strategy/grasp_box/test/test_grasp_box_strategy.py +0 -0
  60. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo_strategy/kuavo_strategy.py +0 -0
  61. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo_strategy_v2/common/data_type.py +3 -0
  62. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo_strategy_v2/common/events/base_event.py +0 -0
  63. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/common/events/mobile_manipulate/__init__.py +4 -0
  64. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo_strategy_v2/common/events/mobile_manipulate/arm_events.py +135 -46
  65. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/common/events/mobile_manipulate/arm_events_lb.py +1630 -0
  66. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo_strategy_v2/common/events/mobile_manipulate/head_events.py +60 -3
  67. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/common/events/mobile_manipulate/run_back.py +264 -0
  68. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo_strategy_v2/common/events/mobile_manipulate/walk_events.py +368 -2
  69. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/common/events/mobile_manipulate/walk_events_lb.py +1130 -0
  70. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo_strategy_v2/common/robot_sdk.py +0 -0
  71. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_box_hil/strategy.py +0 -0
  72. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/case.py +135 -58
  73. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/configs/config_real.py +13 -12
  74. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/configs/config_sim.py +63 -0
  75. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/examples/arm_example.py +35 -2
  76. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/examples/walk_arm_example.py +42 -0
  77. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/examples/walk_example.py +0 -0
  78. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/lb_case.py +504 -0
  79. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/lb_strategy.py +749 -0
  80. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/strategy.py +134 -28
  81. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box_withWaist/case.py +400 -0
  82. kuavo_humanoid_sdk-1.3.1b98/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/configs/config_sim.py → kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box_withWaist/configs/config_real.py +23 -18
  83. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box_withWaist/configs/config_sim.py +71 -0
  84. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box_withWaist/examples/arm_example.py +92 -0
  85. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box_withWaist/examples/walk_arm_example.py +42 -0
  86. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box_withWaist/examples/walk_example.py +55 -0
  87. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box_withWaist/strategy.py +686 -0
  88. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/utils/cubic_interpolate.py +120 -0
  89. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo_strategy_v2/utils/logger_setup.py +0 -0
  90. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo_strategy_v2/utils/utils.py +0 -0
  91. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/__init__.py +0 -0
  92. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AudioPlaybackStatus.py +243 -0
  93. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_Color.py +123 -0
  94. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_FaceBoundingBox.py +185 -0
  95. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_VMPTrajectoryState.py +256 -0
  96. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/__init__.py +8 -0
  97. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armHandPose.py +1 -2
  98. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPose6DTargetTrajectories.py +1 -0
  99. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_ikSolveParam.py +21 -17
  100. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_mpc_input.py +122 -0
  101. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_mpc_state.py +122 -0
  102. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_mpc_target_trajectories.py +239 -0
  103. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotWaistControl.py +320 -0
  104. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_sensorsData.py +5 -165
  105. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPose.py +1 -2
  106. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseCmd.py +16 -16
  107. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseCmdFree.py +15 -14
  108. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_GetStringList.py +299 -0
  109. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetLEDMode_free.py +1 -1
  110. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetString.py +284 -0
  111. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/__init__.py +12 -0
  112. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeArmCtrlMode.py +7 -3
  113. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeLbQuickModeSrv.py +269 -0
  114. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_chassisPoseCmdSrv.py +292 -0
  115. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_fkSrv.py +1 -2
  116. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_footPose6DTargetTrajectoriesSrv.py +1 -0
  117. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getControllerList.py +358 -0
  118. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_goToZeroPoint.py +278 -0
  119. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_lbBaseLinkPoseCmdSrv.py +336 -0
  120. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_lbLegControlSrv.py +254 -0
  121. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_planArmTrajectoryBezierCurve.py +0 -1
  122. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_robotSwitchPose.py +281 -0
  123. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_stairAlignmentSrv.py +284 -0
  124. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_switchController.py +282 -0
  125. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_switchToNextController.py +342 -0
  126. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_twoArmHandPoseCmdFreeSrv.py +16 -15
  127. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_twoArmHandPoseCmdSrv.py +84 -35
  128. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/ocs2_msgs/srv/__init__.py +2 -0
  129. kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/ocs2_msgs/srv/_pause_resume.py +237 -0
  130. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk.egg-info/PKG-INFO +1 -1
  131. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk.egg-info/SOURCES.txt +38 -0
  132. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk.egg-info/requires.txt +1 -0
  133. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/setup.py +2 -1
  134. kuavo_humanoid_sdk-1.3.1b98/kuavo_humanoid_sdk/kuavo/core/ros/param.py +0 -201
  135. kuavo_humanoid_sdk-1.3.1b98/kuavo_humanoid_sdk/kuavo/robot_info.py +0 -134
  136. kuavo_humanoid_sdk-1.3.1b98/kuavo_humanoid_sdk/kuavo_strategy_v2/common/events/mobile_manipulate/__init__.py +0 -3
  137. kuavo_humanoid_sdk-1.3.1b98/kuavo_humanoid_sdk/msg/ocs2_msgs/srv/__init__.py +0 -1
  138. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/__init__.py +0 -0
  139. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AprilTagDetection.py +0 -0
  140. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AprilTagDetectionArray.py +0 -0
  141. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AudioReceiverData.py +0 -0
  142. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_FTsensorData.py +0 -0
  143. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_JoySticks.py +0 -0
  144. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_Metadata.py +0 -0
  145. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_MmDetectionMsg.py +0 -0
  146. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_RobotActionState.py +0 -0
  147. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_TFArray.py +0 -0
  148. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_TaskPoint.py +0 -0
  149. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armCollisionCheckInfo.py +0 -0
  150. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armHandPoseFree.py +0 -0
  151. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armPoseWithTimeStamp.py +0 -0
  152. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armTargetPoses.py +0 -0
  153. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_bezierCurveCubicPoint.py +0 -0
  154. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_dexhandCommand.py +0 -0
  155. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_dexhandTouchState.py +0 -0
  156. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_endEffectorData.py +0 -0
  157. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPose.py +0 -0
  158. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPose6D.py +0 -0
  159. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoseTargetTrajectories.py +0 -0
  160. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoseWithVision.py +0 -0
  161. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoseWithVisionArray.py +0 -0
  162. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoses.py +0 -0
  163. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoses6D.py +0 -0
  164. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_fullBodyTargetTrajectories.py +0 -0
  165. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gaitTimeName.py +0 -0
  166. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gestureInfo.py +0 -0
  167. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gestureTask.py +0 -0
  168. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_handPose.py +0 -0
  169. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_headBodyPose.py +0 -0
  170. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_ikSolveError.py +0 -0
  171. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_imuData.py +0 -0
  172. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointBezierTrajectory.py +0 -0
  173. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointCmd.py +0 -0
  174. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointData.py +0 -0
  175. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_kuavoModeSchedule.py +0 -0
  176. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_lejuClawCommand.py +0 -0
  177. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_lejuClawState.py +0 -0
  178. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_motorParam.py +0 -0
  179. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_picoPoseInfo.py +0 -0
  180. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_picoPoseInfoList.py +0 -0
  181. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_planArmState.py +0 -0
  182. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_qv.py +0 -0
  183. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotArmQVVD.py +0 -0
  184. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotBodyMatrices.py +0 -0
  185. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotHandPosition.py +0 -0
  186. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotHeadMotionData.py +0 -0
  187. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotState.py +0 -0
  188. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_switchGaitByName.py +0 -0
  189. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_tagDataArray.py +0 -0
  190. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_touchSensorStatus.py +0 -0
  191. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseFree.py +0 -0
  192. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_yoloDetection.py +0 -0
  193. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_yoloOutputData.py +0 -0
  194. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_CreatePath.py +0 -0
  195. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_ExecuteArmAction.py +0 -0
  196. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_GetAllMaps.py +0 -0
  197. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_GetCurrentMap.py +0 -0
  198. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_GetTargetPartPoseInCamera.py +0 -0
  199. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_InitialPoseWithTaskPoint.py +0 -0
  200. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_LoadMap.py +0 -0
  201. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_NavigateToTaskPoint.py +0 -0
  202. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_RepublishTFs.py +0 -0
  203. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetInitialPose.py +0 -0
  204. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetJoyTopic.py +0 -0
  205. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetLEDMode.py +0 -0
  206. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SpeechSynthesis.py +0 -0
  207. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_TaskPointOperation.py +0 -0
  208. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_adjustZeroPoint.py +0 -0
  209. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeArmCtrlModeKuavo.py +0 -0
  210. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeMotorParam.py +0 -0
  211. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeTorsoCtrlMode.py +0 -0
  212. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_controlLejuClaw.py +0 -0
  213. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_enableHandTouchSensor.py +0 -0
  214. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_footPoseTargetTrajectoriesSrv.py +0 -0
  215. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureExecute.py +0 -0
  216. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureExecuteState.py +0 -0
  217. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureList.py +0 -0
  218. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getCurrentGaitName.py +0 -0
  219. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getMotorParam.py +0 -0
  220. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getMotorZeroPoints.py +0 -0
  221. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_handForceLevel.py +0 -0
  222. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_jointMoveTo.py +0 -0
  223. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_planArmTrajectoryCubicSpline.py +0 -0
  224. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_playmusic.py +0 -0
  225. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setHwIntialState.py +0 -0
  226. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setMmCtrlFrame.py +0 -0
  227. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setMotorEncoderRoundService.py +0 -0
  228. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setTagId.py +0 -0
  229. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_singleStepControl.py +0 -0
  230. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/motion_capture_ik/__init__.py +0 -0
  231. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/__init__.py +0 -0
  232. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/__init__.py +0 -0
  233. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_constraint.py +0 -0
  234. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_controller_data.py +0 -0
  235. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_lagrangian_metrics.py +0 -0
  236. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mode_schedule.py +0 -0
  237. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_flattened_controller.py +0 -0
  238. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_input.py +0 -0
  239. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_observation.py +0 -0
  240. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_performance_indices.py +0 -0
  241. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_solver_data.py +0 -0
  242. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_state.py +0 -0
  243. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_target_trajectories.py +0 -0
  244. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_multiplier.py +0 -0
  245. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/srv/_reset.py +0 -0
  246. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk.egg-info/dependency_links.txt +0 -0
  247. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk.egg-info/top_level.txt +0 -0
  248. {kuavo_humanoid_sdk-1.3.1b98 → kuavo_humanoid_sdk-1.3.1b4077}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: kuavo_humanoid_sdk
3
- Version: 1.3.1b98
3
+ Version: 1.3.1b4077
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']
@@ -153,6 +153,7 @@ class KuavoIKParams:
153
153
  oritation_constraint_tol: float = 1e-3
154
154
  pos_constraint_tol: float = 1e-3 # 0.001m,当pos_cost_weight==0.0时生效
155
155
  pos_cost_weight: float = 0.0 # 如果需要高精度,请将此值设为0.0!!!
156
+ constraint_mode: int = 0 # 具体作用,参考ik api的constraint_mode
156
157
 
157
158
  @dataclass
158
159
  class KuavoDexHandTouchState:
@@ -14,3 +14,4 @@ from .robot_microphone import RobotMicrophone
14
14
  from .robot_navigation import RobotNavigation
15
15
  from .robot_speech import RobotSpeech
16
16
  from .dexterous_hand import DexterousHand
17
+ from .robot_llm import KuavoRobotLLM
@@ -23,6 +23,7 @@ import threading
23
23
  import numpy as np
24
24
  from typing import Tuple
25
25
  from transitions import Machine, State
26
+ from geometry_msgs.msg import TwistStamped
26
27
 
27
28
  from kuavo_humanoid_sdk.interfaces.data_types import KuavoArmCtrlMode, KuavoIKParams, KuavoPose, KuavoManipulationMpcFrame, KuavoManipulationMpcCtrlMode, KuavoManipulationMpcControlFlow
28
29
  from kuavo_humanoid_sdk.kuavo.core.ros.control import KuavoRobotControl
@@ -124,6 +125,7 @@ class KuavoRobotCore:
124
125
  f"{e}, please check the robot is launched, "
125
126
  f"e.g. `roslaunch humanoid_controllers load_kuavo_real.launch`")
126
127
  self._rb_info = make_robot_param()
128
+ self._robot_version_major = (int(self._rb_info['robot_version']) // 10) % 10000
127
129
  success, err_msg = self._control.initialize(eef_type=self._rb_info["end_effector_type"], debug=debug)
128
130
  if not success:
129
131
  raise RuntimeError(f"[Core] initialize failed: \n{err_msg}, please check the robot is launched, "
@@ -184,7 +186,7 @@ class KuavoRobotCore:
184
186
  def _on_enter_command_pose_world(self, event):
185
187
  previous_state = event.transition.source
186
188
  if self.state == previous_state:
187
- SDKLogger.debug(f"[Core] [StateMachine] State unchanged: already in command_pose_world state")
189
+ # SDKLogger.debug(f"[Core] [StateMachine] State unchanged: already in command_pose_world state")
188
190
  return
189
191
  SDKLogger.debug(f"[Core] [StateMachine] Entering command_pose_world state, from {previous_state}")
190
192
 
@@ -201,22 +203,45 @@ class KuavoRobotCore:
201
203
  def walk(self, linear_x:float, linear_y:float, angular_z:float)-> bool:
202
204
  if self.state != 'walk':
203
205
  self.to_walk()
204
-
205
- # +-0.4, +-0.2, +-0.4 => linear_x, linear_y, angular_z
206
- limited_linear_x = min(0.4, abs(linear_x)) * (1 if linear_x >= 0 else -1)
207
- limited_linear_y = min(0.2, abs(linear_y)) * (1 if linear_y >= 0 else -1)
208
- limited_angular_z = min(0.4, abs(angular_z)) * (1 if angular_z >= 0 else -1)
206
+
207
+ if self._robot_version_major == 1:
208
+ MAX_LINEAR_X = 0.3
209
+ MAX_LINEAR_Y = 0.2
210
+ MAX_ANGULAR_Z = 0.3
211
+ elif self._robot_version_major == 4 or self._robot_version_major == 5:
212
+ MAX_LINEAR_X = 0.4
213
+ MAX_LINEAR_Y = 0.2
214
+ MAX_ANGULAR_Z = 0.4
215
+ else:
216
+ SDKLogger.warn("[Core] walk failed: robot version is not supported, current version major: {self._robot_version_major}")
217
+ return False
218
+
219
+ limited_linear_x = min(MAX_LINEAR_X, abs(linear_x)) * (1 if linear_x >= 0 else -1)
220
+ limited_linear_y = min(MAX_LINEAR_Y, abs(linear_y)) * (1 if linear_y >= 0 else -1)
221
+ limited_angular_z = min(MAX_ANGULAR_Z, abs(angular_z)) * (1 if angular_z >= 0 else -1)
209
222
  return self._control.robot_walk(limited_linear_x, limited_linear_y, limited_angular_z)
210
223
 
211
224
  def squat(self, height:float, pitch:float)->bool:
212
225
  if self.state != 'stance':
213
226
  SDKLogger.warn(f"[Core] control torso height failed, robot is not in stance state({self.state})!")
214
227
  return False
215
-
216
- MIN_HEIGHT = -0.35
217
- MAX_HEIGHT = 0.0
218
- MIN_PITCH = -0.4
219
- MAX_PITCH = 0.4
228
+
229
+ if self._robot_version_major == 1:
230
+ MIN_HEIGHT = -0.35
231
+ MAX_HEIGHT = 0.1
232
+ MIN_PITCH = 0
233
+ MAX_PITCH = 0
234
+ if pitch != 0:
235
+ SDKLogger.warn("[Core] roban2 pitch is not supported, will be set to 0")
236
+ pitch = 0
237
+ elif self._robot_version_major == 4 or self._robot_version_major == 5:
238
+ MIN_HEIGHT = -0.35
239
+ MAX_HEIGHT = 0.1
240
+ MIN_PITCH = 0
241
+ MAX_PITCH = 0.4
242
+ else:
243
+ SDKLogger.warn("[Core] control torso height failed: robot version is not supported, current version major: {self._robot_version_major}")
244
+ return False
220
245
 
221
246
  # Limit height range
222
247
  limited_height = min(MAX_HEIGHT, max(MIN_HEIGHT, height))
@@ -233,8 +258,10 @@ class KuavoRobotCore:
233
258
  # 躯干上升运动变化不宜过大, 目标高度减去实时躯干高度大于阈值
234
259
  HEIGHT_CHANGE_THRESHOLD = 0.25
235
260
  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']
261
+ limited_height = (self._rb_state.com_height + HEIGHT_CHANGE_THRESHOLD)
237
262
  print(f"\033[33mWarning! Height change too large, limiting to safe range,reset height to {limited_height}\033[0m")
263
+ else:
264
+ limited_height = target_height
238
265
 
239
266
  return self._control.control_torso_height(limited_height, limited_pitch)
240
267
 
@@ -290,9 +317,9 @@ class KuavoRobotCore:
290
317
  target_pose[2] = MAX_COM_HEIGHT - com_height
291
318
 
292
319
  if com_height > (self._rb_info['init_stand_height']-0.03):
293
- max_x_step = 0.20
294
- max_y_step = 0.20
295
- max_yaw_step = 90
320
+ max_x_step = 0.17
321
+ max_y_step = 0.17
322
+ max_yaw_step = 60
296
323
  else:
297
324
  max_x_step = 0.15
298
325
  max_y_step = 0.15
@@ -359,13 +386,27 @@ class KuavoRobotCore:
359
386
  Raises:
360
387
  RuntimeError: If robot is not in stance state
361
388
  """
362
- if self.state != 'stance':
363
- raise RuntimeError(f"[Core] control_command_pose failed: robot must be in stance state, current state: {self.state}")
389
+ # if self.state != 'stance':
390
+ # raise RuntimeError(f"[Core] control_command_pose failed: robot must be in stance state, current state: {self.state}")
364
391
 
365
392
  # Add any parameter validation if needed
366
393
  # e.g., limit ranges for safety
394
+ MAX_HEIGHT = 0.1
395
+ MIN_HEIGHT = -0.35
396
+ limited_height = min(MAX_HEIGHT, max(MIN_HEIGHT, target_pose_z))
397
+ if target_pose_z > MAX_HEIGHT or target_pose_z < MIN_HEIGHT:
398
+ SDKLogger.warn(f"[Core] target_pose_z {target_pose_z:.3f} exceeds limit [{MIN_HEIGHT}, {MAX_HEIGHT}], will be limited")
399
+
400
+ # 结合当前高度做过滤,限制上升时的高度变化
401
+ target_height = self._rb_info['init_stand_height'] + limited_height
402
+ # 躯干上升运动变化不宜过大, 目标高度减去实时躯干高度大于阈值
403
+ HEIGHT_CHANGE_THRESHOLD = 0.25
404
+ if (self._rb_state.com_height < target_height) and (target_height - self._rb_state.com_height) >= HEIGHT_CHANGE_THRESHOLD:
405
+ limited_height = (self._rb_state.com_height + HEIGHT_CHANGE_THRESHOLD) - self._rb_info['init_stand_height']
406
+ SDKLogger.warn(f"[Core] Warning! Height change too large, limiting to safe range, reset height to {limited_height:.3f}")
407
+
367
408
  self.to_command_pose()
368
- return self._control.control_command_pose(target_pose_x, target_pose_y, target_pose_z, target_pose_yaw)
409
+ return self._control.control_command_pose(target_pose_x, target_pose_y, limited_height, target_pose_yaw)
369
410
 
370
411
  def control_command_pose_world(self, target_pose_x:float, target_pose_y:float, target_pose_z:float, target_pose_yaw:float)->bool:
371
412
  """
@@ -388,8 +429,23 @@ class KuavoRobotCore:
388
429
 
389
430
  # Add any parameter validation if needed
390
431
  # e.g., limit ranges for safety
432
+ MAX_HEIGHT = 0.1
433
+ MIN_HEIGHT = -0.35
434
+ # Limit height range
435
+ limited_height = min(MAX_HEIGHT, max(MIN_HEIGHT, target_pose_z))
436
+ if target_pose_z > MAX_HEIGHT or target_pose_z < MIN_HEIGHT:
437
+ SDKLogger.warn(f"[Core] target_pose_z {target_pose_z:.3f} exceeds limit [{MIN_HEIGHT}, {MAX_HEIGHT}], will be limited")
438
+
439
+ # 结合当前高度做过滤,限制上升时的高度变化
440
+ target_height = self._rb_info['init_stand_height'] + limited_height
441
+ # 躯干上升运动变化不宜过大, 目标高度减去实时躯干高度大于阈值
442
+ HEIGHT_CHANGE_THRESHOLD = 0.25
443
+ if (self._rb_state.com_height < target_height) and (target_height - self._rb_state.com_height) >= HEIGHT_CHANGE_THRESHOLD:
444
+ limited_height = (self._rb_state.com_height + HEIGHT_CHANGE_THRESHOLD) - self._rb_info['init_stand_height']
445
+ SDKLogger.warn(f"[Core] Warning! Height change too large, limiting to safe range, reset height to {limited_height:.3f}")
446
+
391
447
  self.to_command_pose_world()
392
- return self._control.control_command_pose_world(target_pose_x, target_pose_y, target_pose_z, target_pose_yaw)
448
+ return self._control.control_command_pose_world(target_pose_x, target_pose_y, limited_height, target_pose_yaw)
393
449
 
394
450
  def control_robot_arm_target_poses(self, times: list, joint_q: list) -> bool:
395
451
  if self.state != 'stance':
@@ -402,6 +458,7 @@ class KuavoRobotCore:
402
458
  return False
403
459
 
404
460
  return self._control.control_robot_arm_target_poses(times, joint_q)
461
+
405
462
  def execute_gesture(self, gestures:list)->bool:
406
463
  return self._control.execute_gesture(gestures)
407
464
 
@@ -424,6 +481,9 @@ class KuavoRobotCore:
424
481
  pitch_deg = pitch * 180 / math.pi
425
482
  return self._control.control_robot_head(yaw_deg, pitch_deg)
426
483
 
484
+ def control_robot_waist(self, target_pos:list):
485
+ return self._control.control_robot_waist(target_pos)
486
+
427
487
  def enable_head_tracking(self, target_id: int)->bool:
428
488
  return self._control.enable_head_tracking(target_id)
429
489
 
@@ -431,8 +491,8 @@ class KuavoRobotCore:
431
491
  return self._control.disable_head_tracking()
432
492
 
433
493
  def control_robot_arm_joint_positions(self, joint_data:list)->bool:
434
- if self.state != 'stance':
435
- raise RuntimeError(f"[Core] control_robot_arm_joint_positions failed: robot must be in stance state, current state: {self.state}")
494
+ # if self.state != 'stance':
495
+ # raise RuntimeError(f"[Core] control_robot_arm_joint_positions failed: robot must be in stance state, current state: {self.state}")
436
496
 
437
497
  if self._control.is_arm_collision_mode() and self._control.is_arm_collision():
438
498
  raise RuntimeError(f"Arm collision detected, cannot publish arm trajectory")
@@ -473,11 +533,33 @@ class KuavoRobotCore:
473
533
  return False
474
534
 
475
535
  return self._control.control_robot_end_effector_pose(left_pose, right_pose, frame)
536
+
537
+ def control_torso_pose(self, x, y, z, roll, pitch, yaw)->bool:
538
+ """
539
+ control wheel-robot torso pose
540
+ """
541
+ return self._control.control_torso_pose(x, y, z, roll, pitch, yaw)
542
+
543
+ def control_wheel_lower_joint(self, joint_traj: list)->bool:
544
+ """
545
+ control wheel-robot lower joint
546
+ """
547
+ return self._control.control_wheel_lower_joint(joint_traj)
476
548
 
477
549
  def control_hand_wrench(self, left_wrench: list, right_wrench: list) -> bool:
478
550
  return self._control.control_hand_wrench(left_wrench, right_wrench)
479
551
 
480
552
  def change_manipulation_mpc_frame(self, frame: KuavoManipulationMpcFrame)->bool:
553
+ # Check if service is available (if current state is ERROR, service is not available)
554
+ current_frame = self._rb_state.manipulation_mpc_frame
555
+ if current_frame == KuavoManipulationMpcFrame.ERROR:
556
+ SDKLogger.warn("[Core] Manipulation MPC frame service not available, updating local state only")
557
+ if not hasattr(self, '_manipulation_mpc_frame_lock'):
558
+ self._manipulation_mpc_frame_lock = threading.Lock()
559
+ with self._manipulation_mpc_frame_lock:
560
+ self._manipulation_mpc_frame = frame
561
+ return True
562
+
481
563
  timeout = 1.0
482
564
  count = 0
483
565
  while self._rb_state.manipulation_mpc_frame != frame:
@@ -498,6 +580,16 @@ class KuavoRobotCore:
498
580
  return True
499
581
 
500
582
  def change_manipulation_mpc_ctrl_mode(self, control_mode: KuavoManipulationMpcCtrlMode)->bool:
583
+ # Check if service is available (if current state is ERROR, service is not available)
584
+ current_mode = self._rb_state.manipulation_mpc_ctrl_mode
585
+ if current_mode == KuavoManipulationMpcCtrlMode.ERROR:
586
+ SDKLogger.warn("[Core] Manipulation MPC control mode service not available, updating local state only")
587
+ if not hasattr(self, '_manipulation_mpc_ctrl_mode_lock'):
588
+ self._manipulation_mpc_ctrl_mode_lock = threading.Lock()
589
+ with self._manipulation_mpc_ctrl_mode_lock:
590
+ self._manipulation_mpc_ctrl_mode = control_mode
591
+ return True
592
+
501
593
  timeout = 1.0
502
594
  count = 0
503
595
  while self._rb_state.manipulation_mpc_ctrl_mode != control_mode:
@@ -518,6 +610,16 @@ class KuavoRobotCore:
518
610
  return True
519
611
 
520
612
  def change_manipulation_mpc_control_flow(self, control_flow: KuavoManipulationMpcControlFlow)->bool:
613
+ # Check if service is available (if current state is ERROR, service is not available)
614
+ current_flow = self._rb_state.manipulation_mpc_control_flow
615
+ if current_flow == KuavoManipulationMpcControlFlow.Error:
616
+ SDKLogger.warn("[Core] Manipulation MPC control flow service not available, updating local state only")
617
+ if not hasattr(self, '_manipulation_mpc_control_flow_lock'):
618
+ self._manipulation_mpc_control_flow_lock = threading.Lock()
619
+ with self._manipulation_mpc_control_flow_lock:
620
+ self._manipulation_mpc_control_flow = control_flow
621
+ return True
622
+
521
623
  timeout = 1.0
522
624
  count = 0
523
625
  while self._rb_state.manipulation_mpc_control_flow != control_flow:
@@ -543,10 +645,23 @@ class KuavoRobotCore:
543
645
  SDKLogger.warn("[Core] change_robot_arm_ctrl_mode failed, arm collision detected!")
544
646
  return False
545
647
 
648
+ # Wait for state update to complete, similar to change_manipulation_mpc_ctrl_mode
649
+ timeout = 1.0
546
650
  count = 0
547
651
  if self._rb_state.arm_control_mode != mode:
548
- SDKLogger.debug(f"[Core] Change robot arm control from {self._rb_state.arm_control_mode} to {mode}, retry: {count}")
549
- self._control.change_robot_arm_ctrl_mode(mode)
652
+ while self._rb_state.arm_control_mode != mode:
653
+ SDKLogger.debug(f"[Core] Change robot arm control from {self._rb_state.arm_control_mode} to {mode}, retry: {count}")
654
+ if self._control.change_robot_arm_ctrl_mode(mode):
655
+ # 服务调用成功后,手动更新状态缓存
656
+ self._rb_state._arm_ctrl_mode = mode
657
+ SDKLogger.debug(f"[Core] Successfully changed arm control mode to {mode}")
658
+ break
659
+ if timeout <= 0:
660
+ SDKLogger.warn("[Core] Change robot arm control mode timeout!")
661
+ return False
662
+ timeout -= 0.1
663
+ time.sleep(0.1)
664
+ count += 1
550
665
 
551
666
  if not hasattr(self, '_arm_ctrl_mode_lock'):
552
667
  self._arm_ctrl_mode_lock = threading.Lock()
@@ -569,16 +684,27 @@ class KuavoRobotCore:
569
684
  return self.change_robot_arm_ctrl_mode(KuavoArmCtrlMode.AutoSwing)
570
685
 
571
686
  def robot_manipulation_mpc_reset(self)->bool:
687
+ SDKLogger.info("[Core] Starting manipulation MPC reset...")
688
+
572
689
  if self._manipulation_mpc_ctrl_mode != KuavoManipulationMpcCtrlMode.NoControl:
573
- SDKLogger.debug("[Core] robot manipulation mpc reset, current manipulation mpc ctrl mode != NoControl, change it.")
690
+ SDKLogger.info("[Core] Resetting manipulation MPC control mode to NoControl...")
574
691
  if not self.change_manipulation_mpc_ctrl_mode(KuavoManipulationMpcCtrlMode.NoControl):
575
692
  SDKLogger.warn("[Core] robot manipulation mpc reset failed, change manipulation mpc ctrl mode failed!")
576
693
  return False
694
+ SDKLogger.info("[Core] Manipulation MPC control mode reset to NoControl successfully")
695
+ else:
696
+ SDKLogger.info("[Core] Manipulation MPC control mode is already NoControl")
697
+
577
698
  if self._manipulation_mpc_control_flow != KuavoManipulationMpcControlFlow.ThroughFullBodyMpc:
578
- SDKLogger.debug("[Core] robot manipulation mpc reset, current manipulation mpc control flow != ThroughFullBodyMpc, change it.")
699
+ SDKLogger.info("[Core] Resetting manipulation MPC control flow to ThroughFullBodyMpc...")
579
700
  if not self.change_manipulation_mpc_control_flow(KuavoManipulationMpcControlFlow.ThroughFullBodyMpc):
580
701
  SDKLogger.warn("[Core] robot manipulation mpc reset failed, change manipulation mpc control flow failed!")
581
702
  return False
703
+ SDKLogger.info("[Core] Manipulation MPC control flow reset to ThroughFullBodyMpc successfully")
704
+ else:
705
+ SDKLogger.info("[Core] Manipulation MPC control flow is already ThroughFullBodyMpc")
706
+
707
+ SDKLogger.info("[Core] Manipulation MPC reset completed successfully")
582
708
  return True
583
709
  """ ------------------------------------------------------------------------"""
584
710
  """ 电机参数设置 """
@@ -641,6 +767,73 @@ class KuavoRobotCore:
641
767
  def set_arm_collision_mode(self, enable: bool):
642
768
  self._control.set_arm_collision_mode(enable)
643
769
 
770
+ # ========== 轮臂控制方法 ==========
771
+
772
+ def is_wheel_arm_initialized(self) -> bool:
773
+ """检查轮臂控制是否初始化
774
+
775
+ Returns:
776
+ bool: 是否已初始化
777
+ """
778
+ return self._control.is_wheel_arm_initialized()
779
+
780
+ def control_wheel_arm_joint_positions(self, positions: list) -> bool:
781
+ """控制轮臂关节位置
782
+
783
+ Args:
784
+ positions: 关节位置列表,4个关节的角度值(弧度)
785
+
786
+ Returns:
787
+ bool: 是否成功控制
788
+ """
789
+ # 参数验证
790
+ if not self._validate_wheel_arm_positions(positions):
791
+ return False
792
+
793
+ try:
794
+ return self._control.control_wheel_arm_joint_positions(positions)
795
+ except Exception as e:
796
+ SDKLogger.error(f"[KuavoRobotCore] 轮臂关节位置控制异常: {e}")
797
+ return False
798
+
799
+ def _validate_wheel_arm_positions(self, positions: list) -> bool:
800
+ """验证轮臂关节位置参数
801
+
802
+ Args:
803
+ positions: 关节位置列表
804
+
805
+ Returns:
806
+ bool: 参数是否有效
807
+ """
808
+ if not isinstance(positions, list):
809
+ SDKLogger.error("[KuavoRobotCore] 轮臂关节位置必须是列表类型")
810
+ return False
811
+
812
+ if len(positions) != 4:
813
+ SDKLogger.error(f"[KuavoRobotCore] 轮臂关节数量不匹配,期望4,实际{len(positions)}")
814
+ return False
815
+
816
+ for i, pos in enumerate(positions):
817
+ if not isinstance(pos, (int, float)):
818
+ SDKLogger.error(f"[KuavoRobotCore] 轮臂关节{i}位置必须是数值类型")
819
+ return False
820
+
821
+ return True
822
+
823
+ def get_wheel_arm_joint_positions(self) -> list:
824
+ """获取轮臂当前关节位置
825
+
826
+ Returns:
827
+ list: 4个关节的当前位置(弧度)
828
+ """
829
+ try:
830
+ # 从KuavoRobotStateCore获取关节状态,前4个关节是轮臂关节
831
+ joint_positions = self._rb_state.joint_data.position[:4]
832
+ return list(joint_positions)
833
+ except Exception as e:
834
+ SDKLogger.error(f"[KuavoRobotCore] 获取轮臂关节位置异常: {e}")
835
+ return [0.0] * 4
836
+
644
837
  if __name__ == "__main__":
645
838
  DEBUG_MODE = 0
646
839
  core = KuavoRobotCore()
@@ -15,6 +15,7 @@ model = None
15
15
  class YOLO_detection:
16
16
  def __init__(self):
17
17
  self.camera_interface = CameraROSInterface()
18
+ self.conf = 0.6 # 默认置信度阈值
18
19
 
19
20
  global is_yolo_init
20
21
  is_yolo_init = True
@@ -28,6 +29,19 @@ class YOLO_detection:
28
29
  print(f"Error loading model: {e}")
29
30
  return None
30
31
 
32
+ def set_conf(self, conf):
33
+ """
34
+ 设置检测的置信度阈值
35
+
36
+ Args:
37
+ conf (float): 置信度阈值,范围应在0到1之间
38
+ """
39
+ if 0 <= conf <= 1:
40
+ self.conf = conf
41
+ print(f"Confidence threshold set to {conf}")
42
+ else:
43
+ print("Invalid confidence value. Please provide a value between 0 and 1.")
44
+
31
45
  def init_ros_node(self):
32
46
  self.camera_interface.init_ros_node()
33
47
 
@@ -35,7 +49,7 @@ class YOLO_detection:
35
49
  image = self.camera_interface.get_camera_image(camera)
36
50
 
37
51
  if image is not None:
38
- results = model.predict(image, conf=0.6, show=False, verbose=False)
52
+ results = model.predict(image, conf=self.conf, show=False, verbose=False)
39
53
  self.publish_results(results, camera)
40
54
  return results
41
55
  else:
@@ -105,5 +119,4 @@ class YOLO_detection:
105
119
  'class_id': detection.class_id
106
120
  }
107
121
 
108
- return min_obj if min_obj else {'x': 0, 'y': 0, 'w': 0, 'h': 0, 'area': 0, 'class_id': 0}
109
-
122
+ return min_obj if min_obj else {'x': 0, 'y': 0, 'w': 0, 'h': 0, 'area': 0, 'class_id': 0}