crocoddyl  1.9.0
Contact RObot COntrol by Differential DYnamic programming Library (Crocoddyl)
ControlParametrizationModelNumDiffTpl< _Scalar > Class Template Reference

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 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
 Get the disturbance_ object. More...
 
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)
 Set the disturbance_ object. More...
 

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar
 

Protected Attributes

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 238 of file fwd.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

Get the value of the control at the specified time.

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

◆ calcDiff()

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.

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

◆ createData()

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

Create the control-parametrization data.

Returns
the control-parametrization data

◆ params()

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.

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

◆ 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

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

◆ multiplyByJacobian()

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)

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

◆ multiplyJacobianTransposeBy()

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.

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

◆ get_model()

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

Get the model_ object.

Returns
Base&

◆ get_disturbance()

const Scalar get_disturbance ( ) const

Get the disturbance_ object.

Returns
Scalar

◆ set_disturbance()

void set_disturbance ( const Scalar  disturbance)

Set the disturbance_ object.

Parameters
disturbanceis the value used to find the numerical derivative

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