00001 """autogenerated by genpy from turtlebot_block_manipulation/BlockDetectionAction.msg. Do not edit."""
00002 import sys
00003 python3 = True if sys.hexversion > 0x03000000 else False
00004 import genpy
00005 import struct
00006
00007 import turtlebot_block_manipulation.msg
00008 import geometry_msgs.msg
00009 import genpy
00010 import actionlib_msgs.msg
00011 import std_msgs.msg
00012
00013 class BlockDetectionAction(genpy.Message):
00014 _md5sum = "32b318b57a8d5ec852090b7f3b7885e0"
00015 _type = "turtlebot_block_manipulation/BlockDetectionAction"
00016 _has_header = False
00017 _full_text = """# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00018
00019 BlockDetectionActionGoal action_goal
00020 BlockDetectionActionResult action_result
00021 BlockDetectionActionFeedback action_feedback
00022
00023 ================================================================================
00024 MSG: turtlebot_block_manipulation/BlockDetectionActionGoal
00025 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00026
00027 Header header
00028 actionlib_msgs/GoalID goal_id
00029 BlockDetectionGoal goal
00030
00031 ================================================================================
00032 MSG: std_msgs/Header
00033 # Standard metadata for higher-level stamped data types.
00034 # This is generally used to communicate timestamped data
00035 # in a particular coordinate frame.
00036 #
00037 # sequence ID: consecutively increasing ID
00038 uint32 seq
00039 #Two-integer timestamp that is expressed as:
00040 # * stamp.secs: seconds (stamp_secs) since epoch
00041 # * stamp.nsecs: nanoseconds since stamp_secs
00042 # time-handling sugar is provided by the client library
00043 time stamp
00044 #Frame this data is associated with
00045 # 0: no frame
00046 # 1: global frame
00047 string frame_id
00048
00049 ================================================================================
00050 MSG: actionlib_msgs/GoalID
00051 # The stamp should store the time at which this goal was requested.
00052 # It is used by an action server when it tries to preempt all
00053 # goals that were requested before a certain time
00054 time stamp
00055
00056 # The id provides a way to associate feedback and
00057 # result message with specific goal requests. The id
00058 # specified must be unique.
00059 string id
00060
00061
00062 ================================================================================
00063 MSG: turtlebot_block_manipulation/BlockDetectionGoal
00064 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00065 #goal definition
00066 string frame
00067 float32 table_height
00068 float32 block_size
00069
00070 ================================================================================
00071 MSG: turtlebot_block_manipulation/BlockDetectionActionResult
00072 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00073
00074 Header header
00075 actionlib_msgs/GoalStatus status
00076 BlockDetectionResult result
00077
00078 ================================================================================
00079 MSG: actionlib_msgs/GoalStatus
00080 GoalID goal_id
00081 uint8 status
00082 uint8 PENDING = 0 # The goal has yet to be processed by the action server
00083 uint8 ACTIVE = 1 # The goal is currently being processed by the action server
00084 uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing
00085 # and has since completed its execution (Terminal State)
00086 uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State)
00087 uint8 ABORTED = 4 # The goal was aborted during execution by the action server due
00088 # to some failure (Terminal State)
00089 uint8 REJECTED = 5 # The goal was rejected by the action server without being processed,
00090 # because the goal was unattainable or invalid (Terminal State)
00091 uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing
00092 # and has not yet completed execution
00093 uint8 RECALLING = 7 # The goal received a cancel request before it started executing,
00094 # but the action server has not yet confirmed that the goal is canceled
00095 uint8 RECALLED = 8 # The goal received a cancel request before it started executing
00096 # and was successfully cancelled (Terminal State)
00097 uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be
00098 # sent over the wire by an action server
00099
00100 #Allow for the user to associate a string with GoalStatus for debugging
00101 string text
00102
00103
00104 ================================================================================
00105 MSG: turtlebot_block_manipulation/BlockDetectionResult
00106 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00107 #result definition
00108 geometry_msgs/PoseArray blocks
00109
00110 ================================================================================
00111 MSG: geometry_msgs/PoseArray
00112 # An array of poses with a header for global reference.
00113
00114 Header header
00115
00116 Pose[] poses
00117
00118 ================================================================================
00119 MSG: geometry_msgs/Pose
00120 # A representation of pose in free space, composed of postion and orientation.
00121 Point position
00122 Quaternion orientation
00123
00124 ================================================================================
00125 MSG: geometry_msgs/Point
00126 # This contains the position of a point in free space
00127 float64 x
00128 float64 y
00129 float64 z
00130
00131 ================================================================================
00132 MSG: geometry_msgs/Quaternion
00133 # This represents an orientation in free space in quaternion form.
00134
00135 float64 x
00136 float64 y
00137 float64 z
00138 float64 w
00139
00140 ================================================================================
00141 MSG: turtlebot_block_manipulation/BlockDetectionActionFeedback
00142 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00143
00144 Header header
00145 actionlib_msgs/GoalStatus status
00146 BlockDetectionFeedback feedback
00147
00148 ================================================================================
00149 MSG: turtlebot_block_manipulation/BlockDetectionFeedback
00150 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00151 #feedback
00152
00153
00154 """
00155 __slots__ = ['action_goal','action_result','action_feedback']
00156 _slot_types = ['turtlebot_block_manipulation/BlockDetectionActionGoal','turtlebot_block_manipulation/BlockDetectionActionResult','turtlebot_block_manipulation/BlockDetectionActionFeedback']
00157
00158 def __init__(self, *args, **kwds):
00159 """
00160 Constructor. Any message fields that are implicitly/explicitly
00161 set to None will be assigned a default value. The recommend
00162 use is keyword arguments as this is more robust to future message
00163 changes. You cannot mix in-order arguments and keyword arguments.
00164
00165 The available fields are:
00166 action_goal,action_result,action_feedback
00167
00168 :param args: complete set of field values, in .msg order
00169 :param kwds: use keyword arguments corresponding to message field names
00170 to set specific fields.
00171 """
00172 if args or kwds:
00173 super(BlockDetectionAction, self).__init__(*args, **kwds)
00174
00175 if self.action_goal is None:
00176 self.action_goal = turtlebot_block_manipulation.msg.BlockDetectionActionGoal()
00177 if self.action_result is None:
00178 self.action_result = turtlebot_block_manipulation.msg.BlockDetectionActionResult()
00179 if self.action_feedback is None:
00180 self.action_feedback = turtlebot_block_manipulation.msg.BlockDetectionActionFeedback()
00181 else:
00182 self.action_goal = turtlebot_block_manipulation.msg.BlockDetectionActionGoal()
00183 self.action_result = turtlebot_block_manipulation.msg.BlockDetectionActionResult()
00184 self.action_feedback = turtlebot_block_manipulation.msg.BlockDetectionActionFeedback()
00185
00186 def _get_types(self):
00187 """
00188 internal API method
00189 """
00190 return self._slot_types
00191
00192 def serialize(self, buff):
00193 """
00194 serialize message into buffer
00195 :param buff: buffer, ``StringIO``
00196 """
00197 try:
00198 _x = self
00199 buff.write(_struct_3I.pack(_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs))
00200 _x = self.action_goal.header.frame_id
00201 length = len(_x)
00202 if python3 or type(_x) == unicode:
00203 _x = _x.encode('utf-8')
00204 length = len(_x)
00205 buff.write(struct.pack('<I%ss'%length, length, _x))
00206 _x = self
00207 buff.write(_struct_2I.pack(_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs))
00208 _x = self.action_goal.goal_id.id
00209 length = len(_x)
00210 if python3 or type(_x) == unicode:
00211 _x = _x.encode('utf-8')
00212 length = len(_x)
00213 buff.write(struct.pack('<I%ss'%length, length, _x))
00214 _x = self.action_goal.goal.frame
00215 length = len(_x)
00216 if python3 or type(_x) == unicode:
00217 _x = _x.encode('utf-8')
00218 length = len(_x)
00219 buff.write(struct.pack('<I%ss'%length, length, _x))
00220 _x = self
00221 buff.write(_struct_2f3I.pack(_x.action_goal.goal.table_height, _x.action_goal.goal.block_size, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs))
00222 _x = self.action_result.header.frame_id
00223 length = len(_x)
00224 if python3 or type(_x) == unicode:
00225 _x = _x.encode('utf-8')
00226 length = len(_x)
00227 buff.write(struct.pack('<I%ss'%length, length, _x))
00228 _x = self
00229 buff.write(_struct_2I.pack(_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs))
00230 _x = self.action_result.status.goal_id.id
00231 length = len(_x)
00232 if python3 or type(_x) == unicode:
00233 _x = _x.encode('utf-8')
00234 length = len(_x)
00235 buff.write(struct.pack('<I%ss'%length, length, _x))
00236 buff.write(_struct_B.pack(self.action_result.status.status))
00237 _x = self.action_result.status.text
00238 length = len(_x)
00239 if python3 or type(_x) == unicode:
00240 _x = _x.encode('utf-8')
00241 length = len(_x)
00242 buff.write(struct.pack('<I%ss'%length, length, _x))
00243 _x = self
00244 buff.write(_struct_3I.pack(_x.action_result.result.blocks.header.seq, _x.action_result.result.blocks.header.stamp.secs, _x.action_result.result.blocks.header.stamp.nsecs))
00245 _x = self.action_result.result.blocks.header.frame_id
00246 length = len(_x)
00247 if python3 or type(_x) == unicode:
00248 _x = _x.encode('utf-8')
00249 length = len(_x)
00250 buff.write(struct.pack('<I%ss'%length, length, _x))
00251 length = len(self.action_result.result.blocks.poses)
00252 buff.write(_struct_I.pack(length))
00253 for val1 in self.action_result.result.blocks.poses:
00254 _v1 = val1.position
00255 _x = _v1
00256 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00257 _v2 = val1.orientation
00258 _x = _v2
00259 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00260 _x = self
00261 buff.write(_struct_3I.pack(_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs))
00262 _x = self.action_feedback.header.frame_id
00263 length = len(_x)
00264 if python3 or type(_x) == unicode:
00265 _x = _x.encode('utf-8')
00266 length = len(_x)
00267 buff.write(struct.pack('<I%ss'%length, length, _x))
00268 _x = self
00269 buff.write(_struct_2I.pack(_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs))
00270 _x = self.action_feedback.status.goal_id.id
00271 length = len(_x)
00272 if python3 or type(_x) == unicode:
00273 _x = _x.encode('utf-8')
00274 length = len(_x)
00275 buff.write(struct.pack('<I%ss'%length, length, _x))
00276 buff.write(_struct_B.pack(self.action_feedback.status.status))
00277 _x = self.action_feedback.status.text
00278 length = len(_x)
00279 if python3 or type(_x) == unicode:
00280 _x = _x.encode('utf-8')
00281 length = len(_x)
00282 buff.write(struct.pack('<I%ss'%length, length, _x))
00283 except struct.error as se: self._check_types(se)
00284 except TypeError as te: self._check_types(te)
00285
00286 def deserialize(self, str):
00287 """
00288 unpack serialized message in str into this message instance
00289 :param str: byte array of serialized message, ``str``
00290 """
00291 try:
00292 if self.action_goal is None:
00293 self.action_goal = turtlebot_block_manipulation.msg.BlockDetectionActionGoal()
00294 if self.action_result is None:
00295 self.action_result = turtlebot_block_manipulation.msg.BlockDetectionActionResult()
00296 if self.action_feedback is None:
00297 self.action_feedback = turtlebot_block_manipulation.msg.BlockDetectionActionFeedback()
00298 end = 0
00299 _x = self
00300 start = end
00301 end += 12
00302 (_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00303 start = end
00304 end += 4
00305 (length,) = _struct_I.unpack(str[start:end])
00306 start = end
00307 end += length
00308 if python3:
00309 self.action_goal.header.frame_id = str[start:end].decode('utf-8')
00310 else:
00311 self.action_goal.header.frame_id = str[start:end]
00312 _x = self
00313 start = end
00314 end += 8
00315 (_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00316 start = end
00317 end += 4
00318 (length,) = _struct_I.unpack(str[start:end])
00319 start = end
00320 end += length
00321 if python3:
00322 self.action_goal.goal_id.id = str[start:end].decode('utf-8')
00323 else:
00324 self.action_goal.goal_id.id = str[start:end]
00325 start = end
00326 end += 4
00327 (length,) = _struct_I.unpack(str[start:end])
00328 start = end
00329 end += length
00330 if python3:
00331 self.action_goal.goal.frame = str[start:end].decode('utf-8')
00332 else:
00333 self.action_goal.goal.frame = str[start:end]
00334 _x = self
00335 start = end
00336 end += 20
00337 (_x.action_goal.goal.table_height, _x.action_goal.goal.block_size, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs,) = _struct_2f3I.unpack(str[start:end])
00338 start = end
00339 end += 4
00340 (length,) = _struct_I.unpack(str[start:end])
00341 start = end
00342 end += length
00343 if python3:
00344 self.action_result.header.frame_id = str[start:end].decode('utf-8')
00345 else:
00346 self.action_result.header.frame_id = str[start:end]
00347 _x = self
00348 start = end
00349 end += 8
00350 (_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00351 start = end
00352 end += 4
00353 (length,) = _struct_I.unpack(str[start:end])
00354 start = end
00355 end += length
00356 if python3:
00357 self.action_result.status.goal_id.id = str[start:end].decode('utf-8')
00358 else:
00359 self.action_result.status.goal_id.id = str[start:end]
00360 start = end
00361 end += 1
00362 (self.action_result.status.status,) = _struct_B.unpack(str[start:end])
00363 start = end
00364 end += 4
00365 (length,) = _struct_I.unpack(str[start:end])
00366 start = end
00367 end += length
00368 if python3:
00369 self.action_result.status.text = str[start:end].decode('utf-8')
00370 else:
00371 self.action_result.status.text = str[start:end]
00372 _x = self
00373 start = end
00374 end += 12
00375 (_x.action_result.result.blocks.header.seq, _x.action_result.result.blocks.header.stamp.secs, _x.action_result.result.blocks.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00376 start = end
00377 end += 4
00378 (length,) = _struct_I.unpack(str[start:end])
00379 start = end
00380 end += length
00381 if python3:
00382 self.action_result.result.blocks.header.frame_id = str[start:end].decode('utf-8')
00383 else:
00384 self.action_result.result.blocks.header.frame_id = str[start:end]
00385 start = end
00386 end += 4
00387 (length,) = _struct_I.unpack(str[start:end])
00388 self.action_result.result.blocks.poses = []
00389 for i in range(0, length):
00390 val1 = geometry_msgs.msg.Pose()
00391 _v3 = val1.position
00392 _x = _v3
00393 start = end
00394 end += 24
00395 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
00396 _v4 = val1.orientation
00397 _x = _v4
00398 start = end
00399 end += 32
00400 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
00401 self.action_result.result.blocks.poses.append(val1)
00402 _x = self
00403 start = end
00404 end += 12
00405 (_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00406 start = end
00407 end += 4
00408 (length,) = _struct_I.unpack(str[start:end])
00409 start = end
00410 end += length
00411 if python3:
00412 self.action_feedback.header.frame_id = str[start:end].decode('utf-8')
00413 else:
00414 self.action_feedback.header.frame_id = str[start:end]
00415 _x = self
00416 start = end
00417 end += 8
00418 (_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00419 start = end
00420 end += 4
00421 (length,) = _struct_I.unpack(str[start:end])
00422 start = end
00423 end += length
00424 if python3:
00425 self.action_feedback.status.goal_id.id = str[start:end].decode('utf-8')
00426 else:
00427 self.action_feedback.status.goal_id.id = str[start:end]
00428 start = end
00429 end += 1
00430 (self.action_feedback.status.status,) = _struct_B.unpack(str[start:end])
00431 start = end
00432 end += 4
00433 (length,) = _struct_I.unpack(str[start:end])
00434 start = end
00435 end += length
00436 if python3:
00437 self.action_feedback.status.text = str[start:end].decode('utf-8')
00438 else:
00439 self.action_feedback.status.text = str[start:end]
00440 return self
00441 except struct.error as e:
00442 raise genpy.DeserializationError(e)
00443
00444
00445 def serialize_numpy(self, buff, numpy):
00446 """
00447 serialize message with numpy array types into buffer
00448 :param buff: buffer, ``StringIO``
00449 :param numpy: numpy python module
00450 """
00451 try:
00452 _x = self
00453 buff.write(_struct_3I.pack(_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs))
00454 _x = self.action_goal.header.frame_id
00455 length = len(_x)
00456 if python3 or type(_x) == unicode:
00457 _x = _x.encode('utf-8')
00458 length = len(_x)
00459 buff.write(struct.pack('<I%ss'%length, length, _x))
00460 _x = self
00461 buff.write(_struct_2I.pack(_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs))
00462 _x = self.action_goal.goal_id.id
00463 length = len(_x)
00464 if python3 or type(_x) == unicode:
00465 _x = _x.encode('utf-8')
00466 length = len(_x)
00467 buff.write(struct.pack('<I%ss'%length, length, _x))
00468 _x = self.action_goal.goal.frame
00469 length = len(_x)
00470 if python3 or type(_x) == unicode:
00471 _x = _x.encode('utf-8')
00472 length = len(_x)
00473 buff.write(struct.pack('<I%ss'%length, length, _x))
00474 _x = self
00475 buff.write(_struct_2f3I.pack(_x.action_goal.goal.table_height, _x.action_goal.goal.block_size, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs))
00476 _x = self.action_result.header.frame_id
00477 length = len(_x)
00478 if python3 or type(_x) == unicode:
00479 _x = _x.encode('utf-8')
00480 length = len(_x)
00481 buff.write(struct.pack('<I%ss'%length, length, _x))
00482 _x = self
00483 buff.write(_struct_2I.pack(_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs))
00484 _x = self.action_result.status.goal_id.id
00485 length = len(_x)
00486 if python3 or type(_x) == unicode:
00487 _x = _x.encode('utf-8')
00488 length = len(_x)
00489 buff.write(struct.pack('<I%ss'%length, length, _x))
00490 buff.write(_struct_B.pack(self.action_result.status.status))
00491 _x = self.action_result.status.text
00492 length = len(_x)
00493 if python3 or type(_x) == unicode:
00494 _x = _x.encode('utf-8')
00495 length = len(_x)
00496 buff.write(struct.pack('<I%ss'%length, length, _x))
00497 _x = self
00498 buff.write(_struct_3I.pack(_x.action_result.result.blocks.header.seq, _x.action_result.result.blocks.header.stamp.secs, _x.action_result.result.blocks.header.stamp.nsecs))
00499 _x = self.action_result.result.blocks.header.frame_id
00500 length = len(_x)
00501 if python3 or type(_x) == unicode:
00502 _x = _x.encode('utf-8')
00503 length = len(_x)
00504 buff.write(struct.pack('<I%ss'%length, length, _x))
00505 length = len(self.action_result.result.blocks.poses)
00506 buff.write(_struct_I.pack(length))
00507 for val1 in self.action_result.result.blocks.poses:
00508 _v5 = val1.position
00509 _x = _v5
00510 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z))
00511 _v6 = val1.orientation
00512 _x = _v6
00513 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w))
00514 _x = self
00515 buff.write(_struct_3I.pack(_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs))
00516 _x = self.action_feedback.header.frame_id
00517 length = len(_x)
00518 if python3 or type(_x) == unicode:
00519 _x = _x.encode('utf-8')
00520 length = len(_x)
00521 buff.write(struct.pack('<I%ss'%length, length, _x))
00522 _x = self
00523 buff.write(_struct_2I.pack(_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs))
00524 _x = self.action_feedback.status.goal_id.id
00525 length = len(_x)
00526 if python3 or type(_x) == unicode:
00527 _x = _x.encode('utf-8')
00528 length = len(_x)
00529 buff.write(struct.pack('<I%ss'%length, length, _x))
00530 buff.write(_struct_B.pack(self.action_feedback.status.status))
00531 _x = self.action_feedback.status.text
00532 length = len(_x)
00533 if python3 or type(_x) == unicode:
00534 _x = _x.encode('utf-8')
00535 length = len(_x)
00536 buff.write(struct.pack('<I%ss'%length, length, _x))
00537 except struct.error as se: self._check_types(se)
00538 except TypeError as te: self._check_types(te)
00539
00540 def deserialize_numpy(self, str, numpy):
00541 """
00542 unpack serialized message in str into this message instance using numpy for array types
00543 :param str: byte array of serialized message, ``str``
00544 :param numpy: numpy python module
00545 """
00546 try:
00547 if self.action_goal is None:
00548 self.action_goal = turtlebot_block_manipulation.msg.BlockDetectionActionGoal()
00549 if self.action_result is None:
00550 self.action_result = turtlebot_block_manipulation.msg.BlockDetectionActionResult()
00551 if self.action_feedback is None:
00552 self.action_feedback = turtlebot_block_manipulation.msg.BlockDetectionActionFeedback()
00553 end = 0
00554 _x = self
00555 start = end
00556 end += 12
00557 (_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00558 start = end
00559 end += 4
00560 (length,) = _struct_I.unpack(str[start:end])
00561 start = end
00562 end += length
00563 if python3:
00564 self.action_goal.header.frame_id = str[start:end].decode('utf-8')
00565 else:
00566 self.action_goal.header.frame_id = str[start:end]
00567 _x = self
00568 start = end
00569 end += 8
00570 (_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00571 start = end
00572 end += 4
00573 (length,) = _struct_I.unpack(str[start:end])
00574 start = end
00575 end += length
00576 if python3:
00577 self.action_goal.goal_id.id = str[start:end].decode('utf-8')
00578 else:
00579 self.action_goal.goal_id.id = str[start:end]
00580 start = end
00581 end += 4
00582 (length,) = _struct_I.unpack(str[start:end])
00583 start = end
00584 end += length
00585 if python3:
00586 self.action_goal.goal.frame = str[start:end].decode('utf-8')
00587 else:
00588 self.action_goal.goal.frame = str[start:end]
00589 _x = self
00590 start = end
00591 end += 20
00592 (_x.action_goal.goal.table_height, _x.action_goal.goal.block_size, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs,) = _struct_2f3I.unpack(str[start:end])
00593 start = end
00594 end += 4
00595 (length,) = _struct_I.unpack(str[start:end])
00596 start = end
00597 end += length
00598 if python3:
00599 self.action_result.header.frame_id = str[start:end].decode('utf-8')
00600 else:
00601 self.action_result.header.frame_id = str[start:end]
00602 _x = self
00603 start = end
00604 end += 8
00605 (_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00606 start = end
00607 end += 4
00608 (length,) = _struct_I.unpack(str[start:end])
00609 start = end
00610 end += length
00611 if python3:
00612 self.action_result.status.goal_id.id = str[start:end].decode('utf-8')
00613 else:
00614 self.action_result.status.goal_id.id = str[start:end]
00615 start = end
00616 end += 1
00617 (self.action_result.status.status,) = _struct_B.unpack(str[start:end])
00618 start = end
00619 end += 4
00620 (length,) = _struct_I.unpack(str[start:end])
00621 start = end
00622 end += length
00623 if python3:
00624 self.action_result.status.text = str[start:end].decode('utf-8')
00625 else:
00626 self.action_result.status.text = str[start:end]
00627 _x = self
00628 start = end
00629 end += 12
00630 (_x.action_result.result.blocks.header.seq, _x.action_result.result.blocks.header.stamp.secs, _x.action_result.result.blocks.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00631 start = end
00632 end += 4
00633 (length,) = _struct_I.unpack(str[start:end])
00634 start = end
00635 end += length
00636 if python3:
00637 self.action_result.result.blocks.header.frame_id = str[start:end].decode('utf-8')
00638 else:
00639 self.action_result.result.blocks.header.frame_id = str[start:end]
00640 start = end
00641 end += 4
00642 (length,) = _struct_I.unpack(str[start:end])
00643 self.action_result.result.blocks.poses = []
00644 for i in range(0, length):
00645 val1 = geometry_msgs.msg.Pose()
00646 _v7 = val1.position
00647 _x = _v7
00648 start = end
00649 end += 24
00650 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end])
00651 _v8 = val1.orientation
00652 _x = _v8
00653 start = end
00654 end += 32
00655 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end])
00656 self.action_result.result.blocks.poses.append(val1)
00657 _x = self
00658 start = end
00659 end += 12
00660 (_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00661 start = end
00662 end += 4
00663 (length,) = _struct_I.unpack(str[start:end])
00664 start = end
00665 end += length
00666 if python3:
00667 self.action_feedback.header.frame_id = str[start:end].decode('utf-8')
00668 else:
00669 self.action_feedback.header.frame_id = str[start:end]
00670 _x = self
00671 start = end
00672 end += 8
00673 (_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00674 start = end
00675 end += 4
00676 (length,) = _struct_I.unpack(str[start:end])
00677 start = end
00678 end += length
00679 if python3:
00680 self.action_feedback.status.goal_id.id = str[start:end].decode('utf-8')
00681 else:
00682 self.action_feedback.status.goal_id.id = str[start:end]
00683 start = end
00684 end += 1
00685 (self.action_feedback.status.status,) = _struct_B.unpack(str[start:end])
00686 start = end
00687 end += 4
00688 (length,) = _struct_I.unpack(str[start:end])
00689 start = end
00690 end += length
00691 if python3:
00692 self.action_feedback.status.text = str[start:end].decode('utf-8')
00693 else:
00694 self.action_feedback.status.text = str[start:end]
00695 return self
00696 except struct.error as e:
00697 raise genpy.DeserializationError(e)
00698
00699 _struct_I = genpy.struct_I
00700 _struct_B = struct.Struct("<B")
00701 _struct_2f3I = struct.Struct("<2f3I")
00702 _struct_3I = struct.Struct("<3I")
00703 _struct_4d = struct.Struct("<4d")
00704 _struct_2I = struct.Struct("<2I")
00705 _struct_3d = struct.Struct("<3d")