|
| DifferentialActionModelFreeInvDynamicsTpl (boost::shared_ptr< StateMultibody > state, boost::shared_ptr< ActuationModelAbstract > actuation, boost::shared_ptr< CostModelSum > costs) |
| Initialize the free inverse-dynamics action model. More...
|
|
| DifferentialActionModelFreeInvDynamicsTpl (boost::shared_ptr< StateMultibody > state, boost::shared_ptr< ActuationModelAbstract > actuation, boost::shared_ptr< CostModelSum > costs, boost::shared_ptr< ConstraintModelManager > constraints) |
| Initialize the free inverse-dynamics action model. More...
|
|
virtual void | calc (const boost::shared_ptr< DifferentialActionDataAbstract > &data, const Eigen::Ref< const VectorXs > &x) |
|
virtual void | calc (const boost::shared_ptr< DifferentialActionDataAbstract > &data, const Eigen::Ref< const VectorXs > &x, const Eigen::Ref< const VectorXs > &u) |
| Compute the system acceleration, cost value and constraint residuals. More...
|
|
virtual void | calcDiff (const boost::shared_ptr< DifferentialActionDataAbstract > &data, const Eigen::Ref< const VectorXs > &x) |
|
virtual void | calcDiff (const boost::shared_ptr< DifferentialActionDataAbstract > &data, const Eigen::Ref< const VectorXs > &x, const Eigen::Ref< const VectorXs > &u) |
| Compute the derivatives of the dynamics, cost and constraint functions. More...
|
|
virtual bool | checkData (const boost::shared_ptr< DifferentialActionDataAbstract > &data) |
| Checks that a specific data belongs to the free inverse-dynamics model.
|
|
virtual boost::shared_ptr< DifferentialActionDataAbstract > | createData () |
| Create the free inverse-dynamics data. More...
|
|
const boost::shared_ptr< ActuationModelAbstract > & | get_actuation () const |
| Return the actuation model.
|
|
const boost::shared_ptr< ConstraintModelManager > & | get_constraints () const |
| Return the constraint model manager.
|
|
const boost::shared_ptr< CostModelSum > & | get_costs () const |
| Return the cost model.
|
|
virtual const VectorXs & | get_g_lb () const |
| Return the lower bound of the inequality constraints.
|
|
virtual const VectorXs & | get_g_ub () const |
| Return the upper bound of the inequality constraints.
|
|
virtual std::size_t | get_ng () const |
| Return the number of inequality constraints.
|
|
virtual std::size_t | get_nh () const |
| Return the number of equality constraints.
|
|
pinocchio::ModelTpl< Scalar > & | get_pinocchio () const |
| Return the Pinocchio model.
|
|
virtual void | print (std::ostream &os) const |
| Print relevant information of the free inverse-dynamics model. More...
|
|
virtual void | quasiStatic (const boost::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)) |
| Computes the quasic static commands. More...
|
|
| DifferentialActionModelAbstractTpl (boost::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) |
| 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 boost::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 boost::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
|
|
boost::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 | nh_ |
| Number of equality constraints.
|
|
std::size_t | nr_ |
| Dimension of the cost residual.
|
|
std::size_t | nu_ |
| Control dimension.
|
|
boost::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 42 of file free-invdyn.hpp.