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