$search
00001 """autogenerated by genmsg_py from PickAndPlaceAction.msg. Do not edit.""" 00002 import roslib.message 00003 import struct 00004 00005 import turtlebot_block_manipulation.msg 00006 import geometry_msgs.msg 00007 import roslib.rostime 00008 import actionlib_msgs.msg 00009 import std_msgs.msg 00010 00011 class PickAndPlaceAction(roslib.message.Message): 00012 _md5sum = "416f36234b95b54b93474c1c4a28de65" 00013 _type = "turtlebot_block_manipulation/PickAndPlaceAction" 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 PickAndPlaceActionGoal action_goal 00018 PickAndPlaceActionResult action_result 00019 PickAndPlaceActionFeedback action_feedback 00020 00021 ================================================================================ 00022 MSG: turtlebot_block_manipulation/PickAndPlaceActionGoal 00023 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00024 00025 Header header 00026 actionlib_msgs/GoalID goal_id 00027 PickAndPlaceGoal 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: turtlebot_block_manipulation/PickAndPlaceGoal 00062 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00063 #goal definition 00064 string frame 00065 float32 z_up 00066 float32 gripper_open 00067 float32 gripper_closed 00068 geometry_msgs/Pose pickup_pose 00069 geometry_msgs/Pose place_pose 00070 string topic 00071 00072 ================================================================================ 00073 MSG: geometry_msgs/Pose 00074 # A representation of pose in free space, composed of postion and orientation. 00075 Point position 00076 Quaternion orientation 00077 00078 ================================================================================ 00079 MSG: geometry_msgs/Point 00080 # This contains the position of a point in free space 00081 float64 x 00082 float64 y 00083 float64 z 00084 00085 ================================================================================ 00086 MSG: geometry_msgs/Quaternion 00087 # This represents an orientation in free space in quaternion form. 00088 00089 float64 x 00090 float64 y 00091 float64 z 00092 float64 w 00093 00094 ================================================================================ 00095 MSG: turtlebot_block_manipulation/PickAndPlaceActionResult 00096 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00097 00098 Header header 00099 actionlib_msgs/GoalStatus status 00100 PickAndPlaceResult result 00101 00102 ================================================================================ 00103 MSG: actionlib_msgs/GoalStatus 00104 GoalID goal_id 00105 uint8 status 00106 uint8 PENDING = 0 # The goal has yet to be processed by the action server 00107 uint8 ACTIVE = 1 # The goal is currently being processed by the action server 00108 uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing 00109 # and has since completed its execution (Terminal State) 00110 uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State) 00111 uint8 ABORTED = 4 # The goal was aborted during execution by the action server due 00112 # to some failure (Terminal State) 00113 uint8 REJECTED = 5 # The goal was rejected by the action server without being processed, 00114 # because the goal was unattainable or invalid (Terminal State) 00115 uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing 00116 # and has not yet completed execution 00117 uint8 RECALLING = 7 # The goal received a cancel request before it started executing, 00118 # but the action server has not yet confirmed that the goal is canceled 00119 uint8 RECALLED = 8 # The goal received a cancel request before it started executing 00120 # and was successfully cancelled (Terminal State) 00121 uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be 00122 # sent over the wire by an action server 00123 00124 #Allow for the user to associate a string with GoalStatus for debugging 00125 string text 00126 00127 00128 ================================================================================ 00129 MSG: turtlebot_block_manipulation/PickAndPlaceResult 00130 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00131 #result definition 00132 00133 ================================================================================ 00134 MSG: turtlebot_block_manipulation/PickAndPlaceActionFeedback 00135 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00136 00137 Header header 00138 actionlib_msgs/GoalStatus status 00139 PickAndPlaceFeedback feedback 00140 00141 ================================================================================ 00142 MSG: turtlebot_block_manipulation/PickAndPlaceFeedback 00143 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00144 #feedback 00145 00146 00147 """ 00148 __slots__ = ['action_goal','action_result','action_feedback'] 00149 _slot_types = ['turtlebot_block_manipulation/PickAndPlaceActionGoal','turtlebot_block_manipulation/PickAndPlaceActionResult','turtlebot_block_manipulation/PickAndPlaceActionFeedback'] 00150 00151 def __init__(self, *args, **kwds): 00152 """ 00153 Constructor. Any message fields that are implicitly/explicitly 00154 set to None will be assigned a default value. The recommend 00155 use is keyword arguments as this is more robust to future message 00156 changes. You cannot mix in-order arguments and keyword arguments. 00157 00158 The available fields are: 00159 action_goal,action_result,action_feedback 00160 00161 @param args: complete set of field values, in .msg order 00162 @param kwds: use keyword arguments corresponding to message field names 00163 to set specific fields. 00164 """ 00165 if args or kwds: 00166 super(PickAndPlaceAction, self).__init__(*args, **kwds) 00167 #message fields cannot be None, assign default values for those that are 00168 if self.action_goal is None: 00169 self.action_goal = turtlebot_block_manipulation.msg.PickAndPlaceActionGoal() 00170 if self.action_result is None: 00171 self.action_result = turtlebot_block_manipulation.msg.PickAndPlaceActionResult() 00172 if self.action_feedback is None: 00173 self.action_feedback = turtlebot_block_manipulation.msg.PickAndPlaceActionFeedback() 00174 else: 00175 self.action_goal = turtlebot_block_manipulation.msg.PickAndPlaceActionGoal() 00176 self.action_result = turtlebot_block_manipulation.msg.PickAndPlaceActionResult() 00177 self.action_feedback = turtlebot_block_manipulation.msg.PickAndPlaceActionFeedback() 00178 00179 def _get_types(self): 00180 """ 00181 internal API method 00182 """ 00183 return self._slot_types 00184 00185 def serialize(self, buff): 00186 """ 00187 serialize message into buffer 00188 @param buff: buffer 00189 @type buff: StringIO 00190 """ 00191 try: 00192 _x = self 00193 buff.write(_struct_3I.pack(_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs)) 00194 _x = self.action_goal.header.frame_id 00195 length = len(_x) 00196 buff.write(struct.pack('<I%ss'%length, length, _x)) 00197 _x = self 00198 buff.write(_struct_2I.pack(_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs)) 00199 _x = self.action_goal.goal_id.id 00200 length = len(_x) 00201 buff.write(struct.pack('<I%ss'%length, length, _x)) 00202 _x = self.action_goal.goal.frame 00203 length = len(_x) 00204 buff.write(struct.pack('<I%ss'%length, length, _x)) 00205 _x = self 00206 buff.write(_struct_3f14d.pack(_x.action_goal.goal.z_up, _x.action_goal.goal.gripper_open, _x.action_goal.goal.gripper_closed, _x.action_goal.goal.pickup_pose.position.x, _x.action_goal.goal.pickup_pose.position.y, _x.action_goal.goal.pickup_pose.position.z, _x.action_goal.goal.pickup_pose.orientation.x, _x.action_goal.goal.pickup_pose.orientation.y, _x.action_goal.goal.pickup_pose.orientation.z, _x.action_goal.goal.pickup_pose.orientation.w, _x.action_goal.goal.place_pose.position.x, _x.action_goal.goal.place_pose.position.y, _x.action_goal.goal.place_pose.position.z, _x.action_goal.goal.place_pose.orientation.x, _x.action_goal.goal.place_pose.orientation.y, _x.action_goal.goal.place_pose.orientation.z, _x.action_goal.goal.place_pose.orientation.w)) 00207 _x = self.action_goal.goal.topic 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_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs)) 00212 _x = self.action_result.header.frame_id 00213 length = len(_x) 00214 buff.write(struct.pack('<I%ss'%length, length, _x)) 00215 _x = self 00216 buff.write(_struct_2I.pack(_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs)) 00217 _x = self.action_result.status.goal_id.id 00218 length = len(_x) 00219 buff.write(struct.pack('<I%ss'%length, length, _x)) 00220 buff.write(_struct_B.pack(self.action_result.status.status)) 00221 _x = self.action_result.status.text 00222 length = len(_x) 00223 buff.write(struct.pack('<I%ss'%length, length, _x)) 00224 _x = self 00225 buff.write(_struct_3I.pack(_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs)) 00226 _x = self.action_feedback.header.frame_id 00227 length = len(_x) 00228 buff.write(struct.pack('<I%ss'%length, length, _x)) 00229 _x = self 00230 buff.write(_struct_2I.pack(_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs)) 00231 _x = self.action_feedback.status.goal_id.id 00232 length = len(_x) 00233 buff.write(struct.pack('<I%ss'%length, length, _x)) 00234 buff.write(_struct_B.pack(self.action_feedback.status.status)) 00235 _x = self.action_feedback.status.text 00236 length = len(_x) 00237 buff.write(struct.pack('<I%ss'%length, length, _x)) 00238 except struct.error as se: self._check_types(se) 00239 except TypeError as te: self._check_types(te) 00240 00241 def deserialize(self, str): 00242 """ 00243 unpack serialized message in str into this message instance 00244 @param str: byte array of serialized message 00245 @type str: str 00246 """ 00247 try: 00248 if self.action_goal is None: 00249 self.action_goal = turtlebot_block_manipulation.msg.PickAndPlaceActionGoal() 00250 if self.action_result is None: 00251 self.action_result = turtlebot_block_manipulation.msg.PickAndPlaceActionResult() 00252 if self.action_feedback is None: 00253 self.action_feedback = turtlebot_block_manipulation.msg.PickAndPlaceActionFeedback() 00254 end = 0 00255 _x = self 00256 start = end 00257 end += 12 00258 (_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00259 start = end 00260 end += 4 00261 (length,) = _struct_I.unpack(str[start:end]) 00262 start = end 00263 end += length 00264 self.action_goal.header.frame_id = str[start:end] 00265 _x = self 00266 start = end 00267 end += 8 00268 (_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00269 start = end 00270 end += 4 00271 (length,) = _struct_I.unpack(str[start:end]) 00272 start = end 00273 end += length 00274 self.action_goal.goal_id.id = str[start:end] 00275 start = end 00276 end += 4 00277 (length,) = _struct_I.unpack(str[start:end]) 00278 start = end 00279 end += length 00280 self.action_goal.goal.frame = str[start:end] 00281 _x = self 00282 start = end 00283 end += 124 00284 (_x.action_goal.goal.z_up, _x.action_goal.goal.gripper_open, _x.action_goal.goal.gripper_closed, _x.action_goal.goal.pickup_pose.position.x, _x.action_goal.goal.pickup_pose.position.y, _x.action_goal.goal.pickup_pose.position.z, _x.action_goal.goal.pickup_pose.orientation.x, _x.action_goal.goal.pickup_pose.orientation.y, _x.action_goal.goal.pickup_pose.orientation.z, _x.action_goal.goal.pickup_pose.orientation.w, _x.action_goal.goal.place_pose.position.x, _x.action_goal.goal.place_pose.position.y, _x.action_goal.goal.place_pose.position.z, _x.action_goal.goal.place_pose.orientation.x, _x.action_goal.goal.place_pose.orientation.y, _x.action_goal.goal.place_pose.orientation.z, _x.action_goal.goal.place_pose.orientation.w,) = _struct_3f14d.unpack(str[start:end]) 00285 start = end 00286 end += 4 00287 (length,) = _struct_I.unpack(str[start:end]) 00288 start = end 00289 end += length 00290 self.action_goal.goal.topic = str[start:end] 00291 _x = self 00292 start = end 00293 end += 12 00294 (_x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00295 start = end 00296 end += 4 00297 (length,) = _struct_I.unpack(str[start:end]) 00298 start = end 00299 end += length 00300 self.action_result.header.frame_id = str[start:end] 00301 _x = self 00302 start = end 00303 end += 8 00304 (_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00305 start = end 00306 end += 4 00307 (length,) = _struct_I.unpack(str[start:end]) 00308 start = end 00309 end += length 00310 self.action_result.status.goal_id.id = str[start:end] 00311 start = end 00312 end += 1 00313 (self.action_result.status.status,) = _struct_B.unpack(str[start:end]) 00314 start = end 00315 end += 4 00316 (length,) = _struct_I.unpack(str[start:end]) 00317 start = end 00318 end += length 00319 self.action_result.status.text = str[start:end] 00320 _x = self 00321 start = end 00322 end += 12 00323 (_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs,) = _struct_3I.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 self.action_feedback.header.frame_id = str[start:end] 00330 _x = self 00331 start = end 00332 end += 8 00333 (_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00334 start = end 00335 end += 4 00336 (length,) = _struct_I.unpack(str[start:end]) 00337 start = end 00338 end += length 00339 self.action_feedback.status.goal_id.id = str[start:end] 00340 start = end 00341 end += 1 00342 (self.action_feedback.status.status,) = _struct_B.unpack(str[start:end]) 00343 start = end 00344 end += 4 00345 (length,) = _struct_I.unpack(str[start:end]) 00346 start = end 00347 end += length 00348 self.action_feedback.status.text = str[start:end] 00349 return self 00350 except struct.error as e: 00351 raise roslib.message.DeserializationError(e) #most likely buffer underfill 00352 00353 00354 def serialize_numpy(self, buff, numpy): 00355 """ 00356 serialize message with numpy array types into buffer 00357 @param buff: buffer 00358 @type buff: StringIO 00359 @param numpy: numpy python module 00360 @type numpy module 00361 """ 00362 try: 00363 _x = self 00364 buff.write(_struct_3I.pack(_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs)) 00365 _x = self.action_goal.header.frame_id 00366 length = len(_x) 00367 buff.write(struct.pack('<I%ss'%length, length, _x)) 00368 _x = self 00369 buff.write(_struct_2I.pack(_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs)) 00370 _x = self.action_goal.goal_id.id 00371 length = len(_x) 00372 buff.write(struct.pack('<I%ss'%length, length, _x)) 00373 _x = self.action_goal.goal.frame 00374 length = len(_x) 00375 buff.write(struct.pack('<I%ss'%length, length, _x)) 00376 _x = self 00377 buff.write(_struct_3f14d.pack(_x.action_goal.goal.z_up, _x.action_goal.goal.gripper_open, _x.action_goal.goal.gripper_closed, _x.action_goal.goal.pickup_pose.position.x, _x.action_goal.goal.pickup_pose.position.y, _x.action_goal.goal.pickup_pose.position.z, _x.action_goal.goal.pickup_pose.orientation.x, _x.action_goal.goal.pickup_pose.orientation.y, _x.action_goal.goal.pickup_pose.orientation.z, _x.action_goal.goal.pickup_pose.orientation.w, _x.action_goal.goal.place_pose.position.x, _x.action_goal.goal.place_pose.position.y, _x.action_goal.goal.place_pose.position.z, _x.action_goal.goal.place_pose.orientation.x, _x.action_goal.goal.place_pose.orientation.y, _x.action_goal.goal.place_pose.orientation.z, _x.action_goal.goal.place_pose.orientation.w)) 00378 _x = self.action_goal.goal.topic 00379 length = len(_x) 00380 buff.write(struct.pack('<I%ss'%length, length, _x)) 00381 _x = self 00382 buff.write(_struct_3I.pack(_x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs)) 00383 _x = self.action_result.header.frame_id 00384 length = len(_x) 00385 buff.write(struct.pack('<I%ss'%length, length, _x)) 00386 _x = self 00387 buff.write(_struct_2I.pack(_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs)) 00388 _x = self.action_result.status.goal_id.id 00389 length = len(_x) 00390 buff.write(struct.pack('<I%ss'%length, length, _x)) 00391 buff.write(_struct_B.pack(self.action_result.status.status)) 00392 _x = self.action_result.status.text 00393 length = len(_x) 00394 buff.write(struct.pack('<I%ss'%length, length, _x)) 00395 _x = self 00396 buff.write(_struct_3I.pack(_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs)) 00397 _x = self.action_feedback.header.frame_id 00398 length = len(_x) 00399 buff.write(struct.pack('<I%ss'%length, length, _x)) 00400 _x = self 00401 buff.write(_struct_2I.pack(_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs)) 00402 _x = self.action_feedback.status.goal_id.id 00403 length = len(_x) 00404 buff.write(struct.pack('<I%ss'%length, length, _x)) 00405 buff.write(_struct_B.pack(self.action_feedback.status.status)) 00406 _x = self.action_feedback.status.text 00407 length = len(_x) 00408 buff.write(struct.pack('<I%ss'%length, length, _x)) 00409 except struct.error as se: self._check_types(se) 00410 except TypeError as te: self._check_types(te) 00411 00412 def deserialize_numpy(self, str, numpy): 00413 """ 00414 unpack serialized message in str into this message instance using numpy for array types 00415 @param str: byte array of serialized message 00416 @type str: str 00417 @param numpy: numpy python module 00418 @type numpy: module 00419 """ 00420 try: 00421 if self.action_goal is None: 00422 self.action_goal = turtlebot_block_manipulation.msg.PickAndPlaceActionGoal() 00423 if self.action_result is None: 00424 self.action_result = turtlebot_block_manipulation.msg.PickAndPlaceActionResult() 00425 if self.action_feedback is None: 00426 self.action_feedback = turtlebot_block_manipulation.msg.PickAndPlaceActionFeedback() 00427 end = 0 00428 _x = self 00429 start = end 00430 end += 12 00431 (_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00432 start = end 00433 end += 4 00434 (length,) = _struct_I.unpack(str[start:end]) 00435 start = end 00436 end += length 00437 self.action_goal.header.frame_id = str[start:end] 00438 _x = self 00439 start = end 00440 end += 8 00441 (_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00442 start = end 00443 end += 4 00444 (length,) = _struct_I.unpack(str[start:end]) 00445 start = end 00446 end += length 00447 self.action_goal.goal_id.id = str[start:end] 00448 start = end 00449 end += 4 00450 (length,) = _struct_I.unpack(str[start:end]) 00451 start = end 00452 end += length 00453 self.action_goal.goal.frame = str[start:end] 00454 _x = self 00455 start = end 00456 end += 124 00457 (_x.action_goal.goal.z_up, _x.action_goal.goal.gripper_open, _x.action_goal.goal.gripper_closed, _x.action_goal.goal.pickup_pose.position.x, _x.action_goal.goal.pickup_pose.position.y, _x.action_goal.goal.pickup_pose.position.z, _x.action_goal.goal.pickup_pose.orientation.x, _x.action_goal.goal.pickup_pose.orientation.y, _x.action_goal.goal.pickup_pose.orientation.z, _x.action_goal.goal.pickup_pose.orientation.w, _x.action_goal.goal.place_pose.position.x, _x.action_goal.goal.place_pose.position.y, _x.action_goal.goal.place_pose.position.z, _x.action_goal.goal.place_pose.orientation.x, _x.action_goal.goal.place_pose.orientation.y, _x.action_goal.goal.place_pose.orientation.z, _x.action_goal.goal.place_pose.orientation.w,) = _struct_3f14d.unpack(str[start:end]) 00458 start = end 00459 end += 4 00460 (length,) = _struct_I.unpack(str[start:end]) 00461 start = end 00462 end += length 00463 self.action_goal.goal.topic = str[start:end] 00464 _x = self 00465 start = end 00466 end += 12 00467 (_x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00468 start = end 00469 end += 4 00470 (length,) = _struct_I.unpack(str[start:end]) 00471 start = end 00472 end += length 00473 self.action_result.header.frame_id = str[start:end] 00474 _x = self 00475 start = end 00476 end += 8 00477 (_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00478 start = end 00479 end += 4 00480 (length,) = _struct_I.unpack(str[start:end]) 00481 start = end 00482 end += length 00483 self.action_result.status.goal_id.id = str[start:end] 00484 start = end 00485 end += 1 00486 (self.action_result.status.status,) = _struct_B.unpack(str[start:end]) 00487 start = end 00488 end += 4 00489 (length,) = _struct_I.unpack(str[start:end]) 00490 start = end 00491 end += length 00492 self.action_result.status.text = str[start:end] 00493 _x = self 00494 start = end 00495 end += 12 00496 (_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00497 start = end 00498 end += 4 00499 (length,) = _struct_I.unpack(str[start:end]) 00500 start = end 00501 end += length 00502 self.action_feedback.header.frame_id = str[start:end] 00503 _x = self 00504 start = end 00505 end += 8 00506 (_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00507 start = end 00508 end += 4 00509 (length,) = _struct_I.unpack(str[start:end]) 00510 start = end 00511 end += length 00512 self.action_feedback.status.goal_id.id = str[start:end] 00513 start = end 00514 end += 1 00515 (self.action_feedback.status.status,) = _struct_B.unpack(str[start:end]) 00516 start = end 00517 end += 4 00518 (length,) = _struct_I.unpack(str[start:end]) 00519 start = end 00520 end += length 00521 self.action_feedback.status.text = str[start:end] 00522 return self 00523 except struct.error as e: 00524 raise roslib.message.DeserializationError(e) #most likely buffer underfill 00525 00526 _struct_I = roslib.message.struct_I 00527 _struct_3f14d = struct.Struct("<3f14d") 00528 _struct_3I = struct.Struct("<3I") 00529 _struct_B = struct.Struct("<B") 00530 _struct_2I = struct.Struct("<2I")