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