crocoddyl  1.8.1
Contact RObot COntrol by Differential DYnamic programming Library (Crocoddyl)
ResidualModelNumDiffTpl< _Scalar > Class Template Reference
Inheritance diagram for ResidualModelNumDiffTpl< _Scalar >:
Collaboration diagram for ResidualModelNumDiffTpl< _Scalar >:

Public Types

typedef ResidualModelAbstractTpl< Scalar > Base
 
typedef ResidualDataNumDiffTpl< Scalar > Data
 
typedef DataCollectorAbstractTpl< Scalar > DataCollectorAbstract
 
typedef MathBaseTpl< Scalar > MathBase
 
typedef MathBaseTpl< Scalar >::MatrixXs MatrixXs
 
typedef boost::function< void(const VectorXs &, const VectorXs &)> ReevaluationFunction
 
typedef ResidualDataAbstractTpl< Scalar > ResidualDataAbstract
 
typedef MathBaseTpl< Scalar >::VectorXs VectorXs
 
- Public Types inherited from ResidualModelAbstractTpl< _Scalar >
typedef DataCollectorAbstractTpl< Scalar > DataCollectorAbstract
 
typedef MathBaseTpl< Scalar > MathBase
 
typedef MathBase::MatrixXs MatrixXs
 
typedef ResidualDataAbstractTpl< Scalar > ResidualDataAbstract
 
typedef StateAbstractTpl< Scalar > StateAbstract
 
typedef MathBase::VectorXs VectorXs
 

Public Member Functions

 ResidualModelNumDiffTpl (const boost::shared_ptr< Base > &model)
 Initialize the numdiff residual model. More...
 
virtual ~ResidualModelNumDiffTpl ()
 Initialize the numdiff residual model.
 
virtual void calc (const boost::shared_ptr< ResidualDataAbstract > &data, const Eigen::Ref< const VectorXs > &x, const Eigen::Ref< const VectorXs > &u)
 Compute the residual vector. More...
 
virtual void calcDiff (const boost::shared_ptr< ResidualDataAbstract > &data, const Eigen::Ref< const VectorXs > &x, const Eigen::Ref< const VectorXs > &u)
 Compute the Jacobian of the residual vector. More...
 
virtual boost::shared_ptr< ResidualDataAbstractcreateData (DataCollectorAbstract *const data)
 Create a data object. More...
 
const Scalar get_disturbance () const
 Return the disturbance value used by the numdiff routine.
 
const boost::shared_ptr< Base > & get_model () const
 Return the original residual model.
 
void set_disturbance (const Scalar disturbance)
 Modify the disturbance value used by the numdiff routine.
 
void set_reevals (const std::vector< ReevaluationFunction > &reevals)
 Register functions that updates the shared data computed for a system rollout The updated data is used to evaluate of the gradient and hessian. More...
 
- Public Member Functions inherited from ResidualModelAbstractTpl< _Scalar >
 ResidualModelAbstractTpl (boost::shared_ptr< StateAbstract > state, const std::size_t nr, const std::size_t nu, const bool q_dependent=true, const bool v_dependent=true, const bool u_dependent=true)
 Initialize the residual model. More...
 
 ResidualModelAbstractTpl (boost::shared_ptr< StateAbstract > state, const std::size_t nr, const bool q_dependent=true, const bool v_dependent=true, const bool u_dependent=true)
 
virtual void calc (const boost::shared_ptr< ResidualDataAbstract > &data, const Eigen::Ref< const VectorXs > &x, const Eigen::Ref< const VectorXs > &u)
 Compute the residual vector. More...
 
void calc (const boost::shared_ptr< ResidualDataAbstract > &data, const Eigen::Ref< const VectorXs > &x)
 
virtual void calcDiff (const boost::shared_ptr< ResidualDataAbstract > &data, const Eigen::Ref< const VectorXs > &x, const Eigen::Ref< const VectorXs > &u)
 Compute the Jacobian of the residual vector. More...
 
void calcDiff (const boost::shared_ptr< ResidualDataAbstract > &data, const Eigen::Ref< const VectorXs > &x)
 
std::size_t get_nr () const
 Return the dimension of the residual vector.
 
std::size_t get_nu () const
 Return the dimension of the control input.
 
bool get_q_dependent () const
 Return true if the residual function depends on q.
 
const boost::shared_ptr< StateAbstract > & get_state () const
 Return the state.
 
bool get_u_dependent () const
 Return true if the residual function depends on u.
 
bool get_v_dependent () const
 Return true if the residual function depends on v.
 
virtual void print (std::ostream &os) const
 Print relevant information of the residual model. More...
 

Public Attributes

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

Protected Attributes

Scalar disturbance_
 Numerical disturbance used in the numerical differentiation.
 
boost::shared_ptr< Basemodel_
 Model of the residual.
 
std::vector< ReevaluationFunction > reevals_
 Functions that needs execution before calc or calcDiff.
 
- Protected Attributes inherited from ResidualModelAbstractTpl< _Scalar >
std::size_t nr_
 Residual vector dimension.
 
std::size_t nu_
 Control dimension.
 
bool q_dependent_
 Label that indicates if the residual function depends on q.
 
boost::shared_ptr< StateAbstractstate_
 State description.
 
bool u_dependent_
 Label that indicates if the residual function depends on u.
 
VectorXs unone_
 No control vector.
 
bool v_dependent_
 Label that indicates if the residual function depends on v.
 

Detailed Description

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

Definition at line 192 of file fwd.hpp.

Constructor & Destructor Documentation

◆ ResidualModelNumDiffTpl()

ResidualModelNumDiffTpl ( const boost::shared_ptr< Base > &  model)
explicit

Initialize the numdiff residual model.

Parameters
model

Member Function Documentation

◆ calc()

virtual void calc ( const boost::shared_ptr< ResidualDataAbstract > &  data,
const Eigen::Ref< const VectorXs > &  x,
const Eigen::Ref< const VectorXs > &  u 
)
virtual

Compute the residual vector.

Parameters
[in]dataResidual data
[in]xState point \(\mathbf{x}\in\mathbb{R}^{ndx}\)
[in]uControl input \(\mathbf{u}\in\mathbb{R}^{nu}\)

◆ calcDiff()

virtual void calcDiff ( const boost::shared_ptr< ResidualDataAbstract > &  data,
const Eigen::Ref< const VectorXs > &  x,
const Eigen::Ref< const VectorXs > &  u 
)
virtual

Compute the Jacobian of the residual vector.

It computes the Jacobian the residual function. It assumes that calc() has been run first.

Parameters
[in]dataResidual data
[in]xState point \(\mathbf{x}\in\mathbb{R}^{ndx}\)
[in]uControl input \(\mathbf{u}\in\mathbb{R}^{nu}\)

◆ createData()

virtual boost::shared_ptr<ResidualDataAbstract> createData ( DataCollectorAbstract *const  data)
virtual

Create a data object.

Parameters
dataData collector used by the original model
Returns
the residual data

Reimplemented from ResidualModelAbstractTpl< _Scalar >.

◆ set_reevals()

void set_reevals ( const std::vector< ReevaluationFunction > &  reevals)

Register functions that updates the shared data computed for a system rollout The updated data is used to evaluate of the gradient and hessian.

Parameters
reevalsare the registered functions.

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