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

Control gravity residual. More...

#include <crocoddyl/multibody/residuals/control-gravity.hpp>

Public Types

typedef ResidualModelAbstractTpl< Scalar > Base
 
typedef ResidualDataControlGravTpl< Scalar > Data
 
typedef DataCollectorAbstractTpl< Scalar > DataCollectorAbstract
 
typedef MathBaseTpl< Scalar > MathBase
 
typedef MathBase::MatrixXs MatrixXs
 
typedef ResidualDataAbstractTpl< Scalar > ResidualDataAbstract
 
typedef StateMultibodyTpl< Scalar > StateMultibody
 
typedef MathBase::VectorXs VectorXs
 

Public Member Functions

 ResidualModelControlGravTpl (boost::shared_ptr< StateMultibody > state)
 Initialize the control gravity residual model. More...
 
 ResidualModelControlGravTpl (boost::shared_ptr< StateMultibody > state, const std::size_t nu)
 Initialize the control gravity residual model. More...
 
virtual void calc (const boost::shared_ptr< ResidualDataAbstract > &data, const Eigen::Ref< const VectorXs > &x)
 
virtual void calc (const boost::shared_ptr< ResidualDataAbstract > &data, const Eigen::Ref< const VectorXs > &x, const Eigen::Ref< const VectorXs > &u)
 Compute the control gravity residual. More...
 
virtual void calcDiff (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 Jacobians of the control gravity residual. More...
 
virtual boost::shared_ptr< ResidualDataAbstractcreateData (DataCollectorAbstract *const data)
 
virtual void print (std::ostream &os) const
 Print relevant information of the control-grav residual. More...
 

Public Attributes

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar Scalar
 

Protected Attributes

std::size_t nu_
 Control dimension.
 
boost::shared_ptr< StateAbstractstate_
 State description.
 
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::ResidualModelControlGravTpl< _Scalar >

Control gravity residual.

This residual function is defined as \(\mathbf{r}=\mathbf{u}-\mathbf{g}(\mathbf{q})\), where \(\mathbf{u}\in~\mathbb{R}^{nu}\) is the current control input, \(\mathbf{g}(\mathbf{q})\) is the gravity torque corresponding to the current configuration, \(\mathbf{q}\in~\mathbb{R}^{nq}\) the current position joints input. Note that the dimension of the residual vector is obtained from StateAbstractTpl::get_nv().

As described in ResidualModelAbstractTpl(), the residual value and its Jacobians are calculated by calc() and calcDiff(), respectively.

See also
ResidualModelAbstractTpl, calc(), calcDiff(), createData()

Definition at line 127 of file fwd.hpp.

Constructor & Destructor Documentation

◆ ResidualModelControlGravTpl() [1/2]

ResidualModelControlGravTpl ( boost::shared_ptr< StateMultibody state,
const std::size_t  nu 
)

Initialize the control gravity residual model.

Parameters
[in]stateState of the multibody system
[in]nuDimension of control vector

◆ ResidualModelControlGravTpl() [2/2]

ResidualModelControlGravTpl ( boost::shared_ptr< StateMultibody state)

Initialize the control gravity residual model.

The default nu value is obtained from StateAbstractTpl::get_nv().

Parameters
[in]stateState of the multibody system

Member Function Documentation

◆ calc() [1/2]

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

Compute the control gravity residual.

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

◆ calc() [2/2]

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

◆ calcDiff() [1/2]

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

Compute the Jacobians of the control gravity residual.

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

◆ calcDiff() [2/2]

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

◆ print()

virtual void print ( std::ostream &  os) const
virtual

Print relevant information of the control-grav residual.

Parameters
[out]osOutput stream object

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