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

Forward declaration for parabolic blend to make the LinearInterpolator<rw::math::Transform3D<T> > a friend. More...

#include <ParabolicBlend.hpp>

Inherits Blend< T >.

Public Member Functions

 ParabolicBlend (const LinearInterpolator< T > &line1, const LinearInterpolator< T > &line2, double tau)
 Constructs parabolic blend between line1 and line2 with tau as blend time. More...
 
 ParabolicBlend (const typename LinearInterpolator< T >::CPtr line1, const typename LinearInterpolator< T >::CPtr line2, double tau)
 Constructs parabolic blend between line1 and line2 with tau as blend time. The segments is copied for internal storage. More...
 
 ParabolicBlend (const typename LinearInterpolator< T >::Ptr line1, const typename LinearInterpolator< T >::Ptr line2, double tau)
 Constructs parabolic blend between line1 and line2 with tau as blend time. The segments is copied for internal storage. More...
 
 ParabolicBlend (const LinearInterpolator< T > *line1, const LinearInterpolator< T > *line2, double tau)
 Constructs parabolic blend between line1 and line2 with tau as blend time. The segments is copied for internal storage. More...
 
virtual ~ParabolicBlend ()
 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...
 
double duration () const
 get the duration of the blend More...
 
double tau1 () const
 
double tau2 () const
 
- 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::ParabolicBlend< T >

Forward declaration for parabolic blend to make the LinearInterpolator<rw::math::Transform3D<T> > a friend.

Forward declaration for parabolic blend to make the RampInterpolator<rw::math::Transform3D<T> > a friend.

Implements a parabolic blend.

A parabolic blend is characterized by a constant acceleration through the blend. The current implementation only supports blending between linear segments.

Constructor & Destructor Documentation

◆ ParabolicBlend() [1/4]

ParabolicBlend ( const LinearInterpolator< T > &  line1,
const LinearInterpolator< T > &  line2,
double  tau 
)
inline

Constructs parabolic blend between line1 and line2 with tau as blend time.

Parameters
line1[in] First segment
line2[in] Second segment
tau[in] Blend time

◆ ParabolicBlend() [2/4]

ParabolicBlend ( const typename LinearInterpolator< T >::CPtr  line1,
const typename LinearInterpolator< T >::CPtr  line2,
double  tau 
)
inlineexplicit

Constructs parabolic blend between line1 and line2 with tau as blend time. The segments is copied for internal storage.

Parameters
line1[in] First segment
line2[in] Second segment
tau[in] Blend time

◆ ParabolicBlend() [3/4]

ParabolicBlend ( const typename LinearInterpolator< T >::Ptr  line1,
const typename LinearInterpolator< T >::Ptr  line2,
double  tau 
)
inline

Constructs parabolic blend between line1 and line2 with tau as blend time. The segments is copied for internal storage.

Parameters
line1[in] First segment
line2[in] Second segment
tau[in] Blend time

◆ ParabolicBlend() [4/4]

ParabolicBlend ( const LinearInterpolator< T > *  line1,
const LinearInterpolator< T > *  line2,
double  tau 
)
inline

Constructs parabolic blend between line1 and line2 with tau as blend time. The segments is copied for internal storage.

Parameters
line1[in] First segment.
line2[in] Second segment
tau[in] Blend time

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 >.

◆ duration()

double duration ( ) const
inline

get the duration of the blend

Returns
duration

◆ 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()

double tau1 ( ) const
inlinevirtual
Note
For ParabolicBlend tau1()==tau2()

Implements Blend< T >.

◆ tau2()

double tau2 ( ) const
inlinevirtual
Note
For ParabolicBlend tau1()==tau2()

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 files: