kuavo-humanoid-sdk 1.2.1b3279__20250911210455-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 (184) hide show
  1. kuavo_humanoid_sdk/__init__.py +6 -0
  2. kuavo_humanoid_sdk/common/logger.py +45 -0
  3. kuavo_humanoid_sdk/interfaces/__init__.py +4 -0
  4. kuavo_humanoid_sdk/interfaces/data_types.py +288 -0
  5. kuavo_humanoid_sdk/interfaces/end_effector.py +62 -0
  6. kuavo_humanoid_sdk/interfaces/robot.py +22 -0
  7. kuavo_humanoid_sdk/interfaces/robot_info.py +56 -0
  8. kuavo_humanoid_sdk/kuavo/__init__.py +16 -0
  9. kuavo_humanoid_sdk/kuavo/core/audio.py +32 -0
  10. kuavo_humanoid_sdk/kuavo/core/core.py +666 -0
  11. kuavo_humanoid_sdk/kuavo/core/dex_hand_control.py +114 -0
  12. kuavo_humanoid_sdk/kuavo/core/leju_claw_control.py +67 -0
  13. kuavo_humanoid_sdk/kuavo/core/llm_doubao.py +608 -0
  14. kuavo_humanoid_sdk/kuavo/core/microphone.py +192 -0
  15. kuavo_humanoid_sdk/kuavo/core/navigation.py +70 -0
  16. kuavo_humanoid_sdk/kuavo/core/ros/audio.py +110 -0
  17. kuavo_humanoid_sdk/kuavo/core/ros/control.py +1524 -0
  18. kuavo_humanoid_sdk/kuavo/core/ros/microphone.py +38 -0
  19. kuavo_humanoid_sdk/kuavo/core/ros/navigation.py +217 -0
  20. kuavo_humanoid_sdk/kuavo/core/ros/observation.py +94 -0
  21. kuavo_humanoid_sdk/kuavo/core/ros/param.py +201 -0
  22. kuavo_humanoid_sdk/kuavo/core/ros/sat_utils.py +103 -0
  23. kuavo_humanoid_sdk/kuavo/core/ros/state.py +652 -0
  24. kuavo_humanoid_sdk/kuavo/core/ros/tools.py +220 -0
  25. kuavo_humanoid_sdk/kuavo/core/ros/vision.py +234 -0
  26. kuavo_humanoid_sdk/kuavo/core/ros_env.py +238 -0
  27. kuavo_humanoid_sdk/kuavo/demo_climbstair.py +249 -0
  28. kuavo_humanoid_sdk/kuavo/dexterous_hand.py +238 -0
  29. kuavo_humanoid_sdk/kuavo/leju_claw.py +235 -0
  30. kuavo_humanoid_sdk/kuavo/logger_client.py +80 -0
  31. kuavo_humanoid_sdk/kuavo/robot.py +561 -0
  32. kuavo_humanoid_sdk/kuavo/robot_arm.py +299 -0
  33. kuavo_humanoid_sdk/kuavo/robot_audio.py +39 -0
  34. kuavo_humanoid_sdk/kuavo/robot_blockly.py +1162 -0
  35. kuavo_humanoid_sdk/kuavo/robot_climbstair.py +1607 -0
  36. kuavo_humanoid_sdk/kuavo/robot_head.py +74 -0
  37. kuavo_humanoid_sdk/kuavo/robot_info.py +134 -0
  38. kuavo_humanoid_sdk/kuavo/robot_microphone.py +19 -0
  39. kuavo_humanoid_sdk/kuavo/robot_navigation.py +135 -0
  40. kuavo_humanoid_sdk/kuavo/robot_observation.py +64 -0
  41. kuavo_humanoid_sdk/kuavo/robot_speech.py +24 -0
  42. kuavo_humanoid_sdk/kuavo/robot_state.py +310 -0
  43. kuavo_humanoid_sdk/kuavo/robot_tool.py +109 -0
  44. kuavo_humanoid_sdk/kuavo/robot_vision.py +81 -0
  45. kuavo_humanoid_sdk/kuavo_strategy/__init__.py +2 -0
  46. kuavo_humanoid_sdk/kuavo_strategy/grasp_box/grasp_box_strategy.py +1325 -0
  47. kuavo_humanoid_sdk/kuavo_strategy/kuavo_strategy.py +106 -0
  48. kuavo_humanoid_sdk/kuavo_strategy_v2/common/data_type.py +340 -0
  49. kuavo_humanoid_sdk/kuavo_strategy_v2/common/events/base_event.py +215 -0
  50. kuavo_humanoid_sdk/kuavo_strategy_v2/common/robot_sdk.py +25 -0
  51. kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/case.py +331 -0
  52. kuavo_humanoid_sdk/kuavo_strategy_v2/pick_place_box/strategy.py +504 -0
  53. kuavo_humanoid_sdk/kuavo_strategy_v2/utils/logger_setup.py +40 -0
  54. kuavo_humanoid_sdk/kuavo_strategy_v2/utils/utils.py +88 -0
  55. kuavo_humanoid_sdk/msg/__init__.py +4 -0
  56. kuavo_humanoid_sdk/msg/kuavo_msgs/__init__.py +7 -0
  57. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AprilTagDetection.py +306 -0
  58. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AprilTagDetectionArray.py +437 -0
  59. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AudioReceiverData.py +122 -0
  60. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_FTsensorData.py +260 -0
  61. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_JoySticks.py +191 -0
  62. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_Metadata.py +199 -0
  63. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_MmDetectionMsg.py +264 -0
  64. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_RobotActionState.py +112 -0
  65. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_TFArray.py +323 -0
  66. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_TaskPoint.py +175 -0
  67. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/__init__.py +62 -0
  68. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armCollisionCheckInfo.py +160 -0
  69. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armHandPose.py +161 -0
  70. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armHandPoseFree.py +171 -0
  71. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armPoseWithTimeStamp.py +168 -0
  72. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armTargetPoses.py +171 -0
  73. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_bezierCurveCubicPoint.py +178 -0
  74. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_dexhandCommand.py +229 -0
  75. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_dexhandTouchState.py +256 -0
  76. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_endEffectorData.py +227 -0
  77. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPose.py +123 -0
  78. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPose6D.py +123 -0
  79. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPose6DTargetTrajectories.py +320 -0
  80. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoseTargetTrajectories.py +301 -0
  81. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoseWithVision.py +136 -0
  82. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoseWithVisionArray.py +231 -0
  83. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoses.py +149 -0
  84. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoses6D.py +149 -0
  85. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_fullBodyTargetTrajectories.py +258 -0
  86. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gaitTimeName.py +147 -0
  87. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gestureInfo.py +218 -0
  88. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gestureTask.py +149 -0
  89. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_handPose.py +136 -0
  90. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_headBodyPose.py +145 -0
  91. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_ikSolveError.py +171 -0
  92. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_ikSolveParam.py +140 -0
  93. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_imuData.py +165 -0
  94. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointBezierTrajectory.py +201 -0
  95. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointCmd.py +390 -0
  96. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointData.py +205 -0
  97. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_kuavoModeSchedule.py +224 -0
  98. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_lejuClawCommand.py +320 -0
  99. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_lejuClawState.py +341 -0
  100. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_motorParam.py +122 -0
  101. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_picoPoseInfo.py +143 -0
  102. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_picoPoseInfoList.py +220 -0
  103. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_planArmState.py +120 -0
  104. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_qv.py +121 -0
  105. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotArmQVVD.py +177 -0
  106. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotBodyMatrices.py +332 -0
  107. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotHandPosition.py +225 -0
  108. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotHeadMotionData.py +128 -0
  109. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotState.py +222 -0
  110. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_sensorsData.py +655 -0
  111. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_switchGaitByName.py +200 -0
  112. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_tagDataArray.py +216 -0
  113. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_touchSensorStatus.py +162 -0
  114. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPose.py +273 -0
  115. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseCmd.py +316 -0
  116. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseCmdFree.py +338 -0
  117. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseFree.py +299 -0
  118. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_yoloDetection.py +251 -0
  119. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_yoloOutputData.py +168 -0
  120. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_CreatePath.py +581 -0
  121. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_ExecuteArmAction.py +281 -0
  122. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_GetAllMaps.py +241 -0
  123. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_GetCurrentMap.py +225 -0
  124. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_GetTargetPartPoseInCamera.py +298 -0
  125. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_InitialPoseWithTaskPoint.py +281 -0
  126. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_LoadMap.py +281 -0
  127. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_NavigateToTaskPoint.py +281 -0
  128. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_RepublishTFs.py +373 -0
  129. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetInitialPose.py +394 -0
  130. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetJoyTopic.py +282 -0
  131. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetLEDMode.py +468 -0
  132. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetLEDMode_free.py +289 -0
  133. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SpeechSynthesis.py +270 -0
  134. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_TaskPointOperation.py +536 -0
  135. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/__init__.py +43 -0
  136. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_adjustZeroPoint.py +277 -0
  137. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeArmCtrlMode.py +275 -0
  138. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeArmCtrlModeKuavo.py +236 -0
  139. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeMotorParam.py +299 -0
  140. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeTorsoCtrlMode.py +274 -0
  141. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_controlLejuClaw.py +408 -0
  142. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_enableHandTouchSensor.py +304 -0
  143. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_fkSrv.py +395 -0
  144. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_footPose6DTargetTrajectoriesSrv.py +426 -0
  145. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_footPoseTargetTrajectoriesSrv.py +409 -0
  146. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureExecute.py +339 -0
  147. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureExecuteState.py +257 -0
  148. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureList.py +418 -0
  149. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getCurrentGaitName.py +253 -0
  150. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getMotorParam.py +299 -0
  151. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getMotorZeroPoints.py +286 -0
  152. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_handForceLevel.py +330 -0
  153. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_jointMoveTo.py +302 -0
  154. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_planArmTrajectoryBezierCurve.py +422 -0
  155. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_planArmTrajectoryCubicSpline.py +490 -0
  156. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_playmusic.py +268 -0
  157. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setHwIntialState.py +304 -0
  158. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setMmCtrlFrame.py +273 -0
  159. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setMotorEncoderRoundService.py +283 -0
  160. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setTagId.py +275 -0
  161. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_singleStepControl.py +444 -0
  162. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_twoArmHandPoseCmdFreeSrv.py +716 -0
  163. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_twoArmHandPoseCmdSrv.py +664 -0
  164. kuavo_humanoid_sdk/msg/motion_capture_ik/__init__.py +7 -0
  165. kuavo_humanoid_sdk/msg/ocs2_msgs/__init__.py +7 -0
  166. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/__init__.py +12 -0
  167. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_constraint.py +142 -0
  168. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_controller_data.py +121 -0
  169. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_lagrangian_metrics.py +148 -0
  170. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mode_schedule.py +150 -0
  171. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_flattened_controller.py +666 -0
  172. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_input.py +122 -0
  173. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_observation.py +209 -0
  174. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_performance_indices.py +140 -0
  175. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_solver_data.py +886 -0
  176. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_state.py +122 -0
  177. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_target_trajectories.py +239 -0
  178. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_multiplier.py +148 -0
  179. kuavo_humanoid_sdk/msg/ocs2_msgs/srv/__init__.py +1 -0
  180. kuavo_humanoid_sdk/msg/ocs2_msgs/srv/_reset.py +376 -0
  181. kuavo_humanoid_sdk-1.2.1b3279.dist-info/METADATA +296 -0
  182. kuavo_humanoid_sdk-1.2.1b3279.dist-info/RECORD +184 -0
  183. kuavo_humanoid_sdk-1.2.1b3279.dist-info/WHEEL +6 -0
  184. kuavo_humanoid_sdk-1.2.1b3279.dist-info/top_level.txt +1 -0
