Crocoddyl
ControlParametrizationModelNumDiffTpl< _Scalar > Class Template Reference
Inheritance diagram for ControlParametrizationModelNumDiffTpl< _Scalar >:
ControlParametrizationModelAbstractTpl< _Scalar >

Public Types

typedef ControlParametrizationModelAbstractTpl< _Scalar > Base
 
typedef ControlParametrizationDataAbstractTpl< _Scalar > ControlParametrizationDataAbstract
 
typedef ControlParametrizationDataNumDiffTpl< _Scalar > Data
 
typedef MathBaseTpl< Scalar > MathBase
 
typedef MathBase::MatrixXs MatrixXs
 
typedef MathBase::VectorXs VectorXs
 
- Public Types inherited from ControlParametrizationModelAbstractTpl< _Scalar >
typedef ControlParametrizationDataAbstractTpl< Scalar > ControlParametrizationDataAbstract
 
typedef MathBaseTpl< Scalar > MathBase
 
typedef MathBase::MatrixXs MatrixXs
 
typedef MathBase::VectorXs VectorXs
 

Public Member Functions

 ControlParametrizationModelNumDiffTpl (boost::shared_ptr< Base > model)
 Construct a new ControlParametrizationModelNumDiff object. More...
 
void calc (const boost::shared_ptr< ControlParametrizationDataAbstract > &data, const Scalar t, const Eigen::Ref< const VectorXs > &u) const
 Get the value of the control at the specified time. More...
 
void calcDiff (const boost::shared_ptr< ControlParametrizationDataAbstract > &data, const Scalar t, const Eigen::Ref< const VectorXs > &u) const
 Get the value of the Jacobian of the control with respect to the parameters. More...
 
void convertBounds (const Eigen::Ref< const VectorXs > &w_lb, const Eigen::Ref< const VectorXs > &w_ub, Eigen::Ref< VectorXs > u_lb, Eigen::Ref< VectorXs > u_ub) const
 Convert the bounds on the control to bounds on the control parameters. More...
 
virtual boost::shared_ptr< ControlParametrizationDataAbstractcreateData ()
 Create the control-parametrization data. More...
 
const Scalar get_disturbance () const
 Return the disturbance constant used in the numerical differentiation routine.
 
const boost::shared_ptr< Base > & get_model () const
 Get the model_ object. More...
 
void multiplyByJacobian (const boost::shared_ptr< ControlParametrizationDataAbstract > &data, const Eigen::Ref< const MatrixXs > &A, Eigen::Ref< MatrixXs > out, const AssignmentOp=setto) const
 Compute the product between a specified matrix and the Jacobian of the control (with respect to the parameters) More...
 
void multiplyJacobianTransposeBy (const boost::shared_ptr< ControlParametrizationDataAbstract > &data, const Eigen::Ref< const MatrixXs > &A, Eigen::Ref< MatrixXs > out, const AssignmentOp=setto) const
 Compute the product between the transposed Jacobian of the control (with respect to the parameters) and a specified matrix. More...
 
void params (const boost::shared_ptr< ControlParametrizationDataAbstract > &data, const Scalar t, const Eigen::Ref< const VectorXs > &w) const
 Get a value of the control parameters such that the control at the specified time t is equal to the specified value u. More...
 
void set_disturbance (const Scalar disturbance)
 Modify the disturbance constant used in the numerical differentiation routine.
 
- Public Member Functions inherited from ControlParametrizationModelAbstractTpl< _Scalar >
 ControlParametrizationModelAbstractTpl (const std::size_t nw, const std::size_t nu)
 Initialize the control dimensions. More...
 
virtual bool checkData (const boost::shared_ptr< ControlParametrizationDataAbstract > &data)
 Checks that a specific data belongs to this model.
 
std::size_t get_nu () const
 Return the dimension of control parameters.
 
std::size_t get_nw () const
 Return the dimension of the control inputs.
 
virtual MatrixXs multiplyByJacobian_J (const boost::shared_ptr< ControlParametrizationDataAbstract > &data, const Eigen::Ref< const MatrixXs > &A, const AssignmentOp=setto) const
 
virtual MatrixXs multiplyJacobianTransposeBy_J (const boost::shared_ptr< ControlParametrizationDataAbstract > &data, const Eigen::Ref< const MatrixXs > &A, const AssignmentOp=setto) const
 

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar
 
- Public Attributes inherited from ControlParametrizationModelAbstractTpl< _Scalar >
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar
 

