Class DynamicFeasibility

Inheritance Relationships

Base Type

Class Documentation

class DynamicFeasibility : public OpenSoT::Task<Eigen::MatrixXd, Eigen::VectorXd>

The DynamicFeasibility class models floating-base underactuation:

Mqddot + h = Jc’Wc

where M is the [6 x n+6] floating base inertia matrix, qddot are the [n+6] joint accelerations, h are the [6] vector of non linear terms, Jc’ are the stacked contacts [6 x k*6] (full wrench) and Wc are the [k*6] contact wrenches.

Public Types

typedef std::shared_ptr<DynamicFeasibility> Ptr

Public Functions

DynamicFeasibility(const std::string task_id, const XBot::ModelInterface &robot, const AffineHelper &qddot, const std::vector<AffineHelper> &wrenches, const std::vector<std::string> &contact_links)

DynamicFeasibility constructor.

Parameters
  • task_id – id

  • robot – model reference

  • qddot – variables

  • wrenches – variables

  • contact_links – vector of string of contact links

bool enableContact(const std::string &contact_link)

enableContact for task computation

Parameters

contact_link

Returns

false if the contact is not in the contacts vector

bool disableContact(const std::string &contact_link)

disableContact for task computation

Parameters

contact_link

Returns

false if the contact is not in the contacts vector

const std::vector<bool> &getEnabledContacts() const

getEnabledContacts

Returns

vector of booleans indicating active contact (in the same order as in contact_links)

Eigen::VectorXd checkTask(const Eigen::VectorXd &x)