RobWorkProject  23.9.11-
Public Member Functions | List of all members
LloydHaywardBlend< T > Class Template Reference

Implements LloydHayward blending. More...

#include <LloydHaywardBlend.hpp>

Inherits Blend< T >.

Public Member Functions

 LloydHaywardBlend (Interpolator< T > *interpolator1, Interpolator< T > *interpolator2, double tau, double kappa=15/2)
 Constructs LloydHaywardBlend between interpolator1 and interpolator2. More...
 
virtual ~LloydHaywardBlend ()
 Destructor.
 
virtual T x (double t) const
 The position for a given time t. More...
 
virtual T dx (double t) const
 The velocity for a given time t. More...
 
virtual T ddx (double t) const
 The acceleration for a given time t. More...
 
virtual double tau1 () const
 The time \(\tau_1\) as defined in class definition. More...
 
virtual double tau2 () const
 The time \(\tau_2\) as defined in class definition. More...
 
double kappa () const
 Returns the kappa value used in the blend.
 
- Public Member Functions inherited from Blend< T >
virtual ~Blend ()
 Destructor.
 

Additional Inherited Members

- Public Types inherited from Blend< T >
typedef rw::core::Ptr< BlendPtr
 smart pointer type to this class
 

Detailed Description

template<class T>
class rw::trajectory::LloydHaywardBlend< T >

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 & Destructor Documentation

◆ LloydHaywardBlend()

LloydHaywardBlend ( Interpolator< T > *  interpolator1,
Interpolator< T > *  interpolator2,
double  tau,
double  kappa = 15 / 2 
)
inline

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)

Member Function Documentation

◆ ddx()

virtual T ddx ( double  t) const
inlinevirtual

The acceleration for a given time t.

Parameters
t[in] \( t\in[0,\tau_1+\tau_2] \)
Returns
Acceleration at time t

Implements Blend< T >.

◆ dx()

virtual T dx ( double  t) const
inlinevirtual

The velocity for a given time t.

Parameters
t[in] \( t\in[0,\tau_1+\tau_2] \)
Returns
Velocity at time t

Implements Blend< T >.

◆ tau1()

virtual double tau1 ( ) const
inlinevirtual

The time \(\tau_1\) as defined in class definition.

Returns
\(\tau_1\)
Note
For ParabolicBlend getTau1()==getTau2()

Implements Blend< T >.

◆ tau2()

virtual double tau2 ( ) const
inlinevirtual

The time \(\tau_2\) as defined in class definition.

Returns
\(\tau_2\)
Note
For ParabolicBlend getTau1()==getTau2()

Implements Blend< T >.

◆ x()

virtual T x ( double  t) const
inlinevirtual

The position for a given time t.

Parameters
t[in] \( t\in[0,\tau_1+\tau_2] \)
Returns
Position at time t

Implements Blend< T >.


The documentation for this class was generated from the following file: