00001 """autogenerated by genpy from humanoid_nav_msgs/ExecFootstepsActionFeedback.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 genpy
00009 import actionlib_msgs.msg
00010 import humanoid_nav_msgs.msg
00011 import std_msgs.msg
00012
00013 class ExecFootstepsActionFeedback(genpy.Message):
00014 _md5sum = "01da67223a0592f0de40186a03f441ff"
00015 _type = "humanoid_nav_msgs/ExecFootstepsActionFeedback"
00016 _has_header = True
00017 _full_text = """# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00018
00019 Header header
00020 actionlib_msgs/GoalStatus status
00021 ExecFootstepsFeedback feedback
00022
00023 ================================================================================
00024 MSG: std_msgs/Header
00025 # Standard metadata for higher-level stamped data types.
00026 # This is generally used to communicate timestamped data
00027 # in a particular coordinate frame.
00028 #
00029 # sequence ID: consecutively increasing ID
00030 uint32 seq
00031 #Two-integer timestamp that is expressed as:
00032 # * stamp.secs: seconds (stamp_secs) since epoch
00033 # * stamp.nsecs: nanoseconds since stamp_secs
00034 # time-handling sugar is provided by the client library
00035 time stamp
00036 #Frame this data is associated with
00037 # 0: no frame
00038 # 1: global frame
00039 string frame_id
00040
00041 ================================================================================
00042 MSG: actionlib_msgs/GoalStatus
00043 GoalID goal_id
00044 uint8 status
00045 uint8 PENDING = 0 # The goal has yet to be processed by the action server
00046 uint8 ACTIVE = 1 # The goal is currently being processed by the action server
00047 uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing
00048 # and has since completed its execution (Terminal State)
00049 uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State)
00050 uint8 ABORTED = 4 # The goal was aborted during execution by the action server due
00051 # to some failure (Terminal State)
00052 uint8 REJECTED = 5 # The goal was rejected by the action server without being processed,
00053 # because the goal was unattainable or invalid (Terminal State)
00054 uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing
00055 # and has not yet completed execution
00056 uint8 RECALLING = 7 # The goal received a cancel request before it started executing,
00057 # but the action server has not yet confirmed that the goal is canceled
00058 uint8 RECALLED = 8 # The goal received a cancel request before it started executing
00059 # and was successfully cancelled (Terminal State)
00060 uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be
00061 # sent over the wire by an action server
00062
00063 #Allow for the user to associate a string with GoalStatus for debugging
00064 string text
00065
00066
00067 ================================================================================
00068 MSG: actionlib_msgs/GoalID
00069 # The stamp should store the time at which this goal was requested.
00070 # It is used by an action server when it tries to preempt all
00071 # goals that were requested before a certain time
00072 time stamp
00073
00074 # The id provides a way to associate feedback and
00075 # result message with specific goal requests. The id
00076 # specified must be unique.
00077 string id
00078
00079
00080 ================================================================================
00081 MSG: humanoid_nav_msgs/ExecFootstepsFeedback
00082 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ======
00083 # Define a feedback message
00084 humanoid_nav_msgs/StepTarget[] executed_footsteps
00085
00086
00087 ================================================================================
00088 MSG: humanoid_nav_msgs/StepTarget
00089 # Target for a single stepping motion of a humanoid's leg
00090
00091 geometry_msgs/Pose2D pose # step pose as relative offset to last leg
00092 uint8 leg # which leg to use (left/right, see below)
00093
00094 uint8 right=0 # right leg constant
00095 uint8 left=1 # left leg constant
00096
00097 ================================================================================
00098 MSG: geometry_msgs/Pose2D
00099 # This expresses a position and orientation on a 2D manifold.
00100
00101 float64 x
00102 float64 y
00103 float64 theta
00104 """
00105 __slots__ = ['header','status','feedback']
00106 _slot_types = ['std_msgs/Header','actionlib_msgs/GoalStatus','humanoid_nav_msgs/ExecFootstepsFeedback']
00107
00108 def __init__(self, *args, **kwds):
00109 """
00110 Constructor. Any message fields that are implicitly/explicitly
00111 set to None will be assigned a default value. The recommend
00112 use is keyword arguments as this is more robust to future message
00113 changes. You cannot mix in-order arguments and keyword arguments.
00114
00115 The available fields are:
00116 header,status,feedback
00117
00118 :param args: complete set of field values, in .msg order
00119 :param kwds: use keyword arguments corresponding to message field names
00120 to set specific fields.
00121 """
00122 if args or kwds:
00123 super(ExecFootstepsActionFeedback, self).__init__(*args, **kwds)
00124
00125 if self.header is None:
00126 self.header = std_msgs.msg.Header()
00127 if self.status is None:
00128 self.status = actionlib_msgs.msg.GoalStatus()
00129 if self.feedback is None:
00130 self.feedback = humanoid_nav_msgs.msg.ExecFootstepsFeedback()
00131 else:
00132 self.header = std_msgs.msg.Header()
00133 self.status = actionlib_msgs.msg.GoalStatus()
00134 self.feedback = humanoid_nav_msgs.msg.ExecFootstepsFeedback()
00135
00136 def _get_types(self):
00137 """
00138 internal API method
00139 """
00140 return self._slot_types
00141
00142 def serialize(self, buff):
00143 """
00144 serialize message into buffer
00145 :param buff: buffer, ``StringIO``
00146 """
00147 try:
00148 _x = self
00149 buff.write(_struct_3I.pack(_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs))
00150 _x = self.header.frame_id
00151 length = len(_x)
00152 if python3 or type(_x) == unicode:
00153 _x = _x.encode('utf-8')
00154 length = len(_x)
00155 buff.write(struct.pack('<I%ss'%length, length, _x))
00156 _x = self
00157 buff.write(_struct_2I.pack(_x.status.goal_id.stamp.secs, _x.status.goal_id.stamp.nsecs))
00158 _x = self.status.goal_id.id
00159 length = len(_x)
00160 if python3 or type(_x) == unicode:
00161 _x = _x.encode('utf-8')
00162 length = len(_x)
00163 buff.write(struct.pack('<I%ss'%length, length, _x))
00164 buff.write(_struct_B.pack(self.status.status))
00165 _x = self.status.text
00166 length = len(_x)
00167 if python3 or type(_x) == unicode:
00168 _x = _x.encode('utf-8')
00169 length = len(_x)
00170 buff.write(struct.pack('<I%ss'%length, length, _x))
00171 length = len(self.feedback.executed_footsteps)
00172 buff.write(_struct_I.pack(length))
00173 for val1 in self.feedback.executed_footsteps:
00174 _v1 = val1.pose
00175 _x = _v1
00176 buff.write(_struct_3d.pack(_x.x, _x.y, _x.theta))
00177 buff.write(_struct_B.pack(val1.leg))
00178 except struct.error as se: self._check_types(se)
00179 except TypeError as te: self._check_types(te)
00180
00181 def deserialize(self, str):
00182 """
00183 unpack serialized message in str into this message instance
00184 :param str: byte array of serialized message, ``str``
00185 """
00186 try:
00187 if self.header is None:
00188 self.header = std_msgs.msg.Header()
00189 if self.status is None:
00190 self.status = actionlib_msgs.msg.GoalStatus()
00191 if self.feedback is None:
00192 self.feedback = humanoid_nav_msgs.msg.ExecFootstepsFeedback()
00193 end = 0
00194 _x = self
00195 start = end
00196 end += 12
00197 (_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00198 start = end
00199 end += 4
00200 (length,) = _struct_I.unpack(str[start:end])
00201 start = end
00202 end += length
00203 if python3:
00204 self.header.frame_id = str[start:end].decode('utf-8')
00205 else:
00206 self.header.frame_id = str[start:end]
00207 _x = self
00208 start = end
00209 end += 8
00210 (_x.status.goal_id.stamp.secs, _x.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00211 start = end
00212 end += 4
00213 (length,) = _struct_I.unpack(str[start:end])
00214 start = end
00215 end += length
00216 if python3:
00217 self.status.goal_id.id = str[start:end].decode('utf-8')
00218 else:
00219 self.status.goal_id.id = str[start:end]
00220 start = end
00221 end += 1
00222 (self.status.status,) = _struct_B.unpack(str[start:end])
00223 start = end
00224 end += 4
00225 (length,) = _struct_I.unpack(str[start:end])
00226 start = end
00227 end += length
00228 if python3:
00229 self.status.text = str[start:end].decode('utf-8')
00230 else:
00231 self.status.text = str[start:end]
00232 start = end
00233 end += 4
00234 (length,) = _struct_I.unpack(str[start:end])
00235 self.feedback.executed_footsteps = []
00236 for i in range(0, length):
00237 val1 = humanoid_nav_msgs.msg.StepTarget()
00238 _v2 = val1.pose
00239 _x = _v2
00240 start = end
00241 end += 24
00242 (_x.x, _x.y, _x.theta,) = _struct_3d.unpack(str[start:end])
00243 start = end
00244 end += 1
00245 (val1.leg,) = _struct_B.unpack(str[start:end])
00246 self.feedback.executed_footsteps.append(val1)
00247 return self
00248 except struct.error as e:
00249 raise genpy.DeserializationError(e)
00250
00251
00252 def serialize_numpy(self, buff, numpy):
00253 """
00254 serialize message with numpy array types into buffer
00255 :param buff: buffer, ``StringIO``
00256 :param numpy: numpy python module
00257 """
00258 try:
00259 _x = self
00260 buff.write(_struct_3I.pack(_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs))
00261 _x = self.header.frame_id
00262 length = len(_x)
00263 if python3 or type(_x) == unicode:
00264 _x = _x.encode('utf-8')
00265 length = len(_x)
00266 buff.write(struct.pack('<I%ss'%length, length, _x))
00267 _x = self
00268 buff.write(_struct_2I.pack(_x.status.goal_id.stamp.secs, _x.status.goal_id.stamp.nsecs))
00269 _x = self.status.goal_id.id
00270 length = len(_x)
00271 if python3 or type(_x) == unicode:
00272 _x = _x.encode('utf-8')
00273 length = len(_x)
00274 buff.write(struct.pack('<I%ss'%length, length, _x))
00275 buff.write(_struct_B.pack(self.status.status))
00276 _x = self.status.text
00277 length = len(_x)
00278 if python3 or type(_x) == unicode:
00279 _x = _x.encode('utf-8')
00280 length = len(_x)
00281 buff.write(struct.pack('<I%ss'%length, length, _x))
00282 length = len(self.feedback.executed_footsteps)
00283 buff.write(_struct_I.pack(length))
00284 for val1 in self.feedback.executed_footsteps:
00285 _v3 = val1.pose
00286 _x = _v3
00287 buff.write(_struct_3d.pack(_x.x, _x.y, _x.theta))
00288 buff.write(_struct_B.pack(val1.leg))
00289 except struct.error as se: self._check_types(se)
00290 except TypeError as te: self._check_types(te)
00291
00292 def deserialize_numpy(self, str, numpy):
00293 """
00294 unpack serialized message in str into this message instance using numpy for array types
00295 :param str: byte array of serialized message, ``str``
00296 :param numpy: numpy python module
00297 """
00298 try:
00299 if self.header is None:
00300 self.header = std_msgs.msg.Header()
00301 if self.status is None:
00302 self.status = actionlib_msgs.msg.GoalStatus()
00303 if self.feedback is None:
00304 self.feedback = humanoid_nav_msgs.msg.ExecFootstepsFeedback()
00305 end = 0
00306 _x = self
00307 start = end
00308 end += 12
00309 (_x.header.seq, _x.header.stamp.secs, _x.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end])
00310 start = end
00311 end += 4
00312 (length,) = _struct_I.unpack(str[start:end])
00313 start = end
00314 end += length
00315 if python3:
00316 self.header.frame_id = str[start:end].decode('utf-8')
00317 else:
00318 self.header.frame_id = str[start:end]
00319 _x = self
00320 start = end
00321 end += 8
00322 (_x.status.goal_id.stamp.secs, _x.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end])
00323 start = end
00324 end += 4
00325 (length,) = _struct_I.unpack(str[start:end])
00326 start = end
00327 end += length
00328 if python3:
00329 self.status.goal_id.id = str[start:end].decode('utf-8')
00330 else:
00331 self.status.goal_id.id = str[start:end]
00332 start = end
00333 end += 1
00334 (self.status.status,) = _struct_B.unpack(str[start:end])
00335 start = end
00336 end += 4
00337 (length,) = _struct_I.unpack(str[start:end])
00338 start = end
00339 end += length
00340 if python3:
00341 self.status.text = str[start:end].decode('utf-8')
00342 else:
00343 self.status.text = str[start:end]
00344 start = end
00345 end += 4
00346 (length,) = _struct_I.unpack(str[start:end])
00347 self.feedback.executed_footsteps = []
00348 for i in range(0, length):
00349 val1 = humanoid_nav_msgs.msg.StepTarget()
00350 _v4 = val1.pose
00351 _x = _v4
00352 start = end
00353 end += 24
00354 (_x.x, _x.y, _x.theta,) = _struct_3d.unpack(str[start:end])
00355 start = end
00356 end += 1
00357 (val1.leg,) = _struct_B.unpack(str[start:end])
00358 self.feedback.executed_footsteps.append(val1)
00359 return self
00360 except struct.error as e:
00361 raise genpy.DeserializationError(e)
00362
00363 _struct_I = genpy.struct_I
00364 _struct_3I = struct.Struct("<3I")
00365 _struct_B = struct.Struct("<B")
00366 _struct_2I = struct.Struct("<2I")
00367 _struct_3d = struct.Struct("<3d")