kuavo-humanoid-sdk 1.2.2__20250922181216-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 (137) 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 +276 -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 +11 -0
  9. kuavo_humanoid_sdk/kuavo/core/audio.py +32 -0
  10. kuavo_humanoid_sdk/kuavo/core/core.py +612 -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/ros/audio.py +92 -0
  14. kuavo_humanoid_sdk/kuavo/core/ros/control.py +1309 -0
  15. kuavo_humanoid_sdk/kuavo/core/ros/observation.py +94 -0
  16. kuavo_humanoid_sdk/kuavo/core/ros/param.py +183 -0
  17. kuavo_humanoid_sdk/kuavo/core/ros/sat_utils.py +103 -0
  18. kuavo_humanoid_sdk/kuavo/core/ros/state.py +605 -0
  19. kuavo_humanoid_sdk/kuavo/core/ros/tools.py +219 -0
  20. kuavo_humanoid_sdk/kuavo/core/ros/vision.py +234 -0
  21. kuavo_humanoid_sdk/kuavo/core/ros_env.py +237 -0
  22. kuavo_humanoid_sdk/kuavo/dexterous_hand.py +201 -0
  23. kuavo_humanoid_sdk/kuavo/leju_claw.py +235 -0
  24. kuavo_humanoid_sdk/kuavo/robot.py +465 -0
  25. kuavo_humanoid_sdk/kuavo/robot_arm.py +210 -0
  26. kuavo_humanoid_sdk/kuavo/robot_audio.py +39 -0
  27. kuavo_humanoid_sdk/kuavo/robot_head.py +50 -0
  28. kuavo_humanoid_sdk/kuavo/robot_info.py +113 -0
  29. kuavo_humanoid_sdk/kuavo/robot_observation.py +64 -0
  30. kuavo_humanoid_sdk/kuavo/robot_state.py +299 -0
  31. kuavo_humanoid_sdk/kuavo/robot_tool.py +82 -0
  32. kuavo_humanoid_sdk/kuavo/robot_vision.py +83 -0
  33. kuavo_humanoid_sdk/kuavo_strategy/__init__.py +2 -0
  34. kuavo_humanoid_sdk/kuavo_strategy/grasp_box/grasp_box_strategy.py +1126 -0
  35. kuavo_humanoid_sdk/kuavo_strategy/kuavo_strategy.py +104 -0
  36. kuavo_humanoid_sdk/msg/__init__.py +4 -0
  37. kuavo_humanoid_sdk/msg/kuavo_msgs/__init__.py +7 -0
  38. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AprilTagDetection.py +306 -0
  39. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_AprilTagDetectionArray.py +437 -0
  40. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_JoySticks.py +191 -0
  41. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_Metadata.py +199 -0
  42. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_RobotActionState.py +112 -0
  43. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_TFArray.py +323 -0
  44. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/__init__.py +48 -0
  45. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armHandPose.py +160 -0
  46. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armHandPoseFree.py +171 -0
  47. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armPoseWithTimeStamp.py +168 -0
  48. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_armTargetPoses.py +151 -0
  49. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_bezierCurveCubicPoint.py +178 -0
  50. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_dexhandCommand.py +229 -0
  51. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_dexhandTouchState.py +256 -0
  52. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_endEffectorData.py +227 -0
  53. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPose.py +123 -0
  54. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoseTargetTrajectories.py +301 -0
  55. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_footPoses.py +149 -0
  56. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_fullBodyTargetTrajectories.py +258 -0
  57. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gaitTimeName.py +147 -0
  58. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gestureInfo.py +218 -0
  59. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_gestureTask.py +149 -0
  60. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_handPose.py +136 -0
  61. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_headBodyPose.py +145 -0
  62. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_ikSolveError.py +171 -0
  63. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_ikSolveParam.py +140 -0
  64. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_imuData.py +165 -0
  65. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointBezierTrajectory.py +201 -0
  66. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointCmd.py +390 -0
  67. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_jointData.py +205 -0
  68. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_lejuClawCommand.py +320 -0
  69. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_lejuClawState.py +341 -0
  70. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_motorParam.py +122 -0
  71. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_planArmState.py +120 -0
  72. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_questJoySticks.py +191 -0
  73. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_qv.py +121 -0
  74. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotArmQVVD.py +177 -0
  75. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotHandPosition.py +225 -0
  76. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotHeadMotionData.py +128 -0
  77. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_robotState.py +222 -0
  78. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_sensorsData.py +495 -0
  79. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_switchGaitByName.py +200 -0
  80. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_touchSensorStatus.py +162 -0
  81. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPose.py +272 -0
  82. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseCmd.py +315 -0
  83. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseCmdFree.py +338 -0
  84. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_twoArmHandPoseFree.py +299 -0
  85. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_yoloDetection.py +251 -0
  86. kuavo_humanoid_sdk/msg/kuavo_msgs/msg/_yoloOutputData.py +168 -0
  87. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_ExecuteArmAction.py +281 -0
  88. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_RepublishTFs.py +373 -0
  89. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SetJoyTopic.py +282 -0
  90. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_SpeechSynthesis.py +270 -0
  91. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/__init__.py +29 -0
  92. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeArmCtrlMode.py +275 -0
  93. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeArmCtrlModeKuavo.py +236 -0
  94. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeMotorParam.py +299 -0
  95. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_changeTorsoCtrlMode.py +274 -0
  96. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_controlLejuClaw.py +408 -0
  97. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_enableHandTouchSensor.py +304 -0
  98. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_fkSrv.py +394 -0
  99. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_footPoseTargetTrajectoriesSrv.py +409 -0
  100. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureExecute.py +339 -0
  101. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureExecuteState.py +257 -0
  102. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_gestureList.py +418 -0
  103. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getCurrentGaitName.py +253 -0
  104. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_getMotorParam.py +299 -0
  105. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_handForceLevel.py +330 -0
  106. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_jointMoveTo.py +302 -0
  107. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_planArmTrajectoryBezierCurve.py +421 -0
  108. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_planArmTrajectoryCubicSpline.py +490 -0
  109. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_playmusic.py +268 -0
  110. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setHwIntialState.py +304 -0
  111. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setMmCtrlFrame.py +273 -0
  112. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setMotorEncoderRoundService.py +283 -0
  113. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_setTagId.py +275 -0
  114. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_singleStepControl.py +444 -0
  115. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_twoArmHandPoseCmdFreeSrv.py +716 -0
  116. kuavo_humanoid_sdk/msg/kuavo_msgs/srv/_twoArmHandPoseCmdSrv.py +662 -0
  117. kuavo_humanoid_sdk/msg/motion_capture_ik/__init__.py +7 -0
  118. kuavo_humanoid_sdk/msg/ocs2_msgs/__init__.py +7 -0
  119. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/__init__.py +12 -0
  120. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_constraint.py +142 -0
  121. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_controller_data.py +121 -0
  122. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_lagrangian_metrics.py +148 -0
  123. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mode_schedule.py +150 -0
  124. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_flattened_controller.py +666 -0
  125. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_input.py +122 -0
  126. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_observation.py +209 -0
  127. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_performance_indices.py +140 -0
  128. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_solver_data.py +886 -0
  129. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_state.py +122 -0
  130. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_mpc_target_trajectories.py +239 -0
  131. kuavo_humanoid_sdk/msg/ocs2_msgs/msg/_multiplier.py +148 -0
  132. kuavo_humanoid_sdk/msg/ocs2_msgs/srv/__init__.py +1 -0
  133. kuavo_humanoid_sdk/msg/ocs2_msgs/srv/_reset.py +376 -0
  134. kuavo_humanoid_sdk-1.2.2.dist-info/METADATA +291 -0
  135. kuavo_humanoid_sdk-1.2.2.dist-info/RECORD +137 -0
  136. kuavo_humanoid_sdk-1.2.2.dist-info/WHEEL +6 -0
  137. kuavo_humanoid_sdk-1.2.2.dist-info/top_level.txt +1 -0
