$search
00001 """autogenerated by genmsg_py from FollowPathAction.msg. Do not edit.""" 00002 import roslib.message 00003 import struct 00004 00005 import nav_msgs.msg 00006 import roslib.rostime 00007 import actionlib_msgs.msg 00008 import geometry_msgs.msg 00009 import nao_msgs.msg 00010 import std_msgs.msg 00011 00012 class FollowPathAction(roslib.message.Message): 00013 _md5sum = "98958d560f45913f6e3143ad99e2fcf0" 00014 _type = "nao_msgs/FollowPathAction" 00015 _has_header = False #flag to mark the presence of a Header object 00016 _full_text = """# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00017 00018 FollowPathActionGoal action_goal 00019 FollowPathActionResult action_result 00020 FollowPathActionFeedback action_feedback 00021 00022 ================================================================================ 00023 MSG: nao_msgs/FollowPathActionGoal 00024 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00025 00026 Header header 00027 actionlib_msgs/GoalID goal_id 00028 FollowPathGoal goal 00029 00030 ================================================================================ 00031 MSG: std_msgs/Header 00032 # Standard metadata for higher-level stamped data types. 00033 # This is generally used to communicate timestamped data 00034 # in a particular coordinate frame. 00035 # 00036 # sequence ID: consecutively increasing ID 00037 uint32 seq 00038 #Two-integer timestamp that is expressed as: 00039 # * stamp.secs: seconds (stamp_secs) since epoch 00040 # * stamp.nsecs: nanoseconds since stamp_secs 00041 # time-handling sugar is provided by the client library 00042 time stamp 00043 #Frame this data is associated with 00044 # 0: no frame 00045 # 1: global frame 00046 string frame_id 00047 00048 ================================================================================ 00049 MSG: actionlib_msgs/GoalID 00050 # The stamp should store the time at which this goal was requested. 00051 # It is used by an action server when it tries to preempt all 00052 # goals that were requested before a certain time 00053 time stamp 00054 00055 # The id provides a way to associate feedback and 00056 # result message with specific goal requests. The id 00057 # specified must be unique. 00058 string id 00059 00060 00061 ================================================================================ 00062 MSG: nao_msgs/FollowPathGoal 00063 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00064 # goal: a path to follow 00065 nav_msgs/Path path 00066 00067 ================================================================================ 00068 MSG: nav_msgs/Path 00069 #An array of poses that represents a Path for a robot to follow 00070 Header header 00071 geometry_msgs/PoseStamped[] poses 00072 00073 ================================================================================ 00074 MSG: geometry_msgs/PoseStamped 00075 # A Pose with reference coordinate frame and timestamp 00076 Header header 00077 Pose pose 00078 00079 ================================================================================ 00080 MSG: geometry_msgs/Pose 00081 # A representation of pose in free space, composed of postion and orientation. 00082 Point position 00083 Quaternion orientation 00084 00085 ================================================================================ 00086 MSG: geometry_msgs/Point 00087 # This contains the position of a point in free space 00088 float64 x 00089 float64 y 00090 float64 z 00091 00092 ================================================================================ 00093 MSG: geometry_msgs/Quaternion 00094 # This represents an orientation in free space in quaternion form. 00095 00096 float64 x 00097 float64 y 00098 float64 z 00099 float64 w 00100 00101 ================================================================================ 00102 MSG: nao_msgs/FollowPathActionResult 00103 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00104 00105 Header header 00106 actionlib_msgs/GoalStatus status 00107 FollowPathResult result 00108 00109 ================================================================================ 00110 MSG: actionlib_msgs/GoalStatus 00111 GoalID goal_id 00112 uint8 status 00113 uint8 PENDING = 0 # The goal has yet to be processed by the action server 00114 uint8 ACTIVE = 1 # The goal is currently being processed by the action server 00115 uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing 00116 # and has since completed its execution (Terminal State) 00117 uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State) 00118 uint8 ABORTED = 4 # The goal was aborted during execution by the action server due 00119 # to some failure (Terminal State) 00120 uint8 REJECTED = 5 # The goal was rejected by the action server without being processed, 00121 # because the goal was unattainable or invalid (Terminal State) 00122 uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing 00123 # and has not yet completed execution 00124 uint8 RECALLING = 7 # The goal received a cancel request before it started executing, 00125 # but the action server has not yet confirmed that the goal is canceled 00126 uint8 RECALLED = 8 # The goal received a cancel request before it started executing 00127 # and was successfully cancelled (Terminal State) 00128 uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be 00129 # sent over the wire by an action server 00130 00131 #Allow for the user to associate a string with GoalStatus for debugging 00132 string text 00133 00134 00135 ================================================================================ 00136 MSG: nao_msgs/FollowPathResult 00137 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00138 # no result currently 00139 00140 ================================================================================ 00141 MSG: nao_msgs/FollowPathActionFeedback 00142 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00143 00144 Header header 00145 actionlib_msgs/GoalStatus status 00146 FollowPathFeedback feedback 00147 00148 ================================================================================ 00149 MSG: nao_msgs/FollowPathFeedback 00150 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00151 # feedback: index of current subgoal in path 00152 uint32 index 00153 00154 00155 """ 00156 __slots__ = ['action_goal','action_result','action_feedback'] 00157 _slot_types = ['nao_msgs/FollowPathActionGoal','nao_msgs/FollowPathActionResult','nao_msgs/FollowPathActionFeedback'] 00158 00159 def __init__(self, *args, **kwds): 00160 """ 00161 Constructor. Any message fields that are implicitly/explicitly 00162 set to None will be assigned a default value. The recommend 00163 use is keyword arguments as this is more robust to future message 00164 changes. You cannot mix in-order arguments and keyword arguments. 00165 00166 The available fields are: 00167 action_goal,action_result,action_feedback 00168 00169 @param args: complete set of field values, in .msg order 00170 @param kwds: use keyword arguments corresponding to message field names 00171 to set specific fields. 00172 """ 00173 if args or kwds: 00174 super(FollowPathAction, self).__init__(*args, **kwds) 00175 #message fields cannot be None, assign default values for those that are 00176 if self.action_goal is None: 00177 self.action_goal = nao_msgs.msg.FollowPathActionGoal() 00178 if self.action_result is None: 00179 self.action_result = nao_msgs.msg.FollowPathActionResult() 00180 if self.action_feedback is None: 00181 self.action_feedback = nao_msgs.msg.FollowPathActionFeedback() 00182 else: 00183 self.action_goal = nao_msgs.msg.FollowPathActionGoal() 00184 self.action_result = nao_msgs.msg.FollowPathActionResult() 00185 self.action_feedback = nao_msgs.msg.FollowPathActionFeedback() 00186 00187 def _get_types(self): 00188 """ 00189 internal API method 00190 """ 00191 return self._slot_types 00192 00193 def serialize(self, buff): 00194 """ 00195 serialize message into buffer 00196 @param buff: buffer 00197 @type buff: StringIO 00198 """ 00199 try: 00200 _x = self 00201 buff.write(_struct_3I.pack(_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs)) 00202 _x = self.action_goal.header.frame_id 00203 length = len(_x) 00204 buff.write(struct.pack('<I%ss'%length, length, _x)) 00205 _x = self 00206 buff.write(_struct_2I.pack(_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs)) 00207 _x = self.action_goal.goal_id.id 00208 length = len(_x) 00209 buff.write(struct.pack('<I%ss'%length, length, _x)) 00210 _x = self 00211 buff.write(_struct_3I.pack(_x.action_goal.goal.path.header.seq, _x.action_goal.goal.path.header.stamp.secs, _x.action_goal.goal.path.header.stamp.nsecs)) 00212 _x = self.action_goal.goal.path.header.frame_id 00213 length = len(_x) 00214 buff.write(struct.pack('<I%ss'%length, length, _x)) 00215 length = len(self.action_goal.goal.path.poses) 00216 buff.write(_struct_I.pack(length)) 00217 for val1 in self.action_goal.goal.path.poses: 00218 _v1 = val1.header 00219 buff.write(_struct_I.pack(_v1.seq)) 00220 _v2 = _v1.stamp 00221 _x = _v2 00222 buff.write(_struct_2I.pack(_x.secs, _x.nsecs)) 00223 _x = _v1.frame_id 00224 length = len(_x) 00225 buff.write(struct.pack('<I%ss'%length, length, _x)) 00226 _v3 = val1.pose 00227 _v4 = _v3.position 00228 _x = _v4 00229 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z)) 00230 _v5 = _v3.orientation 00231 _x = _v5 00232 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w)) 00233 _x = self 00234 buff.write(_struct_3I.pack(_x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs)) 00235 _x = self.action_result.header.frame_id 00236 length = len(_x) 00237 buff.write(struct.pack('<I%ss'%length, length, _x)) 00238 _x = self 00239 buff.write(_struct_2I.pack(_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs)) 00240 _x = self.action_result.status.goal_id.id 00241 length = len(_x) 00242 buff.write(struct.pack('<I%ss'%length, length, _x)) 00243 buff.write(_struct_B.pack(self.action_result.status.status)) 00244 _x = self.action_result.status.text 00245 length = len(_x) 00246 buff.write(struct.pack('<I%ss'%length, length, _x)) 00247 _x = self 00248 buff.write(_struct_3I.pack(_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs)) 00249 _x = self.action_feedback.header.frame_id 00250 length = len(_x) 00251 buff.write(struct.pack('<I%ss'%length, length, _x)) 00252 _x = self 00253 buff.write(_struct_2I.pack(_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs)) 00254 _x = self.action_feedback.status.goal_id.id 00255 length = len(_x) 00256 buff.write(struct.pack('<I%ss'%length, length, _x)) 00257 buff.write(_struct_B.pack(self.action_feedback.status.status)) 00258 _x = self.action_feedback.status.text 00259 length = len(_x) 00260 buff.write(struct.pack('<I%ss'%length, length, _x)) 00261 buff.write(_struct_I.pack(self.action_feedback.feedback.index)) 00262 except struct.error as se: self._check_types(se) 00263 except TypeError as te: self._check_types(te) 00264 00265 def deserialize(self, str): 00266 """ 00267 unpack serialized message in str into this message instance 00268 @param str: byte array of serialized message 00269 @type str: str 00270 """ 00271 try: 00272 if self.action_goal is None: 00273 self.action_goal = nao_msgs.msg.FollowPathActionGoal() 00274 if self.action_result is None: 00275 self.action_result = nao_msgs.msg.FollowPathActionResult() 00276 if self.action_feedback is None: 00277 self.action_feedback = nao_msgs.msg.FollowPathActionFeedback() 00278 end = 0 00279 _x = self 00280 start = end 00281 end += 12 00282 (_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00283 start = end 00284 end += 4 00285 (length,) = _struct_I.unpack(str[start:end]) 00286 start = end 00287 end += length 00288 self.action_goal.header.frame_id = str[start:end] 00289 _x = self 00290 start = end 00291 end += 8 00292 (_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00293 start = end 00294 end += 4 00295 (length,) = _struct_I.unpack(str[start:end]) 00296 start = end 00297 end += length 00298 self.action_goal.goal_id.id = str[start:end] 00299 _x = self 00300 start = end 00301 end += 12 00302 (_x.action_goal.goal.path.header.seq, _x.action_goal.goal.path.header.stamp.secs, _x.action_goal.goal.path.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 self.action_goal.goal.path.header.frame_id = str[start:end] 00309 start = end 00310 end += 4 00311 (length,) = _struct_I.unpack(str[start:end]) 00312 self.action_goal.goal.path.poses = [] 00313 for i in range(0, length): 00314 val1 = geometry_msgs.msg.PoseStamped() 00315 _v6 = val1.header 00316 start = end 00317 end += 4 00318 (_v6.seq,) = _struct_I.unpack(str[start:end]) 00319 _v7 = _v6.stamp 00320 _x = _v7 00321 start = end 00322 end += 8 00323 (_x.secs, _x.nsecs,) = _struct_2I.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 _v6.frame_id = str[start:end] 00330 _v8 = val1.pose 00331 _v9 = _v8.position 00332 _x = _v9 00333 start = end 00334 end += 24 00335 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end]) 00336 _v10 = _v8.orientation 00337 _x = _v10 00338 start = end 00339 end += 32 00340 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end]) 00341 self.action_goal.goal.path.poses.append(val1) 00342 _x = self 00343 start = end 00344 end += 12 00345 (_x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00346 start = end 00347 end += 4 00348 (length,) = _struct_I.unpack(str[start:end]) 00349 start = end 00350 end += length 00351 self.action_result.header.frame_id = str[start:end] 00352 _x = self 00353 start = end 00354 end += 8 00355 (_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00356 start = end 00357 end += 4 00358 (length,) = _struct_I.unpack(str[start:end]) 00359 start = end 00360 end += length 00361 self.action_result.status.goal_id.id = str[start:end] 00362 start = end 00363 end += 1 00364 (self.action_result.status.status,) = _struct_B.unpack(str[start:end]) 00365 start = end 00366 end += 4 00367 (length,) = _struct_I.unpack(str[start:end]) 00368 start = end 00369 end += length 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 self.action_feedback.header.frame_id = str[start:end] 00381 _x = self 00382 start = end 00383 end += 8 00384 (_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs,) = _struct_2I.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 self.action_feedback.status.goal_id.id = str[start:end] 00391 start = end 00392 end += 1 00393 (self.action_feedback.status.status,) = _struct_B.unpack(str[start:end]) 00394 start = end 00395 end += 4 00396 (length,) = _struct_I.unpack(str[start:end]) 00397 start = end 00398 end += length 00399 self.action_feedback.status.text = str[start:end] 00400 start = end 00401 end += 4 00402 (self.action_feedback.feedback.index,) = _struct_I.unpack(str[start:end]) 00403 return self 00404 except struct.error as e: 00405 raise roslib.message.DeserializationError(e) #most likely buffer underfill 00406 00407 00408 def serialize_numpy(self, buff, numpy): 00409 """ 00410 serialize message with numpy array types into buffer 00411 @param buff: buffer 00412 @type buff: StringIO 00413 @param numpy: numpy python module 00414 @type numpy module 00415 """ 00416 try: 00417 _x = self 00418 buff.write(_struct_3I.pack(_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs)) 00419 _x = self.action_goal.header.frame_id 00420 length = len(_x) 00421 buff.write(struct.pack('<I%ss'%length, length, _x)) 00422 _x = self 00423 buff.write(_struct_2I.pack(_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs)) 00424 _x = self.action_goal.goal_id.id 00425 length = len(_x) 00426 buff.write(struct.pack('<I%ss'%length, length, _x)) 00427 _x = self 00428 buff.write(_struct_3I.pack(_x.action_goal.goal.path.header.seq, _x.action_goal.goal.path.header.stamp.secs, _x.action_goal.goal.path.header.stamp.nsecs)) 00429 _x = self.action_goal.goal.path.header.frame_id 00430 length = len(_x) 00431 buff.write(struct.pack('<I%ss'%length, length, _x)) 00432 length = len(self.action_goal.goal.path.poses) 00433 buff.write(_struct_I.pack(length)) 00434 for val1 in self.action_goal.goal.path.poses: 00435 _v11 = val1.header 00436 buff.write(_struct_I.pack(_v11.seq)) 00437 _v12 = _v11.stamp 00438 _x = _v12 00439 buff.write(_struct_2I.pack(_x.secs, _x.nsecs)) 00440 _x = _v11.frame_id 00441 length = len(_x) 00442 buff.write(struct.pack('<I%ss'%length, length, _x)) 00443 _v13 = val1.pose 00444 _v14 = _v13.position 00445 _x = _v14 00446 buff.write(_struct_3d.pack(_x.x, _x.y, _x.z)) 00447 _v15 = _v13.orientation 00448 _x = _v15 00449 buff.write(_struct_4d.pack(_x.x, _x.y, _x.z, _x.w)) 00450 _x = self 00451 buff.write(_struct_3I.pack(_x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs)) 00452 _x = self.action_result.header.frame_id 00453 length = len(_x) 00454 buff.write(struct.pack('<I%ss'%length, length, _x)) 00455 _x = self 00456 buff.write(_struct_2I.pack(_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs)) 00457 _x = self.action_result.status.goal_id.id 00458 length = len(_x) 00459 buff.write(struct.pack('<I%ss'%length, length, _x)) 00460 buff.write(_struct_B.pack(self.action_result.status.status)) 00461 _x = self.action_result.status.text 00462 length = len(_x) 00463 buff.write(struct.pack('<I%ss'%length, length, _x)) 00464 _x = self 00465 buff.write(_struct_3I.pack(_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs)) 00466 _x = self.action_feedback.header.frame_id 00467 length = len(_x) 00468 buff.write(struct.pack('<I%ss'%length, length, _x)) 00469 _x = self 00470 buff.write(_struct_2I.pack(_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs)) 00471 _x = self.action_feedback.status.goal_id.id 00472 length = len(_x) 00473 buff.write(struct.pack('<I%ss'%length, length, _x)) 00474 buff.write(_struct_B.pack(self.action_feedback.status.status)) 00475 _x = self.action_feedback.status.text 00476 length = len(_x) 00477 buff.write(struct.pack('<I%ss'%length, length, _x)) 00478 buff.write(_struct_I.pack(self.action_feedback.feedback.index)) 00479 except struct.error as se: self._check_types(se) 00480 except TypeError as te: self._check_types(te) 00481 00482 def deserialize_numpy(self, str, numpy): 00483 """ 00484 unpack serialized message in str into this message instance using numpy for array types 00485 @param str: byte array of serialized message 00486 @type str: str 00487 @param numpy: numpy python module 00488 @type numpy: module 00489 """ 00490 try: 00491 if self.action_goal is None: 00492 self.action_goal = nao_msgs.msg.FollowPathActionGoal() 00493 if self.action_result is None: 00494 self.action_result = nao_msgs.msg.FollowPathActionResult() 00495 if self.action_feedback is None: 00496 self.action_feedback = nao_msgs.msg.FollowPathActionFeedback() 00497 end = 0 00498 _x = self 00499 start = end 00500 end += 12 00501 (_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00502 start = end 00503 end += 4 00504 (length,) = _struct_I.unpack(str[start:end]) 00505 start = end 00506 end += length 00507 self.action_goal.header.frame_id = str[start:end] 00508 _x = self 00509 start = end 00510 end += 8 00511 (_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00512 start = end 00513 end += 4 00514 (length,) = _struct_I.unpack(str[start:end]) 00515 start = end 00516 end += length 00517 self.action_goal.goal_id.id = str[start:end] 00518 _x = self 00519 start = end 00520 end += 12 00521 (_x.action_goal.goal.path.header.seq, _x.action_goal.goal.path.header.stamp.secs, _x.action_goal.goal.path.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00522 start = end 00523 end += 4 00524 (length,) = _struct_I.unpack(str[start:end]) 00525 start = end 00526 end += length 00527 self.action_goal.goal.path.header.frame_id = str[start:end] 00528 start = end 00529 end += 4 00530 (length,) = _struct_I.unpack(str[start:end]) 00531 self.action_goal.goal.path.poses = [] 00532 for i in range(0, length): 00533 val1 = geometry_msgs.msg.PoseStamped() 00534 _v16 = val1.header 00535 start = end 00536 end += 4 00537 (_v16.seq,) = _struct_I.unpack(str[start:end]) 00538 _v17 = _v16.stamp 00539 _x = _v17 00540 start = end 00541 end += 8 00542 (_x.secs, _x.nsecs,) = _struct_2I.unpack(str[start:end]) 00543 start = end 00544 end += 4 00545 (length,) = _struct_I.unpack(str[start:end]) 00546 start = end 00547 end += length 00548 _v16.frame_id = str[start:end] 00549 _v18 = val1.pose 00550 _v19 = _v18.position 00551 _x = _v19 00552 start = end 00553 end += 24 00554 (_x.x, _x.y, _x.z,) = _struct_3d.unpack(str[start:end]) 00555 _v20 = _v18.orientation 00556 _x = _v20 00557 start = end 00558 end += 32 00559 (_x.x, _x.y, _x.z, _x.w,) = _struct_4d.unpack(str[start:end]) 00560 self.action_goal.goal.path.poses.append(val1) 00561 _x = self 00562 start = end 00563 end += 12 00564 (_x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00565 start = end 00566 end += 4 00567 (length,) = _struct_I.unpack(str[start:end]) 00568 start = end 00569 end += length 00570 self.action_result.header.frame_id = str[start:end] 00571 _x = self 00572 start = end 00573 end += 8 00574 (_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00575 start = end 00576 end += 4 00577 (length,) = _struct_I.unpack(str[start:end]) 00578 start = end 00579 end += length 00580 self.action_result.status.goal_id.id = str[start:end] 00581 start = end 00582 end += 1 00583 (self.action_result.status.status,) = _struct_B.unpack(str[start:end]) 00584 start = end 00585 end += 4 00586 (length,) = _struct_I.unpack(str[start:end]) 00587 start = end 00588 end += length 00589 self.action_result.status.text = str[start:end] 00590 _x = self 00591 start = end 00592 end += 12 00593 (_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00594 start = end 00595 end += 4 00596 (length,) = _struct_I.unpack(str[start:end]) 00597 start = end 00598 end += length 00599 self.action_feedback.header.frame_id = str[start:end] 00600 _x = self 00601 start = end 00602 end += 8 00603 (_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs,) = _struct_2I.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 self.action_feedback.status.goal_id.id = str[start:end] 00610 start = end 00611 end += 1 00612 (self.action_feedback.status.status,) = _struct_B.unpack(str[start:end]) 00613 start = end 00614 end += 4 00615 (length,) = _struct_I.unpack(str[start:end]) 00616 start = end 00617 end += length 00618 self.action_feedback.status.text = str[start:end] 00619 start = end 00620 end += 4 00621 (self.action_feedback.feedback.index,) = _struct_I.unpack(str[start:end]) 00622 return self 00623 except struct.error as e: 00624 raise roslib.message.DeserializationError(e) #most likely buffer underfill 00625 00626 _struct_I = roslib.message.struct_I 00627 _struct_B = struct.Struct("<B") 00628 _struct_3I = struct.Struct("<3I") 00629 _struct_4d = struct.Struct("<4d") 00630 _struct_2I = struct.Struct("<2I") 00631 _struct_3d = struct.Struct("<3d")