kuavo-humanoid-sdk 1.1.3a1252__py3-none-any.whl → 1.1.6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (43) hide show
  1. kuavo_humanoid_sdk/interfaces/data_types.py +0 -46
  2. kuavo_humanoid_sdk/kuavo/__init__.py +0 -3
  3. kuavo_humanoid_sdk/kuavo/core/core.py +6 -18
  4. kuavo_humanoid_sdk/kuavo/core/ros/control.py +19 -645
  5. kuavo_humanoid_sdk/kuavo/core/ros/param.py +4 -142
  6. kuavo_humanoid_sdk/kuavo/core/ros/state.py +15 -329
  7. kuavo_humanoid_sdk/kuavo/core/ros_env.py +1 -229
  8. kuavo_humanoid_sdk/kuavo/dexterous_hand.py +2 -6
  9. kuavo_humanoid_sdk/kuavo/leju_claw.py +2 -6
  10. kuavo_humanoid_sdk/kuavo/robot.py +22 -43
  11. kuavo_humanoid_sdk/kuavo/robot_info.py +2 -7
  12. kuavo_humanoid_sdk/kuavo/robot_state.py +2 -6
  13. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/__init__.py +0 -7
  14. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/__init__.py +0 -4
  15. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_playmusic.py +20 -26
  16. kuavo_humanoid_sdk/msg/motion_capture_ik/msg/__init__.py +9 -0
  17. kuavo_humanoid_sdk/msg/{kuavo_msgs → motion_capture_ik}/msg/_armHandPose.py +2 -2
  18. kuavo_humanoid_sdk/msg/{kuavo_msgs → motion_capture_ik}/msg/_handPose.py +2 -2
  19. kuavo_humanoid_sdk/msg/motion_capture_ik/msg/_headBodyPose.py +145 -0
  20. kuavo_humanoid_sdk/msg/{kuavo_msgs → motion_capture_ik}/msg/_ikSolveError.py +13 -13
  21. kuavo_humanoid_sdk/msg/{kuavo_msgs → motion_capture_ik}/msg/_ikSolveParam.py +2 -2
  22. kuavo_humanoid_sdk/msg/{kuavo_msgs → motion_capture_ik}/msg/_robotArmQVVD.py +2 -2
  23. kuavo_humanoid_sdk/msg/motion_capture_ik/msg/_robotHandPosition.py +225 -0
  24. kuavo_humanoid_sdk/msg/{kuavo_msgs → motion_capture_ik}/msg/_twoArmHandPose.py +13 -13
  25. kuavo_humanoid_sdk/msg/{kuavo_msgs → motion_capture_ik}/msg/_twoArmHandPoseCmd.py +15 -15
  26. kuavo_humanoid_sdk/msg/motion_capture_ik/srv/__init__.py +4 -0
  27. kuavo_humanoid_sdk/msg/{kuavo_msgs/srv/_SpeechSynthesis.py → motion_capture_ik/srv/_changeArmCtrlMode.py} +98 -93
  28. kuavo_humanoid_sdk/msg/{kuavo_msgs → motion_capture_ik}/srv/_changeArmCtrlModeKuavo.py +5 -5
  29. kuavo_humanoid_sdk/msg/{kuavo_msgs → motion_capture_ik}/srv/_fkSrv.py +13 -13
  30. kuavo_humanoid_sdk/msg/{kuavo_msgs → motion_capture_ik}/srv/_twoArmHandPoseCmdSrv.py +23 -23
  31. {kuavo_humanoid_sdk-1.1.3a1252.dist-info → kuavo_humanoid_sdk-1.1.6.dist-info}/METADATA +1 -2
  32. {kuavo_humanoid_sdk-1.1.3a1252.dist-info → kuavo_humanoid_sdk-1.1.6.dist-info}/RECORD +34 -39
  33. kuavo_humanoid_sdk/common/global_config.py +0 -16
  34. kuavo_humanoid_sdk/common/websocket_kuavo_sdk.py +0 -23
  35. kuavo_humanoid_sdk/kuavo/core/audio.py +0 -36
  36. kuavo_humanoid_sdk/kuavo/core/ros/audio.py +0 -176
  37. kuavo_humanoid_sdk/kuavo/core/ros/tools.py +0 -158
  38. kuavo_humanoid_sdk/kuavo/core/ros/vision.py +0 -522
  39. kuavo_humanoid_sdk/kuavo/robot_audio.py +0 -39
  40. kuavo_humanoid_sdk/kuavo/robot_tool.py +0 -62
  41. kuavo_humanoid_sdk/kuavo/robot_vision.py +0 -90
  42. {kuavo_humanoid_sdk-1.1.3a1252.dist-info → kuavo_humanoid_sdk-1.1.6.dist-info}/WHEEL +0 -0
  43. {kuavo_humanoid_sdk-1.1.3a1252.dist-info → kuavo_humanoid_sdk-1.1.6.dist-info}/top_level.txt +0 -0
@@ -1,42 +1,32 @@
1
1
  kuavo_humanoid_sdk/__init__.py,sha256=pdgXhpulXKUcdUPwDVFZCe47AZAkOJdh_YAM8f3g2Ek,141
2
- kuavo_humanoid_sdk/common/global_config.py,sha256=2iDGXEwjmfc9MQ4jYOYxFyTB_BnLIxf6HYent5dS4gA,315
3
2
  kuavo_humanoid_sdk/common/logger.py,sha256=nSIbsJaW4nDcaQdhZebZkjtji6kmWVR8tYO-sUTz3Gg,1246
4
- kuavo_humanoid_sdk/common/websocket_kuavo_sdk.py,sha256=lfilfXYdZFTasjRudHb_Xc89ah44jWljpQTozVSABGU,675
5
3
  kuavo_humanoid_sdk/interfaces/__init__.py,sha256=_zXDinj2T3X7UH19-Xrotc7uYZWHmZqHaMCWU1FYR5I,100