@@ -0,0 +1,275 @@
1
+ # This Python file uses the following encoding: utf-8
2
+ """autogenerated by genpy from kuavo_msgs/setTagIdRequest.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 setTagIdRequest(genpy.Message):
11
+ _md5sum = "3ab0b8b553a9751c72d3d7cbe44c28ff"
12
+ _type = "kuavo_msgs/setTagIdRequest"
13
+ _has_header = False # flag to mark the presence of a Header object
14
+ _full_text = """int32 tag_id
15
+ """
16
+ __slots__ = ['tag_id']
17
+ _slot_types = ['int32']
18
+
19
+ def __init__(self, *args, **kwds):
20
+ """
21
+ Constructor. Any message fields that are implicitly/explicitly
22
+ set to None will be assigned a default value. The recommend
23
+ use is keyword arguments as this is more robust to future message
24
+ changes. You cannot mix in-order arguments and keyword arguments.
25
+
26
+ The available fields are:
27
+ tag_id
28
+
29
+ :param args: complete set of field values, in .msg order
30
+ :param kwds: use keyword arguments corresponding to message field names
31
+ to set specific fields.
32
+ """
33
+ if args or kwds:
34
+ super(setTagIdRequest, self).__init__(*args, **kwds)
35
+ # message fields cannot be None, assign default values for those that are
36
+ if self.tag_id is None:
37
+ self.tag_id = 0
38
+ else:
39
+ self.tag_id = 0
40
+
41
+ def _get_types(self):
42
+ """
43
+ internal API method
44
+ """
45
+ return self._slot_types
46
+
47
+ def serialize(self, buff):
48
+ """
49
+ serialize message into buffer
50
+ :param buff: buffer, ``StringIO``
51
+ """
52
+ try:
53
+ _x = self.tag_id
54
+ buff.write(_get_struct_i().pack(_x))
55
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
56
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
57
+
58
+ def deserialize(self, str):
59
+ """
60
+ unpack serialized message in str into this message instance
61
+ :param str: byte array of serialized message, ``str``
62
+ """
63
+ if python3:
64
+ codecs.lookup_error("rosmsg").msg_type = self._type
65
+ try:
66
+ end = 0
67
+ start = end
68
+ end += 4
69
+ (self.tag_id,) = _get_struct_i().unpack(str[start:end])
70
+ return self
71
+ except struct.error as e:
72
+ raise genpy.DeserializationError(e) # most likely buffer underfill
73
+
74
+
75
+ def serialize_numpy(self, buff, numpy):
76
+ """
77
+ serialize message with numpy array types into buffer
78
+ :param buff: buffer, ``StringIO``
79
+ :param numpy: numpy python module
80
+ """
81
+ try:
82
+ _x = self.tag_id
83
+ buff.write(_get_struct_i().pack(_x))
84
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
85
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
86
+
87
+ def deserialize_numpy(self, str, numpy):
88
+ """
89
+ unpack serialized message in str into this message instance using numpy for array types
90
+ :param str: byte array of serialized message, ``str``
91
+ :param numpy: numpy python module
92
+ """
93
+ if python3:
94
+ codecs.lookup_error("rosmsg").msg_type = self._type
95
+ try:
96
+ end = 0
97
+ start = end
98
+ end += 4
99
+ (self.tag_id,) = _get_struct_i().unpack(str[start:end])
100
+ return self
101
+ except struct.error as e:
102
+ raise genpy.DeserializationError(e) # most likely buffer underfill
103
+
104
+ _struct_I = genpy.struct_I
105
+ def _get_struct_I():
106
+ global _struct_I
107
+ return _struct_I
108
+ _struct_i = None
109
+ def _get_struct_i():
110
+ global _struct_i
111
+ if _struct_i is None:
112
+ _struct_i = struct.Struct("<i")
113
+ return _struct_i
114
+ # This Python file uses the following encoding: utf-8
115
+ """autogenerated by genpy from kuavo_msgs/setTagIdResponse.msg. Do not edit."""
116
+ import codecs
117
+ import sys
118
+ python3 = True if sys.hexversion > 0x03000000 else False
119
+ import genpy
120
+ import struct
121
+
122
+
123
+ class setTagIdResponse(genpy.Message):
124
+ _md5sum = "1796932a50ff0455cc7b2d61d285bea9"
125
+ _type = "kuavo_msgs/setTagIdResponse"
126
+ _has_header = False # flag to mark the presence of a Header object
127
+ _full_text = """bool success
128
+ int32 tag_id
129
+ string message
130
+
131
+
132
+ """
133
+ __slots__ = ['success','tag_id','message']
134
+ _slot_types = ['bool','int32','string']
135
+
136
+ def __init__(self, *args, **kwds):
137
+ """
138
+ Constructor. Any message fields that are implicitly/explicitly
139
+ set to None will be assigned a default value. The recommend
140
+ use is keyword arguments as this is more robust to future message
141
+ changes. You cannot mix in-order arguments and keyword arguments.
142
+
143
+ The available fields are:
144
+ success,tag_id,message
145
+
146
+ :param args: complete set of field values, in .msg order
147
+ :param kwds: use keyword arguments corresponding to message field names
148
+ to set specific fields.
149
+ """
150
+ if args or kwds:
151
+ super(setTagIdResponse, self).__init__(*args, **kwds)
152
+ # message fields cannot be None, assign default values for those that are
153
+ if self.success is None:
154
+ self.success = False
155
+ if self.tag_id is None:
156
+ self.tag_id = 0
157
+ if self.message is None:
158
+ self.message = ''
159
+ else:
160
+ self.success = False
161
+ self.tag_id = 0
162
+ self.message = ''
163
+
164
+ def _get_types(self):
165
+ """
166
+ internal API method
167
+ """
168
+ return self._slot_types
169
+
170
+ def serialize(self, buff):
171
+ """
172
+ serialize message into buffer
173
+ :param buff: buffer, ``StringIO``
174
+ """
175
+ try:
176
+ _x = self
177
+ buff.write(_get_struct_Bi().pack(_x.success, _x.tag_id))
178
+ _x = self.message
179
+ length = len(_x)
180
+ if python3 or type(_x) == unicode:
181
+ _x = _x.encode('utf-8')
182
+ length = len(_x)
183
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
184
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
185
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
186
+
187
+ def deserialize(self, str):
188
+ """
189
+ unpack serialized message in str into this message instance
190
+ :param str: byte array of serialized message, ``str``
191
+ """
192
+ if python3:
193
+ codecs.lookup_error("rosmsg").msg_type = self._type
194
+ try:
195
+ end = 0
196
+ _x = self
197
+ start = end
198
+ end += 5
199
+ (_x.success, _x.tag_id,) = _get_struct_Bi().unpack(str[start:end])
200
+ self.success = bool(self.success)
201
+ start = end
202
+ end += 4
203
+ (length,) = _struct_I.unpack(str[start:end])
204
+ start = end
205
+ end += length
206
+ if python3:
207
+ self.message = str[start:end].decode('utf-8', 'rosmsg')
208
+ else:
209
+ self.message = str[start:end]
210
+ return self
211
+ except struct.error as e:
212
+ raise genpy.DeserializationError(e) # most likely buffer underfill
213
+
214
+
215
+ def serialize_numpy(self, buff, numpy):
216
+ """
217
+ serialize message with numpy array types into buffer
218
+ :param buff: buffer, ``StringIO``
219
+ :param numpy: numpy python module
220
+ """
221
+ try:
222
+ _x = self
223
+ buff.write(_get_struct_Bi().pack(_x.success, _x.tag_id))
224
+ _x = self.message
225
+ length = len(_x)
226
+ if python3 or type(_x) == unicode:
227
+ _x = _x.encode('utf-8')
228
+ length = len(_x)
229
+ buff.write(struct.Struct('<I%ss'%length).pack(length, _x))
230
+ except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self)))))
231
+ except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
232
+
233
+ def deserialize_numpy(self, str, numpy):
234
+ """
235
+ unpack serialized message in str into this message instance using numpy for array types
236
+ :param str: byte array of serialized message, ``str``
237
+ :param numpy: numpy python module
238
+ """
239
+ if python3:
240
+ codecs.lookup_error("rosmsg").msg_type = self._type
241
+ try:
242
+ end = 0
243
+ _x = self
244
+ start = end
245
+ end += 5
246
+ (_x.success, _x.tag_id,) = _get_struct_Bi().unpack(str[start:end])
247
+ self.success = bool(self.success)
248
+ start = end
249
+ end += 4
250
+ (length,) = _struct_I.unpack(str[start:end])
251
+ start = end
252
+ end += length
253
+ if python3:
254
+ self.message = str[start:end].decode('utf-8', 'rosmsg')
255
+ else:
256
+ self.message = str[start:end]
257
+ return self
258
+ except struct.error as e:
259
+ raise genpy.DeserializationError(e) # most likely buffer underfill
260
+
261
+ _struct_I = genpy.struct_I
262
+ def _get_struct_I():
263
+ global _struct_I
264
+ return _struct_I
265
+ _struct_Bi = None
266
+ def _get_struct_Bi():
267
+ global _struct_Bi
268
+ if _struct_Bi is None:
269
+ _struct_Bi = struct.Struct("<Bi")
270
+ return _struct_Bi
271
+ class setTagId(object):
272
+ _type = 'kuavo_msgs/setTagId'
273
+ _md5sum = 'f6b2c1ef4eedb7525fd3a42b8e5cd61f'
274
+ _request_class = setTagIdRequest
275
+ _response_class = setTagIdResponse