Actuation residual. More...
#include <free-invdyn.hpp>
Public Types | |
typedef ActuationModelAbstractTpl< Scalar > | ActuationModelAbstract |
typedef ResidualModelAbstractTpl< Scalar > | Base |
typedef DataCollectorAbstractTpl< Scalar > | DataCollectorAbstract |
typedef MathBaseTpl< Scalar > | MathBase |
typedef MathBase::MatrixXs | MatrixXs |
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 (std::shared_ptr< StateMultibody > state, const std::size_t nu) | |
Initialize the actuation residual model. More... | |
virtual void | calc (const std::shared_ptr< ResidualDataAbstract > &data, const Eigen::Ref< const VectorXs > &) override |
virtual void | calc (const std::shared_ptr< ResidualDataAbstract > &data, const Eigen::Ref< const VectorXs > &, const Eigen::Ref< const VectorXs > &) override |
Compute the actuation residual. More... | |
virtual void | calcDiff (const std::shared_ptr< ResidualDataAbstract > &data, const Eigen::Ref< const VectorXs > &) override |
virtual void | calcDiff (const std::shared_ptr< ResidualDataAbstract > &data, const Eigen::Ref< const VectorXs > &, const Eigen::Ref< const VectorXs > &) override |
Compute the derivatives of the actuation residual. More... | |
template<typename NewScalar > | |
DifferentialActionModelFreeInvDynamicsTpl< NewScalar >::ResidualModelActuation | cast () const |
Cast the actuation-residual model to a different scalar type. More... | |
virtual std::shared_ptr< ResidualDataAbstract > | createData (DataCollectorAbstract *const data) override |
Create the actuation residual data. More... | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW | CROCODDYL_INNER_DERIVED_CAST (ResidualModelBase, DifferentialActionModelFreeInvDynamicsTpl, ResidualModelActuation) typedef _Scalar Scalar |
virtual void | print (std::ostream &os) const override |
Print relevant information of the actuation residual model. More... | |
![]() | |
ResidualModelAbstractTpl (std::shared_ptr< StateAbstract > state, const std::size_t nr, const bool q_dependent=true, const bool v_dependent=true, const bool u_dependent=true) | |
ResidualModelAbstractTpl (std::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 std::shared_ptr< CostDataAbstract > &cdata, const std::shared_ptr< ResidualDataAbstract > &rdata, const std::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 std::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. | |
Protected Attributes | |
std::size_t | na_ |
Dimension of the joint torques. | |
std::size_t | nu_ |
Control dimension. | |
std::shared_ptr< StateAbstract > | state_ |
State description. | |
![]() | |
std::size_t | nr_ |
Residual vector dimension. | |
std::size_t | nu_ |
Control dimension. | |
bool | q_dependent_ |
std::shared_ptr< StateAbstract > | state_ |
State description. | |
bool | u_dependent_ |
VectorXs | unone_ |
No control vector. | |
bool | v_dependent_ |
Additional Inherited Members | |
![]() | |
EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef _Scalar | Scalar |
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 DifferentialActionModelFreeInvDynamicsTpl
.
As described in ResidualModelAbstractTpl
, the residual value and its Jacobians are calculated by calc
and calcDiff
, respectively.
ResidualModelAbstractTpl
, calc()
, calcDiff()
, createData()
Definition at line 268 of file free-invdyn.hpp.
|
inline |
Initialize the actuation residual model.
[in] | state | State of the multibody system |
[in] | nu | Dimension of the joint torques |
Definition at line 291 of file free-invdyn.hpp.
|
inlineoverridevirtual |
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 304 of file free-invdyn.hpp.
|
inlineoverridevirtual |
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 324 of file free-invdyn.hpp.
|
inlineoverridevirtual |
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 336 of file free-invdyn.hpp.
|
inlineoverridevirtual |
Reimplemented from ResidualModelAbstractTpl< _Scalar >.
Definition at line 361 of file free-invdyn.hpp.
|
inlineoverridevirtual |
Create the actuation residual data.
Reimplemented from ResidualModelAbstractTpl< _Scalar >.
Definition at line 372 of file free-invdyn.hpp.
|
inline |
Cast the actuation-residual model to a different scalar type.
It is useful for operations requiring different precision or scalar types.
NewScalar | The new scalar type to cast to. |
Definition at line 393 of file free-invdyn.hpp.
|
inlineoverridevirtual |
Print relevant information of the actuation residual model.
[out] | os | Output stream object |
Reimplemented from ResidualModelAbstractTpl< _Scalar >.
Definition at line 408 of file free-invdyn.hpp.