6
- kuavo_humanoid_sdk/interfaces/data_types.py,sha256=TV09XgA8inII_g0xb7q19VvxbRD02MLFHlR15qTAZF0,6799
4
+ kuavo_humanoid_sdk/interfaces/data_types.py,sha256=TCCVE0gmbw6KzCJKCzVCiG5yUl2IY-uIjHO5RKs0y2o,5281
7
5
  kuavo_humanoid_sdk/interfaces/end_effector.py,sha256=rlvBrYd_-b5-Px_m2UiHn47wuZJwlqVBrGPdV1lu0Qg,1876
8
6
  kuavo_humanoid_sdk/interfaces/robot.py,sha256=qqnq7gRc_mK8xEWnF5pJ7AJUPtry1bpN9eDl8nmE3EM,393
9
7
  kuavo_humanoid_sdk/interfaces/robot_info.py,sha256=-rh7VXjMJFYTsx7Ktok5VuI6JF_W2BpJBUbqtYJRkkA,1176
10
- kuavo_humanoid_sdk/kuavo/__init__.py,sha256=WAIykcMUtMhFTPZ_6oE_VARfNo3fJXD8DxNhwEyoZxk,415
11
- kuavo_humanoid_sdk/kuavo/dexterous_hand.py,sha256=q2_vTdjxIuUW-J9QzZdbDUgxQJocZ70jfxzLDle2S9M,8709
12
- kuavo_humanoid_sdk/kuavo/leju_claw.py,sha256=5BKBCOqIt2AEai8e9xymm5_jPPfJw3O7ZeDeXSBpDTw,10465
13
- kuavo_humanoid_sdk/kuavo/robot.py,sha256=9K54BELOmsXQpmvwkqqZPx4lGrjVgiy54c40Vw6Xt0s,15700
8
+ kuavo_humanoid_sdk/kuavo/__init__.py,sha256=O4gPIQALqxUyNqBPCzzme4EfvTbbbh-IWGhLnhnZW_c,291
9
+ kuavo_humanoid_sdk/kuavo/dexterous_hand.py,sha256=S4giIerF44sfMim1Tp-ZwoSbj7aqX3l_sgxNBS-nZRI,8497
10
+ kuavo_humanoid_sdk/kuavo/leju_claw.py,sha256=6GUtQC_APuWzRAQtJFrSMqq9bUg8mI-g2ZBKYbOT4No,10253
11
+ kuavo_humanoid_sdk/kuavo/robot.py,sha256=AiBHuT2uj8n3tOPr0gEWgZO2hCalaeRhANyafAQuu-c,14239
14
12
  kuavo_humanoid_sdk/kuavo/robot_arm.py,sha256=qD8oWSlKdxqc739vvM_18dpJgnMzjBbX41xJiyI6VWg,6946
15
- kuavo_humanoid_sdk/kuavo/robot_audio.py,sha256=Z0ZN0DldOEWL1iLo9wPgGE9m8J_jQuNKq-QkY6H_PhE,1310
16
13
  kuavo_humanoid_sdk/kuavo/robot_head.py,sha256=8caHrPNwg98b4jf5cLJUbsGNovgtXetOqBvuG5vWSXA,1526
17
- kuavo_humanoid_sdk/kuavo/robot_info.py,sha256=etyqcUg22IAA2O59cjBhLTpacQ3DLhT8qZNj7vX8yL8,4116
18
- kuavo_humanoid_sdk/kuavo/robot_state.py,sha256=VT2kcOAoc9MtJGVJ6pOwTkFDeFX9mHtRcdpkMxVEetA,11084
19
- kuavo_humanoid_sdk/kuavo/robot_tool.py,sha256=moCaX46JWO6k9QXIhXPXjL_ywccz4iovkrjS2yH9Dgg,2747
20
- kuavo_humanoid_sdk/kuavo/robot_vision.py,sha256=AxlD3Ckl2GafsNpPNWYUM89653AN1BvWtMi9stdDALE,3156
21
- kuavo_humanoid_sdk/kuavo/core/audio.py,sha256=lyoYTKkt3ZEnehh1cJenksrkYUrlHBC559r1JmzysR4,1024
22
- kuavo_humanoid_sdk/kuavo/core/core.py,sha256=VZfyot7BOeUpwJfjHa7_hcKNegdqYqLCEGLBNeb54fc,18676
14
+ kuavo_humanoid_sdk/kuavo/robot_info.py,sha256=SZ0TeI87hc69Oop4CT1PxU7zSauTxJTJe8fcIIr-h6Q,3912
15
+ kuavo_humanoid_sdk/kuavo/robot_state.py,sha256=X9vPmIK1dYBgaKHanfj0kVaUAMqxopBJWmlbOouTIqQ,10873
16
+ kuavo_humanoid_sdk/kuavo/core/core.py,sha256=PTUjGG6ZZaDv6p70OF4iZEA2-D2uIOKT87Xml59Xi5M,17915
23
17
  kuavo_humanoid_sdk/kuavo/core/dex_hand_control.py,sha256=51iLPIKMFKeOhc5TpRCMWTm7Aw8pt6XG9XUB-_swr4Y,5158
24
18
  kuavo_humanoid_sdk/kuavo/core/leju_claw_control.py,sha256=RCrnWTMW-L0fOMa1op7t43aGWSyMVqrOjR0lVtIFzqY,3432