@@ -0,0 +1,581 @@
1
+ # This Python file uses the following encoding: utf-8
2
+ """autogenerated by genpy from kuavo_msgs/CreatePathRequest.msg. Do not edit."""
3
+ import codecs
4
+ import sys
5
+ python3 = True if sys.hexversion > 0x03000000 else False
6
+ import genpy
7
+ import struct
8
+
9
+
10
+ class CreatePathRequest(genpy.Message):
11
+ _md5sum = "33ce960d4fb19427c7f599a056c77f60"
12
+ _type = "kuavo_msgs/CreatePathRequest"
13
+ _has_header = False # flag to mark the presence of a Header object
14
+ _full_text = """# Request
15
+ string path_type # line, circle, square, triangle, scurve
16
+ float64 v_max_linear # 最大线速度 (m/s)
17
+
18
+ # Path-specific parameters
19
+ # For line, square, triangle: yaw_offset in radians
20
+ float64 yaw_offset # 相对于当前朝向的偏转角度 (rad)
21
+
22
+ # For line: length in meters
23
+ float64 length # 直线长度 (m)
24
+
25
+ # For circle: radius in meters
26
+ float64 radius # 圆形半径 (m)
27
+
28
+ # For scurve: length and amplitude in meters
29
+ float64 amplitude # S形曲线振幅 (m)
30
+
31
+ # For half-scurve: length and amplitude in meters
32
+ bool half_scurve # 是否只生成半个S曲线
33
+ """
34
+ __slots__ = ['path_type','v_max_linear','yaw_offset','length','radius','amplitude','half_scurve']
35
+ _slot_types = ['string','float64','float64','float64','float64','float64','bool']
36
+
37
+ def __init__(self, *args, **kwds):
38
+ """
39
+ Constructor. Any message fields that are implicitly/explicitly
40
+ set to None will be assigned a default value. The recommend
41
+ use is keyword arguments as this is more robust to future message
42
+ changes. You cannot mix in-order arguments and keyword arguments.
43
+
44
+ The available fields are:
45
+ path_type,v_max_linear,yaw_offset,length,radius,amplitude,half_scurve
46
+
47
+ :param args: complete set of field values, in .msg order
48
+ :param kwds: use keyword arguments corresponding to message field names
49
+ to set specific fields.
50
+ """
51
+ if args or kwds:
52
+ super(CreatePathRequest, self).__init__(*args, **kwds)
53
+ # message fields cannot be None, assign default values for those that are
54
+ if self.path_type is None:
55
+ self.path_type = ''
56
+ if self.v_max_linear is None:
57
+ self.v_max_linear = 0.
58
+ if self.yaw_offset is None:
59
+ self.yaw_offset = 0.
60
+ if self.length is None:
61
+ self.length = 0.
62
+ if self.radius is None:
63
+ self.radius = 0.
64
+ if self.amplitude is None:
65
+ self.amplitude = 0.
66
+ if self.half_scurve is None:
67
+ self.half_scurve = False
68
+ else:
69
+ self.path_type = ''
70
+ self.v_max_linear = 0.
71
+ self.yaw_offset = 0.
72
+ self.length = 0.
73
+ self.radius = 0.
74
+ self.amplitude = 0.
75
+ self.half_scurve = False
76
+
77
+ def _get_types(self):
78
+ """
79
+ internal API method
80
+ """
81
+ return self._slot_types
82
+
83
+ def serialize(self, buff):
84
+ """
85
+ serialize message into buffer
86
+ :param buff: buffer, ``StringIO``
87
+ """
88
+ try:
89
+ _x = self.path_type
90
+ length = len(_x)
91
+ if python3 or type(_x) == unicode:
92
+ _x = _x.encode('utf-8')
93
+ length = len(_x)
94
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
95
+ _x = self
96
+ buff.write(_get_struct_5dB().pack(_x.v_max_linear, _x.yaw_offset, _x.length, _x.radius, _x.amplitude, _x.half_scurve))
97
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
98
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
99
+
100
+ def deserialize(self, str):
101
+ """
102
+ unpack serialized message in str into this message instance
103
+ :param str: byte array of serialized message, ``str``
104
+ """
105
+ if python3:
106
+ codecs.lookup_error("rosmsg").msg_type = self._type
107
+ try:
108
+ end = 0
109
+ start = end
110
+ end += 4
111
+ (length,) = _struct_I.unpack(str[start:end])
112
+ start = end
113
+ end += length
114
+ if python3:
115
+ self.path_type = str[start:end].decode('utf-8', 'rosmsg')
116
+ else:
117
+ self.path_type = str[start:end]
118
+ _x = self
119
+ start = end
120
+ end += 41
121
+ (_x.v_max_linear, _x.yaw_offset, _x.length, _x.radius, _x.amplitude, _x.half_scurve,) = _get_struct_5dB().unpack(str[start:end])
122
+ self.half_scurve = bool(self.half_scurve)
123
+ return self
124
+ except struct.error as e:
125
+ raise genpy.DeserializationError(e) # most likely buffer underfill
126
+
127
+
128
+ def serialize_numpy(self, buff, numpy):
129
+ """
130
+ serialize message with numpy array types into buffer
131
+ :param buff: buffer, ``StringIO``
132
+ :param numpy: numpy python module
133
+ """
134
+ try:
135
+ _x = self.path_type
136
+ length = len(_x)
137
+ if python3 or type(_x) == unicode:
138
+ _x = _x.encode('utf-8')
139
+ length = len(_x)
140
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
141
+ _x = self
142
+ buff.write(_get_struct_5dB().pack(_x.v_max_linear, _x.yaw_offset, _x.length, _x.radius, _x.amplitude, _x.half_scurve))
143
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
144
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
145
+
146
+ def deserialize_numpy(self, str, numpy):
147
+ """
148
+ unpack serialized message in str into this message instance using numpy for array types
149
+ :param str: byte array of serialized message, ``str``
150
+ :param numpy: numpy python module
151
+ """
152
+ if python3:
153
+ codecs.lookup_error("rosmsg").msg_type = self._type
154
+ try:
155
+ end = 0
156
+ start = end
157
+ end += 4
158
+ (length,) = _struct_I.unpack(str[start:end])
159
+ start = end
160
+ end += length
161
+ if python3:
162
+ self.path_type = str[start:end].decode('utf-8', 'rosmsg')
163
+ else:
164
+ self.path_type = str[start:end]
165
+ _x = self
166
+ start = end
167
+ end += 41
168
+ (_x.v_max_linear, _x.yaw_offset, _x.length, _x.radius, _x.amplitude, _x.half_scurve,) = _get_struct_5dB().unpack(str[start:end])
169
+ self.half_scurve = bool(self.half_scurve)
170
+ return self
171
+ except struct.error as e:
172
+ raise genpy.DeserializationError(e) # most likely buffer underfill
173
+
174
+ _struct_I = genpy.struct_I
175
+ def _get_struct_I():
176
+ global _struct_I
177
+ return _struct_I
178
+ _struct_5dB = None
179
+ def _get_struct_5dB():
180
+ global _struct_5dB
181
+ if _struct_5dB is None:
182
+ _struct_5dB = struct.Struct("<5dB")
183
+ return _struct_5dB
184
+ # This Python file uses the following encoding: utf-8
185
+ """autogenerated by genpy from kuavo_msgs/CreatePathResponse.msg. Do not edit."""
186
+ import codecs
187
+ import sys
188
+ python3 = True if sys.hexversion > 0x03000000 else False
189
+ import genpy
190
+ import struct
191
+
192
+ import geometry_msgs.msg
193
+ import nav_msgs.msg
194
+ import std_msgs.msg
195
+
196
+ class CreatePathResponse(genpy.Message):
197
+ _md5sum = "b928b6711cb174d91f7c078c57816d72"
198
+ _type = "kuavo_msgs/CreatePathResponse"
199
+ _has_header = False # flag to mark the presence of a Header object
200
+ _full_text = """# Response
201
+ bool success
202
+ string message
203
+ nav_msgs/Path path # 生成的路径
204
+
205
+ ================================================================================
206
+ MSG: nav_msgs/Path
207
+ #An array of poses that represents a Path for a robot to follow
208
+ Header header
209
+ geometry_msgs/PoseStamped[] poses
210
+
211
+ ================================================================================
212
+ MSG: std_msgs/Header
213
+ # Standard metadata for higher-level stamped data types.
214
+ # This is generally used to communicate timestamped data
215
+ # in a particular coordinate frame.
216
+ #
217
+ # sequence ID: consecutively increasing ID
218
+ uint32 seq
219
+ #Two-integer timestamp that is expressed as:
220
+ # * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs')
221
+ # * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs')
222
+ # time-handling sugar is provided by the client library
223
+ time stamp
224
+ #Frame this data is associated with
225
+ string frame_id
226
+
227
+ ================================================================================
228
+ MSG: geometry_msgs/PoseStamped
229
+ # A Pose with reference coordinate frame and timestamp
230
+ Header header
231
+ Pose pose
232
+
233
+ ================================================================================
234
+ MSG: geometry_msgs/Pose
235
+ # A representation of pose in free space, composed of position and orientation.
236
+ Point position
237
+ Quaternion orientation
238
+
239
+ ================================================================================
240
+ MSG: geometry_msgs/Point
241
+ # This contains the position of a point in free space
242
+ float64 x
243
+ float64 y
244
+ float64 z
245
+
246
+ ================================================================================
247
+ MSG: geometry_msgs/Quaternion
248
+ # This represents an orientation in free space in quaternion form.
249
+
250
+ float64 x
251
+ float64 y
252
+ float64 z
253
+ float64 w
254
+ """
255
+ __slots__ = ['success','message','path']
256
+ _slot_types = ['bool','string','nav_msgs/Path']
257
+
258
+ def __init__(self, *args, **kwds):
259
+ """
260
+ Constructor. Any message fields that are implicitly/explicitly
261
+ set to None will be assigned a default value. The recommend
262
+ use is keyword arguments as this is more robust to future message
263
+ changes. You cannot mix in-order arguments and keyword arguments.
264
+
265
+ The available fields are:
266
+ success,message,path
267
+
268
+ :param args: complete set of field values, in .msg order
269
+ :param kwds: use keyword arguments corresponding to message field names
270
+ to set specific fields.
271
+ """
272
+ if args or kwds:
273
+ super(CreatePathResponse, self).__init__(*args, **kwds)
274
+ # message fields cannot be None, assign default values for those that are
275
+ if self.success is None:
276
+ self.success = False
277
+ if self.message is None:
278
+ self.message = ''
279
+ if self.path is None:
280
+ self.path = nav_msgs.msg.Path()
281
+ else:
282
+ self.success = False
283
+ self.message = ''
284
+ self.path = nav_msgs.msg.Path()
285
+
286
+ def _get_types(self):
287
+ """
288
+ internal API method
289
+ """
290
+ return self._slot_types
291
+
292
+ def serialize(self, buff):
293
+ """
294
+ serialize message into buffer
295
+ :param buff: buffer, ``StringIO``
296
+ """
297
+ try:
298
+ _x = self.success
299
+ buff.write(_get_struct_B().pack(_x))
300
+ _x = self.message
301
+ length = len(_x)
302
+ if python3 or type(_x) == unicode:
303
+ _x = _x.encode('utf-8')
304
+ length = len(_x)
305
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
306
+ _x = self
307
+ buff.write(_get_struct_3I().pack(_x.path.header.seq, _x.path.header.stamp.secs, _x.path.header.stamp.nsecs))
308
+ _x = self.path.header.frame_id
309
+ length = len(_x)
310
+ if python3 or type(_x) == unicode:
311
+ _x = _x.encode('utf-8')
312
+ length = len(_x)
313
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
314
+ length = len(self.path.poses)
315
+ buff.write(_struct_I.pack(length))
316
+ for val1 in self.path.poses:
317
+ _v1 = val1.header
318
+ _x = _v1.seq
319
+ buff.write(_get_struct_I().pack(_x))
320
+ _v2 = _v1.stamp
321
+ _x = _v2
322
+ buff.write(_get_struct_2I().pack(_x.secs, _x.nsecs))
323
+ _x = _v1.frame_id
324
+ length = len(_x)
325
+ if python3 or type(_x) == unicode:
326
+ _x = _x.encode('utf-8')
327
+ length = len(_x)
328
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
329
+ _v3 = val1.pose
330
+ _v4 = _v3.position
331
+ _x = _v4
332
+ buff.write(_get_struct_3d().pack(_x.x, _x.y, _x.z))
333
+ _v5 = _v3.orientation
334
+ _x = _v5
335
+ buff.write(_get_struct_4d().pack(_x.x, _x.y, _x.z, _x.w))
336
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
337
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
338
+
339
+ def deserialize(self, str):
340
+ """
341
+ unpack serialized message in str into this message instance
342
+ :param str: byte array of serialized message, ``str``
343
+ """
344
+ if python3:
345
+ codecs.lookup_error("rosmsg").msg_type = self._type
346
+ try:
347
+ if self.path is None:
348
+ self.path = nav_msgs.msg.Path()
349
+ end = 0
350
+ start = end
351
+ end += 1
352
+ (self.success,) = _get_struct_B().unpack(str[start:end])
353
+ self.success = bool(self.success)
354
+ start = end
355
+ end += 4
356
+ (length,) = _struct_I.unpack(str[start:end])
357
+ start = end
358
+ end += length
359
+ if python3:
360
+ self.message = str[start:end].decode('utf-8', 'rosmsg')
361
+ else:
362
+ self.message = str[start:end]
363
+ _x = self
364
+ start = end
365
+ end += 12
366
+ (_x.path.header.seq, _x.path.header.stamp.secs, _x.path.header.stamp.nsecs,) = _get_struct_3I().unpack(str[start:end])
367
+ start = end
368
+ end += 4
369
+ (length,) = _struct_I.unpack(str[start:end])
370
+ start = end
371
+ end += length
372
+ if python3:
373
+ self.path.header.frame_id = str[start:end].decode('utf-8', 'rosmsg')
374
+ else:
375
+ self.path.header.frame_id = str[start:end]
376
+ start = end
377
+ end += 4
378
+ (length,) = _struct_I.unpack(str[start:end])
379
+ self.path.poses = []
380
+ for i in range(0, length):
381
+ val1 = geometry_msgs.msg.PoseStamped()
382
+ _v6 = val1.header
383
+ start = end
384
+ end += 4
385
+ (_v6.seq,) = _get_struct_I().unpack(str[start:end])
386
+ _v7 = _v6.stamp
387
+ _x = _v7
388
+ start = end
389
+ end += 8
390
+ (_x.secs, _x.nsecs,) = _get_struct_2I().unpack(str[start:end])
391
+ start = end
392
+ end += 4
393
+ (length,) = _struct_I.unpack(str[start:end])
394
+ start = end
395
+ end += length
396
+ if python3:
397
+ _v6.frame_id = str[start:end].decode('utf-8', 'rosmsg')
398
+ else:
399
+ _v6.frame_id = str[start:end]
400
+ _v8 = val1.pose
401
+ _v9 = _v8.position
402
+ _x = _v9
403
+ start = end
404
+ end += 24
405
+ (_x.x, _x.y, _x.z,) = _get_struct_3d().unpack(str[start:end])
406
+ _v10 = _v8.orientation
407
+ _x = _v10
408
+ start = end
409
+ end += 32
410
+ (_x.x, _x.y, _x.z, _x.w,) = _get_struct_4d().unpack(str[start:end])
411
+ self.path.poses.append(val1)
412
+ return self
413
+ except struct.error as e:
414
+ raise genpy.DeserializationError(e) # most likely buffer underfill
415
+
416
+
417
+ def serialize_numpy(self, buff, numpy):
418
+ """
419
+ serialize message with numpy array types into buffer
420
+ :param buff: buffer, ``StringIO``
421
+ :param numpy: numpy python module
422
+ """
423
+ try:
424
+ _x = self.success
425
+ buff.write(_get_struct_B().pack(_x))
426
+ _x = self.message
427
+ length = len(_x)
428
+ if python3 or type(_x) == unicode:
429
+ _x = _x.encode('utf-8')
430
+ length = len(_x)
431
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
432
+ _x = self
433
+ buff.write(_get_struct_3I().pack(_x.path.header.seq, _x.path.header.stamp.secs, _x.path.header.stamp.nsecs))
434
+ _x = self.path.header.frame_id
435
+ length = len(_x)
436
+ if python3 or type(_x) == unicode:
437
+ _x = _x.encode('utf-8')
438
+ length = len(_x)
439
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
440
+ length = len(self.path.poses)
441
+ buff.write(_struct_I.pack(length))
442
+ for val1 in self.path.poses:
443
+ _v11 = val1.header
444
+ _x = _v11.seq
445
+ buff.write(_get_struct_I().pack(_x))
446
+ _v12 = _v11.stamp
447
+ _x = _v12
448
+ buff.write(_get_struct_2I().pack(_x.secs, _x.nsecs))
449
+ _x = _v11.frame_id
450
+ length = len(_x)
451
+ if python3 or type(_x) == unicode:
452
+ _x = _x.encode('utf-8')
453
+ length = len(_x)
454
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
455
+ _v13 = val1.pose
456
+ _v14 = _v13.position
457
+ _x = _v14
458
+ buff.write(_get_struct_3d().pack(_x.x, _x.y, _x.z))
459
+ _v15 = _v13.orientation
460
+ _x = _v15
461
+ buff.write(_get_struct_4d().pack(_x.x, _x.y, _x.z, _x.w))
462
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
463
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
464
+
465
+ def deserialize_numpy(self, str, numpy):
466
+ """
467
+ unpack serialized message in str into this message instance using numpy for array types
468
+ :param str: byte array of serialized message, ``str``
469
+ :param numpy: numpy python module
470
+ """
471
+ if python3:
472
+ codecs.lookup_error("rosmsg").msg_type = self._type
473
+ try:
474
+ if self.path is None:
475
+ self.path = nav_msgs.msg.Path()
476
+ end = 0
477
+ start = end
478
+ end += 1
479
+ (self.success,) = _get_struct_B().unpack(str[start:end])
480
+ self.success = bool(self.success)
481
+ start = end
482
+ end += 4
483
+ (length,) = _struct_I.unpack(str[start:end])
484
+ start = end
485
+ end += length
486
+ if python3:
487
+ self.message = str[start:end].decode('utf-8', 'rosmsg')
488
+ else:
489
+ self.message = str[start:end]
490
+ _x = self
491
+ start = end
492
+ end += 12
493
+ (_x.path.header.seq, _x.path.header.stamp.secs, _x.path.header.stamp.nsecs,) = _get_struct_3I().unpack(str[start:end])
494
+ start = end
495
+ end += 4
496
+ (length,) = _struct_I.unpack(str[start:end])
497
+ start = end
498
+ end += length
499
+ if python3:
500
+ self.path.header.frame_id = str[start:end].decode('utf-8', 'rosmsg')
501
+ else:
502
+ self.path.header.frame_id = str[start:end]
503
+ start = end
504
+ end += 4
505
+ (length,) = _struct_I.unpack(str[start:end])
506
+ self.path.poses = []
507
+ for i in range(0, length):
508
+ val1 = geometry_msgs.msg.PoseStamped()
509
+ _v16 = val1.header
510
+ start = end
511
+ end += 4
512
+ (_v16.seq,) = _get_struct_I().unpack(str[start:end])
513
+ _v17 = _v16.stamp
514
+ _x = _v17
515
+ start = end
516
+ end += 8
517
+ (_x.secs, _x.nsecs,) = _get_struct_2I().unpack(str[start:end])
518
+ start = end
519
+ end += 4
520
+ (length,) = _struct_I.unpack(str[start:end])
521
+ start = end
522
+ end += length
523
+ if python3:
524
+ _v16.frame_id = str[start:end].decode('utf-8', 'rosmsg')
525
+ else:
526
+ _v16.frame_id = str[start:end]
527
+ _v18 = val1.pose
528
+ _v19 = _v18.position
529
+ _x = _v19
530
+ start = end
531
+ end += 24
532
+ (_x.x, _x.y, _x.z,) = _get_struct_3d().unpack(str[start:end])
533
+ _v20 = _v18.orientation
534
+ _x = _v20
535
+ start = end
536
+ end += 32
537
+ (_x.x, _x.y, _x.z, _x.w,) = _get_struct_4d().unpack(str[start:end])
538
+ self.path.poses.append(val1)
539
+ return self
540
+ except struct.error as e:
541
+ raise genpy.DeserializationError(e) # most likely buffer underfill
542
+
543
+ _struct_I = genpy.struct_I
544
+ def _get_struct_I():
545
+ global _struct_I
546
+ return _struct_I
547
+ _struct_2I = None
548
+ def _get_struct_2I():
549
+ global _struct_2I
550
+ if _struct_2I is None:
551
+ _struct_2I = struct.Struct("<2I")
552
+ return _struct_2I
553
+ _struct_3I = None
554
+ def _get_struct_3I():
555
+ global _struct_3I
556
+ if _struct_3I is None:
557
+ _struct_3I = struct.Struct("<3I")
558
+ return _struct_3I
559
+ _struct_3d = None
560
+ def _get_struct_3d():
561
+ global _struct_3d
562
+ if _struct_3d is None:
563
+ _struct_3d = struct.Struct("<3d")
564
+ return _struct_3d
565
+ _struct_4d = None
566
+ def _get_struct_4d():
567
+ global _struct_4d
568
+ if _struct_4d is None:
569
+ _struct_4d = struct.Struct("<4d")
570
+ return _struct_4d
571
+ _struct_B = None
572
+ def _get_struct_B():
573
+ global _struct_B
574
+ if _struct_B is None:
575
+ _struct_B = struct.Struct("<B")
576
+ return _struct_B
577
+ class CreatePath(object):
578
+ _type = 'kuavo_msgs/CreatePath'
579
+ _md5sum = 'b97efdd5569ad73ecaf6f529d9d7019d'
580
+ _request_class = CreatePathRequest
581
+ _response_class = CreatePathResponse