Crocoddyl
Loading...
Searching...
No Matches
GuidanceModelLinearTpl< _Scalar > Class Template Reference

Linear converging guidance model. More...

#include <linear.hpp>

Inheritance diagram for GuidanceModelLinearTpl< _Scalar >:
GuidanceModelAbstractTpl< _Scalar >GuidanceModelBase

Public Types

typedef GuidanceModelAbstractTpl< Scalar > Base
typedef Base::GuidanceDataAbstract GuidanceDataAbstract
typedef MathBaseTpl< Scalar > MathBase
typedef MathBase::MatrixXs MatrixXs
typedef MathBase::VectorXs VectorXs
Public Types inherited from GuidanceModelAbstractTpl< _Scalar >
typedef GuidanceDataAbstractTpl< Scalar > GuidanceDataAbstract
typedef MathBaseTpl< Scalar > MathBase
typedef MathBase::MatrixXs MatrixXs
typedef MathBase::VectorXs VectorXs

Public Member Functions

 GuidanceModelLinearTpl (const MatrixXs &gain)
 Initialize the model from a full gain matrix.
 GuidanceModelLinearTpl (const std::size_t nr, const Scalar &gain)
 Initialize the model from a scalar gain.
 GuidanceModelLinearTpl (const VectorXs &diagonal_gain)
 Initialize the model from a diagonal gain vector.
virtual void calc (const std::shared_ptr< GuidanceDataAbstract > &data, const Eigen::Ref< const VectorXs > &error) const override
 Compute $g = -K e$.
virtual void calcDiff (const std::shared_ptr< GuidanceDataAbstract > &data, const Eigen::Ref< const VectorXs > &error) const override
 Compute $G_e = -K$.
template<typename NewScalar>
GuidanceModelLinearTpl< NewScalar > cast () const
 Cast the guidance model to a different scalar type.
const MatrixXs & get_gain () const
 Return the feedback-gain matrix.
virtual void print (std::ostream &os) const override
 Print the model parameters.
void set_gain (const MatrixXs &gain)
 Set the feedback-gain matrix.
Public Member Functions inherited from GuidanceModelAbstractTpl< _Scalar >
 GuidanceModelAbstractTpl (const std::size_t nr)
 Initialize the guidance-model dimension.
virtual std::shared_ptr< GuidanceDataAbstract > createData () const
 Allocate the precomputed guidance data.
std::size_t get_nr () const
 Return the error and desired-rate dimension.

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar
Public Attributes inherited from GuidanceModelAbstractTpl< _Scalar >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar

Additional Inherited Members

Protected Member Functions inherited from GuidanceModelAbstractTpl< _Scalar >
void checkErrorDimension (const Eigen::Ref< const VectorXs > &error) const
void checkJacobianDimension (const Eigen::Ref< const MatrixXs > &Ge) const
void checkRateDimension (const Eigen::Ref< const VectorXs > &g) const
Protected Attributes inherited from GuidanceModelAbstractTpl< _Scalar >
std::size_t nr_

Detailed Description

template<typename _Scalar>
class crocoddyl::GuidanceModelLinearTpl< _Scalar >

Linear converging guidance model.

It implements

\‍[  g(e) = -K e, \qquad G_e = -K,
\‍]

where $K$ is a constant feedback-gain matrix.

Definition at line 26 of file linear.hpp.

Member Typedef Documentation

◆ Base

template<typename _Scalar>
typedef GuidanceModelAbstractTpl<Scalar> Base

Definition at line 32 of file linear.hpp.

◆ MathBase

template<typename _Scalar>
typedef MathBaseTpl<Scalar> MathBase

Definition at line 33 of file linear.hpp.

◆ GuidanceDataAbstract

template<typename _Scalar>
typedef Base::GuidanceDataAbstract GuidanceDataAbstract

Definition at line 34 of file linear.hpp.

◆ VectorXs

template<typename _Scalar>
typedef MathBase::VectorXs VectorXs

Definition at line 35 of file linear.hpp.

◆ MatrixXs

template<typename _Scalar>
typedef MathBase::MatrixXs MatrixXs

Definition at line 36 of file linear.hpp.

Constructor & Destructor Documentation

◆ GuidanceModelLinearTpl() [1/3]

template<typename _Scalar>
GuidanceModelLinearTpl(const MatrixXs &gain)
explicit

Initialize the model from a full gain matrix.

Parameters
[in]gainSquare feedback-gain matrix $K$.

◆ GuidanceModelLinearTpl() [2/3]

template<typename _Scalar>
GuidanceModelLinearTpl(const VectorXs &diagonal_gain)
explicit

Initialize the model from a diagonal gain vector.

Parameters
[in]diagonal_gainDiagonal entries of $K$.

◆ GuidanceModelLinearTpl() [3/3]

template<typename _Scalar>
GuidanceModelLinearTpl(const std::size_tnr,
const Scalar &gain )

Initialize the model from a scalar gain.

Parameters
[in]nrTask dimension.
[in]gainScalar gain used on the identity matrix.

Member Function Documentation

◆ calc()

template<typename _Scalar>
virtual void calc(const std::shared_ptr< GuidanceDataAbstract > &data,
const Eigen::Ref< const VectorXs > &error ) const
overridevirtual

Compute $g = -K e$.

Parameters
[in,out]dataPreallocated guidance data.
[in]errorTask error $e$.

Implements GuidanceModelAbstractTpl< _Scalar >.

◆ calcDiff()

template<typename _Scalar>
virtual void calcDiff(const std::shared_ptr< GuidanceDataAbstract > &data,
const Eigen::Ref< const VectorXs > &error ) const
overridevirtual

Compute $G_e = -K$.

Parameters
[in,out]dataPreallocated guidance data.
[in]errorTask error $e$.

Implements GuidanceModelAbstractTpl< _Scalar >.

◆ get_gain()

template<typename _Scalar>
const MatrixXs & get_gain()const

Return the feedback-gain matrix.

Returns
The constant gain matrix $K$.

◆ set_gain()

template<typename _Scalar>
void set_gain(const MatrixXs &gain)

Set the feedback-gain matrix.

Parameters
[in]gainSquare feedback-gain matrix $K$.

◆ print()

template<typename _Scalar>
virtual void print(std::ostream &os)const
overridevirtual

Print the model parameters.

Parameters
[out]osOutput stream.

Reimplemented from GuidanceModelAbstractTpl< _Scalar >.

Member Data Documentation

◆ Scalar

template<typename _Scalar>
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar

Definition at line 31 of file linear.hpp.


The documentation for this class was generated from the following files:
  • /build/source/include/crocoddyl/core/fwd.hpp
  • /build/source/include/crocoddyl/core/guidance/linear.hpp