25
- kuavo_humanoid_sdk/kuavo/core/ros_env.py,sha256=lVhEVUZvdQI43mPkFqRYBld3N-L4nPigRkcSZ-ejL9I,18848
26
- kuavo_humanoid_sdk/kuavo/core/ros/audio.py,sha256=aJQ9i7df8mK55XCtNM4MDLcwz8CnEk-K3P93QrtWwXQ,6850
27
- kuavo_humanoid_sdk/kuavo/core/ros/control.py,sha256=YnANyRmeXXdcV6lyeAmbpu6VQyiUp8RHgp_qbUni3F4,62288
28
- kuavo_humanoid_sdk/kuavo/core/ros/param.py,sha256=r8Xve8zsfFBBZQnEbLOCNC1YQhv_h-Xv1hHx6gHkQag,11745
19
+ kuavo_humanoid_sdk/kuavo/core/ros_env.py,sha256=Fq7YfHFjVvoUn-jMsrcHB_gUQ4w1y54jUVKtxV7zNEg,9500
20
+ kuavo_humanoid_sdk/kuavo/core/ros/control.py,sha256=8erUTrGEY-JcqT0u_DTLsK5RFzobjjdOcufIn4tPnek,35305
21
+ kuavo_humanoid_sdk/kuavo/core/ros/param.py,sha256=8XtwH6V59n8IX6TtXB5-lTMvBuhrNJqQaoRkbCYyIJc,6760
29
22
  kuavo_humanoid_sdk/kuavo/core/ros/sat_utils.py,sha256=AhBNM-s9nVwRiLZ8gtqC2RvPImkT9uulONSLXk3KooI,3317
30
- kuavo_humanoid_sdk/kuavo/core/ros/state.py,sha256=OkoGUWj0llDSYWFE-unKKHeiPKik1vSSU6mtVP4Mwwg,34658
31
- kuavo_humanoid_sdk/kuavo/core/ros/tools.py,sha256=RF9PVvHEfYBuNYyKRbgtLrFrR15kfPTjtcXmZG17Gk4,6142
32
- kuavo_humanoid_sdk/kuavo/core/ros/vision.py,sha256=0sVTsfvaaLyHJIos7aUpHi_DkxCD0LDw90ZedK8YFGg,20173
23
+ kuavo_humanoid_sdk/kuavo/core/ros/state.py,sha256=tA5250P82MNwvYJ9QGbcNcWm_n2NWKPqD383GAARiAE,18146
33
24
  kuavo_humanoid_sdk/msg/__init__.py,sha256=8TElMWrXsBCGxhJBe3mfgtiAlX4LzgQep66TSwMcaDQ,19
34
25
  kuavo_humanoid_sdk/msg/kuavo_msgs/__init__.py,sha256=wk-pfWFvAOl475vxWFVTwbJGejP6UKgivUApv8RvK_8,216
35
26
  kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AprilTagDetection.py,sha256=2Iz0kN1w5IqvXFmK-DN14i-9hrtZNSRSWvxr6tSPIlA,11655
36
27
  kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AprilTagDetectionArray.py,sha256=JayCQPuoFsBQ5nyhVuArhePEPW0FjI4T7dEz88tf6Gw,14938
37
28
  kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_Metadata.py,sha256=2uZlLK7eQAj72sCHw40s8PHiXpj_u0JqBgAhIGqnsO8,6857
38
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/__init__.py,sha256=53jGXe2jFB4UfYdwgDmpCnOhsaKGFIQ8ppyAssgX1Qg,1071
39
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armHandPose.py,sha256=JFzYudRq0CIBzrOt2XnSw_fR7FgQerC2L6ntkoHu1eM,5522
29
+ kuavo_humanoid_sdk/msg/kuavo_msgs/msg/__init__.py,sha256=xFpeX8iIKqDgMMzM_kYBoKS5KLMhYys5tyiTQD8v8Lk,866
40
30
  kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armPoseWithTimeStamp.py,sha256=miPh7Mim4Zp1wEWw3HrvUOr8dlvJGT-DzffjGUT25xE,5806
41
31
  kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armTargetPoses.py,sha256=2egR0jL7ZD0-eUIteC5pdrnADgb29KZMNTNnNZPznOY,5032
42
32
  kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_dexhandCommand.py,sha256=cxqVA14d_ylCoZwo4wE2zgv6WqlkT7nqIV_OlZqu9dA,7886
@@ -47,35 +37,26 @@ kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoseTargetTrajectories.py,sha256=weFk
47
37
  kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gaitTimeName.py,sha256=4DoUi8RVuUAG4Su3MoeN9iwelYFGT1U626iKjGSNvo8,4827
48
38
  kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gestureInfo.py,sha256=jxX5x4dNNcTmUJuVD49nGWQVr_q-B3X_klygNvMKFIM,7265
49
39
  kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gestureTask.py,sha256=0oPveCGud3VXHoLHlUqLrq1KOYpCinPWZIMFf-n1bGI,5090
50
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_handPose.py,sha256=O8R4Efpv8xaVZW-1y-eGxDZGgdlHEzBNcHXbwNr2V54,4352
51
40
  kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_headBodyPose.py,sha256=69JZkFZFNT8xpoixu8BMsZ2BU-WkFW4jSBbI9-jnirM,5119
52
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_ikSolveError.py,sha256=jR4JrWr1y_VMI7o8mmoQLAJX4ogno2fSTYXswO-xWSc,6876
53
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_ikSolveParam.py,sha256=0gxZMJ-izoEAbQmfiZYjLif18EhOGdVV9envbeekCdE,5797
54
41
  kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_imuData.py,sha256=mYEOFd-YfsJzOskHPioyycNccC51G3-uCc7o4DwclPU,6412
55
42
  kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointCmd.py,sha256=ryln-guf6GVWN0uFTWXzhl4mD0IOmAsvMyEIxuVdzls,13421
56
43
  kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointData.py,sha256=c8UQLJJPXqN0d2_xJeDjKpWNP6ZGCRPUwZ2tlEp2dLU,6974
