- 3.0.2 optimal control module.
ct::optcon::SplinerBase< T, SCALAR > Class Template Referenceabstract

Abstract base class for the control input splining between the DMS shots. More...

#include <SplinerBase.h>

Inheritance diagram for ct::optcon::SplinerBase< T, SCALAR >:
ct::optcon::LinearSpliner< T, SCALAR > ct::optcon::ZeroOrderHoldSpliner< T, SCALAR >

Public Types

typedef T vector_t
 
typedef Eigen::Matrix< SCALAR, T::DIM, T::DIM > matrix_t
 
typedef std::vector< vector_t, Eigen::aligned_allocator< vector_t > > vector_array_t
 

Public Member Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW SplinerBase ()=default
 Default constructor. More...
 
virtual ~SplinerBase ()=default
 Destructor. More...
 
virtual void computeSpline (const vector_array_t &points)=0
 Updates the vector on the shots. More...
 
virtual vector_t evalSpline (const SCALAR time, const size_t shotIdx)=0
 Depending on the spline type, this method evaluates the control input between the shots. More...
 
virtual vector_t splineDerivative_t (const SCALAR time, const size_t shotIdx) const =0
 Returns the spline derivatives with respect to time. More...
 
virtual vector_t splineDerivative_h_i (const SCALAR time, const size_t shotIdx) const =0
 Returns the spline derivatives with respect to the time segment between the shots. More...
 
virtual matrix_t splineDerivative_q_i (const SCALAR time, const size_t shotIdx) const =0
 Return the spline derivative with respect to the control input at shot i. More...
 
virtual matrix_t splineDerivative_q_iplus1 (const SCALAR time, const size_t shotIdx) const =0
 Returns the spline derivative with respect to the control input at shot i+1. More...
 

Detailed Description

template<class T, typename SCALAR = double>
class ct::optcon::SplinerBase< T, SCALAR >

Abstract base class for the control input splining between the DMS shots.

Template Parameters
TThe vector type which will be splined

Member Typedef Documentation

◆ vector_t

template<class T , typename SCALAR = double>
typedef T ct::optcon::SplinerBase< T, SCALAR >::vector_t

◆ matrix_t

template<class T , typename SCALAR = double>
typedef Eigen::Matrix<SCALAR, T::DIM, T::DIM> ct::optcon::SplinerBase< T, SCALAR >::matrix_t

◆ vector_array_t

template<class T , typename SCALAR = double>
typedef std::vector<vector_t, Eigen::aligned_allocator<vector_t> > ct::optcon::SplinerBase< T, SCALAR >::vector_array_t

Constructor & Destructor Documentation

◆ SplinerBase()

template<class T , typename SCALAR = double>
EIGEN_MAKE_ALIGNED_OPERATOR_NEW ct::optcon::SplinerBase< T, SCALAR >::SplinerBase ( )
default

Default constructor.

◆ ~SplinerBase()

template<class T , typename SCALAR = double>
virtual ct::optcon::SplinerBase< T, SCALAR >::~SplinerBase ( )
virtualdefault

Destructor.

Member Function Documentation

◆ computeSpline()

template<class T , typename SCALAR = double>
virtual void ct::optcon::SplinerBase< T, SCALAR >::computeSpline ( const vector_array_t points)
pure virtual

Updates the vector on the shots.

Parameters
[in]pointsUpdated vector array

Implemented in ct::optcon::LinearSpliner< T, SCALAR >, and ct::optcon::ZeroOrderHoldSpliner< T, SCALAR >.

◆ evalSpline()

template<class T , typename SCALAR = double>
virtual vector_t ct::optcon::SplinerBase< T, SCALAR >::evalSpline ( const SCALAR  time,
const size_t  shotIdx 
)
pure virtual

Depending on the spline type, this method evaluates the control input between the shots.

Parameters
[in]timeThe evaluation time
[in]shotIdxThe shot number
Returns
The splined vector

Implemented in ct::optcon::LinearSpliner< T, SCALAR >, and ct::optcon::ZeroOrderHoldSpliner< T, SCALAR >.

◆ splineDerivative_t()

template<class T , typename SCALAR = double>
virtual vector_t ct::optcon::SplinerBase< T, SCALAR >::splineDerivative_t ( const SCALAR  time,
const size_t  shotIdx 
) const
pure virtual

Returns the spline derivatives with respect to time.

Parameters
[in]timeThe evaluation time
[in]shotIdxThe shot number
Returns
The time derivative

Implemented in ct::optcon::LinearSpliner< T, SCALAR >, and ct::optcon::ZeroOrderHoldSpliner< T, SCALAR >.

◆ splineDerivative_h_i()

template<class T , typename SCALAR = double>
virtual vector_t ct::optcon::SplinerBase< T, SCALAR >::splineDerivative_h_i ( const SCALAR  time,
const size_t  shotIdx 
) const
pure virtual

Returns the spline derivatives with respect to the time segment between the shots.

Parameters
[in]timeThe evaluation time
[in]shotIdxThe shot number
Returns
The resulting derivative

Implemented in ct::optcon::LinearSpliner< T, SCALAR >, and ct::optcon::ZeroOrderHoldSpliner< T, SCALAR >.

◆ splineDerivative_q_i()

template<class T , typename SCALAR = double>
virtual matrix_t ct::optcon::SplinerBase< T, SCALAR >::splineDerivative_q_i ( const SCALAR  time,
const size_t  shotIdx 
) const
pure virtual

Return the spline derivative with respect to the control input at shot i.

Parameters
[in]timeThe evaluation time
[in]shotIdxThe shot number
Returns
The resulting derivative

Implemented in ct::optcon::LinearSpliner< T, SCALAR >, and ct::optcon::ZeroOrderHoldSpliner< T, SCALAR >.

◆ splineDerivative_q_iplus1()

template<class T , typename SCALAR = double>
virtual matrix_t ct::optcon::SplinerBase< T, SCALAR >::splineDerivative_q_iplus1 ( const SCALAR  time,
const size_t  shotIdx 
) const
pure virtual

Returns the spline derivative with respect to the control input at shot i+1.

Parameters
[in]timeThe evaluation time
[in]shotIdxThe shot number
Returns
The resulting derivative

Implemented in ct::optcon::LinearSpliner< T, SCALAR >, and ct::optcon::ZeroOrderHoldSpliner< T, SCALAR >.


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