_BlockDetectionAction.py
Go to the documentation of this file.
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 #flag to mark the presence of a Header object
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       #message fields cannot be None, assign default values for those that are
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) #most likely buffer underfill
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) #most likely buffer underfill
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")


turtlebot_block_manipulation
Author(s): Helen Oleynikova
autogenerated on Thu Dec 12 2013 12:33:52