00001 """autogenerated by genpy from turtlebot_block_manipulation/InteractiveBlockManipulationAction.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 InteractiveBlockManipulationAction(genpy.Message):
00014 _md5sum = "6b355c8305ef3300641af877554e1717"
00015 _type = "turtlebot_block_manipulation/InteractiveBlockManipulationAction"
00016 _has_header = False
00017 _full_text = """# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00018
00019 InteractiveBlockManipulationActionGoal action_goal
00020 InteractiveBlockManipulationActionResult action_result
00021 InteractiveBlockManipulationActionFeedback action_feedback
00022
00023 ================================================================================
00024 MSG: turtlebot_block_manipulation/InteractiveBlockManipulationActionGoal
00025 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00026
00027 Header header
00028 actionlib_msgs/GoalID goal_id
00029 InteractiveBlockManipulationGoal 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/InteractiveBlockManipulationGoal
00064 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00065 #goal definition
00066 string frame
00067 float32 block_size
00068
00069 ================================================================================
00070 MSG: turtlebot_block_manipulation/InteractiveBlockManipulationActionResult
00071 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00072
00073 Header header
00074 actionlib_msgs/GoalStatus status
00075 InteractiveBlockManipulationResult result
00076
00077 ================================================================================
00078 MSG: actionlib_msgs/GoalStatus
00079 GoalID goal_id
00080 uint8 status
00081 uint8 PENDING = 0 # The goal has yet to be processed by the action server
00082 uint8 ACTIVE = 1 # The goal is currently being processed by the action server
00083 uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing
00084 # and has since completed its execution (Terminal State)
00085 uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State)
00086 uint8 ABORTED = 4 # The goal was aborted during execution by the action server due
00087 # to some failure (Terminal State)
00088 uint8 REJECTED = 5 # The goal was rejected by the action server without being processed,
00089 # because the goal was unattainable or invalid (Terminal State)
00090 uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing
00091 # and has not yet completed execution
00092 uint8 RECALLING = 7 # The goal received a cancel request before it started executing,
00093 # but the action server has not yet confirmed that the goal is canceled
00094 uint8 RECALLED = 8 # The goal received a cancel request before it started executing
00095 # and was successfully cancelled (Terminal State)
00096 uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be
00097 # sent over the wire by an action server
00098
00099 #Allow for the user to associate a string with GoalStatus for debugging
00100 string text
00101
00102
00103 ================================================================================
00104 MSG: turtlebot_block_manipulation/InteractiveBlockManipulationResult
00105 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00106 #result definition
00107 geometry_msgs/Pose pickup_pose
00108 geometry_msgs/Pose place_pose
00109
00110 ================================================================================
00111 MSG: geometry_msgs/Pose
00112 # A representation of pose in free space, composed of postion and orientation.
00113 Point position
00114 Quaternion orientation
00115
00116 ================================================================================
00117 MSG: geometry_msgs/Point
00118 # This contains the position of a point in free space
00119 float64 x
00120 float64 y
00121 float64 z
00122
00123 ================================================================================
00124 MSG: geometry_msgs/Quaternion
00125 # This represents an orientation in free space in quaternion form.
00126
00127 float64 x
00128 float64 y
00129 float64 z
00130 float64 w
00131
00132 ================================================================================
00133 MSG: turtlebot_block_manipulation/InteractiveBlockManipulationActionFeedback
00134 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00135
00136 Header header
00137 actionlib_msgs/GoalStatus status
00138 InteractiveBlockManipulationFeedback feedback
00139
00140 ================================================================================
00141 MSG: turtlebot_block_manipulation/InteractiveBlockManipulationFeedback
00142 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00143 #feedback
00144
00145
00146 """
00147 __slots__ = ['action_goal','action_result','action_feedback']
00148 _slot_types = ['turtlebot_block_manipulation/InteractiveBlockManipulationActionGoal','turtlebot_block_manipulation/InteractiveBlockManipulationActionResult','turtlebot_block_manipulation/InteractiveBlockManipulationActionFeedback']
00149
00150 def __init__(self, *args, **kwds):
00151 """
00152 Constructor. Any message fields that are implicitly/explicitly
00153 set to None will be assigned a default value. The recommend
00154 use is keyword arguments as this is more robust to future message
00155 changes. You cannot mix in-order arguments and keyword arguments.
00156
00157 The available fields are:
00158 action_goal,action_result,action_feedback
00159
00160 :param args: complete set of field values, in .msg order
00161 :param kwds: use keyword arguments corresponding to message field names
00162 to set specific fields.
00163 """
00164 if args or kwds:
00165 super(InteractiveBlockManipulationAction, self).__init__(*args, **kwds)
00166
00167 if self.action_goal is None:
00168 self.action_goal = turtlebot_block_manipulation.msg.InteractiveBlockManipulationActionGoal()
00169 if self.action_result is None:
00170 self.action_result = turtlebot_block_manipulation.msg.InteractiveBlockManipulationActionResult()
00171 if self.action_feedback is None:
00172 self.action_feedback = turtlebot_block_manipulation.msg.InteractiveBlockManipulationActionFeedback()
00173 else:
00174 self.action_goal = turtlebot_block_manipulation.msg.InteractiveBlockManipulationActionGoal()
00175 self.action_result = turtlebot_block_manipulation.msg.InteractiveBlockManipulationActionResult()
00176 self.action_feedback = turtlebot_block_manipulation.msg.InteractiveBlockManipulationActionFeedback()
00177
00178 def _get_types(self):
00179 """
00180 internal API method
00181 """
00182 return self._slot_types
00183
00184 def serialize(self, buff):
00185 """
00186 serialize message into buffer
00187 :param buff: buffer, ``StringIO``
00188 """
00189 try:
00190 _x = self
00191 buff.write(_struct_3I.pack(_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs))
00192 _x = self.action_goal.header.frame_id
00193 length = len(_x)
00194 if python3 or type(_x) == unicode:
00195 _x = _x.encode('utf-8')
00196 length = len(_x)
00197 buff.write(struct.pack('<I%ss'%length, length, _x))
00198 _x = self
00199 buff.write(_struct_2I.pack(_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs))
00200 _x = self.action_goal.goal_id.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.action_goal.goal.frame
00207 length = len(_x)
00208 if python3 or type(_x) == unicode:
00209 _x = _x.encode('utf-8')
00210 length = len(_x)
00211 buff.write(struct.pack('<I%ss'%length, length, _x))
00212 _x = self
00213 buff.write(_struct_f3I.pack(_x.action_goal.goal.block_size, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs))
00214 _x = self.action_result.header.frame_id
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_2I.pack(_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs))
00222 _x = self.action_result.status.goal_id.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 buff.write(_struct_B.pack(self.action_result.status.status))
00229 _x = self.action_result.status.text
00230 length = len(_x)
00231 if python3 or type(_x) == unicode:
00232 _x = _x.encode('utf-8')
00233 length = len(_x)
00234 buff.write(struct.pack('<I%ss'%length, length, _x))
00235 _x = self
00236 buff.write(_struct_14d3I.pack(_x.action_result.result.pickup_pose.position.x, _x.action_result.result.pickup_pose.position.y, _x.action_result.result.pickup_pose.position.z, _x.action_result.result.pickup_pose.orientation.x, _x.action_result.result.pickup_pose.orientation.y, _x.action_result.result.pickup_pose.orientation.z, _x.action_result.result.pickup_pose.orientation.w, _x.action_result.result.place_pose.position.x, _x.action_result.result.place_pose.position.y, _x.action_result.result.place_pose.position.z, _x.action_result.result.place_pose.orientation.x, _x.action_result.result.place_pose.orientation.y, _x.action_result.result.place_pose.orientation.z, _x.action_result.result.place_pose.orientation.w, _x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs))
00237 _x = self.action_feedback.header.frame_id
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_2I.pack(_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs))
00245 _x = self.action_feedback.status.goal_id.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 buff.write(_struct_B.pack(self.action_feedback.status.status))
00252 _x = self.action_feedback.status.text
00253 length = len(_x)
00254 if python3 or type(_x) == unicode:
00255 _x = _x.encode('utf-8')
00256 length = len(_x)
00257 buff.write(struct.pack('<I%ss'%length, length, _x))
00258 except struct.error as se: self._check_types(se)
00259 except TypeError as te: self._check_types(te)
00260
00261 def deserialize(self, str):
00262 """
00263 unpack serialized message in str into this message instance
00264 :param str: byte array of serialized message, ``str``
00265 """
00266 try:
00267 if self.action_goal is None:
00268 self.action_goal = turtlebot_block_manipulation.msg.InteractiveBlockManipulationActionGoal()
00269 if self.action_result is None:
00270 self.action_result = turtlebot_block_manipulation.msg.InteractiveBlockManipulationActionResult()
00271 if self.action_feedback is None:
00272 self.action_feedback = turtlebot_block_manipulation.msg.InteractiveBlockManipulationActionFeedback()
00273 end = 0
00274 _x = self
00275 start = end
00276 end += 12
00277 (_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00278 start = end
00279 end += 4
00280 (length,) = _struct_I.unpack(str[start:end])
00281 start = end
00282 end += length
00283 if python3:
00284 self.action_goal.header.frame_id = str[start:end].decode('utf-8')
00285 else:
00286 self.action_goal.header.frame_id = str[start:end]
00287 _x = self
00288 start = end
00289 end += 8
00290 (_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00291 start = end
00292 end += 4
00293 (length,) = _struct_I.unpack(str[start:end])
00294 start = end
00295 end += length
00296 if python3:
00297 self.action_goal.goal_id.id = str[start:end].decode('utf-8')
00298 else:
00299 self.action_goal.goal_id.id = str[start:end]
00300 start = end
00301 end += 4
00302 (length,) = _struct_I.unpack(str[start:end])
00303 start = end
00304 end += length
00305 if python3:
00306 self.action_goal.goal.frame = str[start:end].decode('utf-8')
00307 else:
00308 self.action_goal.goal.frame = str[start:end]
00309 _x = self
00310 start = end
00311 end += 16
00312 (_x.action_goal.goal.block_size, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs,) = _struct_f3I.unpack(str[start:end])
00313 start = end
00314 end += 4
00315 (length,) = _struct_I.unpack(str[start:end])
00316 start = end
00317 end += length
00318 if python3:
00319 self.action_result.header.frame_id = str[start:end].decode('utf-8')
00320 else:
00321 self.action_result.header.frame_id = str[start:end]
00322 _x = self
00323 start = end
00324 end += 8
00325 (_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00326 start = end
00327 end += 4
00328 (length,) = _struct_I.unpack(str[start:end])
00329 start = end
00330 end += length
00331 if python3:
00332 self.action_result.status.goal_id.id = str[start:end].decode('utf-8')
00333 else:
00334 self.action_result.status.goal_id.id = str[start:end]
00335 start = end
00336 end += 1
00337 (self.action_result.status.status,) = _struct_B.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.status.text = str[start:end].decode('utf-8')
00345 else:
00346 self.action_result.status.text = str[start:end]
00347 _x = self
00348 start = end
00349 end += 124
00350 (_x.action_result.result.pickup_pose.position.x, _x.action_result.result.pickup_pose.position.y, _x.action_result.result.pickup_pose.position.z, _x.action_result.result.pickup_pose.orientation.x, _x.action_result.result.pickup_pose.orientation.y, _x.action_result.result.pickup_pose.orientation.z, _x.action_result.result.pickup_pose.orientation.w, _x.action_result.result.place_pose.position.x, _x.action_result.result.place_pose.position.y, _x.action_result.result.place_pose.position.z, _x.action_result.result.place_pose.orientation.x, _x.action_result.result.place_pose.orientation.y, _x.action_result.result.place_pose.orientation.z, _x.action_result.result.place_pose.orientation.w, _x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs,) = _struct_14d3I.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_feedback.header.frame_id = str[start:end].decode('utf-8')
00358 else:
00359 self.action_feedback.header.frame_id = str[start:end]
00360 _x = self
00361 start = end
00362 end += 8
00363 (_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00364 start = end
00365 end += 4
00366 (length,) = _struct_I.unpack(str[start:end])
00367 start = end
00368 end += length
00369 if python3:
00370 self.action_feedback.status.goal_id.id = str[start:end].decode('utf-8')
00371 else:
00372 self.action_feedback.status.goal_id.id = str[start:end]
00373 start = end
00374 end += 1
00375 (self.action_feedback.status.status,) = _struct_B.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_feedback.status.text = str[start:end].decode('utf-8')
00383 else:
00384 self.action_feedback.status.text = str[start:end]
00385 return self
00386 except struct.error as e:
00387 raise genpy.DeserializationError(e)
00388
00389
00390 def serialize_numpy(self, buff, numpy):
00391 """
00392 serialize message with numpy array types into buffer
00393 :param buff: buffer, ``StringIO``
00394 :param numpy: numpy python module
00395 """
00396 try:
00397 _x = self
00398 buff.write(_struct_3I.pack(_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs))
00399 _x = self.action_goal.header.frame_id
00400 length = len(_x)
00401 if python3 or type(_x) == unicode:
00402 _x = _x.encode('utf-8')
00403 length = len(_x)
00404 buff.write(struct.pack('<I%ss'%length, length, _x))
00405 _x = self
00406 buff.write(_struct_2I.pack(_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs))
00407 _x = self.action_goal.goal_id.id
00408 length = len(_x)
00409 if python3 or type(_x) == unicode:
00410 _x = _x.encode('utf-8')
00411 length = len(_x)
00412 buff.write(struct.pack('<I%ss'%length, length, _x))
00413 _x = self.action_goal.goal.frame
00414 length = len(_x)
00415 if python3 or type(_x) == unicode:
00416 _x = _x.encode('utf-8')
00417 length = len(_x)
00418 buff.write(struct.pack('<I%ss'%length, length, _x))
00419 _x = self
00420 buff.write(_struct_f3I.pack(_x.action_goal.goal.block_size, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs))
00421 _x = self.action_result.header.frame_id
00422 length = len(_x)
00423 if python3 or type(_x) == unicode:
00424 _x = _x.encode('utf-8')
00425 length = len(_x)
00426 buff.write(struct.pack('<I%ss'%length, length, _x))
00427 _x = self
00428 buff.write(_struct_2I.pack(_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs))
00429 _x = self.action_result.status.goal_id.id
00430 length = len(_x)
00431 if python3 or type(_x) == unicode:
00432 _x = _x.encode('utf-8')
00433 length = len(_x)
00434 buff.write(struct.pack('<I%ss'%length, length, _x))
00435 buff.write(_struct_B.pack(self.action_result.status.status))
00436 _x = self.action_result.status.text
00437 length = len(_x)
00438 if python3 or type(_x) == unicode:
00439 _x = _x.encode('utf-8')
00440 length = len(_x)
00441 buff.write(struct.pack('<I%ss'%length, length, _x))
00442 _x = self
00443 buff.write(_struct_14d3I.pack(_x.action_result.result.pickup_pose.position.x, _x.action_result.result.pickup_pose.position.y, _x.action_result.result.pickup_pose.position.z, _x.action_result.result.pickup_pose.orientation.x, _x.action_result.result.pickup_pose.orientation.y, _x.action_result.result.pickup_pose.orientation.z, _x.action_result.result.pickup_pose.orientation.w, _x.action_result.result.place_pose.position.x, _x.action_result.result.place_pose.position.y, _x.action_result.result.place_pose.position.z, _x.action_result.result.place_pose.orientation.x, _x.action_result.result.place_pose.orientation.y, _x.action_result.result.place_pose.orientation.z, _x.action_result.result.place_pose.orientation.w, _x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs))
00444 _x = self.action_feedback.header.frame_id
00445 length = len(_x)
00446 if python3 or type(_x) == unicode:
00447 _x = _x.encode('utf-8')
00448 length = len(_x)
00449 buff.write(struct.pack('<I%ss'%length, length, _x))
00450 _x = self
00451 buff.write(_struct_2I.pack(_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs))
00452 _x = self.action_feedback.status.goal_id.id
00453 length = len(_x)
00454 if python3 or type(_x) == unicode:
00455 _x = _x.encode('utf-8')
00456 length = len(_x)
00457 buff.write(struct.pack('<I%ss'%length, length, _x))
00458 buff.write(_struct_B.pack(self.action_feedback.status.status))
00459 _x = self.action_feedback.status.text
00460 length = len(_x)
00461 if python3 or type(_x) == unicode:
00462 _x = _x.encode('utf-8')
00463 length = len(_x)
00464 buff.write(struct.pack('<I%ss'%length, length, _x))
00465 except struct.error as se: self._check_types(se)
00466 except TypeError as te: self._check_types(te)
00467
00468 def deserialize_numpy(self, str, numpy):
00469 """
00470 unpack serialized message in str into this message instance using numpy for array types
00471 :param str: byte array of serialized message, ``str``
00472 :param numpy: numpy python module
00473 """
00474 try:
00475 if self.action_goal is None:
00476 self.action_goal = turtlebot_block_manipulation.msg.InteractiveBlockManipulationActionGoal()
00477 if self.action_result is None:
00478 self.action_result = turtlebot_block_manipulation.msg.InteractiveBlockManipulationActionResult()
00479 if self.action_feedback is None:
00480 self.action_feedback = turtlebot_block_manipulation.msg.InteractiveBlockManipulationActionFeedback()
00481 end = 0
00482 _x = self
00483 start = end
00484 end += 12
00485 (_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00486 start = end
00487 end += 4
00488 (length,) = _struct_I.unpack(str[start:end])
00489 start = end
00490 end += length
00491 if python3:
00492 self.action_goal.header.frame_id = str[start:end].decode('utf-8')
00493 else:
00494 self.action_goal.header.frame_id = str[start:end]
00495 _x = self
00496 start = end
00497 end += 8
00498 (_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00499 start = end
00500 end += 4
00501 (length,) = _struct_I.unpack(str[start:end])
00502 start = end
00503 end += length
00504 if python3:
00505 self.action_goal.goal_id.id = str[start:end].decode('utf-8')
00506 else:
00507 self.action_goal.goal_id.id = str[start:end]
00508 start = end
00509 end += 4
00510 (length,) = _struct_I.unpack(str[start:end])
00511 start = end
00512 end += length
00513 if python3:
00514 self.action_goal.goal.frame = str[start:end].decode('utf-8')
00515 else:
00516 self.action_goal.goal.frame = str[start:end]
00517 _x = self
00518 start = end
00519 end += 16
00520 (_x.action_goal.goal.block_size, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs,) = _struct_f3I.unpack(str[start:end])
00521 start = end
00522 end += 4
00523 (length,) = _struct_I.unpack(str[start:end])
00524 start = end
00525 end += length
00526 if python3:
00527 self.action_result.header.frame_id = str[start:end].decode('utf-8')
00528 else:
00529 self.action_result.header.frame_id = str[start:end]
00530 _x = self
00531 start = end
00532 end += 8
00533 (_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00534 start = end
00535 end += 4
00536 (length,) = _struct_I.unpack(str[start:end])
00537 start = end
00538 end += length
00539 if python3:
00540 self.action_result.status.goal_id.id = str[start:end].decode('utf-8')
00541 else:
00542 self.action_result.status.goal_id.id = str[start:end]
00543 start = end
00544 end += 1
00545 (self.action_result.status.status,) = _struct_B.unpack(str[start:end])
00546 start = end
00547 end += 4
00548 (length,) = _struct_I.unpack(str[start:end])
00549 start = end
00550 end += length
00551 if python3:
00552 self.action_result.status.text = str[start:end].decode('utf-8')
00553 else:
00554 self.action_result.status.text = str[start:end]
00555 _x = self
00556 start = end
00557 end += 124
00558 (_x.action_result.result.pickup_pose.position.x, _x.action_result.result.pickup_pose.position.y, _x.action_result.result.pickup_pose.position.z, _x.action_result.result.pickup_pose.orientation.x, _x.action_result.result.pickup_pose.orientation.y, _x.action_result.result.pickup_pose.orientation.z, _x.action_result.result.pickup_pose.orientation.w, _x.action_result.result.place_pose.position.x, _x.action_result.result.place_pose.position.y, _x.action_result.result.place_pose.position.z, _x.action_result.result.place_pose.orientation.x, _x.action_result.result.place_pose.orientation.y, _x.action_result.result.place_pose.orientation.z, _x.action_result.result.place_pose.orientation.w, _x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs,) = _struct_14d3I.unpack(str[start:end])
00559 start = end
00560 end += 4
00561 (length,) = _struct_I.unpack(str[start:end])
00562 start = end
00563 end += length
00564 if python3:
00565 self.action_feedback.header.frame_id = str[start:end].decode('utf-8')
00566 else:
00567 self.action_feedback.header.frame_id = str[start:end]
00568 _x = self
00569 start = end
00570 end += 8
00571 (_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00572 start = end
00573 end += 4
00574 (length,) = _struct_I.unpack(str[start:end])
00575 start = end
00576 end += length
00577 if python3:
00578 self.action_feedback.status.goal_id.id = str[start:end].decode('utf-8')
00579 else:
00580 self.action_feedback.status.goal_id.id = str[start:end]
00581 start = end
00582 end += 1
00583 (self.action_feedback.status.status,) = _struct_B.unpack(str[start:end])
00584 start = end
00585 end += 4
00586 (length,) = _struct_I.unpack(str[start:end])
00587 start = end
00588 end += length
00589 if python3:
00590 self.action_feedback.status.text = str[start:end].decode('utf-8')
00591 else:
00592 self.action_feedback.status.text = str[start:end]
00593 return self
00594 except struct.error as e:
00595 raise genpy.DeserializationError(e)
00596
00597 _struct_I = genpy.struct_I
00598 _struct_f3I = struct.Struct("<f3I")
00599 _struct_3I = struct.Struct("<3I")
00600 _struct_B = struct.Struct("<B")
00601 _struct_14d3I = struct.Struct("<14d3I")
00602 _struct_2I = struct.Struct("<2I")