00001 """autogenerated by genpy from sbpl_lattice_planner/SBPLLatticePlannerStats.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
00010 class SBPLLatticePlannerStats(genpy.Message):
00011 _md5sum = "b1c85b1cec5e7b196cc477ac1440bbf0"
00012 _type = "sbpl_lattice_planner/SBPLLatticePlannerStats"
00013 _has_header = False
00014 _full_text = """#planner stats
00015 float64 initial_epsilon
00016 float64 final_epsilon
00017 bool plan_to_first_solution
00018 float64 allocated_time
00019 float64 actual_time
00020 float64 time_to_first_solution
00021 float64 solution_cost
00022 float64 path_size
00023 int64 final_number_of_expands
00024 int64 number_of_expands_initial_solution
00025
00026 #problem stats
00027 geometry_msgs/PoseStamped start
00028 geometry_msgs/PoseStamped goal
00029
00030 ================================================================================
00031 MSG: geometry_msgs/PoseStamped
00032 # A Pose with reference coordinate frame and timestamp
00033 Header header
00034 Pose pose
00035
00036 ================================================================================
00037 MSG: std_msgs/Header
00038 # Standard metadata for higher-level stamped data types.
00039 # This is generally used to communicate timestamped data
00040 # in a particular coordinate frame.
00041 #
00042 # sequence ID: consecutively increasing ID
00043 uint32 seq
00044 #Two-integer timestamp that is expressed as:
00045 # * stamp.secs: seconds (stamp_secs) since epoch
00046 # * stamp.nsecs: nanoseconds since stamp_secs
00047 # time-handling sugar is provided by the client library
00048 time stamp
00049 #Frame this data is associated with
00050 # 0: no frame
00051 # 1: global frame
00052 string frame_id
00053
00054 ================================================================================
00055 MSG: geometry_msgs/Pose
00056 # A representation of pose in free space, composed of postion and orientation.
00057 Point position
00058 Quaternion orientation
00059
00060 ================================================================================
00061 MSG: geometry_msgs/Point
00062 # This contains the position of a point in free space
00063 float64 x
00064 float64 y
00065 float64 z
00066
00067 ================================================================================
00068 MSG: geometry_msgs/Quaternion
00069 # This represents an orientation in free space in quaternion form.
00070
00071 float64 x
00072 float64 y
00073 float64 z
00074 float64 w
00075
00076 """
00077 __slots__ = ['initial_epsilon','final_epsilon','plan_to_first_solution','allocated_time','actual_time','time_to_first_solution','solution_cost','path_size','final_number_of_expands','number_of_expands_initial_solution','start','goal']
00078 _slot_types = ['float64','float64','bool','float64','float64','float64','float64','float64','int64','int64','geometry_msgs/PoseStamped','geometry_msgs/PoseStamped']
00079
00080 def __init__(self, *args, **kwds):
00081 """
00082 Constructor. Any message fields that are implicitly/explicitly
00083 set to None will be assigned a default value. The recommend
00084 use is keyword arguments as this is more robust to future message
00085 changes. You cannot mix in-order arguments and keyword arguments.
00086
00087 The available fields are:
00088 initial_epsilon,final_epsilon,plan_to_first_solution,allocated_time,actual_time,time_to_first_solution,solution_cost,path_size,final_number_of_expands,number_of_expands_initial_solution,start,goal
00089
00090 :param args: complete set of field values, in .msg order
00091 :param kwds: use keyword arguments corresponding to message field names
00092 to set specific fields.
00093 """
00094 if args or kwds:
00095 super(SBPLLatticePlannerStats, self).__init__(*args, **kwds)
00096
00097 if self.initial_epsilon is None:
00098 self.initial_epsilon = 0.
00099 if self.final_epsilon is None:
00100 self.final_epsilon = 0.
00101 if self.plan_to_first_solution is None:
00102 self.plan_to_first_solution = False
00103 if self.allocated_time is None:
00104 self.allocated_time = 0.
00105 if self.actual_time is None:
00106 self.actual_time = 0.
00107 if self.time_to_first_solution is None:
00108 self.time_to_first_solution = 0.
00109 if self.solution_cost is None:
00110 self.solution_cost = 0.
00111 if self.path_size is None:
00112 self.path_size = 0.
00113 if self.final_number_of_expands is None:
00114 self.final_number_of_expands = 0
00115 if self.number_of_expands_initial_solution is None:
00116 self.number_of_expands_initial_solution = 0
00117 if self.start is None:
00118 self.start = geometry_msgs.msg.PoseStamped()
00119 if self.goal is None:
00120 self.goal = geometry_msgs.msg.PoseStamped()
00121 else:
00122 self.initial_epsilon = 0.
00123 self.final_epsilon = 0.
00124 self.plan_to_first_solution = False
00125 self.allocated_time = 0.
00126 self.actual_time = 0.
00127 self.time_to_first_solution = 0.
00128 self.solution_cost = 0.
00129 self.path_size = 0.
00130 self.final_number_of_expands = 0
00131 self.number_of_expands_initial_solution = 0
00132 self.start = geometry_msgs.msg.PoseStamped()
00133 self.goal = geometry_msgs.msg.PoseStamped()
00134
00135 def _get_types(self):
00136 """
00137 internal API method
00138 """
00139 return self._slot_types
00140
00141 def serialize(self, buff):
00142 """
00143 serialize message into buffer
00144 :param buff: buffer, ``StringIO``
00145 """
00146 try:
00147 _x = self
00148 buff.write(_struct_2dB5d2q3I.pack(_x.initial_epsilon, _x.final_epsilon, _x.plan_to_first_solution, _x.allocated_time, _x.actual_time, _x.time_to_first_solution, _x.solution_cost, _x.path_size, _x.final_number_of_expands, _x.number_of_expands_initial_solution, _x.start.header.seq, _x.start.header.stamp.secs, _x.start.header.stamp.nsecs))
00149 _x = self.start.header.frame_id
00150 length = len(_x)
00151 if python3 or type(_x) == unicode:
00152 _x = _x.encode('utf-8')
00153 length = len(_x)
00154 buff.write(struct.pack('<I%ss'%length, length, _x))
00155 _x = self
00156 buff.write(_struct_7d3I.pack(_x.start.pose.position.x, _x.start.pose.position.y, _x.start.pose.position.z, _x.start.pose.orientation.x, _x.start.pose.orientation.y, _x.start.pose.orientation.z, _x.start.pose.orientation.w, _x.goal.header.seq, _x.goal.header.stamp.secs, _x.goal.header.stamp.nsecs))
00157 _x = self.goal.header.frame_id
00158 length = len(_x)
00159 if python3 or type(_x) == unicode:
00160 _x = _x.encode('utf-8')
00161 length = len(_x)
00162 buff.write(struct.pack('<I%ss'%length, length, _x))
00163 _x = self
00164 buff.write(_struct_7d.pack(_x.goal.pose.position.x, _x.goal.pose.position.y, _x.goal.pose.position.z, _x.goal.pose.orientation.x, _x.goal.pose.orientation.y, _x.goal.pose.orientation.z, _x.goal.pose.orientation.w))
00165 except struct.error as se: self._check_types(se)
00166 except TypeError as te: self._check_types(te)
00167
00168 def deserialize(self, str):
00169 """
00170 unpack serialized message in str into this message instance
00171 :param str: byte array of serialized message, ``str``
00172 """
00173 try:
00174 if self.start is None:
00175 self.start = geometry_msgs.msg.PoseStamped()
00176 if self.goal is None:
00177 self.goal = geometry_msgs.msg.PoseStamped()
00178 end = 0
00179 _x = self
00180 start = end
00181 end += 85
00182 (_x.initial_epsilon, _x.final_epsilon, _x.plan_to_first_solution, _x.allocated_time, _x.actual_time, _x.time_to_first_solution, _x.solution_cost, _x.path_size, _x.final_number_of_expands, _x.number_of_expands_initial_solution, _x.start.header.seq, _x.start.header.stamp.secs, _x.start.header.stamp.nsecs,) = _struct_2dB5d2q3I.unpack(str[start:end])
00183 self.plan_to_first_solution = bool(self.plan_to_first_solution)
00184 start = end
00185 end += 4
00186 (length,) = _struct_I.unpack(str[start:end])
00187 start = end
00188 end += length
00189 if python3:
00190 self.start.header.frame_id = str[start:end].decode('utf-8')
00191 else:
00192 self.start.header.frame_id = str[start:end]
00193 _x = self
00194 start = end
00195 end += 68
00196 (_x.start.pose.position.x, _x.start.pose.position.y, _x.start.pose.position.z, _x.start.pose.orientation.x, _x.start.pose.orientation.y, _x.start.pose.orientation.z, _x.start.pose.orientation.w, _x.goal.header.seq, _x.goal.header.stamp.secs, _x.goal.header.stamp.nsecs,) = _struct_7d3I.unpack(str[start:end])
00197 start = end
00198 end += 4
00199 (length,) = _struct_I.unpack(str[start:end])
00200 start = end
00201 end += length
00202 if python3:
00203 self.goal.header.frame_id = str[start:end].decode('utf-8')
00204 else:
00205 self.goal.header.frame_id = str[start:end]
00206 _x = self
00207 start = end
00208 end += 56
00209 (_x.goal.pose.position.x, _x.goal.pose.position.y, _x.goal.pose.position.z, _x.goal.pose.orientation.x, _x.goal.pose.orientation.y, _x.goal.pose.orientation.z, _x.goal.pose.orientation.w,) = _struct_7d.unpack(str[start:end])
00210 return self
00211 except struct.error as e:
00212 raise genpy.DeserializationError(e)
00213
00214
00215 def serialize_numpy(self, buff, numpy):
00216 """
00217 serialize message with numpy array types into buffer
00218 :param buff: buffer, ``StringIO``
00219 :param numpy: numpy python module
00220 """
00221 try:
00222 _x = self
00223 buff.write(_struct_2dB5d2q3I.pack(_x.initial_epsilon, _x.final_epsilon, _x.plan_to_first_solution, _x.allocated_time, _x.actual_time, _x.time_to_first_solution, _x.solution_cost, _x.path_size, _x.final_number_of_expands, _x.number_of_expands_initial_solution, _x.start.header.seq, _x.start.header.stamp.secs, _x.start.header.stamp.nsecs))
00224 _x = self.start.header.frame_id
00225 length = len(_x)
00226 if python3 or type(_x) == unicode:
00227 _x = _x.encode('utf-8')
00228 length = len(_x)
00229 buff.write(struct.pack('<I%ss'%length, length, _x))
00230 _x = self
00231 buff.write(_struct_7d3I.pack(_x.start.pose.position.x, _x.start.pose.position.y, _x.start.pose.position.z, _x.start.pose.orientation.x, _x.start.pose.orientation.y, _x.start.pose.orientation.z, _x.start.pose.orientation.w, _x.goal.header.seq, _x.goal.header.stamp.secs, _x.goal.header.stamp.nsecs))
00232 _x = self.goal.header.frame_id
00233 length = len(_x)
00234 if python3 or type(_x) == unicode:
00235 _x = _x.encode('utf-8')
00236 length = len(_x)
00237 buff.write(struct.pack('<I%ss'%length, length, _x))
00238 _x = self
00239 buff.write(_struct_7d.pack(_x.goal.pose.position.x, _x.goal.pose.position.y, _x.goal.pose.position.z, _x.goal.pose.orientation.x, _x.goal.pose.orientation.y, _x.goal.pose.orientation.z, _x.goal.pose.orientation.w))
00240 except struct.error as se: self._check_types(se)
00241 except TypeError as te: self._check_types(te)
00242
00243 def deserialize_numpy(self, str, numpy):
00244 """
00245 unpack serialized message in str into this message instance using numpy for array types
00246 :param str: byte array of serialized message, ``str``
00247 :param numpy: numpy python module
00248 """
00249 try:
00250 if self.start is None:
00251 self.start = geometry_msgs.msg.PoseStamped()
00252 if self.goal is None:
00253 self.goal = geometry_msgs.msg.PoseStamped()
00254 end = 0
00255 _x = self
00256 start = end
00257 end += 85
00258 (_x.initial_epsilon, _x.final_epsilon, _x.plan_to_first_solution, _x.allocated_time, _x.actual_time, _x.time_to_first_solution, _x.solution_cost, _x.path_size, _x.final_number_of_expands, _x.number_of_expands_initial_solution, _x.start.header.seq, _x.start.header.stamp.secs, _x.start.header.stamp.nsecs,) = _struct_2dB5d2q3I.unpack(str[start:end])
00259 self.plan_to_first_solution = bool(self.plan_to_first_solution)
00260 start = end
00261 end += 4
00262 (length,) = _struct_I.unpack(str[start:end])
00263 start = end
00264 end += length
00265 if python3:
00266 self.start.header.frame_id = str[start:end].decode('utf-8')
00267 else:
00268 self.start.header.frame_id = str[start:end]
00269 _x = self
00270 start = end
00271 end += 68
00272 (_x.start.pose.position.x, _x.start.pose.position.y, _x.start.pose.position.z, _x.start.pose.orientation.x, _x.start.pose.orientation.y, _x.start.pose.orientation.z, _x.start.pose.orientation.w, _x.goal.header.seq, _x.goal.header.stamp.secs, _x.goal.header.stamp.nsecs,) = _struct_7d3I.unpack(str[start:end])
00273 start = end
00274 end += 4
00275 (length,) = _struct_I.unpack(str[start:end])
00276 start = end
00277 end += length
00278 if python3:
00279 self.goal.header.frame_id = str[start:end].decode('utf-8')
00280 else:
00281 self.goal.header.frame_id = str[start:end]
00282 _x = self
00283 start = end
00284 end += 56
00285 (_x.goal.pose.position.x, _x.goal.pose.position.y, _x.goal.pose.position.z, _x.goal.pose.orientation.x, _x.goal.pose.orientation.y, _x.goal.pose.orientation.z, _x.goal.pose.orientation.w,) = _struct_7d.unpack(str[start:end])
00286 return self
00287 except struct.error as e:
00288 raise genpy.DeserializationError(e)
00289
00290 _struct_I = genpy.struct_I
00291 _struct_7d = struct.Struct("<7d")
00292 _struct_2dB5d2q3I = struct.Struct("<2dB5d2q3I")
00293 _struct_7d3I = struct.Struct("<7d3I")