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

Template specialization of LloydHaywardBlend for using a rw::math::Rotation3D<T> More...

#include <LloydHaywardBlend.hpp>

Inherits Blend< rw::math::Rotation3D< T > >.

Public Member Functions

 LloydHaywardBlend (Interpolator< rw::math::Rotation3D< T >> *inter1, Interpolator< rw::math::Rotation3D< T >> *inter2, double tau, double kappa=15/2)
 Constructs LloydHaywardBlend between inter1 and inter2. More...
 
virtual ~LloydHaywardBlend ()
 Destructor.
 
rw::math::Rotation3D< T > x (double t) const
 The position for a given time t. More...
 
rw::math::Rotation3D< T > dx (double t) const
 The velocity for a given time t. More...
 
rw::math::Rotation3D< T > ddx (double t) const
 The acceleration for a given time t. More...
 
double tau1 () const
 
double tau2 () const
 
double kappa () const
 Returns the kappa value used in the blend.
 
- Public Member Functions inherited from Blend< rw::math::Rotation3D< T > >
virtual ~Blend ()
 Destructor.
 

Additional Inherited Members

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

Detailed Description

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

Template specialization of LloydHaywardBlend for using a rw::math::Rotation3D<T>

The transform is encoded as a vector storing the position and the orientation as a quaternion.

Constructor & Destructor Documentation

◆ LloydHaywardBlend()

LloydHaywardBlend ( Interpolator< rw::math::Rotation3D< T >> *  inter1,
Interpolator< rw::math::Rotation3D< T >> *  inter2,
double  tau,
double  kappa = 15 / 2 
)
inline

Constructs LloydHaywardBlend between inter1 and inter2.

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

Parameters
inter1[in] First interpolator, no ownership transferred
inter2[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()

rw::math::Rotation3D<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< rw::math::Rotation3D< T > >.

◆ dx()

rw::math::Rotation3D<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< rw::math::Rotation3D< T > >.

◆ tau1()

double tau1 ( ) const
inlinevirtual
Note
For ParabolicBlend getTau1()==getTau2()

Implements Blend< rw::math::Rotation3D< T > >.

◆ tau2()

double tau2 ( ) const
inlinevirtual
Note
For ParabolicBlend getTau1()==getTau2()

Implements Blend< rw::math::Rotation3D< T > >.

◆ x()

rw::math::Rotation3D<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< rw::math::Rotation3D< T > >.


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