|
| ResidualModelContactControlGravTpl (boost::shared_ptr< StateMultibody > state, const std::size_t nu) |
| Initialize the contact control gravity contact residual model. More...
|
|
| ResidualModelContactControlGravTpl (boost::shared_ptr< StateMultibody > state) |
| Initialize the contact control gravity contact residual model. More...
|
|
virtual void | calc (const boost::shared_ptr< ResidualDataAbstract > &data, const Eigen::Ref< const VectorXs > &x, const Eigen::Ref< const VectorXs > &u) |
| Compute the contact control gravity contact residual. More...
|
|
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 contact control gravity contact residual. More...
|
|
virtual boost::shared_ptr< ResidualDataAbstract > | createData (DataCollectorAbstract *const data) |
| Create the residual data. More...
|
|
virtual void | print (std::ostream &os) const |
| Print relevant information of the contact-control-grav residual. 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...
|
|
| 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) |
|
void | calc (const boost::shared_ptr< ResidualDataAbstract > &data, const Eigen::Ref< const VectorXs > &x) |
|
void | calcDiff (const boost::shared_ptr< ResidualDataAbstract > &data, const Eigen::Ref< const VectorXs > &x) |
|
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.
|
|
template<typename _Scalar>
class crocoddyl::ResidualModelContactControlGravTpl< _Scalar >
Control gravity residual under contact.
This residual function is defined as \(\mathbf{r}=\mathbf{u}-(\mathbf{g}(\mathbf{q}) - \sum \mathbf{J}_c(\mathbf{q})^{\top} \mathbf{f}_c)\), where \(\mathbf{u}\in~\mathbb{R}^{nu}\) is the current control input, \(\mathbf{J}_c(\mathbf{q})\) is the contact Jacobians, \(\mathbf{f}_c\) contains the contact forces, \(\mathbf{g}(\mathbf{q})\) is the gravity torque corresponding to the current configuration, \(\mathbf{q}\in~\mathbb{R}^{nq}\) is the current position joints input. Note that the dimension of the residual vector is obtained from state->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 122 of file fwd.hpp.