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