def deserialize(self, str):
    '\n    unpack serialized message in str into this message instance\n    :param str: byte array of serialized message, ``str``\n    '
    try:
        if (self.joint_trajectory is None):
            self.joint_trajectory = trajectory_msgs.msg.JointTrajectory()
        if (self.model_pose is None):
            self.model_pose = geometry_msgs.msg.Pose()
        end = 0
        start = end
        end += 4
        (length,) = _struct_I.unpack(str[start:end])
        start = end
        end += length
        if python3:
            self.model_name = str[start:end].decode('utf-8')
        else:
            self.model_name = str[start:end]
        _x = self
        start = end
        end += 12
        (_x.joint_trajectory.header.seq, _x.joint_trajectory.header.stamp.secs, _x.joint_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.joint_trajectory.header.frame_id = str[start:end].decode('utf-8')
        else:
            self.joint_trajectory.header.frame_id = str[start:end]
        start = end
        end += 4
        (length,) = _struct_I.unpack(str[start:end])
        self.joint_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')
            else:
                val1 = str[start:end]
            self.joint_trajectory.joint_names.append(val1)
        start = end
        end += 4
        (length,) = _struct_I.unpack(str[start:end])
        self.joint_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
            end += struct.calcsize(pattern)
            val1.positions = struct.unpack(pattern, str[start:end])
            start = end
            end += 4
            (length,) = _struct_I.unpack(str[start:end])
            pattern = ('<%sd' % length)
            start = end
            end += struct.calcsize(pattern)
            val1.velocities = struct.unpack(pattern, str[start:end])
            start = end
            end += 4
            (length,) = _struct_I.unpack(str[start:end])
            pattern = ('<%sd' % length)
            start = end
            end += struct.calcsize(pattern)
            val1.accelerations = struct.unpack(pattern, str[start:end])
            start = end
            end += 4
            (length,) = _struct_I.unpack(str[start:end])
            pattern = ('<%sd' % length)
            start = end
            end += struct.calcsize(pattern)
            val1.effort = struct.unpack(pattern, 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.joint_trajectory.points.append(val1)
        _x = self
        start = end
        end += 58
        (_x.model_pose.position.x, _x.model_pose.position.y, _x.model_pose.position.z, _x.model_pose.orientation.x, _x.model_pose.orientation.y, _x.model_pose.orientation.z, _x.model_pose.orientation.w, _x.set_model_pose, _x.disable_physics_updates) = _get_struct_7d2B().unpack(str[start:end])
        self.set_model_pose = bool(self.set_model_pose)
        self.disable_physics_updates = bool(self.disable_physics_updates)
        return self
    except struct.error as e:
        raise genpy.DeserializationError(e)
unpack serialized message in str into this message instance
:param str: byte array of serialized message, ``str``
def deserialize(self, str):
    '\n    unpack serialized message in str into this message instance\n    :param str: byte array of serialized message, ``str``\n    '
    try:
        if (self.joint_trajectory is None):
            self.joint_trajectory = trajectory_msgs.msg.JointTrajectory()
        if (self.model_pose is None):
            self.model_pose = geometry_msgs.msg.Pose()
        end = 0
        start = end
        end += 4
        (length,) = _struct_I.unpack(str[start:end])
        start = end
        end += length
        if python3:
            self.model_name = str[start:end].decode('utf-8')
        else:
            self.model_name = str[start:end]
        _x = self
        start = end
        end += 12
        (_x.joint_trajectory.header.seq, _x.joint_trajectory.header.stamp.secs, _x.joint_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.joint_trajectory.header.frame_id = str[start:end].decode('utf-8')
        else:
            self.joint_trajectory.header.frame_id = str[start:end]
        start = end
        end += 4
        (length,) = _struct_I.unpack(str[start:end])
        self.joint_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')
            else:
                val1 = str[start:end]
            self.joint_trajectory.joint_names.append(val1)
        start = end
        end += 4
        (length,) = _struct_I.unpack(str[start:end])
        self.joint_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
            end += struct.calcsize(pattern)
            val1.positions = struct.unpack(pattern, str[start:end])
            start = end
            end += 4
            (length,) = _struct_I.unpack(str[start:end])
            pattern = ('<%sd' % length)
            start = end
            end += struct.calcsize(pattern)
            val1.velocities = struct.unpack(pattern, str[start:end])
            start = end
            end += 4
            (length,) = _struct_I.unpack(str[start:end])
            pattern = ('<%sd' % length)
            start = end
            end += struct.calcsize(pattern)
            val1.accelerations = struct.unpack(pattern, str[start:end])
            start = end
            end += 4
            (length,) = _struct_I.unpack(str[start:end])
            pattern = ('<%sd' % length)
            start = end
            end += struct.calcsize(pattern)
            val1.effort = struct.unpack(pattern, 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.joint_trajectory.points.append(val1)
        _x = self
        start = end
        end += 58
        (_x.model_pose.position.x, _x.model_pose.position.y, _x.model_pose.position.z, _x.model_pose.orientation.x, _x.model_pose.orientation.y, _x.model_pose.orientation.z, _x.model_pose.orientation.w, _x.set_model_pose, _x.disable_physics_updates) = _get_struct_7d2B().unpack(str[start:end])
        self.set_model_pose = bool(self.set_model_pose)
        self.disable_physics_updates = bool(self.disable_physics_updates)
        return self
    except struct.error as e:
        raise genpy.DeserializationError(e)