57
44
  kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_lejuClawCommand.py,sha256=9ntVsgjRFVJNIOeLffFrWlwm0gWErwd5mHyB70RUSus,11018
58
45
  kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_lejuClawState.py,sha256=2YZdHBEuWh0GhXViMjNROCcZZcw--Zdox69oGG96Gj4,11611
59
46
  kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_questJoySticks.py,sha256=OKag_7VEOV5qFUmFmBd-Lr5iIJ_sMfro4Hrb-jsYrGs,9339
60
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotArmQVVD.py,sha256=3jlIrYDHkb6eVDZlfPH8nmb0faDbt9qHwEDBtz0ffNo,5755
61
47
  kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotHandPosition.py,sha256=BQYNPRNR3TejYhcYTsI7kKRfwKLKGcnKVEHF2yi3_Hw,8153
62
48
  kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotHeadMotionData.py,sha256=mL470CWBjPQ8PxSM2MffeSV3Pn2GP3rFaLquT6LtaBo,4265
63
49
  kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotState.py,sha256=LHaCkfHg7bkAy-oHkJke7-kC90utZzlloOv1rsd1sj4,7541
64
50
  kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_sensorsData.py,sha256=hHAvPSEAdsQ7lvsR9SXHzFGrRp1WNOqewZe5cz2bolU,19022
65
51
  kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_switchGaitByName.py,sha256=saXfUf1k8nT0Y5OW7rBxMi9xBdyHYvsZP8EloYgaLZs,6891
66
52
  kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_touchSensorStatus.py,sha256=XsZbTNfmD748TPMBlK88XwsX4Lhg7LtGd_hEQ5e_0sA,7227
67
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPose.py,sha256=9rMuid2MzIOdU06lqYzIQp5N8dbgynhbjqHKk9bkZ9c,10174
68
- kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseCmd.py,sha256=w2_0MTnPo7E8ioBcT0YUIvuJr6efxEtYA-szBdPgSlo,13301
69
53
  kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_yoloDetection.py,sha256=Sb7W4mZ2WBLHpUBxPUO0MsLnV7NeSByOXBwMfV87Fhw,8701
70
54
  kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_yoloOutputData.py,sha256=kXYLnrYTjKU9yopZJ8NgCEtswLy66WWdh6rj05TL2DY,5696
71
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SpeechSynthesis.py,sha256=ERh-Y-JoghTDkUWp_yn8bFm7eQIHyLu4bTGR_ORVcQQ,8858
72
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/__init__.py,sha256=Bq0R5aGfs7iin3vv_hqxdnoB9_YcCZXorcwO2CY_DZY,667
55
+ kuavo_humanoid_sdk/msg/kuavo_msgs/srv/__init__.py,sha256=FFX0pxPEjltERtadS5ud2-UWn8z41yz2eY8hq23Sl9w,537
73
56
  kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeArmCtrlMode.py,sha256=OI312Z4IOywRn_9ckHmc89eFbBGRpIO9crRz_zlYKIk,9159
74
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeArmCtrlModeKuavo.py,sha256=l1t3VqPbn2nVFuPnOHuiLjAUcz08zH1y7R0PO10Lo9E,8040
75
57
  kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeTorsoCtrlMode.py,sha256=2_CTVtEgaFUaODV8VyTZA0Z6El3hiDcYrBPP9hstnLs,9206
76
58
  kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_controlLejuClaw.py,sha256=jSK0OY6JRqPxiCtEGSBnibwc-5sk-JLaP7UOMZTcdJ8,13582
77
59
  kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_enableHandTouchSensor.py,sha256=yfutLxkhL5sFJToLNQSEd6dM2dSXgLEOCt4lv8Fkoj4,9881
78
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_fkSrv.py,sha256=oQ8mc0mTDd-qcD5ZFpr_6BNsdj5wMAXm0vN2rzb2q68,14783
79
60
  kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_footPoseTargetTrajectoriesSrv.py,sha256=WzvTdNpizYi5_1iREOiwGyOnpv6XVFo5Vt-7YvC0fEg,12371
80
61
  kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureExecute.py,sha256=I6-Ohq1fQg3KjI7GWm0eEB1FGaSFwR0wGUYw_i4WPqM,11602
81
62
  kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureExecuteState.py,sha256=ChmcjaxNf5ED9o7JE3z_UcSaaGC6tKixvitz7eQEs3I,8717
@@ -83,13 +64,27 @@ kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureList.py,sha256=Y51SV-xBTW9Rk6jAKam
83
64
  kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getCurrentGaitName.py,sha256=50CyEUJseck7b9lopj-3ihxUSy62Mn5PwgbLHCqjuOs,8429
84
65
  kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_handForceLevel.py,sha256=YVhwt3RCVdYna6UEKV4oA81aydcPE7ilmVrHetcw-ew,10796
85
66
  kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_jointMoveTo.py,sha256=CHM0sooP3GoIvphVn3lut0fWtjuIwgz9DYd6oJ3XCz4,9984
86
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_playmusic.py,sha256=QKWQDAW_NFgy5Vo6TMc_C7PyBeJwVPU32_wa-9672a8,9111
67
+ kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_playmusic.py,sha256=2OhWGB_QWfzo80IwfNZrFD3W4wd6nWuawru2BO1mwIg,8913
87
68
  kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setHwIntialState.py,sha256=0_GWZCBfmthlwVuYOZLzFMUgjIymL8BxtW6_3ZzSqAE,10204
88
69
  kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setMotorEncoderRoundService.py,sha256=E6A81oVoNeBTc5jDbsCMTM0TLnGvsvoo0JVtwk8cmNA,9815
89
70
  kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setTagId.py,sha256=edQqsBm-LvmT0s55UQ-qVEvqaiGFOBmwF8ox95xcyPY,8970
90
71
  kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_singleStepControl.py,sha256=yfCfwqP7H9KJ5GnzTiwpiB0NrczFXkON76i7SRk9eV8,13279
91
- kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_twoArmHandPoseCmdSrv.py,sha256=U4v52v6Fegii9uvmTLDhbRjfHKh0mhkzj2p6NPb9cqM,28914
92
72
  kuavo_humanoid_sdk/msg/motion_capture_ik/__init__.py,sha256=wk-pfWFvAOl475vxWFVTwbJGejP6UKgivUApv8RvK_8,216
73
+ kuavo_humanoid_sdk/msg/motion_capture_ik/msg/__init__.py,sha256=MFFzlDRPEqO2XS-G9QcFFAsOM3h-sschYUfef9rpszQ,268
74
+ kuavo_humanoid_sdk/msg/motion_capture_ik/msg/_armHandPose.py,sha256=OPm4KqKpzTqtF-q-UTGsyWTNLH4PEwezSjuOqadoK54,5536
75
+ kuavo_humanoid_sdk/msg/motion_capture_ik/msg/_handPose.py,sha256=vPMztL544qsUYHbk2KYWLYnNTlVcMY4m01MYxUortLE,4366
76
+ kuavo_humanoid_sdk/msg/motion_capture_ik/msg/_headBodyPose.py,sha256=Sa8mOVMeH9PIM6LS3kKfP-BaFqILTTXxtAJLpY7FyEo,5133
77
+ kuavo_humanoid_sdk/msg/motion_capture_ik/msg/_ikSolveError.py,sha256=DBqZp_nMRB0fwlP4V2-nHkJwkLwbNn-LNcZtMuN58EI,6974
78
+ kuavo_humanoid_sdk/msg/motion_capture_ik/msg/_ikSolveParam.py,sha256=bola3i-GY-k-OhDbd8NNrs9ASaQlbdMtmU2iaD_jKP8,5811
79
+ kuavo_humanoid_sdk/msg/motion_capture_ik/msg/_robotArmQVVD.py,sha256=4fBamid058UyM-P-czvMFA5_LFlJ0coX9UeRKk5kmeY,5769
80
+ kuavo_humanoid_sdk/msg/motion_capture_ik/msg/_robotHandPosition.py,sha256=swzoPp-dA4VeMLvRHnX1KfPWIYzrorcpmJh3UNEANU0,8167
81
+ kuavo_humanoid_sdk/msg/motion_capture_ik/msg/_twoArmHandPose.py,sha256=PJJDAlLrDseRfLfVB5sqVIDmtciMybBEg1hp9TEEV-E,10272
82
+ kuavo_humanoid_sdk/msg/motion_capture_ik/msg/_twoArmHandPoseCmd.py,sha256=6tU3Bx9Bn_LMvnXci4s2kGX5E3-Nfvi_LE71bzI6XXE,13413
83
+ kuavo_humanoid_sdk/msg/motion_capture_ik/srv/__init__.py,sha256=Agetxi8Og-gpF9PkD4uI_TweIMB_iHl_KD8fPfrcWt4,132
84
+ kuavo_humanoid_sdk/msg/motion_capture_ik/srv/_changeArmCtrlMode.py,sha256=NwNn72dD8Eviyy-o61Os7QPnGX1GpQPG_XMkBX1pOQo,9194
85
+ kuavo_humanoid_sdk/msg/motion_capture_ik/srv/_changeArmCtrlModeKuavo.py,sha256=JHs_gLWgYVnbSZltl5LTlxkagnqQRnS9q-MTw-xltX4,8075
86
+ kuavo_humanoid_sdk/msg/motion_capture_ik/srv/_fkSrv.py,sha256=ZBsAFPF36XAJP0fDebc1bRMUm1GRSjSGLBDxgxL1KkE,14874
87
+ kuavo_humanoid_sdk/msg/motion_capture_ik/srv/_twoArmHandPoseCmdSrv.py,sha256=lXLo2tJPJzJUwKhz1kzeVBJ7SPImTzET68yERLiZUwA,29075
93
88
  kuavo_humanoid_sdk/msg/ocs2_msgs/__init__.py,sha256=wk-pfWFvAOl475vxWFVTwbJGejP6UKgivUApv8RvK_8,216
94
89
  kuavo_humanoid_sdk/msg/ocs2_msgs/msg/__init__.py,sha256=dJBWOS_viXh9umNB2pGUPdSFm9h8ySMOqtIop--PGss,388
95
90
  kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_constraint.py,sha256=Fl-vdxvT6FPxWoSpPIw0Jt-anEsYsY1wFiiNMgmwsRA,4621
@@ -106,7 +101,7 @@ kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_target_trajectories.py,sha256=c8l2__Lu
106
101
  kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_multiplier.py,sha256=UY0klrLwiuQeEOxBXGrLdivCOhI3HsHUbi5uX7nsT8g,4895
107
102
  kuavo_humanoid_sdk/msg/ocs2_msgs/srv/__init__.py,sha256=LaBHLkXuxdf1Z6BCqgWQC2F9yUNSDYC_iQp6NMYAnjQ,22
108
103
  kuavo_humanoid_sdk/msg/ocs2_msgs/srv/_reset.py,sha256=KtnylmS0VOjVfa3lldprbhZl04wU3ng5v94jghu3dYU,13379
