kuavo-humanoid-sdk 1.2.1b3290__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.
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/PKG-INFO +1 -1
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/README.md +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/__init__.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/common/logger.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/interfaces/__init__.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/interfaces/data_types.py +1 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/interfaces/end_effector.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/interfaces/robot.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/interfaces/robot_info.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/__init__.py +1 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/audio.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/core.py +218 -25
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/dex_hand_control.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/leju_claw_control.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/llm_doubao.py +0 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo/core/llm_doubao_lib/audio_manager.py +255 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo/core/llm_doubao_lib/config.py +48 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo/core/llm_doubao_lib/protocol.py +135 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo/core/llm_doubao_lib/realtime_dialog_client.py +164 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/microphone.py +0 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo/core/model_utils/model_utils.py +122 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/navigation.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/ros/audio.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/ros/camera.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/ros/control.py +415 -30
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/ros/microphone.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/ros/navigation.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/ros/observation.py +0 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo/core/ros/param.py +317 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/ros/sat_utils.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/ros/state.py +113 -40
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/ros/tools.py +25 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/ros/vision.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/ros_env.py +4 -1
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/core/sdk_deprecated.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/demo_climbstair.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/dexterous_hand.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/leju_claw.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/logger_client.py +28 -14
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/robot.py +243 -103
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/robot_arm.py +40 -16
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/robot_audio.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/robot_blockly.py +117 -28
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/robot_climbstair.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/robot_head.py +0 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo/robot_info.py +248 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo/robot_llm.py +338 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/robot_microphone.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/robot_navigation.py +80 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/robot_observation.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/robot_speech.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/robot_state.py +35 -2
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/robot_tool.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo/robot_vision.py +0 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo/robot_waist.py +41 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo/wheel_arm.py +112 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo_strategy/__init__.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo_strategy/grasp_box/grasp_box_strategy.py +194 -1
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy/grasp_box/test/test_grasp_box_strategy.py +552 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo_strategy/kuavo_strategy.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo_strategy_v2/common/data_type.py +3 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo_strategy_v2/common/events/base_event.py +0 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/common/events/mobile_manipulate/__init__.py +4 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/common/events/mobile_manipulate/arm_events.py +761 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/common/events/mobile_manipulate/arm_events_lb.py +1630 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/common/events/mobile_manipulate/head_events.py +398 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/common/events/mobile_manipulate/run_back.py +264 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/common/events/mobile_manipulate/walk_events.py +785 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/common/events/mobile_manipulate/walk_events_lb.py +1130 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo_strategy_v2/common/robot_sdk.py +0 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_box_hil/strategy.py +65 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/case.py +135 -58
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/configs/config_real.py +63 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/configs/config_sim.py +63 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/examples/arm_example.py +92 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/examples/walk_arm_example.py +42 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/examples/walk_example.py +55 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/lb_case.py +504 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/lb_strategy.py +749 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/strategy.py +134 -28
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box_withWaist/case.py +400 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box_withWaist/configs/config_real.py +67 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box_withWaist/configs/config_sim.py +71 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box_withWaist/examples/arm_example.py +92 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box_withWaist/examples/walk_arm_example.py +42 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box_withWaist/examples/walk_example.py +55 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box_withWaist/strategy.py +686 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/kuavo_strategy_v2/utils/cubic_interpolate.py +120 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo_strategy_v2/utils/logger_setup.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/kuavo_strategy_v2/utils/utils.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/__init__.py +0 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AudioPlaybackStatus.py +243 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_Color.py +123 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_FaceBoundingBox.py +185 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_VMPTrajectoryState.py +256 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/__init__.py +8 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armHandPose.py +1 -2
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPose6DTargetTrajectories.py +1 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_ikSolveParam.py +21 -17
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_mpc_input.py +122 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_mpc_state.py +122 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_mpc_target_trajectories.py +239 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotWaistControl.py +320 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_sensorsData.py +5 -165
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPose.py +1 -2
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseCmd.py +16 -16
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseCmdFree.py +15 -14
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_GetStringList.py +299 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetLEDMode_free.py +1 -1
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetString.py +284 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/__init__.py +12 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeArmCtrlMode.py +7 -3
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeLbQuickModeSrv.py +269 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_chassisPoseCmdSrv.py +292 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_fkSrv.py +1 -2
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_footPose6DTargetTrajectoriesSrv.py +1 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getControllerList.py +358 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_goToZeroPoint.py +278 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_lbBaseLinkPoseCmdSrv.py +336 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_lbLegControlSrv.py +254 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_planArmTrajectoryBezierCurve.py +0 -1
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_robotSwitchPose.py +281 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_stairAlignmentSrv.py +284 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_switchController.py +282 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_switchToNextController.py +342 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_twoArmHandPoseCmdFreeSrv.py +16 -15
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_twoArmHandPoseCmdSrv.py +84 -35
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/ocs2_msgs/srv/__init__.py +2 -0
- kuavo_humanoid_sdk-1.3.1b4077/kuavo_humanoid_sdk/msg/ocs2_msgs/srv/_pause_resume.py +237 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk.egg-info/PKG-INFO +1 -1
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk.egg-info/SOURCES.txt +53 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk.egg-info/requires.txt +2 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/setup.py +31 -11
- kuavo_humanoid_sdk-1.2.1b3290/kuavo_humanoid_sdk/kuavo/core/ros/param.py +0 -201
- kuavo_humanoid_sdk-1.2.1b3290/kuavo_humanoid_sdk/kuavo/robot_info.py +0 -134
- kuavo_humanoid_sdk-1.2.1b3290/kuavo_humanoid_sdk/msg/ocs2_msgs/srv/__init__.py +0 -1
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/__init__.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AprilTagDetection.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AprilTagDetectionArray.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AudioReceiverData.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_FTsensorData.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_JoySticks.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_Metadata.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_MmDetectionMsg.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_RobotActionState.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_TFArray.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_TaskPoint.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armCollisionCheckInfo.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armHandPoseFree.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armPoseWithTimeStamp.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armTargetPoses.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_bezierCurveCubicPoint.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_dexhandCommand.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_dexhandTouchState.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_endEffectorData.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPose.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPose6D.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoseTargetTrajectories.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoseWithVision.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoseWithVisionArray.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoses.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoses6D.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_fullBodyTargetTrajectories.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gaitTimeName.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gestureInfo.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gestureTask.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_handPose.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_headBodyPose.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_ikSolveError.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_imuData.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointBezierTrajectory.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointCmd.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointData.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_kuavoModeSchedule.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_lejuClawCommand.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_lejuClawState.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_motorParam.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_picoPoseInfo.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_picoPoseInfoList.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_planArmState.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_qv.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotArmQVVD.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotBodyMatrices.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotHandPosition.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotHeadMotionData.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotState.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_switchGaitByName.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_tagDataArray.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_touchSensorStatus.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseFree.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_yoloDetection.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_yoloOutputData.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_CreatePath.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_ExecuteArmAction.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_GetAllMaps.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_GetCurrentMap.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_GetTargetPartPoseInCamera.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_InitialPoseWithTaskPoint.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_LoadMap.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_NavigateToTaskPoint.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_RepublishTFs.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetInitialPose.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetJoyTopic.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetLEDMode.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SpeechSynthesis.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_TaskPointOperation.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_adjustZeroPoint.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeArmCtrlModeKuavo.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeMotorParam.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeTorsoCtrlMode.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_controlLejuClaw.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_enableHandTouchSensor.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_footPoseTargetTrajectoriesSrv.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureExecute.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureExecuteState.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureList.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getCurrentGaitName.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getMotorParam.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getMotorZeroPoints.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_handForceLevel.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_jointMoveTo.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_planArmTrajectoryCubicSpline.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_playmusic.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setHwIntialState.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setMmCtrlFrame.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setMotorEncoderRoundService.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setTagId.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_singleStepControl.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/motion_capture_ik/__init__.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/__init__.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/__init__.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_constraint.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_controller_data.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_lagrangian_metrics.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mode_schedule.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_flattened_controller.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_input.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_observation.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_performance_indices.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_solver_data.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_state.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_target_trajectories.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_multiplier.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/msg/ocs2_msgs/srv/_reset.py +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk.egg-info/dependency_links.txt +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk.egg-info/top_level.txt +0 -0
- {kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/setup.cfg +0 -0
|
File without changes
|
{kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/__init__.py
RENAMED
|
File without changes
|
{kuavo_humanoid_sdk-1.2.1b3290 → kuavo_humanoid_sdk-1.3.1b4077}/kuavo_humanoid_sdk/common/logger.py
RENAMED
|
File without changes
|
|
File without changes
|
|
@@ -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:
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -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
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
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
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
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)
|
|
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.
|
|
294
|
-
max_y_step = 0.
|
|
295
|
-
max_yaw_step =
|
|
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
|
-
|
|
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,
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
549
|
-
|
|
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.
|
|
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.
|
|
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()
|
|
File without changes
|
|
File without changes
|
|
File without changes
|