Protected Attributes

std::size_t nu_
 Control parameters dimension.
 
std::size_t nw_
 Control dimension.
 
- Protected Attributes inherited from ControlParametrizationModelAbstractTpl< _Scalar >
std::size_t nu_
 Control parameters dimension.
 
std::size_t nw_
 Control dimension.
 

Detailed Description

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

Definition at line 25 of file control.hpp.

Constructor & Destructor Documentation

◆ ControlParametrizationModelNumDiffTpl()

ControlParametrizationModelNumDiffTpl ( boost::shared_ptr< Base model)
explicit

Construct a new ControlParametrizationModelNumDiff object.

Parameters
model

Member Function Documentation

◆ calc()

void calc ( const boost::shared_ptr< ControlParametrizationDataAbstract > &  data,
const Scalar  t,
const Eigen::Ref< const VectorXs > &  u 
) const
virtual

Get the value of the control at the specified time.

Parameters
[in]dataControl-parametrization numdiff data
[in]tTime in [0,1]
[in]uControl parameters

Implements ControlParametrizationModelAbstractTpl< _Scalar >.

◆ calcDiff()

void calcDiff ( const boost::shared_ptr< ControlParametrizationDataAbstract > &  data,
const Scalar  t,
const Eigen::Ref< const VectorXs > &  u 
) const
virtual

Get the value of the Jacobian of the control with respect to the parameters.

Parameters
[in]dataControl-parametrization numdiff data
[in]tTime in [0,1]
[in]uControl parameters

Implements ControlParametrizationModelAbstractTpl< _Scalar >.

◆ createData()

virtual boost::shared_ptr<ControlParametrizationDataAbstract> createData ( )
virtual

Create the control-parametrization data.

Returns
the control-parametrization data

Reimplemented from ControlParametrizationModelAbstractTpl< _Scalar >.

◆ params()

void params ( const boost::shared_ptr< ControlParametrizationDataAbstract > &  data,
const Scalar  t,
const Eigen::Ref< const VectorXs > &  w 
) const
virtual

Get a value of the control parameters such that the control at the specified time t is equal to the specified value u.

Parameters
[in]dataControl-parametrization numdiff data
[in]tTime in [0,1]
[in]wControl values

Implements ControlParametrizationModelAbstractTpl< _Scalar >.

◆ convertBounds()

void convertBounds ( const Eigen::Ref< const VectorXs > &  w_lb,
const Eigen::Ref< const VectorXs > &  w_ub,
Eigen::Ref< VectorXs >  u_lb,
Eigen::Ref< VectorXs >  u_ub 
) const
virtual

Convert the bounds on the control to bounds on the control parameters.

Parameters
[in]w_lbControl lower bound
[in]w_ubControl upper bound
[in]u_lbControl parameter lower bound
[in]u_ubControl parameter upper bound

Implements ControlParametrizationModelAbstractTpl< _Scalar >.

◆ multiplyByJacobian()

void multiplyByJacobian ( const boost::shared_ptr< ControlParametrizationDataAbstract > &  data,
const Eigen::Ref< const MatrixXs > &  A,
Eigen::Ref< MatrixXs >  out,
const  AssignmentOp = setto 
) const
virtual

Compute the product between a specified matrix and the Jacobian of the control (with respect to the parameters)

Parameters
[in]dataControl-parametrization numdiff data
[in]AA matrix to multiply times the Jacobian
[out]outProduct between the matrix A and the Jacobian of the control with respect to the parameters
[in]opAssignment operator which sets, adds, or removes the given results

Implements ControlParametrizationModelAbstractTpl< _Scalar >.

◆ multiplyJacobianTransposeBy()

void multiplyJacobianTransposeBy ( const boost::shared_ptr< ControlParametrizationDataAbstract > &  data,
const Eigen::Ref< const MatrixXs > &  A,
Eigen::Ref< MatrixXs >  out,
const  AssignmentOp = setto 
) const
virtual

Compute the product between the transposed Jacobian of the control (with respect to the parameters) and a specified matrix.

Parameters
[in]dataControl-parametrization numdiff data
[in]AA matrix to multiply times the Jacobian
[out]outProduct between the transposed Jacobian of the control with respect to the parameters and the matrix A
[in]opAssignment operator which sets, adds, or removes the given results

Implements ControlParametrizationModelAbstractTpl< _Scalar >.

◆ get_model()

const boost::shared_ptr<Base>& get_model ( ) const

Get the model_ object.

Returns
Base&

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