109
- kuavo_humanoid_sdk-1.1.3a1252.dist-info/METADATA,sha256=njSY4oZBP93mFsnwGqGn7LTY-4h2RRbQ0pllUQhvS6c,10831
110
- kuavo_humanoid_sdk-1.1.3a1252.dist-info/WHEEL,sha256=g4nMs7d-Xl9-xC9XovUrsDHGXt-FT0E17Yqo92DEfvY,92
111
- kuavo_humanoid_sdk-1.1.3a1252.dist-info/top_level.txt,sha256=9uSyZoiOEykRMOf0Gm-N9mkyQQg9yOSimfsb632G99c,19
112
- kuavo_humanoid_sdk-1.1.3a1252.dist-info/RECORD,,
104
+ kuavo_humanoid_sdk-1.1.6.dist-info/METADATA,sha256=H9zTiNKHHFCuubg6XDAQlZJtvfrWBByYD3zVsO-x8TI,10802
105
+ kuavo_humanoid_sdk-1.1.6.dist-info/WHEEL,sha256=g4nMs7d-Xl9-xC9XovUrsDHGXt-FT0E17Yqo92DEfvY,92
106
+ kuavo_humanoid_sdk-1.1.6.dist-info/top_level.txt,sha256=9uSyZoiOEykRMOf0Gm-N9mkyQQg9yOSimfsb632G99c,19
107
+ kuavo_humanoid_sdk-1.1.6.dist-info/RECORD,,
@@ -1,16 +0,0 @@
1
-
2
- class GlobalConfig:
3
-
4
- _instance = None
5
-
6
- use_websocket = False
7
- websocket_host = '127.0.0.1'
8
- websocket_port = 9090
9
- websocket_timeout = 5.0
10
-
11
- def __new__(cls, *args, **kwargs):
12
- if cls._instance is None:
13
- cls._instance = super().__new__(cls)
14
- return cls._instance
15
-
16
-
@@ -1,23 +0,0 @@
1
- import roslibpy
2
- from kuavo_humanoid_sdk.common.global_config import GlobalConfig
3
-
4
- class WebSocketKuavoSDK:
5
-
6
- _instance = None
7
- _initialized = False
8
-
9
- def __new__(cls, *args, **kwargs):
10
- if cls._instance is None:
11
- cls._instance = super().__new__(cls)
12
- return cls._instance
13
-
14
- def __init__(self):
15
- if not self._initialized:
16
- self._initialized = True
17
- self.client = roslibpy.Ros(host=GlobalConfig.websocket_host, port=GlobalConfig.websocket_port)
18
- self.client.run(timeout=GlobalConfig.websocket_timeout)
19
-
20
-
21
- def __del__(self):
22
- self.client.terminate()
23
- self.instance = None
@@ -1,36 +0,0 @@
1
- import time
2
- import math
3
- import threading
4
- import numpy as np
5
- from typing import Tuple
6
- from transitions import Machine, State
7
-
8
- from kuavo_humanoid_sdk.common.logger import SDKLogger
9
- from kuavo_humanoid_sdk.common.global_config import GlobalConfig
10
- from kuavo_humanoid_sdk.kuavo.core.ros.audio import Audio, AudioWebsocket
11
-
12
- class KuavoRobotAudioCore:
13
- def __init__(self):
14
- if GlobalConfig.use_websocket:
15
- self.robot_audio = AudioWebsocket()
16
- else:
17
- self.robot_audio = Audio()
18
-
19
- def play_audio(self, music_number: str, volume: float = 0.5, speed: float = 1.0) -> bool:
20
- """
21
- play music
22
- """
23
- return self.robot_audio.play_audio(music_number, volume, speed)
24
-
25
- def stop_music(self) -> bool:
26
- """
27
- stop music
28
- """
29
- return self.robot_audio.stop_audio()
30
-
31
- def text_to_speech(self, text: str, volume: float = 0.5) -> bool:
32
- """
33
- text to speech
34
- """
35
- return self.robot_audio.text_to_speech(text, volume)
36
-
@@ -1,176 +0,0 @@
1
- #!/usr/bin/env python3
2
- # coding: utf-8
3
- from kuavo_humanoid_sdk.common.logger import SDKLogger
4
- from kuavo_humanoid_sdk.kuavo.core.core import KuavoRobotCore
5
- from kuavo_humanoid_sdk.common.websocket_kuavo_sdk import WebSocketKuavoSDK
6
- import roslibpy
7
-
8
- try:
9
- import rospy
10
- from std_msgs.msg import Bool
11
- from kuavo_humanoid_sdk.msg.kuavo_msgs.srv import playmusic, playmusicRequest
12
- from kuavo_humanoid_sdk.msg.kuavo_msgs.srv import SpeechSynthesis, SpeechSynthesisRequest
13
- except:
14
- pass
15
-
16
- class Audio:
17
- """Audio system interface for controlling audio playback functionality of Kuavo humanoid robot.
18
-
19
- Provides functionality to play music files.
20
- """
21
-
22
- def __init__(self):
23
- """Initialize the audio system."""
24
- self._audio_stop_publisher = rospy.Publisher('stop_music', Bool, queue_size=10)
25
- rospy.sleep(0.5) # Wait for publisher initialization
26
- def play_audio(self, file_name: str,volume: float = 0.5,speed: float = 1.0) -> bool:
27
- """Play the specified audio file.
28
-
29
- Args:
30
- file_name (str): Name of the audio file to play
31
-
32
- Returns:
33
- bool: True if the play request was successfully sent, False otherwise
34
- """
35
- try:
36
- # Wait for service availability
37
- rospy.wait_for_service('play_music', timeout=2.0)
38
- # Create service client
39
- play_music_service = rospy.ServiceProxy('play_music', playmusic)
40
- # Call service
41
- request = playmusicRequest()
42
- request.music_number = file_name
43
- volume = min(max(volume , 0), 1.0)
44
- request.volume = volume
45
- request.speed = speed
46
- response = play_music_service(request)
47
- SDKLogger.info(f"[Robot Audio] Requested to play audio file: {file_name}")
48
- return True
49
- except rospy.ROSException as e:
50
- SDKLogger.error(f"[Robot Audio] Audio playback service unavailable: {str(e)}")
51
- return False
52
- except Exception as e:
53
- SDKLogger.error(f"[Robot Audio] Failed to play audio file: {str(e)}")
54
- return False
55
-
56
- def stop_audio(self):
57
- """Stop the currently playing audio."""
58
- try:
59
- msg = Bool()
60
- msg.data = True
61
- self._audio_stop_publisher.publish(msg)
62
- SDKLogger.info("[Robot Audio] Requested to stop audio playback")
63
- return True
64
- except Exception as e:
65
- SDKLogger.error(f"[Robot Audio] Failed to stop audio playback: {str(e)}")
66
- return False
67
-
68
- def text_to_speech(self, text: str,volume: float = 0.5) -> bool:
69
- """Synthesize and play the specified text.
70
-
71
- Args:
72
- text (str): Text to be played
73
-
74
- Returns:
75
- bool: True if the play request was successfully sent, False otherwise
76
- """
77
- try:
78
- # Wait for service availability
79
- rospy.wait_for_service('play_music', timeout=2.0)
80
- # Create service client
81
- play_music_service = rospy.ServiceProxy('speech_synthesis', SpeechSynthesis)
82
- # Call service
83
- request = SpeechSynthesisRequest()
84
- request.data = text
85
- request.volume = volume
86
- response = play_music_service(request)
87
- SDKLogger.info(f"[Robot Audio] Requested to play audio text: {text}")
88
- return True
89
- except rospy.ROSException as e:
90
- SDKLogger.error(f"[Robot Audio] Audio playback service unavailable: {str(e)}")
91
- return False
92
- except Exception as e:
93
- SDKLogger.error(f"[Robot Audio] Failed to play audio text: {str(e)}")
94
- return False
95
-
96
- class AudioWebsocket:
97
- """WebSocket-based audio system interface for controlling audio playback functionality of Kuavo humanoid robot.
98
-
99
- Provides functionality to play music files through WebSocket connection.
100
- """
101
-
102
- def __init__(self):
103
- """Initialize the WebSocket audio system."""
104
- websocket = WebSocketKuavoSDK()
105
- self._audio_stop_publisher = roslibpy.Topic(websocket.client, 'stop_music', 'std_msgs/Bool')
106
- self._audio_stop_publisher.advertise()
107
-
108
- def play_audio(self, file_name: str, volume: float = 0.5, speed: float = 1.0) -> bool:
109
- """Play the specified audio file through WebSocket.
110
-
111
- Args:
112
- file_name (str): Name of the audio file to play
113
- volume (float): Volume level (0.0 to 1.0)
114
- speed (float): Playback speed
115
-
116
- Returns:
117
- bool: True if the play request was successfully sent, False otherwise
118
- """
119
- try:
120
- websocket = WebSocketKuavoSDK()
121
- service = roslibpy.Service(websocket.client, 'play_music', 'kuavo_msgs/playmusic')
122
-
123
- volume = min(max(volume, 0), 1.0)
124
- request = {
125
- "music_number": file_name,
126
- "volume": volume,
127
- "speed": speed
128
- }
129
-
130
- response = service.call(request)
131
- SDKLogger.info(f"[Robot Audio] Requested to play audio file: {file_name}")
132
- return True
133
- except Exception as e:
134
- SDKLogger.error(f"[Robot Audio] Failed to play audio file: {str(e)}")
135
- return False
136
-
137
- def stop_audio(self) -> bool:
138
- """Stop the currently playing audio through WebSocket."""
139
- try:
140
- msg = {
141
- "data": True
142
- }
143
- self._audio_stop_publisher.publish(roslibpy.Message(msg))
144
- SDKLogger.info("[Robot Audio] Requested to stop audio playback")
145
- return True
146
- except Exception as e:
147
- SDKLogger.error(f"[Robot Audio] Failed to stop audio playback: {str(e)}")
148
- return False
149
-
150
- def text_to_speech(self, text: str, volume: float = 0.5) -> bool:
151
- """Synthesize and play the specified text through WebSocket.
152
-
153
- Args:
154
- text (str): Text to be played
155
- volume (float): Volume level (0.0 to 1.0)
156
-
157
- Returns:
158
- bool: True if the play request was successfully sent, False otherwise
159
- """
160
- try:
161
- websocket = WebSocketKuavoSDK()
162
- service = roslibpy.Service(websocket.client, 'speech_synthesis', 'kuavo_msgs/SpeechSynthesis')
163
-
164
- request = {
165
- "data": text,
166
- "volume": volume
167
- }
168
-
169
- response = service.call(request)
170
- SDKLogger.info(f"[Robot Audio] Requested to play audio text: {text}")
171
- return True
172
- except Exception as e:
173
- SDKLogger.error(f"[Robot Audio] Failed to play audio text: {str(e)}")
174
- return False
175
-
176
-
@@ -1,158 +0,0 @@
1
- #! /usr/bin/env python3
2
- # coding: utf-8
3
-
4
- import copy
5
- import time
6
- import numpy as np
7
- from typing import Tuple, Union
8
- from kuavo_humanoid_sdk.common.logger import SDKLogger
9
-
10
- try:
11
- import rospy
12
- import tf2_ros
13
- import tf.transformations as tf_trans
14
- from std_msgs.msg import Float64
15
- from nav_msgs.msg import Odometry
16
- from sensor_msgs.msg import JointState
17
- from kuavo_humanoid_sdk.msg.kuavo_msgs.msg import sensorsData, lejuClawState, gaitTimeName, dexhandTouchState
18
- from geometry_msgs.msg import TransformStamped
19
- except ImportError:
20
- pass
21
-
22
- from kuavo_humanoid_sdk.interfaces.data_types import (PoseQuaternion, HomogeneousMatrix)
23
- from kuavo_humanoid_sdk.kuavo.core.ros.param import make_robot_param, EndEffectorType
24
-
25
-
26
-
27
- class KuavoRobotToolsCore:
28
- """Provides core ROS tools for Kuavo humanoid robot transformations.
29
-
30
- Attributes:
31
- tf_buffer (tf2_ros.Buffer): TF2 transform buffer for storing transforms
32
- tf_listener (tf2_ros.TransformListener): TF2 transform listener
33
- """
34
-
35
- def __init__(self):
36
- """Initializes TF2 buffer and listener for coordinate transformations."""
37
- if not hasattr(self, '_initialized'):
38
- # 初始化TF2相关组件
39
- self.tf_buffer = tf2_ros.Buffer(cache_time=rospy.Duration(10))
40
- self.tf_listener = tf2_ros.TransformListener(self.tf_buffer)
41
-
42
- def _get_tf_tree_transform(self, target_frame: str, source_frame: str,
43
- time=0.0, timeout=1.0,
44
- return_type: str = "pose_quaternion") -> Union[PoseQuaternion, HomogeneousMatrix, None]:
45
- """Gets transform between coordinate frames.
46
-
47
- Args:
48
- target_frame (str): Target coordinate frame name
49
- source_frame (str): Source coordinate frame name
50
- time (rospy.Time, optional): Time of transform. Defaults to latest.
51
- timeout (float, optional): Wait timeout in seconds. Defaults to 1.0.
52
- return_type (str, optional): Return data format. Options:
53
- "pose_quaternion", "homogeneous". Defaults to "pose_quaternion".
54
-
55
- Returns:
56
- Union[PoseQuaternion, HomogeneousMatrix, None]: Requested transform data
57
- or None if failed
58
-
59
- Raises:
60
- tf2_ros.LookupException: If transform is not available
61
- tf2_ros.ConnectivityException: If transform connectivity issue
62
- tf2_ros.ExtrapolationException: If transform time is out of range
63
- """
64
- time = rospy.Time(time)
65
- try:
66
- transform = self.tf_buffer.lookup_transform(
67
- target_frame,
68
- source_frame,
69
- time,
70
- rospy.Duration(timeout)
71
- )
72
- return self._parse_transform(transform.transform, return_type)
73
- except Exception as e:
74
- SDKLogger.error(f"Transform error: {str(e)}")
75
- return None
76
-
77
- def _parse_transform(self, transform, return_type: str) -> Union[PoseQuaternion, HomogeneousMatrix, None]:
78
- """Parses transform data to specified format.
79
-
80
- Args:
81
- transform (geometry_msgs/Transform): Input transform data
82
- return_type (str): Output format type. Valid values:
83
- "pose_quaternion", "homogeneous"
84
-
85
- Returns:
86
- Union[PoseQuaternion, HomogeneousMatrix, None]: Parsed transform data
87
- in requested format, or None if invalid input
88
-
89
- Note:
90
- Falls back to pose_quaternion format if invalid return_type specified
91
- """
92
- if return_type == "pose_quaternion":
93
- return PoseQuaternion(
94
- position=(transform.translation.x,
95
- transform.translation.y,
96
- transform.translation.z),
97
- orientation=(transform.rotation.x,
98
- transform.rotation.y,
99
- transform.rotation.z,
100
- transform.rotation.w)
101
- )
102
- elif return_type == "homogeneous":
103
- return HomogeneousMatrix(
104
- matrix=self._transform_to_homogeneous(transform)
105
- )
106
- else:
107
- SDKLogger.warn(f"Invalid return_type: {return_type}, using default(pose_quaternion)")
108
- return self._parse_transform(transform, "pose_quaternion")
109
-
110
- def _transform_to_homogeneous(self, transform) -> np.ndarray:
111
- """Converts geometry_msgs/Transform to homogeneous matrix.
112
-
113
- Args:
114
- transform (geometry_msgs/Transform): Input transform message
115
-
116
- Returns:
117
- np.ndarray: 4x4 homogeneous transformation matrix (numpy.float32)
118
-
119
- Example:
120
- >>> matrix = _transform_to_homogeneous(transform_msg)
121
- >>> print(matrix.shape)
122
- (4, 4)
123
- """
124
- # 四元数转旋转矩阵
125
- rotation = [
126
- transform.rotation.x,
127
- transform.rotation.y,
128
- transform.rotation.z,
129
- transform.rotation.w
130
- ]
131
- rot_matrix = tf_trans.quaternion_matrix(rotation)
132
-
133
- # 设置平移分量
134
- translation = [
135
- transform.translation.x,
136
- transform.translation.y,
137
- transform.translation.z
138
- ]
139
- rot_matrix[:3, 3] = translation
140
-
141
- return rot_matrix.astype(np.float32) # 确保矩阵数据类型一致
142
-
143
- # if __name__ == "__main__":
144
- # robot_tools = KuavoRobotToolsCore()
145
- # time.sleep(0.1)
146
- # # 获取位姿信息
147
- # pose = robot_tools._get_tf_tree_transform("odom", "base_link", return_type="pose_quaternion")
148
- # print(f"Position: {pose.position}")
149
- # print(f"Orientation: {pose.orientation}")
150
-
151
- # # 获取齐次矩阵
152
- # homogeneous = robot_tools._get_tf_tree_transform("odom", "base_link", return_type="homogeneous")
153
- # print(f"Transformation matrix:\n{homogeneous.matrix}")
154
-
155
- # # 矩阵运算示例
156
- # transform_matrix = homogeneous.matrix
157
- # inverse_matrix = np.linalg.inv(transform_matrix) # 求逆变换
158
- # print(f"Inverse matrix:\n{inverse_matrix}")