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