|
| DifferentialActionModelFreeInvDynamicsTpl (std::shared_ptr< StateMultibody > state, std::shared_ptr< ActuationModelAbstract > actuation, std::shared_ptr< CostModelSum > costs) |
| Initialize the free inverse-dynamics action model. More...
|
|
| DifferentialActionModelFreeInvDynamicsTpl (std::shared_ptr< StateMultibody > state, std::shared_ptr< ActuationModelAbstract > actuation, std::shared_ptr< CostModelSum > costs, std::shared_ptr< ConstraintModelManager > constraints) |
| Initialize the free inverse-dynamics action model. More...
|
|
virtual void | calc (const std::shared_ptr< DifferentialActionDataAbstract > &data, const Eigen::Ref< const VectorXs > &x) override |
|
virtual void | calc (const std::shared_ptr< DifferentialActionDataAbstract > &data, const Eigen::Ref< const VectorXs > &x, const Eigen::Ref< const VectorXs > &u) override |
| Compute the system acceleration, cost value and constraint residuals. More...
|
|
virtual void | calcDiff (const std::shared_ptr< DifferentialActionDataAbstract > &data, const Eigen::Ref< const VectorXs > &x) override |
|
virtual void | calcDiff (const std::shared_ptr< DifferentialActionDataAbstract > &data, const Eigen::Ref< const VectorXs > &x, const Eigen::Ref< const VectorXs > &u) override |
| Compute the derivatives of the dynamics, cost and constraint functions. More...
|
|
template<typename NewScalar > |
DifferentialActionModelFreeInvDynamicsTpl< NewScalar > | cast () const |
| Cast the free-invdyn model to a different scalar type. More...
|
|
virtual bool | checkData (const std::shared_ptr< DifferentialActionDataAbstract > &data) override |
| Checks that a specific data belongs to the free inverse-dynamics model.
|
|
virtual std::shared_ptr< DifferentialActionDataAbstract > | createData () override |
| Create the free inverse-dynamics data. More...
|
|
EIGEN_MAKE_ALIGNED_OPERATOR_NEW | CROCODDYL_DERIVED_CAST (DifferentialActionModelBase, DifferentialActionModelFreeInvDynamicsTpl) typedef _Scalar Scalar |
|
const std::shared_ptr< ActuationModelAbstract > & | get_actuation () const |
| Return the actuation model.
|
|
const std::shared_ptr< ConstraintModelManager > & | get_constraints () const |
| Return the constraint model manager.
|
|
const std::shared_ptr< CostModelSum > & | get_costs () const |
| Return the cost model.
|
|
virtual const VectorXs & | get_g_lb () const override |
| Return the lower bound of the inequality constraints.
|
|
virtual const VectorXs & | get_g_ub () const override |
| Return the upper bound of the inequality constraints.
|
|
virtual std::size_t | get_ng () const override |
| Return the number of inequality constraints.
|
|
virtual std::size_t | get_ng_T () const override |
| Return the number of equality terminal constraints.
|
|
virtual std::size_t | get_nh () const override |
| Return the number of equality constraints.
|
|
virtual std::size_t | get_nh_T () const override |
| Return the number of equality terminal constraints.
|
|
pinocchio::ModelTpl< Scalar > & | get_pinocchio () const |
| Return the Pinocchio model.
|
|
virtual void | print (std::ostream &os) const override |
| Print relevant information of the free inverse-dynamics model. More...
|
|
virtual void | quasiStatic (const std::shared_ptr< DifferentialActionDataAbstract > &data, Eigen::Ref< VectorXs > u, const Eigen::Ref< const VectorXs > &x, const std::size_t maxiter=100, const Scalar tol=Scalar(1e-9)) override |
| Computes the quasic static commands. More...
|
|
| DifferentialActionModelAbstractTpl (std::shared_ptr< StateAbstract > state, const std::size_t nu, const std::size_t nr=0, const std::size_t ng=0, const std::size_t nh=0, const std::size_t ng_T=0, const std::size_t nh_T=0) |
| Initialize the differential action model. More...
|
|
bool | get_has_control_limits () const |
| Indicates if there are defined control limits.
|
|
std::size_t | get_nr () const |
| Return the dimension of the cost-residual vector.
|
|
std::size_t | get_nu () const |
| Return the dimension of the control input.
|
|
const std::shared_ptr< StateAbstract > & | get_state () const |
| Return the state.
|
|
const VectorXs & | get_u_lb () const |
| Return the control lower bound.
|
|
const VectorXs & | get_u_ub () const |
| Return the control upper bound.
|
|
VectorXs | quasiStatic_x (const std::shared_ptr< DifferentialActionDataAbstract > &data, const VectorXs &x, const std::size_t maxiter=100, const Scalar tol=Scalar(1e-9)) |
|
void | set_g_lb (const VectorXs &g_lb) |
| Modify the lower bound of the inequality constraints.
|
|
void | set_g_ub (const VectorXs &g_ub) |
| Modify the upper bound of the inequality constraints.
|
|
void | set_u_lb (const VectorXs &u_lb) |
| Modify the control lower bounds.
|
|
void | set_u_ub (const VectorXs &u_ub) |
| Modify the control upper bounds.
|
|
|
VectorXs | g_lb_ |
| Lower bound of the inequality constraints.
|
|
VectorXs | g_ub_ |
| < Lower bound of the inequality constraints
|
|
std::size_t | ng_ |
| < Upper bound of the inequality constraints
|
|
std::size_t | nh_ |
| < Number of inequality constraints
|
|
std::size_t | nu_ |
| < Number of equality constraints
|
|
std::shared_ptr< StateAbstract > | state_ |
| < Control dimension
|
|
VectorXs | g_lb_ |
| Lower bound of the inequality constraints.
|
|
VectorXs | g_ub_ |
| Lower bound of the inequality constraints.
|
|
bool | has_control_limits_ |
|
std::size_t | ng_ |
| Number of inequality constraints.
|
|
std::size_t | ng_T_ |
| Number of inequality terminal constraints.
|
|
std::size_t | nh_ |
| Number of equality constraints.
|
|
std::size_t | nh_T_ |
| Number of equality terminal constraints.
|
|
std::size_t | nr_ |
| Dimension of the cost residual.
|
|
std::size_t | nu_ |
| Control dimension.
|
|
std::shared_ptr< StateAbstract > | state_ |
| Model of the state.
|
|
VectorXs | u_lb_ |
| Lower control limits.
|
|
VectorXs | u_ub_ |
| Upper control limits.
|
|
VectorXs | unone_ |
| Neutral state.
|
|
template<typename _Scalar>
class crocoddyl::DifferentialActionModelFreeInvDynamicsTpl< _Scalar >
Differential action model for free inverse dynamics in multibody systems.
This class implements forward kinematic with an inverse-dynamics computed using the Recursive Newton Euler Algorithm (RNEA). The stack of cost and constraint functions are implemented in CostModelSumTpl
and ConstraintModelManagerTpl
, respectively. The accelerations are the decision variables defined as the control inputs, and the under-actuation constraint is under the name tau
, thus the user is not allowed to use it.
- See also
DifferentialActionModelAbstractTpl
, calc()
, calcDiff()
, createData()
Definition at line 39 of file free-invdyn.hpp.