Source code for panda_gazebo.msg._FollowJointTrajectoryAction

# This Python file uses the following encoding: utf-8
"""autogenerated by genpy from panda_gazebo/FollowJointTrajectoryAction.msg. Do not edit."""
import codecs
import sys
[docs]python3 = True if sys.hexversion > 0x03000000 else False
import genpy import struct import actionlib_msgs.msg import control_msgs.msg import genpy import panda_gazebo.msg import std_msgs.msg import trajectory_msgs.msg
[docs]class FollowJointTrajectoryAction(genpy.Message): _md5sum = "b51c7644abd094150684c4b3caf25fbc" _type = "panda_gazebo/FollowJointTrajectoryAction" _has_header = False # flag to mark the presence of a Header object _full_text = """# ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== FollowJointTrajectoryActionGoal action_goal FollowJointTrajectoryActionResult action_result FollowJointTrajectoryActionFeedback action_feedback ================================================================================ MSG: panda_gazebo/FollowJointTrajectoryActionGoal # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== Header header actionlib_msgs/GoalID goal_id FollowJointTrajectoryGoal goal ================================================================================ 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: actionlib_msgs/GoalID # The stamp should store the time at which this goal was requested. # It is used by an action server when it tries to preempt all # goals that were requested before a certain time time stamp # The id provides a way to associate feedback and # result message with specific goal requests. The id # specified must be unique. string id ================================================================================ MSG: panda_gazebo/FollowJointTrajectoryGoal # ====== 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: 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 ================================================================================ MSG: panda_gazebo/FollowJointTrajectoryActionResult # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== Header header actionlib_msgs/GoalStatus status FollowJointTrajectoryResult result ================================================================================ MSG: actionlib_msgs/GoalStatus GoalID goal_id uint8 status uint8 PENDING = 0 # The goal has yet to be processed by the action server uint8 ACTIVE = 1 # The goal is currently being processed by the action server uint8 PREEMPTED = 2 # The goal received a cancel request after it started executing # and has since completed its execution (Terminal State) uint8 SUCCEEDED = 3 # The goal was achieved successfully by the action server (Terminal State) uint8 ABORTED = 4 # The goal was aborted during execution by the action server due # to some failure (Terminal State) uint8 REJECTED = 5 # The goal was rejected by the action server without being processed, # because the goal was unattainable or invalid (Terminal State) uint8 PREEMPTING = 6 # The goal received a cancel request after it started executing # and has not yet completed execution uint8 RECALLING = 7 # The goal received a cancel request before it started executing, # but the action server has not yet confirmed that the goal is canceled uint8 RECALLED = 8 # The goal received a cancel request before it started executing # and was successfully cancelled (Terminal State) uint8 LOST = 9 # An action client can determine that a goal is LOST. This should not be # sent over the wire by an action server #Allow for the user to associate a string with GoalStatus for debugging string text ================================================================================ MSG: panda_gazebo/FollowJointTrajectoryResult # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== int32 error_code int32 SUCCESSFUL = 0 int32 INVALID_GOAL = -1 int32 INVALID_JOINTS = -2 int32 OLD_HEADER_TIMESTAMP = -3 int32 PATH_TOLERANCE_VIOLATED = -4 int32 GOAL_TOLERANCE_VIOLATED = -5 int32 ACTION_TIMEOUT = -6 # Human readable description of the error code. Contains complementary # information that is especially useful when execution fails, for instance: # - INVALID_GOAL: The reason for the invalid goal (e.g., the requested # trajectory is in the past). # - INVALID_JOINTS: The mismatch between the expected controller joints # and those provided in the goal. # - PATH_TOLERANCE_VIOLATED and GOAL_TOLERANCE_VIOLATED: Which joint # violated which tolerance, and by how much. # - ACTION_TIMEOUT: The controller failed to achieve the goal before # the specified timeout elapsed. string error_string ================================================================================ MSG: panda_gazebo/FollowJointTrajectoryActionFeedback # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== Header header actionlib_msgs/GoalStatus status FollowJointTrajectoryFeedback feedback ================================================================================ MSG: panda_gazebo/FollowJointTrajectoryFeedback # ====== DO NOT MODIFY! AUTOGENERATED FROM AN ACTION DEFINITION ====== Header header string[] joint_names trajectory_msgs/JointTrajectoryPoint desired trajectory_msgs/JointTrajectoryPoint actual trajectory_msgs/JointTrajectoryPoint error """ __slots__ = ['action_goal','action_result','action_feedback'] _slot_types = ['panda_gazebo/FollowJointTrajectoryActionGoal','panda_gazebo/FollowJointTrajectoryActionResult','panda_gazebo/FollowJointTrajectoryActionFeedback'] 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: action_goal,action_result,action_feedback :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(FollowJointTrajectoryAction, self).__init__(*args, **kwds) # message fields cannot be None, assign default values for those that are if self.action_goal is None: self.action_goal = panda_gazebo.msg.FollowJointTrajectoryActionGoal() if self.action_result is None: self.action_result = panda_gazebo.msg.FollowJointTrajectoryActionResult() if self.action_feedback is None: self.action_feedback = panda_gazebo.msg.FollowJointTrajectoryActionFeedback() else: self.action_goal = panda_gazebo.msg.FollowJointTrajectoryActionGoal() self.action_result = panda_gazebo.msg.FollowJointTrajectoryActionResult() self.action_feedback = panda_gazebo.msg.FollowJointTrajectoryActionFeedback() 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.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs)) _x = self.action_goal.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)) _x = self buff.write(_get_struct_2I().pack(_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs)) _x = self.action_goal.goal_id.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)) _x = self buff.write(_get_struct_3I().pack(_x.action_goal.goal.trajectory.header.seq, _x.action_goal.goal.trajectory.header.stamp.secs, _x.action_goal.goal.trajectory.header.stamp.nsecs)) _x = self.action_goal.goal.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.action_goal.goal.trajectory.joint_names) buff.write(_struct_I.pack(length)) for val1 in self.action_goal.goal.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.action_goal.goal.trajectory.points) buff.write(_struct_I.pack(length)) for val1 in self.action_goal.goal.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.action_goal.goal.path_tolerance) buff.write(_struct_I.pack(length)) for val1 in self.action_goal.goal.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.action_goal.goal.goal_tolerance) buff.write(_struct_I.pack(length)) for val1 in self.action_goal.goal.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_2iBd2i3I().pack(_x.action_goal.goal.goal_time_tolerance.secs, _x.action_goal.goal.goal_time_tolerance.nsecs, _x.action_goal.goal.create_time_axis, _x.action_goal.goal.time_axis_step, _x.action_goal.goal.timeout.secs, _x.action_goal.goal.timeout.nsecs, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs)) _x = self.action_result.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)) _x = self buff.write(_get_struct_2I().pack(_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs)) _x = self.action_result.status.goal_id.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)) _x = self.action_result.status.status buff.write(_get_struct_B().pack(_x)) _x = self.action_result.status.text 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 = self.action_result.result.error_code buff.write(_get_struct_i().pack(_x)) _x = self.action_result.result.error_string 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 = self buff.write(_get_struct_3I().pack(_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs)) _x = self.action_feedback.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)) _x = self buff.write(_get_struct_2I().pack(_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs)) _x = self.action_feedback.status.goal_id.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)) _x = self.action_feedback.status.status buff.write(_get_struct_B().pack(_x)) _x = self.action_feedback.status.text 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 = self buff.write(_get_struct_3I().pack(_x.action_feedback.feedback.header.seq, _x.action_feedback.feedback.header.stamp.secs, _x.action_feedback.feedback.header.stamp.nsecs)) _x = self.action_feedback.feedback.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.action_feedback.feedback.joint_names) buff.write(_struct_I.pack(length)) for val1 in self.action_feedback.feedback.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.action_feedback.feedback.desired.positions) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(struct.Struct(pattern).pack(*self.action_feedback.feedback.desired.positions)) length = len(self.action_feedback.feedback.desired.velocities) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(struct.Struct(pattern).pack(*self.action_feedback.feedback.desired.velocities)) length = len(self.action_feedback.feedback.desired.accelerations) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(struct.Struct(pattern).pack(*self.action_feedback.feedback.desired.accelerations)) length = len(self.action_feedback.feedback.desired.effort) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(struct.Struct(pattern).pack(*self.action_feedback.feedback.desired.effort)) _x = self buff.write(_get_struct_2i().pack(_x.action_feedback.feedback.desired.time_from_start.secs, _x.action_feedback.feedback.desired.time_from_start.nsecs)) length = len(self.action_feedback.feedback.actual.positions) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(struct.Struct(pattern).pack(*self.action_feedback.feedback.actual.positions)) length = len(self.action_feedback.feedback.actual.velocities) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(struct.Struct(pattern).pack(*self.action_feedback.feedback.actual.velocities)) length = len(self.action_feedback.feedback.actual.accelerations) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(struct.Struct(pattern).pack(*self.action_feedback.feedback.actual.accelerations)) length = len(self.action_feedback.feedback.actual.effort) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(struct.Struct(pattern).pack(*self.action_feedback.feedback.actual.effort)) _x = self buff.write(_get_struct_2i().pack(_x.action_feedback.feedback.actual.time_from_start.secs, _x.action_feedback.feedback.actual.time_from_start.nsecs)) length = len(self.action_feedback.feedback.error.positions) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(struct.Struct(pattern).pack(*self.action_feedback.feedback.error.positions)) length = len(self.action_feedback.feedback.error.velocities) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(struct.Struct(pattern).pack(*self.action_feedback.feedback.error.velocities)) length = len(self.action_feedback.feedback.error.accelerations) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(struct.Struct(pattern).pack(*self.action_feedback.feedback.error.accelerations)) length = len(self.action_feedback.feedback.error.effort) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(struct.Struct(pattern).pack(*self.action_feedback.feedback.error.effort)) _x = self buff.write(_get_struct_2i().pack(_x.action_feedback.feedback.error.time_from_start.secs, _x.action_feedback.feedback.error.time_from_start.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.action_goal is None: self.action_goal = panda_gazebo.msg.FollowJointTrajectoryActionGoal() if self.action_result is None: self.action_result = panda_gazebo.msg.FollowJointTrajectoryActionResult() if self.action_feedback is None: self.action_feedback = panda_gazebo.msg.FollowJointTrajectoryActionFeedback() end = 0 _x = self start = end end += 12 (_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.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.action_goal.header.frame_id = str[start:end].decode('utf-8', 'rosmsg') else: self.action_goal.header.frame_id = str[start:end] _x = self start = end end += 8 (_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs,) = _get_struct_2I().unpack(str[start:end]) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) start = end end += length if python3: self.action_goal.goal_id.id = str[start:end].decode('utf-8', 'rosmsg') else: self.action_goal.goal_id.id = str[start:end] _x = self start = end end += 12 (_x.action_goal.goal.trajectory.header.seq, _x.action_goal.goal.trajectory.header.stamp.secs, _x.action_goal.goal.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.action_goal.goal.trajectory.header.frame_id = str[start:end].decode('utf-8', 'rosmsg') else: self.action_goal.goal.trajectory.header.frame_id = str[start:end] start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) self.action_goal.goal.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.action_goal.goal.trajectory.joint_names.append(val1) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) self.action_goal.goal.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.action_goal.goal.trajectory.points.append(val1) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) self.action_goal.goal.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.action_goal.goal.path_tolerance.append(val1) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) self.action_goal.goal.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.action_goal.goal.goal_tolerance.append(val1) _x = self start = end end += 37 (_x.action_goal.goal.goal_time_tolerance.secs, _x.action_goal.goal.goal_time_tolerance.nsecs, _x.action_goal.goal.create_time_axis, _x.action_goal.goal.time_axis_step, _x.action_goal.goal.timeout.secs, _x.action_goal.goal.timeout.nsecs, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs,) = _get_struct_2iBd2i3I().unpack(str[start:end]) self.action_goal.goal.create_time_axis = bool(self.action_goal.goal.create_time_axis) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) start = end end += length if python3: self.action_result.header.frame_id = str[start:end].decode('utf-8', 'rosmsg') else: self.action_result.header.frame_id = str[start:end] _x = self start = end end += 8 (_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs,) = _get_struct_2I().unpack(str[start:end]) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) start = end end += length if python3: self.action_result.status.goal_id.id = str[start:end].decode('utf-8', 'rosmsg') else: self.action_result.status.goal_id.id = str[start:end] start = end end += 1 (self.action_result.status.status,) = _get_struct_B().unpack(str[start:end]) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) start = end end += length if python3: self.action_result.status.text = str[start:end].decode('utf-8', 'rosmsg') else: self.action_result.status.text = str[start:end] start = end end += 4 (self.action_result.result.error_code,) = _get_struct_i().unpack(str[start:end]) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) start = end end += length if python3: self.action_result.result.error_string = str[start:end].decode('utf-8', 'rosmsg') else: self.action_result.result.error_string = str[start:end] _x = self start = end end += 12 (_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.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.action_feedback.header.frame_id = str[start:end].decode('utf-8', 'rosmsg') else: self.action_feedback.header.frame_id = str[start:end] _x = self start = end end += 8 (_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs,) = _get_struct_2I().unpack(str[start:end]) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) start = end end += length if python3: self.action_feedback.status.goal_id.id = str[start:end].decode('utf-8', 'rosmsg') else: self.action_feedback.status.goal_id.id = str[start:end] start = end end += 1 (self.action_feedback.status.status,) = _get_struct_B().unpack(str[start:end]) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) start = end end += length if python3: self.action_feedback.status.text = str[start:end].decode('utf-8', 'rosmsg') else: self.action_feedback.status.text = str[start:end] _x = self start = end end += 12 (_x.action_feedback.feedback.header.seq, _x.action_feedback.feedback.header.stamp.secs, _x.action_feedback.feedback.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.action_feedback.feedback.header.frame_id = str[start:end].decode('utf-8', 'rosmsg') else: self.action_feedback.feedback.header.frame_id = str[start:end] start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) self.action_feedback.feedback.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.action_feedback.feedback.joint_names.append(val1) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) pattern = '<%sd'%length start = end s = struct.Struct(pattern) end += s.size self.action_feedback.feedback.desired.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 self.action_feedback.feedback.desired.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 self.action_feedback.feedback.desired.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 self.action_feedback.feedback.desired.effort = s.unpack(str[start:end]) _x = self start = end end += 8 (_x.action_feedback.feedback.desired.time_from_start.secs, _x.action_feedback.feedback.desired.time_from_start.nsecs,) = _get_struct_2i().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 self.action_feedback.feedback.actual.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 self.action_feedback.feedback.actual.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 self.action_feedback.feedback.actual.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 self.action_feedback.feedback.actual.effort = s.unpack(str[start:end]) _x = self start = end end += 8 (_x.action_feedback.feedback.actual.time_from_start.secs, _x.action_feedback.feedback.actual.time_from_start.nsecs,) = _get_struct_2i().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 self.action_feedback.feedback.error.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 self.action_feedback.feedback.error.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 self.action_feedback.feedback.error.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 self.action_feedback.feedback.error.effort = s.unpack(str[start:end]) _x = self start = end end += 8 (_x.action_feedback.feedback.error.time_from_start.secs, _x.action_feedback.feedback.error.time_from_start.nsecs,) = _get_struct_2i().unpack(str[start:end]) 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.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.header.stamp.nsecs)) _x = self.action_goal.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)) _x = self buff.write(_get_struct_2I().pack(_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs)) _x = self.action_goal.goal_id.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)) _x = self buff.write(_get_struct_3I().pack(_x.action_goal.goal.trajectory.header.seq, _x.action_goal.goal.trajectory.header.stamp.secs, _x.action_goal.goal.trajectory.header.stamp.nsecs)) _x = self.action_goal.goal.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.action_goal.goal.trajectory.joint_names) buff.write(_struct_I.pack(length)) for val1 in self.action_goal.goal.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.action_goal.goal.trajectory.points) buff.write(_struct_I.pack(length)) for val1 in self.action_goal.goal.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.action_goal.goal.path_tolerance) buff.write(_struct_I.pack(length)) for val1 in self.action_goal.goal.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.action_goal.goal.goal_tolerance) buff.write(_struct_I.pack(length)) for val1 in self.action_goal.goal.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_2iBd2i3I().pack(_x.action_goal.goal.goal_time_tolerance.secs, _x.action_goal.goal.goal_time_tolerance.nsecs, _x.action_goal.goal.create_time_axis, _x.action_goal.goal.time_axis_step, _x.action_goal.goal.timeout.secs, _x.action_goal.goal.timeout.nsecs, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs)) _x = self.action_result.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)) _x = self buff.write(_get_struct_2I().pack(_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs)) _x = self.action_result.status.goal_id.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)) _x = self.action_result.status.status buff.write(_get_struct_B().pack(_x)) _x = self.action_result.status.text 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 = self.action_result.result.error_code buff.write(_get_struct_i().pack(_x)) _x = self.action_result.result.error_string 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 = self buff.write(_get_struct_3I().pack(_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.header.stamp.nsecs)) _x = self.action_feedback.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)) _x = self buff.write(_get_struct_2I().pack(_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs)) _x = self.action_feedback.status.goal_id.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)) _x = self.action_feedback.status.status buff.write(_get_struct_B().pack(_x)) _x = self.action_feedback.status.text 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 = self buff.write(_get_struct_3I().pack(_x.action_feedback.feedback.header.seq, _x.action_feedback.feedback.header.stamp.secs, _x.action_feedback.feedback.header.stamp.nsecs)) _x = self.action_feedback.feedback.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.action_feedback.feedback.joint_names) buff.write(_struct_I.pack(length)) for val1 in self.action_feedback.feedback.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.action_feedback.feedback.desired.positions) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(self.action_feedback.feedback.desired.positions.tostring()) length = len(self.action_feedback.feedback.desired.velocities) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(self.action_feedback.feedback.desired.velocities.tostring()) length = len(self.action_feedback.feedback.desired.accelerations) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(self.action_feedback.feedback.desired.accelerations.tostring()) length = len(self.action_feedback.feedback.desired.effort) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(self.action_feedback.feedback.desired.effort.tostring()) _x = self buff.write(_get_struct_2i().pack(_x.action_feedback.feedback.desired.time_from_start.secs, _x.action_feedback.feedback.desired.time_from_start.nsecs)) length = len(self.action_feedback.feedback.actual.positions) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(self.action_feedback.feedback.actual.positions.tostring()) length = len(self.action_feedback.feedback.actual.velocities) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(self.action_feedback.feedback.actual.velocities.tostring()) length = len(self.action_feedback.feedback.actual.accelerations) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(self.action_feedback.feedback.actual.accelerations.tostring()) length = len(self.action_feedback.feedback.actual.effort) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(self.action_feedback.feedback.actual.effort.tostring()) _x = self buff.write(_get_struct_2i().pack(_x.action_feedback.feedback.actual.time_from_start.secs, _x.action_feedback.feedback.actual.time_from_start.nsecs)) length = len(self.action_feedback.feedback.error.positions) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(self.action_feedback.feedback.error.positions.tostring()) length = len(self.action_feedback.feedback.error.velocities) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(self.action_feedback.feedback.error.velocities.tostring()) length = len(self.action_feedback.feedback.error.accelerations) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(self.action_feedback.feedback.error.accelerations.tostring()) length = len(self.action_feedback.feedback.error.effort) buff.write(_struct_I.pack(length)) pattern = '<%sd'%length buff.write(self.action_feedback.feedback.error.effort.tostring()) _x = self buff.write(_get_struct_2i().pack(_x.action_feedback.feedback.error.time_from_start.secs, _x.action_feedback.feedback.error.time_from_start.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.action_goal is None: self.action_goal = panda_gazebo.msg.FollowJointTrajectoryActionGoal() if self.action_result is None: self.action_result = panda_gazebo.msg.FollowJointTrajectoryActionResult() if self.action_feedback is None: self.action_feedback = panda_gazebo.msg.FollowJointTrajectoryActionFeedback() end = 0 _x = self start = end end += 12 (_x.action_goal.header.seq, _x.action_goal.header.stamp.secs, _x.action_goal.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.action_goal.header.frame_id = str[start:end].decode('utf-8', 'rosmsg') else: self.action_goal.header.frame_id = str[start:end] _x = self start = end end += 8 (_x.action_goal.goal_id.stamp.secs, _x.action_goal.goal_id.stamp.nsecs,) = _get_struct_2I().unpack(str[start:end]) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) start = end end += length if python3: self.action_goal.goal_id.id = str[start:end].decode('utf-8', 'rosmsg') else: self.action_goal.goal_id.id = str[start:end] _x = self start = end end += 12 (_x.action_goal.goal.trajectory.header.seq, _x.action_goal.goal.trajectory.header.stamp.secs, _x.action_goal.goal.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.action_goal.goal.trajectory.header.frame_id = str[start:end].decode('utf-8', 'rosmsg') else: self.action_goal.goal.trajectory.header.frame_id = str[start:end] start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) self.action_goal.goal.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.action_goal.goal.trajectory.joint_names.append(val1) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) self.action_goal.goal.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.action_goal.goal.trajectory.points.append(val1) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) self.action_goal.goal.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.action_goal.goal.path_tolerance.append(val1) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) self.action_goal.goal.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.action_goal.goal.goal_tolerance.append(val1) _x = self start = end end += 37 (_x.action_goal.goal.goal_time_tolerance.secs, _x.action_goal.goal.goal_time_tolerance.nsecs, _x.action_goal.goal.create_time_axis, _x.action_goal.goal.time_axis_step, _x.action_goal.goal.timeout.secs, _x.action_goal.goal.timeout.nsecs, _x.action_result.header.seq, _x.action_result.header.stamp.secs, _x.action_result.header.stamp.nsecs,) = _get_struct_2iBd2i3I().unpack(str[start:end]) self.action_goal.goal.create_time_axis = bool(self.action_goal.goal.create_time_axis) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) start = end end += length if python3: self.action_result.header.frame_id = str[start:end].decode('utf-8', 'rosmsg') else: self.action_result.header.frame_id = str[start:end] _x = self start = end end += 8 (_x.action_result.status.goal_id.stamp.secs, _x.action_result.status.goal_id.stamp.nsecs,) = _get_struct_2I().unpack(str[start:end]) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) start = end end += length if python3: self.action_result.status.goal_id.id = str[start:end].decode('utf-8', 'rosmsg') else: self.action_result.status.goal_id.id = str[start:end] start = end end += 1 (self.action_result.status.status,) = _get_struct_B().unpack(str[start:end]) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) start = end end += length if python3: self.action_result.status.text = str[start:end].decode('utf-8', 'rosmsg') else: self.action_result.status.text = str[start:end] start = end end += 4 (self.action_result.result.error_code,) = _get_struct_i().unpack(str[start:end]) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) start = end end += length if python3: self.action_result.result.error_string = str[start:end].decode('utf-8', 'rosmsg') else: self.action_result.result.error_string = str[start:end] _x = self start = end end += 12 (_x.action_feedback.header.seq, _x.action_feedback.header.stamp.secs, _x.action_feedback.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.action_feedback.header.frame_id = str[start:end].decode('utf-8', 'rosmsg') else: self.action_feedback.header.frame_id = str[start:end] _x = self start = end end += 8 (_x.action_feedback.status.goal_id.stamp.secs, _x.action_feedback.status.goal_id.stamp.nsecs,) = _get_struct_2I().unpack(str[start:end]) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) start = end end += length if python3: self.action_feedback.status.goal_id.id = str[start:end].decode('utf-8', 'rosmsg') else: self.action_feedback.status.goal_id.id = str[start:end] start = end end += 1 (self.action_feedback.status.status,) = _get_struct_B().unpack(str[start:end]) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) start = end end += length if python3: self.action_feedback.status.text = str[start:end].decode('utf-8', 'rosmsg') else: self.action_feedback.status.text = str[start:end] _x = self start = end end += 12 (_x.action_feedback.feedback.header.seq, _x.action_feedback.feedback.header.stamp.secs, _x.action_feedback.feedback.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.action_feedback.feedback.header.frame_id = str[start:end].decode('utf-8', 'rosmsg') else: self.action_feedback.feedback.header.frame_id = str[start:end] start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) self.action_feedback.feedback.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.action_feedback.feedback.joint_names.append(val1) start = end end += 4 (length,) = _struct_I.unpack(str[start:end]) pattern = '<%sd'%length start = end s = struct.Struct(pattern) end += s.size self.action_feedback.feedback.desired.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 self.action_feedback.feedback.desired.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 self.action_feedback.feedback.desired.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 self.action_feedback.feedback.desired.effort = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length) _x = self start = end end += 8 (_x.action_feedback.feedback.desired.time_from_start.secs, _x.action_feedback.feedback.desired.time_from_start.nsecs,) = _get_struct_2i().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 self.action_feedback.feedback.actual.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 self.action_feedback.feedback.actual.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 self.action_feedback.feedback.actual.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 self.action_feedback.feedback.actual.effort = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length) _x = self start = end end += 8 (_x.action_feedback.feedback.actual.time_from_start.secs, _x.action_feedback.feedback.actual.time_from_start.nsecs,) = _get_struct_2i().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 self.action_feedback.feedback.error.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 self.action_feedback.feedback.error.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 self.action_feedback.feedback.error.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 self.action_feedback.feedback.error.effort = numpy.frombuffer(str[start:end], dtype=numpy.float64, count=length) _x = self start = end end += 8 (_x.action_feedback.feedback.error.time_from_start.secs, _x.action_feedback.feedback.error.time_from_start.nsecs,) = _get_struct_2i().unpack(str[start:end]) 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_2i = None def _get_struct_2i(): global _struct_2i if _struct_2i is None: _struct_2i = struct.Struct("<2i") return _struct_2i _struct_2iBd2i3I = None def _get_struct_2iBd2i3I(): global _struct_2iBd2i3I if _struct_2iBd2i3I is None: _struct_2iBd2i3I = struct.Struct("<2iBd2i3I") return _struct_2iBd2i3I _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 _struct_B = None def _get_struct_B(): global _struct_B if _struct_B is None: _struct_B = struct.Struct("<B") return _struct_B _struct_i = None def _get_struct_i(): global _struct_i if _struct_i is None: _struct_i = struct.Struct("<i") return _struct_i