Source code for panda_gazebo.msg._FollowJointTrajectoryGoal

# This Python file uses the following encoding: utf-8
"""autogenerated by genpy from panda_gazebo/FollowJointTrajectoryGoal.msg. Do not edit."""
import codecs
import sys
[docs]python3 = True if sys.hexversion > 0x03000000 else False
import genpy import struct import control_msgs.msg import genpy import std_msgs.msg import trajectory_msgs.msg
[docs]class FollowJointTrajectoryGoal(genpy.Message): _md5sum = "1cd7562575460cb355d318a1ab2e859b" _type = "panda_gazebo/FollowJointTrajectoryGoal" _has_header = False # flag to mark the presence of a Header object _full_text = """# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== # Follow_joint_trajectory action # NOTE: This action extends the control_msgs/FollowJointTrajectoryAction such that # it also contains values to automatically generate the time axis # The joint trajectory to follow trajectory_msgs/JointTrajectory trajectory # Tolerances for the trajectory. If the measured joint values fall # outside the tolerances the trajectory goal is aborted. Any # tolerances that are not specified (by being omitted or set to 0) are # set to the defaults for the action server (often taken from the # parameter server). # Tolerances applied to the joints as the trajectory is executed. If # violated, the goal aborts with error_code set to # PATH_TOLERANCE_VIOLATED. control_msgs/JointTolerance[] path_tolerance # To report success, the joints must be within goal_tolerance of the # final trajectory value. The goal must be achieved by time the # trajectory ends plus goal_time_tolerance. (goal_time_tolerance # allows some leeway in time, so that the trajectory goal can still # succeed even if the joints reach the goal some time after the # precise end time of the trajectory). # # If the joints are not within goal_tolerance after "trajectory finish # time" + goal_time_tolerance, the goal aborts with error_code set to # GOAL_TOLERANCE_VIOLATED control_msgs/JointTolerance[] goal_tolerance duration goal_time_tolerance # Extra time axis attributes # NOTE: Used for automatic time axis generation bool create_time_axis # Automatically create a time axis float64 time_axis_step # Time axis step size duration timeout # Action server timeout. If set to 0, no timeout is used and action waits indefinitely. ================================================================================ MSG: trajectory_msgs/JointTrajectory Header header string[] joint_names JointTrajectoryPoint[] points ================================================================================ MSG: std_msgs/Header # Standard metadata for higher-level stamped data types. # This is generally used to communicate timestamped data # in a particular coordinate frame. # # sequence ID: consecutively increasing ID uint32 seq #Two-integer timestamp that is expressed as: # * stamp.sec: seconds (stamp_secs) since epoch (in Python the variable is called 'secs') # * stamp.nsec: nanoseconds since stamp_secs (in Python the variable is called 'nsecs') # time-handling sugar is provided by the client library time stamp #Frame this data is associated with string frame_id ================================================================================ MSG: trajectory_msgs/JointTrajectoryPoint # Each trajectory point specifies either positions[, velocities[, accelerations]] # or positions[, effort] for the trajectory to be executed. # All specified values are in the same order as the joint names in JointTrajectory.msg float64[] positions float64[] velocities float64[] accelerations float64[] effort duration time_from_start ================================================================================ MSG: control_msgs/JointTolerance # The tolerances specify the amount the position, velocity, and # accelerations can vary from the setpoints. For example, in the case # of trajectory control, when the actual position varies beyond # (desired position + position tolerance), the trajectory goal may # abort. # # There are two special values for tolerances: # * 0 - The tolerance is unspecified and will remain at whatever the default is # * -1 - The tolerance is "erased". If there was a default, the joint will be # allowed to move without restriction. string name float64 position # in radians or meters (for a revolute or prismatic joint, respectively) float64 velocity # in rad/sec or m/sec float64 acceleration # in rad/sec^2 or m/sec^2 """ __slots__ = ['trajectory','path_tolerance','goal_tolerance','goal_time_tolerance','create_time_axis','time_axis_step','timeout'] _slot_types = ['trajectory_msgs/JointTrajectory','control_msgs/JointTolerance[]','control_msgs/JointTolerance[]','duration','bool','float64','duration'] def __init__(self, *args, **kwds): """ Constructor. Any message fields that are implicitly/explicitly set to None will be assigned a default value. The recommend use is keyword arguments as this is more robust to future message changes. You cannot mix in-order arguments and keyword arguments. The available fields are: trajectory,path_tolerance,goal_tolerance,goal_time_tolerance,create_time_axis,time_axis_step,timeout :param args: complete set of field values, in .msg order :param kwds: use keyword arguments corresponding to message field names to set specific fields. """ if args or kwds: super(FollowJointTrajectoryGoal, self).__init__(*args, **kwds) # message fields cannot be None, assign default values for those that are if self.trajectory is None: self.trajectory = trajectory_msgs.msg.JointTrajectory() if self.path_tolerance is None: self.path_tolerance = [] if self.goal_tolerance is None: self.goal_tolerance = [] if self.goal_time_tolerance is None: self.goal_time_tolerance = genpy.Duration() if self.create_time_axis is None: self.create_time_axis = False if self.time_axis_step is None: self.time_axis_step = 0. if self.timeout is None: self.timeout = genpy.Duration() else: self.trajectory = trajectory_msgs.msg.JointTrajectory() self.path_tolerance = [] self.goal_tolerance = [] self.goal_time_tolerance = genpy.Duration() self.create_time_axis = False self.time_axis_step = 0. self.timeout = genpy.Duration() def _get_types(self): """ internal API method """ return self._slot_types
[docs] def serialize(self, buff): """ serialize message into buffer :param buff: buffer, ``StringIO`` """ try: _x = self buff.write(_get_struct_3I().pack(_x.trajectory.header.seq, _x.trajectory.header.stamp.secs, _x.trajectory.header.stamp.nsecs)) _x = self.trajectory.header.frame_id length = len(_x) if python3 or type(_x) == unicode: _x = _x.encode('utf-8') length = len(_x) buff.write(struct.Struct('<I%ss'%length).pack(length, _x)) length = len(self.trajectory.joint_names) buff.write(_struct_I.pack(length)) for val1 in self.trajectory.joint_names: length = len(val1) if python3 or type(val1) == unicode: val1 = val1.encode('utf-8') length = len(val1) buff.write(struct.Struct('<I%ss'%length).pack(length, val1)) length = len(self.trajectory.points) buff.write(_struct_I.pack(length)) for val1 in self.trajectory.points: length = len(val1.positions) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(struct.Struct(pattern).pack(*val1.positions)) length = len(val1.velocities) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(struct.Struct(pattern).pack(*val1.velocities)) length = len(val1.accelerations) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(struct.Struct(pattern).pack(*val1.accelerations)) length = len(val1.effort) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(struct.Struct(pattern).pack(*val1.effort)) _v1 = val1.time_from_start _x = _v1 buff.write(_get_struct_2i().pack(_x.secs, _x.nsecs)) length = len(self.path_tolerance) buff.write(_struct_I.pack(length)) for val1 in self.path_tolerance: _x = val1.name length = len(_x) if python3 or type(_x) == unicode: _x = _x.encode('utf-8') length = len(_x) buff.write(struct.Struct('<I%ss'%length).pack(length, _x)) _x = val1 buff.write(_get_struct_3d().pack(_x.position, _x.velocity, _x.acceleration)) length = len(self.goal_tolerance) buff.write(_struct_I.pack(length)) for val1 in self.goal_tolerance: _x = val1.name length = len(_x) if python3 or type(_x) == unicode: _x = _x.encode('utf-8') length = len(_x) buff.write(struct.Struct('<I%ss'%length).pack(length, _x)) _x = val1 buff.write(_get_struct_3d().pack(_x.position, _x.velocity, _x.acceleration)) _x = self buff.write(_get_struct_2iBd2i().pack(_x.goal_time_tolerance.secs, _x.goal_time_tolerance.nsecs, _x.create_time_axis, _x.time_axis_step, _x.timeout.secs, _x.timeout.nsecs)) except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self))))) except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
[docs] def deserialize(self, str): """ unpack serialized message in str into this message instance :param str: byte array of serialized message, ``str`` """ if python3: codecs.lookup_error("rosmsg").msg_type = self._type try: if self.trajectory is None: self.trajectory = trajectory_msgs.msg.JointTrajectory() if self.path_tolerance is None: self.path_tolerance = None if self.goal_tolerance is None: self.goal_tolerance = None if self.goal_time_tolerance is None: self.goal_time_tolerance = genpy.Duration() if self.timeout is None: self.timeout = genpy.Duration() end = 0 _x = self start = end end += 12 (_x.trajectory.header.seq, _x.trajectory.header.stamp.secs, _x.trajectory.header.stamp.nsecs,) = _get_struct_3I().unpack(str[start:end]) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) start = end end += length if python3: self.trajectory.header.frame_id = str[start:end].decode('utf-8', 'rosmsg') else: self.trajectory.header.frame_id = str[start:end] start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) self.trajectory.joint_names = [] for i in range(0, length): start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) start = end end += length if python3: val1 = str[start:end].decode('utf-8', 'rosmsg') else: val1 = str[start:end] self.trajectory.joint_names.append(val1) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) self.trajectory.points = [] for i in range(0, length): val1 = trajectory_msgs.msg.JointTrajectoryPoint() start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) pattern = '<%sd'%length start = end s = struct.Struct(pattern) end += s.size val1.positions = s.unpack(str[start:end]) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) pattern = '<%sd'%length start = end s = struct.Struct(pattern) end += s.size val1.velocities = s.unpack(str[start:end]) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) pattern = '<%sd'%length start = end s = struct.Struct(pattern) end += s.size val1.accelerations = s.unpack(str[start:end]) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) pattern = '<%sd'%length start = end s = struct.Struct(pattern) end += s.size val1.effort = s.unpack(str[start:end]) _v2 = val1.time_from_start _x = _v2 start = end end += 8 (_x.secs, _x.nsecs,) = _get_struct_2i().unpack(str[start:end]) self.trajectory.points.append(val1) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) self.path_tolerance = [] for i in range(0, length): val1 = control_msgs.msg.JointTolerance() start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) start = end end += length if python3: val1.name = str[start:end].decode('utf-8', 'rosmsg') else: val1.name = str[start:end] _x = val1 start = end end += 24 (_x.position, _x.velocity, _x.acceleration,) = _get_struct_3d().unpack(str[start:end]) self.path_tolerance.append(val1) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) self.goal_tolerance = [] for i in range(0, length): val1 = control_msgs.msg.JointTolerance() start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) start = end end += length if python3: val1.name = str[start:end].decode('utf-8', 'rosmsg') else: val1.name = str[start:end] _x = val1 start = end end += 24 (_x.position, _x.velocity, _x.acceleration,) = _get_struct_3d().unpack(str[start:end]) self.goal_tolerance.append(val1) _x = self start = end end += 25 (_x.goal_time_tolerance.secs, _x.goal_time_tolerance.nsecs, _x.create_time_axis, _x.time_axis_step, _x.timeout.secs, _x.timeout.nsecs,) = _get_struct_2iBd2i().unpack(str[start:end]) self.create_time_axis = bool(self.create_time_axis) self.goal_time_tolerance.canon() self.timeout.canon() return self except struct.error as e: raise genpy.DeserializationError(e) # most likely buffer underfill
[docs] def serialize_numpy(self, buff, numpy): """ serialize message with numpy array types into buffer :param buff: buffer, ``StringIO`` :param numpy: numpy python module """ try: _x = self buff.write(_get_struct_3I().pack(_x.trajectory.header.seq, _x.trajectory.header.stamp.secs, _x.trajectory.header.stamp.nsecs)) _x = self.trajectory.header.frame_id length = len(_x) if python3 or type(_x) == unicode: _x = _x.encode('utf-8') length = len(_x) buff.write(struct.Struct('<I%ss'%length).pack(length, _x)) length = len(self.trajectory.joint_names) buff.write(_struct_I.pack(length)) for val1 in self.trajectory.joint_names: length = len(val1) if python3 or type(val1) == unicode: val1 = val1.encode('utf-8') length = len(val1) buff.write(struct.Struct('<I%ss'%length).pack(length, val1)) length = len(self.trajectory.points) buff.write(_struct_I.pack(length)) for val1 in self.trajectory.points: length = len(val1.positions) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(val1.positions.tostring()) length = len(val1.velocities) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(val1.velocities.tostring()) length = len(val1.accelerations) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(val1.accelerations.tostring()) length = len(val1.effort) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(val1.effort.tostring()) _v3 = val1.time_from_start _x = _v3 buff.write(_get_struct_2i().pack(_x.secs, _x.nsecs)) length = len(self.path_tolerance) buff.write(_struct_I.pack(length)) for val1 in self.path_tolerance: _x = val1.name length = len(_x) if python3 or type(_x) == unicode: _x = _x.encode('utf-8') length = len(_x) buff.write(struct.Struct('<I%ss'%length).pack(length, _x)) _x = val1 buff.write(_get_struct_3d().pack(_x.position, _x.velocity, _x.acceleration)) length = len(self.goal_tolerance) buff.write(_struct_I.pack(length)) for val1 in self.goal_tolerance: _x = val1.name length = len(_x) if python3 or type(_x) == unicode: _x = _x.encode('utf-8') length = len(_x) buff.write(struct.Struct('<I%ss'%length).pack(length, _x)) _x = val1 buff.write(_get_struct_3d().pack(_x.position, _x.velocity, _x.acceleration)) _x = self buff.write(_get_struct_2iBd2i().pack(_x.goal_time_tolerance.secs, _x.goal_time_tolerance.nsecs, _x.create_time_axis, _x.time_axis_step, _x.timeout.secs, _x.timeout.nsecs)) except struct.error as se: self._check_types(struct.error("%s: '%s' when writing '%s'" % (type(se), str(se), str(locals().get('_x', self))))) except TypeError as te: self._check_types(ValueError("%s: '%s' when writing '%s'" % (type(te), str(te), str(locals().get('_x', self)))))
[docs] def deserialize_numpy(self, str, numpy): """ unpack serialized message in str into this message instance using numpy for array types :param str: byte array of serialized message, ``str`` :param numpy: numpy python module """ if python3: codecs.lookup_error("rosmsg").msg_type = self._type try: if self.trajectory is None: self.trajectory = trajectory_msgs.msg.JointTrajectory() if self.path_tolerance is None: self.path_tolerance = None if self.goal_tolerance is None: self.goal_tolerance = None if self.goal_time_tolerance is None: self.goal_time_tolerance = genpy.Duration() if self.timeout is None: self.timeout = genpy.Duration() end = 0 _x = self start = end end += 12 (_x.trajectory.header.seq, _x.trajectory.header.stamp.secs, _x.trajectory.header.stamp.nsecs,) = _get_struct_3I().unpack(str[start:end]) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) start = end end += length if python3: self.trajectory.header.frame_id = str[start:end].decode('utf-8', 'rosmsg') else: self.trajectory.header.frame_id = str[start:end] start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) self.trajectory.joint_names = [] for i in range(0, length): start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) start = end end += length if python3: val1 = str[start:end].decode('utf-8', 'rosmsg') else: val1 = str[start:end] self.trajectory.joint_names.append(val1) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) self.trajectory.points = [] for i in range(0, length): val1 = trajectory_msgs.msg.JointTrajectoryPoint() start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) pattern = '<%sd'%length start = end s = struct.Struct(pattern) end += s.size val1.positions = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) pattern = '<%sd'%length start = end s = struct.Struct(pattern) end += s.size val1.velocities = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) pattern = '<%sd'%length start = end s = struct.Struct(pattern) end += s.size val1.accelerations = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) pattern = '<%sd'%length start = end s = struct.Struct(pattern) end += s.size val1.effort = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length) _v4 = val1.time_from_start _x = _v4 start = end end += 8 (_x.secs, _x.nsecs,) = _get_struct_2i().unpack(str[start:end]) self.trajectory.points.append(val1) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) self.path_tolerance = [] for i in range(0, length): val1 = control_msgs.msg.JointTolerance() start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) start = end end += length if python3: val1.name = str[start:end].decode('utf-8', 'rosmsg') else: val1.name = str[start:end] _x = val1 start = end end += 24 (_x.position, _x.velocity, _x.acceleration,) = _get_struct_3d().unpack(str[start:end]) self.path_tolerance.append(val1) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) self.goal_tolerance = [] for i in range(0, length): val1 = control_msgs.msg.JointTolerance() start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) start = end end += length if python3: val1.name = str[start:end].decode('utf-8', 'rosmsg') else: val1.name = str[start:end] _x = val1 start = end end += 24 (_x.position, _x.velocity, _x.acceleration,) = _get_struct_3d().unpack(str[start:end]) self.goal_tolerance.append(val1) _x = self start = end end += 25 (_x.goal_time_tolerance.secs, _x.goal_time_tolerance.nsecs, _x.create_time_axis, _x.time_axis_step, _x.timeout.secs, _x.timeout.nsecs,) = _get_struct_2iBd2i().unpack(str[start:end]) self.create_time_axis = bool(self.create_time_axis) self.goal_time_tolerance.canon() self.timeout.canon() return self except struct.error as e: raise genpy.DeserializationError(e) # most likely buffer underfill
_struct_I = genpy.struct_I def _get_struct_I(): global _struct_I return _struct_I _struct_2i = None def _get_struct_2i(): global _struct_2i if _struct_2i is None: _struct_2i = struct.Struct("<2i") return _struct_2i _struct_2iBd2i = None def _get_struct_2iBd2i(): global _struct_2iBd2i if _struct_2iBd2i is None: _struct_2iBd2i = struct.Struct("<2iBd2i") return _struct_2iBd2i _struct_3I = None def _get_struct_3I(): global _struct_3I if _struct_3I is None: _struct_3I = struct.Struct("<3I") return _struct_3I _struct_3d = None def _get_struct_3d(): global _struct_3d if _struct_3d is None: _struct_3d = struct.Struct("<3d") return _struct_3d