Actuation residual. More...
#include <contact-invdyn.hpp>
Public Types | |
typedef ResidualModelAbstractTpl< Scalar > | Base |
typedef DataCollectorAbstractTpl< Scalar > | DataCollectorAbstract |
typedef MathBaseTpl< Scalar > | MathBase |
typedef ResidualDataAbstractTpl< Scalar > | ResidualDataAbstract |
typedef StateMultibodyTpl< Scalar > | StateMultibody |
typedef MathBase::VectorXs | VectorXs |
![]() | |
typedef ActivationDataAbstractTpl< Scalar > | ActivationDataAbstract |
typedef CostDataAbstractTpl< Scalar > | CostDataAbstract |
typedef DataCollectorAbstractTpl< Scalar > | DataCollectorAbstract |
typedef MathBase::DiagonalMatrixXs | DiagonalMatrixXs |
typedef MathBaseTpl< Scalar > | MathBase |
typedef MathBase::MatrixXs | MatrixXs |
typedef ResidualDataAbstractTpl< Scalar > | ResidualDataAbstract |
typedef StateAbstractTpl< Scalar > | StateAbstract |
typedef MathBase::VectorXs | VectorXs |
Public Member Functions | |
ResidualModelActuation (boost::shared_ptr< StateMultibody > state, const std::size_t nu, const std::size_t nc) | |
Initialize the actuation residual model. More... | |
virtual void | calc (const boost::shared_ptr< ResidualDataAbstract > &data, const Eigen::Ref< const VectorXs > &) |
virtual void | calc (const boost::shared_ptr< ResidualDataAbstract > &data, const Eigen::Ref< const VectorXs > &, const Eigen::Ref< const VectorXs > &) |
Compute the actuation residual. More... | |
virtual void | calcDiff (const boost::shared_ptr< ResidualDataAbstract > &data, const Eigen::Ref< const VectorXs > &) |
virtual void | calcDiff (const boost::shared_ptr< ResidualDataAbstract > &data, const Eigen::Ref< const VectorXs > &, const Eigen::Ref< const VectorXs > &) |
Compute the derivatives of the actuation residual. More... | |
virtual boost::shared_ptr< ResidualDataAbstract > | createData (DataCollectorAbstract *const data) |
Create the actuation residual data. More... | |
virtual void | print (std::ostream &os) const |
Print relevant information of the actuation 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) | |
Initialize the residual model. More... | |
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... | |
virtual void | calcCostDiff (const boost::shared_ptr< CostDataAbstract > &cdata, const boost::shared_ptr< ResidualDataAbstract > &rdata, const boost::shared_ptr< ActivationDataAbstract > &adata, const bool update_u=true) |
Compute the derivative of the cost function. More... | |
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. | |
Public Attributes | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar | Scalar |
![]() | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar | Scalar |
Protected Attributes | |
std::size_t | nu_ |
Control dimension. | |
boost::shared_ptr< StateAbstract > | state_ |
State description. | |
![]() | |
std::size_t | nr_ |
Residual vector dimension. | |
std::size_t | nu_ |
Control dimension. | |
bool | q_dependent_ |
boost::shared_ptr< StateAbstract > | state_ |
State description. | |
bool | u_dependent_ |
VectorXs | unone_ |
No control vector. | |
bool | v_dependent_ |
Actuation residual.
This residual function enforces the torques of under-actuated joints (e.g., floating-base joints) to be zero. We compute these torques and their derivatives using RNEA inside DifferentialActionModelContactInvDynamicsTpl
.
As described in ResidualModelAbstractTpl
, the residual value and its Jacobians are calculated by calc
and calcDiff
, respectively.
ResidualModelAbstractTpl
, calc()
, calcDiff()
, createData()
Definition at line 261 of file contact-invdyn.hpp.
|
inline |
Initialize the actuation residual model.
[in] | state | State of the multibody system |
[in] | nu | Dimension of the joint torques |
[in] | nc | Dimension of all the contacts |
Definition at line 280 of file contact-invdyn.hpp.
|
inlinevirtual |
Compute the actuation residual.
[in] | data | Actuation residual data |
[in] | x | State point \(\mathbf{x}\in\mathbb{R}^{ndx}\) |
[in] | u | Control input \(\mathbf{u}\in\mathbb{R}^{nv+nu}\) |
Reimplemented from ResidualModelAbstractTpl< _Scalar >.
Definition at line 295 of file contact-invdyn.hpp.
|
inlinevirtual |
It updates the residual vector based on the state only. This function is used in the terminal nodes of an optimal control problem.
[in] | data | Residual data |
[in] | x | State point \(\mathbf{x}\in\mathbb{R}^{ndx}\) |
Reimplemented from ResidualModelAbstractTpl< _Scalar >.
Definition at line 315 of file contact-invdyn.hpp.
|
inlinevirtual |
Compute the derivatives of the actuation residual.
[in] | data | Actuation residual data |
[in] | x | State point \(\mathbf{x}\in\mathbb{R}^{ndx}\) |
[in] | u | Control input \(\mathbf{u}\in\mathbb{R}^{nu}\) |
Reimplemented from ResidualModelAbstractTpl< _Scalar >.
Definition at line 327 of file contact-invdyn.hpp.
|
inlinevirtual |
Reimplemented from ResidualModelAbstractTpl< _Scalar >.
Definition at line 354 of file contact-invdyn.hpp.
|
inlinevirtual |
Create the actuation residual data.
Reimplemented from ResidualModelAbstractTpl< _Scalar >.
Definition at line 365 of file contact-invdyn.hpp.
|
inlinevirtual |
Print relevant information of the actuation residual model.
[out] | os | Output stream object |
Reimplemented from ResidualModelAbstractTpl< _Scalar >.
Definition at line 377 of file contact-invdyn.hpp.