|
| | ContactsFrictionSurfaceConstraint (bool _reduced=false, bool _use_slack=false) |
| | Default constructor.
|
| virtual | ~ContactsFrictionSurfaceConstraint ()=default |
| virtual void | update (RobotModelPtr robot_model) override |
| | Update constraint matrix and vectors, depending on the type. Abstract method.
|
| void | setUseSlack (bool enable) |
| | Enable/disable softening of the friction cone using one slack variable per contact.
|
| bool | useSlack () const |
| | Return whether the friction cone is softened using slack variables.
|
| virtual | ~Constraint ()=default |
| Type | type () |
| | Return the type of this constraint.
|
| const Eigen::MatrixXd & | A () |
| | return constraint matrix A
|
| const Eigen::VectorXd & | b () |
| | return constraint vector b
|
| const Eigen::VectorXd & | lb () |
| | return constraint lower bound lb
|
| const Eigen::VectorXd & | ub () |
| | return constraint upper bound ub
|
| uint | size () |
| | return size of the constraint (i.e. number of rows of the constraint matrix)
|
Polyhedral wrench friction (coulomb) cone constraint according to https://scaron.info/robotics/wrench-friction-cones.html (Wrench friction cone for surface contacts).
If use_slack is set, the cone is softened using a single slack variable s per contact: A*f <= s, s >= 0. The slack variables are assumed to be appended to the qp variables, i.e., the variable order becomes (qdd,f_ext,s). The bounds s >= 0 and the penalty on s have to be added by the scene.