|
typedef ContactDataAbstractTpl< Scalar > | ContactDataAbstract |
|
typedef std::map< std::string, boost::shared_ptr< ContactDataAbstract > > | ContactDataContainer |
|
typedef ContactDataMultipleTpl< Scalar > | ContactDataMultiple |
|
typedef ContactItemTpl< Scalar > | ContactItem |
|
typedef ContactModelAbstractTpl< Scalar > | ContactModelAbstract |
|
typedef std::map< std::string, boost::shared_ptr< ContactItem > > | ContactModelContainer |
|
typedef pinocchio::container::aligned_vector< pinocchio::ForceTpl< Scalar > >::iterator | ForceIterator |
|
typedef MathBaseTpl< Scalar > | MathBase |
|
typedef MathBase::MatrixXs | MatrixXs |
|
typedef StateMultibodyTpl< Scalar > | StateMultibody |
|
typedef MathBase::Vector2s | Vector2s |
|
typedef MathBase::Vector3s | Vector3s |
|
typedef MathBase::VectorXs | VectorXs |
|
|
| ContactModelMultipleTpl (boost::shared_ptr< StateMultibody > state) |
| Initialize the multi-contact model. More...
|
|
| ContactModelMultipleTpl (boost::shared_ptr< StateMultibody > state, const std::size_t nu) |
| Initialize the multi-contact model. More...
|
|
void | addContact (const std::string &name, boost::shared_ptr< ContactModelAbstract > contact, const bool active=true) |
| Add contact item. More...
|
|
void | calc (const boost::shared_ptr< ContactDataMultiple > &data, const Eigen::Ref< const VectorXs > &x) |
| Compute the contact Jacobian and contact acceleration. More...
|
|
void | calcDiff (const boost::shared_ptr< ContactDataMultiple > &data, const Eigen::Ref< const VectorXs > &x) |
| Compute the derivatives of the contact holonomic constraint. More...
|
|
void | changeContactStatus (const std::string &name, const bool active) |
| Change the contact status. More...
|
|
boost::shared_ptr< ContactDataMultiple > | createData (pinocchio::DataTpl< Scalar > *const data) |
| Create the multi-contact data. More...
|
|
| DEPRECATED ("get_active() is deprecated and will be replaced with get_active_set()", const std::vector< std::string > &get_active() { active_.clear();active_.reserve(active_set_.size());for(const auto &contact :active_set_) { active_.push_back(contact);} return active_;};) DEPRECATED("get_inactive() is deprecated and will be replaced with get_inactive_set()" |
|
const std::set< std::string > & | get_active_set () const |
| Return the names of the set of active contacts.
|
|
const ContactModelContainer & | get_contacts () const |
| Return the contact models.
|
|
const std::vector< std::string > & | get_inactive () |
|
const std::set< std::string > & | get_inactive_set () const |
| Return the names of the set of inactive contacts.
|
|
std::size_t | get_nc () const |
| Return the dimension of active contacts.
|
|
std::size_t | get_nc_total () const |
| Return the dimension of all contacts.
|
|
std::size_t | get_nu () const |
| Return the dimension of control vector.
|
|
const boost::shared_ptr< StateMultibody > & | get_state () const |
| Return the multibody state.
|
|
bool | getContactStatus (const std::string &name) const |
| Return the status of a given contact name.
|
|
void | removeContact (const std::string &name) |
| Remove contact item. More...
|
|
void | updateAcceleration (const boost::shared_ptr< ContactDataMultiple > &data, const VectorXs &dv) const |
| Update the constrained system acceleration. More...
|
|
void | updateAccelerationDiff (const boost::shared_ptr< ContactDataMultiple > &data, const MatrixXs &ddv_dx) const |
| Update the Jacobian of the constrained system acceleration. More...
|
|
void | updateForce (const boost::shared_ptr< ContactDataMultiple > &data, const VectorXs &force) |
| Update the spatial force defined in frame coordinate. More...
|
|
void | updateForceDiff (const boost::shared_ptr< ContactDataMultiple > &data, const MatrixXs &df_dx, const MatrixXs &df_du) const |
| Update the Jacobian of the spatial force defined in frame coordinate. More...
|
|
template<typename _Scalar>
class crocoddyl::ContactModelMultipleTpl< _Scalar >
Define a stack of contact models.
The contact models can be defined with active and inactive status. The idea behind this design choice is to be able to create a mechanism that allocates the entire data needed for the computations. Then, there are designed routines that update the only active contacts.
Definition at line 55 of file multiple-contacts.hpp.