|
| | QuasiStaticConstraint (RigidBodyTree *robot, const Eigen::Vector2d &tspan=DrakeRigidBodyConstraint::default_tspan, const std::set< int > &robotnumset=QuasiStaticConstraint::defaultRobotNumSet) |
| |
| virtual | ~QuasiStaticConstraint (void) |
| |
| bool | isTimeValid (const double *t) const |
| |
| int | getNumConstraint (const double *t) const |
| |
| void | eval (const double *t, KinematicsCache< double > &cache, const double *weights, Eigen::VectorXd &c, Eigen::MatrixXd &dc) const |
| |
| void | bounds (const double *t, Eigen::VectorXd &lb, Eigen::VectorXd &ub) const |
| |
| void | name (const double *t, std::vector< std::string > &name_str) const |
| |
| bool | isActive () const |
| |
| int | getNumWeights () const |
| |
| void | addContact (int num_new_bodies, const int *body, const Eigen::Matrix3Xd *body_pts) |
| |
| void | setShrinkFactor (double factor) |
| |
| void | setActive (bool flag) |
| |
| void | updateRobot (RigidBodyTree *robot) |
| |
| void | updateRobotnum (std::set< int > &robotnumset) |
| |
Public Member Functions inherited from RigidBodyConstraint |
| | RigidBodyConstraint (int category, RigidBodyTree *robot, const Eigen::Vector2d &tspan=DrakeRigidBodyConstraint::default_tspan) |
| |
| int | getType () const |
| |
| int | getCategory () const |
| |
| RigidBodyTree * | getRobotPointer () const |
| |
| virtual | ~RigidBodyConstraint (void)=0 |
| |
the Center of Mass (CoM) is within the support polygon.
The support polygon is a shrunk area of the contact polygon
- Parameters
-
| robot | |
| tspan | – The time span of this constraint being active |
| robotnumset | – The set of the robots in the RigidBodyTree for which the CoM is computed |
| shrinkFactor | – The factor to shrink the contact polygon. The shrunk area is the support polygon. |
| active | – Whether the constraint is on/off. If active = false, even the time t is within tspan, the constraint is still inactive |
| num_bodies | – The total number of ground contact bodies/frames |
| num_pts | – The total number of ground contact points |
| bodies | – The index of ground contact bodies/frames |
| num_body_pts | – The number of contact points on each contact body/frame |
| body_pts | – The contact points on each contact body/frame |
Function: eval –evaluate the constraint
- Parameters
-
| t | –the time to evaluate the constraint |
| weights | –the weight associate with each ground contact point |
| c | – c = CoM-weights'*support_vertex |
| dc | – dc = [dcdq dcdweiths] addContact – add contact body and points |
| num_new_bodies | – number of new contact bodies |
| body | – the index of new contact bodies/frames |
| body_pts | – body_pts[i] are the contact points on body[i] |