Class LloydHaywardBlendQ


  • public class LloydHaywardBlendQ
    extends BlendQ
    Implements LloydHayward blending

    The LloydHayward blend [1], makes a smooth continous differentiable transition between
    two interpolators.

    [1]: J. Lloyd, V. Hayward. Real-Time Trajectory Generation Using Blend Functions,
    Proc. Int. Conf. on Robotics and Automation, 1991, pp. 784-798.
    • Constructor Summary

      Constructors 
      Constructor Description
      LloydHaywardBlendQ​(long cPtr, boolean cMemoryOwn)  
      LloydHaywardBlendQ​(InterpolatorQ interpolator1, InterpolatorQ interpolator2, double tau)
      Constructs LloydHaywardBlend between interpolator1 and interpolator2.

      The blend starts tau before the end of interpolator1 and finished tau after the
      start of interpolator2.
      LloydHaywardBlendQ​(InterpolatorQ interpolator1, InterpolatorQ interpolator2, double tau, double kappa)
      Constructs LloydHaywardBlend between interpolator1 and interpolator2.

      The blend starts tau before the end of interpolator1 and finished tau after the
      start of interpolator2.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      Q ddx​(double t)
      The acceleration for a given time t
      void delete()  
      Q dx​(double t)
      The velocity for a given time t
      static long getCPtr​(LloydHaywardBlendQ obj)  
      double kappa()
      Returns the kappa value used in the blend
      double tau1()


      Note: For ParabolicBlend getTau1()==getTau2()
      double tau2()


      Note: For ParabolicBlend getTau1()==getTau2()
      Q x​(double t)
      <T>::x
      • Methods inherited from class org.robwork.sdurw_trajectory.BlendQ

        getCPtr
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • LloydHaywardBlendQ

        public LloydHaywardBlendQ​(long cPtr,
                                  boolean cMemoryOwn)
      • LloydHaywardBlendQ

        public LloydHaywardBlendQ​(InterpolatorQ interpolator1,
                                  InterpolatorQ interpolator2,
                                  double tau,
                                  double kappa)
        Constructs LloydHaywardBlend between interpolator1 and interpolator2.

        The blend starts tau before the end of interpolator1 and finished tau after the
        start of interpolator2. The constant kappa specifies characteristics of the blend
        as described in [1].

        Parameters:
        interpolator1 - [in] First interpolator, no ownership transferred
        interpolator2 - [in] Second interpolator, no ownership transferred
        tau - [in] Blend time
        kappa - [in] Blend characteristic (default 15/2 for acceleration minimal blend
        between linie segments)
      • LloydHaywardBlendQ

        public LloydHaywardBlendQ​(InterpolatorQ interpolator1,
                                  InterpolatorQ interpolator2,
                                  double tau)
        Constructs LloydHaywardBlend between interpolator1 and interpolator2.

        The blend starts tau before the end of interpolator1 and finished tau after the
        start of interpolator2. The constant kappa specifies characteristics of the blend
        as described in [1].

        Parameters:
        interpolator1 - [in] First interpolator, no ownership transferred
        interpolator2 - [in] Second interpolator, no ownership transferred
        tau - [in] Blend time
    • Method Detail

      • delete

        public void delete()
        Overrides:
        delete in class BlendQ
      • x

        public Q x​(double t)
        <T>::x
        Overrides:
        x in class BlendQ
        Parameters:
        t - [in] t\in[0,\tau_1+\tau_2]
        Returns:
        Position at time t
      • dx

        public Q dx​(double t)
        Description copied from class: BlendQ
        The velocity for a given time t
        Overrides:
        dx in class BlendQ
        Parameters:
        t - [in] t\in[0,\tau_1+\tau_2]
        Returns:
        Velocity at time t
      • ddx

        public Q ddx​(double t)
        Description copied from class: BlendQ
        The acceleration for a given time t
        Overrides:
        ddx in class BlendQ
        Parameters:
        t - [in] t\in[0,\tau_1+\tau_2]
        Returns:
        Acceleration at time t
      • tau1

        public double tau1()


        Note: For ParabolicBlend getTau1()==getTau2()
        Overrides:
        tau1 in class BlendQ
        Returns:
        \tau_1
      • tau2

        public double tau2()


        Note: For ParabolicBlend getTau1()==getTau2()
        Overrides:
        tau2 in class BlendQ
        Returns:
        \tau_2
      • kappa

        public double kappa()
        Returns the kappa value used in the blend