$search
00001 """autogenerated by genmsg_py from JointMovementAction.msg. Do not edit.""" 00002 import roslib.message 00003 import struct 00004 00005 import sensor_msgs.msg 00006 import std_msgs.msg 00007 import roslib.rostime 00008 import actionlib_msgs.msg 00009 import katana_msgs.msg 00010 00011 class JointMovementAction(roslib.message.Message): 00012 _md5sum = "729d616fa544da9079d58e0ecde6ca21" 00013 _type = "katana_msgs/JointMovementAction" 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 JointMovementActionGoal action_goal 00018 JointMovementActionResult action_result 00019 JointMovementActionFeedback action_feedback 00020 00021 ================================================================================ 00022 MSG: katana_msgs/JointMovementActionGoal 00023 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00024 00025 Header header 00026 actionlib_msgs/GoalID goal_id 00027 JointMovementGoal 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: katana_msgs/JointMovementGoal 00062 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00063 #goal definition 00064 sensor_msgs/JointState jointGoal 00065 00066 ================================================================================ 00067 MSG: sensor_msgs/JointState 00068 # This is a message that holds data to describe the state of a set of torque controlled joints. 00069 # 00070 # The state of each joint (revolute or prismatic) is defined by: 00071 # * the position of the joint (rad or m), 00072 # * the velocity of the joint (rad/s or m/s) and 00073 # * the effort that is applied in the joint (Nm or N). 00074 # 00075 # Each joint is uniquely identified by its name 00076 # The header specifies the time at which the joint states were recorded. All the joint states 00077 # in one message have to be recorded at the same time. 00078 # 00079 # This message consists of a multiple arrays, one for each part of the joint state. 00080 # The goal is to make each of the fields optional. When e.g. your joints have no 00081 # effort associated with them, you can leave the effort array empty. 00082 # 00083 # All arrays in this message should have the same size, or be empty. 00084 # This is the only way to uniquely associate the joint name with the correct 00085 # states. 00086 00087 00088 Header header 00089 00090 string[] name 00091 float64[] position 00092 float64[] velocity 00093 float64[] effort 00094 00095 ================================================================================ 00096 MSG: katana_msgs/JointMovementActionResult 00097 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00098 00099 Header header 00100 actionlib_msgs/GoalStatus status 00101 JointMovementResult result 00102 00103 ================================================================================ 00104 MSG: actionlib_msgs/GoalStatus 00105 GoalID goal_id 00106 uint8 status 00107 uint8 PENDING = 0 # The goal has yet to be processed by the action server 00108 uint8 ACTIVE = 1 # The goal is currently being processed by the action server 00109 uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing 00110 # and has since completed its execution (Terminal State) 00111 uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State) 00112 uint8 ABORTED = 4 # The goal was aborted during execution by the action server due 00113 # to some failure (Terminal State) 00114 uint8 REJECTED = 5 # The goal was rejected by the action server without being processed, 00115 # because the goal was unattainable or invalid (Terminal State) 00116 uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing 00117 # and has not yet completed execution 00118 uint8 RECALLING = 7 # The goal received a cancel request before it started executing, 00119 # but the action server has not yet confirmed that the goal is canceled 00120 uint8 RECALLED = 8 # The goal received a cancel request before it started executing 00121 # and was successfully cancelled (Terminal State) 00122 uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be 00123 # sent over the wire by an action server 00124 00125 #Allow for the user to associate a string with GoalStatus for debugging 00126 string text 00127 00128 00129 ================================================================================ 00130 MSG: katana_msgs/JointMovementResult 00131 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00132 00133 ================================================================================ 00134 MSG: katana_msgs/JointMovementActionFeedback 00135 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00136 00137 Header header 00138 actionlib_msgs/GoalStatus status 00139 JointMovementFeedback feedback 00140 00141 ================================================================================ 00142 MSG: katana_msgs/JointMovementFeedback 00143 # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== 00144 00145 00146 """ 00147 __slots__ = ['action_goal','action_result','action_feedback'] 00148 _slot_types = ['katana_msgs/JointMovementActionGoal','katana_msgs/JointMovementActionResult','katana_msgs/JointMovementActionFeedback'] 00149 00150 def __init__(self, *args, **kwds): 00151 """ 00152 Constructor. Any message fields that are implicitly/explicitly 00153 set to None will be assigned a default value. The recommend 00154 use is keyword arguments as this is more robust to future message 00155 changes. You cannot mix in-order arguments and keyword arguments. 00156 00157 The available fields are: 00158 action_goal,action_result,action_feedback 00159 00160 @param args: complete set of field values, in .msg order 00161 @param kwds: use keyword arguments corresponding to message field names 00162 to set specific fields. 00163 """ 00164 if args or kwds: 00165 super(JointMovementAction, self).__init__(*args, **kwds) 00166 #message fields cannot be None, assign default values for those that are 00167 if self.action_goal is None: 00168 self.action_goal = katana_msgs.msg.JointMovementActionGoal() 00169 if self.action_result is None: 00170 self.action_result = katana_msgs.msg.JointMovementActionResult() 00171 if self.action_feedback is None: 00172 self.action_feedback = katana_msgs.msg.JointMovementActionFeedback() 00173 else: 00174 self.action_goal = katana_msgs.msg.JointMovementActionGoal() 00175 self.action_result = katana_msgs.msg.JointMovementActionResult() 00176 self.action_feedback = katana_msgs.msg.JointMovementActionFeedback() 00177 00178 def _get_types(self): 00179 """ 00180 internal API method 00181 """ 00182 return self._slot_types 00183 00184 def serialize(self, buff): 00185 """ 00186 serialize message into buffer 00187 @param buff: buffer 00188 @type buff: StringIO 00189 """ 00190 try: 00191 _x = self 00192 buff.write(_struct_3I.pack(_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs)) 00193 _x = self.action_goal.header.frame_id 00194 length = len(_x) 00195 buff.write(struct.pack('<I%ss'%length, length, _x)) 00196 _x = self 00197 buff.write(_struct_2I.pack(_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs)) 00198 _x = self.action_goal.goal_id.id 00199 length = len(_x) 00200 buff.write(struct.pack('<I%ss'%length, length, _x)) 00201 _x = self 00202 buff.write(_struct_3I.pack(_x.action_goal.goal.jointGoal.header.seq, _x.action_goal.goal.jointGoal.header.stamp.secs, _x.action_goal.goal.jointGoal.header.stamp.nsecs)) 00203 _x = self.action_goal.goal.jointGoal.header.frame_id 00204 length = len(_x) 00205 buff.write(struct.pack('<I%ss'%length, length, _x)) 00206 length = len(self.action_goal.goal.jointGoal.name) 00207 buff.write(_struct_I.pack(length)) 00208 for val1 in self.action_goal.goal.jointGoal.name: 00209 length = len(val1) 00210 buff.write(struct.pack('<I%ss'%length, length, val1)) 00211 length = len(self.action_goal.goal.jointGoal.position) 00212 buff.write(_struct_I.pack(length)) 00213 pattern = '<%sd'%length 00214 buff.write(struct.pack(pattern, *self.action_goal.goal.jointGoal.position)) 00215 length = len(self.action_goal.goal.jointGoal.velocity) 00216 buff.write(_struct_I.pack(length)) 00217 pattern = '<%sd'%length 00218 buff.write(struct.pack(pattern, *self.action_goal.goal.jointGoal.velocity)) 00219 length = len(self.action_goal.goal.jointGoal.effort) 00220 buff.write(_struct_I.pack(length)) 00221 pattern = '<%sd'%length 00222 buff.write(struct.pack(pattern, *self.action_goal.goal.jointGoal.effort)) 00223 _x = self 00224 buff.write(_struct_3I.pack(_x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs)) 00225 _x = self.action_result.header.frame_id 00226 length = len(_x) 00227 buff.write(struct.pack('<I%ss'%length, length, _x)) 00228 _x = self 00229 buff.write(_struct_2I.pack(_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs)) 00230 _x = self.action_result.status.goal_id.id 00231 length = len(_x) 00232 buff.write(struct.pack('<I%ss'%length, length, _x)) 00233 buff.write(_struct_B.pack(self.action_result.status.status)) 00234 _x = self.action_result.status.text 00235 length = len(_x) 00236 buff.write(struct.pack('<I%ss'%length, length, _x)) 00237 _x = self 00238 buff.write(_struct_3I.pack(_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs)) 00239 _x = self.action_feedback.header.frame_id 00240 length = len(_x) 00241 buff.write(struct.pack('<I%ss'%length, length, _x)) 00242 _x = self 00243 buff.write(_struct_2I.pack(_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs)) 00244 _x = self.action_feedback.status.goal_id.id 00245 length = len(_x) 00246 buff.write(struct.pack('<I%ss'%length, length, _x)) 00247 buff.write(_struct_B.pack(self.action_feedback.status.status)) 00248 _x = self.action_feedback.status.text 00249 length = len(_x) 00250 buff.write(struct.pack('<I%ss'%length, length, _x)) 00251 except struct.error as se: self._check_types(se) 00252 except TypeError as te: self._check_types(te) 00253 00254 def deserialize(self, str): 00255 """ 00256 unpack serialized message in str into this message instance 00257 @param str: byte array of serialized message 00258 @type str: str 00259 """ 00260 try: 00261 if self.action_goal is None: 00262 self.action_goal = katana_msgs.msg.JointMovementActionGoal() 00263 if self.action_result is None: 00264 self.action_result = katana_msgs.msg.JointMovementActionResult() 00265 if self.action_feedback is None: 00266 self.action_feedback = katana_msgs.msg.JointMovementActionFeedback() 00267 end = 0 00268 _x = self 00269 start = end 00270 end += 12 00271 (_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00272 start = end 00273 end += 4 00274 (length,) = _struct_I.unpack(str[start:end]) 00275 start = end 00276 end += length 00277 self.action_goal.header.frame_id = str[start:end] 00278 _x = self 00279 start = end 00280 end += 8 00281 (_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00282 start = end 00283 end += 4 00284 (length,) = _struct_I.unpack(str[start:end]) 00285 start = end 00286 end += length 00287 self.action_goal.goal_id.id = str[start:end] 00288 _x = self 00289 start = end 00290 end += 12 00291 (_x.action_goal.goal.jointGoal.header.seq, _x.action_goal.goal.jointGoal.header.stamp.secs, _x.action_goal.goal.jointGoal.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00292 start = end 00293 end += 4 00294 (length,) = _struct_I.unpack(str[start:end]) 00295 start = end 00296 end += length 00297 self.action_goal.goal.jointGoal.header.frame_id = str[start:end] 00298 start = end 00299 end += 4 00300 (length,) = _struct_I.unpack(str[start:end]) 00301 self.action_goal.goal.jointGoal.name = [] 00302 for i in range(0, length): 00303 start = end 00304 end += 4 00305 (length,) = _struct_I.unpack(str[start:end]) 00306 start = end 00307 end += length 00308 val1 = str[start:end] 00309 self.action_goal.goal.jointGoal.name.append(val1) 00310 start = end 00311 end += 4 00312 (length,) = _struct_I.unpack(str[start:end]) 00313 pattern = '<%sd'%length 00314 start = end 00315 end += struct.calcsize(pattern) 00316 self.action_goal.goal.jointGoal.position = struct.unpack(pattern, str[start:end]) 00317 start = end 00318 end += 4 00319 (length,) = _struct_I.unpack(str[start:end]) 00320 pattern = '<%sd'%length 00321 start = end 00322 end += struct.calcsize(pattern) 00323 self.action_goal.goal.jointGoal.velocity = struct.unpack(pattern, str[start:end]) 00324 start = end 00325 end += 4 00326 (length,) = _struct_I.unpack(str[start:end]) 00327 pattern = '<%sd'%length 00328 start = end 00329 end += struct.calcsize(pattern) 00330 self.action_goal.goal.jointGoal.effort = struct.unpack(pattern, str[start:end]) 00331 _x = self 00332 start = end 00333 end += 12 00334 (_x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs,) = _struct_3I.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 self.action_result.header.frame_id = str[start:end] 00341 _x = self 00342 start = end 00343 end += 8 00344 (_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00345 start = end 00346 end += 4 00347 (length,) = _struct_I.unpack(str[start:end]) 00348 start = end 00349 end += length 00350 self.action_result.status.goal_id.id = str[start:end] 00351 start = end 00352 end += 1 00353 (self.action_result.status.status,) = _struct_B.unpack(str[start:end]) 00354 start = end 00355 end += 4 00356 (length,) = _struct_I.unpack(str[start:end]) 00357 start = end 00358 end += length 00359 self.action_result.status.text = str[start:end] 00360 _x = self 00361 start = end 00362 end += 12 00363 (_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00364 start = end 00365 end += 4 00366 (length,) = _struct_I.unpack(str[start:end]) 00367 start = end 00368 end += length 00369 self.action_feedback.header.frame_id = str[start:end] 00370 _x = self 00371 start = end 00372 end += 8 00373 (_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00374 start = end 00375 end += 4 00376 (length,) = _struct_I.unpack(str[start:end]) 00377 start = end 00378 end += length 00379 self.action_feedback.status.goal_id.id = str[start:end] 00380 start = end 00381 end += 1 00382 (self.action_feedback.status.status,) = _struct_B.unpack(str[start:end]) 00383 start = end 00384 end += 4 00385 (length,) = _struct_I.unpack(str[start:end]) 00386 start = end 00387 end += length 00388 self.action_feedback.status.text = str[start:end] 00389 return self 00390 except struct.error as e: 00391 raise roslib.message.DeserializationError(e) #most likely buffer underfill 00392 00393 00394 def serialize_numpy(self, buff, numpy): 00395 """ 00396 serialize message with numpy array types into buffer 00397 @param buff: buffer 00398 @type buff: StringIO 00399 @param numpy: numpy python module 00400 @type numpy module 00401 """ 00402 try: 00403 _x = self 00404 buff.write(_struct_3I.pack(_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs)) 00405 _x = self.action_goal.header.frame_id 00406 length = len(_x) 00407 buff.write(struct.pack('<I%ss'%length, length, _x)) 00408 _x = self 00409 buff.write(_struct_2I.pack(_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs)) 00410 _x = self.action_goal.goal_id.id 00411 length = len(_x) 00412 buff.write(struct.pack('<I%ss'%length, length, _x)) 00413 _x = self 00414 buff.write(_struct_3I.pack(_x.action_goal.goal.jointGoal.header.seq, _x.action_goal.goal.jointGoal.header.stamp.secs, _x.action_goal.goal.jointGoal.header.stamp.nsecs)) 00415 _x = self.action_goal.goal.jointGoal.header.frame_id 00416 length = len(_x) 00417 buff.write(struct.pack('<I%ss'%length, length, _x)) 00418 length = len(self.action_goal.goal.jointGoal.name) 00419 buff.write(_struct_I.pack(length)) 00420 for val1 in self.action_goal.goal.jointGoal.name: 00421 length = len(val1) 00422 buff.write(struct.pack('<I%ss'%length, length, val1)) 00423 length = len(self.action_goal.goal.jointGoal.position) 00424 buff.write(_struct_I.pack(length)) 00425 pattern = '<%sd'%length 00426 buff.write(self.action_goal.goal.jointGoal.position.tostring()) 00427 length = len(self.action_goal.goal.jointGoal.velocity) 00428 buff.write(_struct_I.pack(length)) 00429 pattern = '<%sd'%length 00430 buff.write(self.action_goal.goal.jointGoal.velocity.tostring()) 00431 length = len(self.action_goal.goal.jointGoal.effort) 00432 buff.write(_struct_I.pack(length)) 00433 pattern = '<%sd'%length 00434 buff.write(self.action_goal.goal.jointGoal.effort.tostring()) 00435 _x = self 00436 buff.write(_struct_3I.pack(_x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs)) 00437 _x = self.action_result.header.frame_id 00438 length = len(_x) 00439 buff.write(struct.pack('<I%ss'%length, length, _x)) 00440 _x = self 00441 buff.write(_struct_2I.pack(_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs)) 00442 _x = self.action_result.status.goal_id.id 00443 length = len(_x) 00444 buff.write(struct.pack('<I%ss'%length, length, _x)) 00445 buff.write(_struct_B.pack(self.action_result.status.status)) 00446 _x = self.action_result.status.text 00447 length = len(_x) 00448 buff.write(struct.pack('<I%ss'%length, length, _x)) 00449 _x = self 00450 buff.write(_struct_3I.pack(_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs)) 00451 _x = self.action_feedback.header.frame_id 00452 length = len(_x) 00453 buff.write(struct.pack('<I%ss'%length, length, _x)) 00454 _x = self 00455 buff.write(_struct_2I.pack(_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs)) 00456 _x = self.action_feedback.status.goal_id.id 00457 length = len(_x) 00458 buff.write(struct.pack('<I%ss'%length, length, _x)) 00459 buff.write(_struct_B.pack(self.action_feedback.status.status)) 00460 _x = self.action_feedback.status.text 00461 length = len(_x) 00462 buff.write(struct.pack('<I%ss'%length, length, _x)) 00463 except struct.error as se: self._check_types(se) 00464 except TypeError as te: self._check_types(te) 00465 00466 def deserialize_numpy(self, str, numpy): 00467 """ 00468 unpack serialized message in str into this message instance using numpy for array types 00469 @param str: byte array of serialized message 00470 @type str: str 00471 @param numpy: numpy python module 00472 @type numpy: module 00473 """ 00474 try: 00475 if self.action_goal is None: 00476 self.action_goal = katana_msgs.msg.JointMovementActionGoal() 00477 if self.action_result is None: 00478 self.action_result = katana_msgs.msg.JointMovementActionResult() 00479 if self.action_feedback is None: 00480 self.action_feedback = katana_msgs.msg.JointMovementActionFeedback() 00481 end = 0 00482 _x = self 00483 start = end 00484 end += 12 00485 (_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00486 start = end 00487 end += 4 00488 (length,) = _struct_I.unpack(str[start:end]) 00489 start = end 00490 end += length 00491 self.action_goal.header.frame_id = str[start:end] 00492 _x = self 00493 start = end 00494 end += 8 00495 (_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00496 start = end 00497 end += 4 00498 (length,) = _struct_I.unpack(str[start:end]) 00499 start = end 00500 end += length 00501 self.action_goal.goal_id.id = str[start:end] 00502 _x = self 00503 start = end 00504 end += 12 00505 (_x.action_goal.goal.jointGoal.header.seq, _x.action_goal.goal.jointGoal.header.stamp.secs, _x.action_goal.goal.jointGoal.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00506 start = end 00507 end += 4 00508 (length,) = _struct_I.unpack(str[start:end]) 00509 start = end 00510 end += length 00511 self.action_goal.goal.jointGoal.header.frame_id = str[start:end] 00512 start = end 00513 end += 4 00514 (length,) = _struct_I.unpack(str[start:end]) 00515 self.action_goal.goal.jointGoal.name = [] 00516 for i in range(0, length): 00517 start = end 00518 end += 4 00519 (length,) = _struct_I.unpack(str[start:end]) 00520 start = end 00521 end += length 00522 val1 = str[start:end] 00523 self.action_goal.goal.jointGoal.name.append(val1) 00524 start = end 00525 end += 4 00526 (length,) = _struct_I.unpack(str[start:end]) 00527 pattern = '<%sd'%length 00528 start = end 00529 end += struct.calcsize(pattern) 00530 self.action_goal.goal.jointGoal.position = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length) 00531 start = end 00532 end += 4 00533 (length,) = _struct_I.unpack(str[start:end]) 00534 pattern = '<%sd'%length 00535 start = end 00536 end += struct.calcsize(pattern) 00537 self.action_goal.goal.jointGoal.velocity = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length) 00538 start = end 00539 end += 4 00540 (length,) = _struct_I.unpack(str[start:end]) 00541 pattern = '<%sd'%length 00542 start = end 00543 end += struct.calcsize(pattern) 00544 self.action_goal.goal.jointGoal.effort = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length) 00545 _x = self 00546 start = end 00547 end += 12 00548 (_x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00549 start = end 00550 end += 4 00551 (length,) = _struct_I.unpack(str[start:end]) 00552 start = end 00553 end += length 00554 self.action_result.header.frame_id = str[start:end] 00555 _x = self 00556 start = end 00557 end += 8 00558 (_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00559 start = end 00560 end += 4 00561 (length,) = _struct_I.unpack(str[start:end]) 00562 start = end 00563 end += length 00564 self.action_result.status.goal_id.id = str[start:end] 00565 start = end 00566 end += 1 00567 (self.action_result.status.status,) = _struct_B.unpack(str[start:end]) 00568 start = end 00569 end += 4 00570 (length,) = _struct_I.unpack(str[start:end]) 00571 start = end 00572 end += length 00573 self.action_result.status.text = str[start:end] 00574 _x = self 00575 start = end 00576 end += 12 00577 (_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs,) = _struct_3I.unpack(str[start:end]) 00578 start = end 00579 end += 4 00580 (length,) = _struct_I.unpack(str[start:end]) 00581 start = end 00582 end += length 00583 self.action_feedback.header.frame_id = str[start:end] 00584 _x = self 00585 start = end 00586 end += 8 00587 (_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs,) = _struct_2I.unpack(str[start:end]) 00588 start = end 00589 end += 4 00590 (length,) = _struct_I.unpack(str[start:end]) 00591 start = end 00592 end += length 00593 self.action_feedback.status.goal_id.id = str[start:end] 00594 start = end 00595 end += 1 00596 (self.action_feedback.status.status,) = _struct_B.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.text = str[start:end] 00603 return self 00604 except struct.error as e: 00605 raise roslib.message.DeserializationError(e) #most likely buffer underfill 00606 00607 _struct_I = roslib.message.struct_I 00608 _struct_3I = struct.Struct("<3I") 00609 _struct_B = struct.Struct("<B") 00610 _struct_2I = struct.Struct("<2I")