|
| ContactWrenchCone (const Robot &robot, const double X, const double Y) |
| Constructor. More...
|
|
| ContactWrenchCone () |
| Default constructor. More...
|
|
| ~ContactWrenchCone () |
| Destructor. More...
|
|
| ContactWrenchCone (const ContactWrenchCone &)=default |
| Default copy constructor. More...
|
|
ContactWrenchCone & | operator= (const ContactWrenchCone &)=default |
| Default copy operator. More...
|
|
| ContactWrenchCone (ContactWrenchCone &&) noexcept=default |
| Default move constructor. More...
|
|
ContactWrenchCone & | operator= (ContactWrenchCone &&) noexcept=default |
| Default move assign operator. More...
|
|
void | setRectangular (const double X, const double Y) |
|
KinematicsLevel | kinematicsLevel () const override |
| Checks the kinematics level of the constraint component. More...
|
|
void | allocateExtraData (ConstraintComponentData &data) const override |
| Allocates extra data in ConstraintComponentData. More...
|
|
bool | isFeasible (Robot &robot, const ContactStatus &contact_status, ConstraintComponentData &data, const SplitSolution &s) const override |
| Checks whether the current solution s is feasible or not. More...
|
|
void | setSlack (Robot &robot, const ContactStatus &contact_status, ConstraintComponentData &data, const SplitSolution &s) const override |
| Sets the slack variables of each constraint components. More...
|
|
void | evalConstraint (Robot &robot, const ContactStatus &contact_status, ConstraintComponentData &data, const SplitSolution &s) const override |
| Computes the primal residual, residual in the complementary slackness, and the log-barrier function of the slack varible. More...
|
|
void | evalDerivatives (Robot &robot, const ContactStatus &contact_status, ConstraintComponentData &data, const SplitSolution &s, SplitKKTResidual &kkt_residual) const override |
| Computes the derivatives of the priaml residual, i.e., the Jacobian of the inequality constraint, and add the product of the Jacobian and the dual variable to the KKT residual. This function is always called just after evalConstraint(). More...
|
|
void | condenseSlackAndDual (const ContactStatus &contact_status, ConstraintComponentData &data, SplitKKTMatrix &kkt_matrix, SplitKKTResidual &kkt_residual) const override |
| Condenses the slack and dual variables, i.e., factorizes the
condensed Hessians and KKT residuals. This function is always called just after evalDerivatives(). More...
|
|
void | expandSlackAndDual (const ContactStatus &contact_status, ConstraintComponentData &data, const SplitDirection &d) const override |
| Expands the slack and dual, i.e., computes the directions of the slack and dual variables from the directions of the primal variables. More...
|
|
int | dimc () const override |
| Returns the size of the constraint. More...
|
|
| ConstraintComponentBase (const double barrier_param=1.0e-03, const double fraction_to_boundary_rule=0.995) |
| Constructor. More...
|
|
virtual | ~ConstraintComponentBase () |
| Destructor. More...
|
|
| ConstraintComponentBase (const ConstraintComponentBase &)=default |
| Default copy constructor. More...
|
|
ConstraintComponentBase & | operator= (const ConstraintComponentBase &)=default |
| Default copy operator. More...
|
|
| ConstraintComponentBase (ConstraintComponentBase &&) noexcept=default |
| Default move constructor. More...
|
|
ConstraintComponentBase & | operator= (ConstraintComponentBase &&) noexcept=default |
| Default move assign operator. More...
|
|
virtual KinematicsLevel | kinematicsLevel () const =0 |
| Checks the kinematics level of the constraint component. More...
|
|
virtual void | allocateExtraData (ConstraintComponentData &data) const =0 |
| Allocates extra data in ConstraintComponentData. More...
|
|
virtual bool | isFeasible (Robot &robot, const ContactStatus &contact_status, ConstraintComponentData &data, const SplitSolution &s) const =0 |
| Checks whether the current solution s is feasible or not. More...
|
|
virtual void | setSlack (Robot &robot, const ContactStatus &contact_status, ConstraintComponentData &data, const SplitSolution &s) const =0 |
| Sets the slack variables of each constraint components. More...
|
|
virtual void | evalConstraint (Robot &robot, const ContactStatus &contact_status, ConstraintComponentData &data, const SplitSolution &s) const =0 |
| Computes the primal residual, residual in the complementary slackness, and the log-barrier function of the slack varible. More...
|
|
virtual void | evalDerivatives (Robot &robot, const ContactStatus &contact_status, ConstraintComponentData &data, const SplitSolution &s, SplitKKTResidual &kkt_residual) const =0 |
| Computes the derivatives of the priaml residual, i.e., the Jacobian of the inequality constraint, and add the product of the Jacobian and the dual variable to the KKT residual. This function is always called just after evalConstraint(). More...
|
|
virtual void | condenseSlackAndDual (const ContactStatus &contact_status, ConstraintComponentData &data, SplitKKTMatrix &kkt_matrix, SplitKKTResidual &kkt_residual) const =0 |
| Condenses the slack and dual variables, i.e., factorizes the
condensed Hessians and KKT residuals. This function is always called just after evalDerivatives(). More...
|
|
virtual void | expandSlackAndDual (const ContactStatus &contact_status, ConstraintComponentData &data, const SplitDirection &d) const =0 |
| Expands the slack and dual, i.e., computes the directions of the slack and dual variables from the directions of the primal variables. More...
|
|
virtual int | dimc () const =0 |
| Returns the size of the constraint. More...
|
|
void | setSlackAndDualPositive (ConstraintComponentData &data) const |
| Sets the slack and dual variables positive. More...
|
|
double | maxSlackStepSize (const ConstraintComponentData &data) const |
| Computes and returns the maximum step size by applying fraction-to-boundary-rule to the direction of the slack variable. More...
|
|
double | maxDualStepSize (const ConstraintComponentData &data) const |
| Computes and returns the maximum step size by applying fraction-to-boundary-rule to the direction of the dual variable. More...
|
|
virtual double | getBarrierParam () const final |
| Gets the barrier parameter. More...
|
|
virtual double | getFractionToBoundaryRule () const final |
| Gets the margin parameter of the fraction-to-boundary-rule. More...
|
|
virtual void | setBarrierParam (const double barrier_param) final |
| Sets the barrier parameter. More...
|
|
virtual void | setFractionToBoundaryRule (const double fraction_to_boundary_rule) final |
| Sets the margin parameter of the fraction-to-boundary-rule. More...
|
|
template<typename Derived > |
std::shared_ptr< Derived > | as_shared_ptr () |
| Gets the shared ptr of this object as the specified type. If this fails in dynamic casting, throws an exception. More...
|
|
|
static void | updateSlack (ConstraintComponentData &data, const double step_size) |
| Updates the slack variable according to the step size. More...
|
|
static void | updateDual (ConstraintComponentData &data, const double step_size) |
| Updates the dual variable according to the step size. More...
|
|
void | computeComplementarySlackness (ConstraintComponentData &data) const |
| Computes the residual in the complementarity slackness between
the slack and dual variables. More...
|
|
void | computeComplementarySlackness (ConstraintComponentData &data, const int start, const int size) const |
| Computes the residual in the complementarity slackness between
the slack and dual variables. More...
|
|
template<int Size> |
void | computeComplementarySlackness (ConstraintComponentData &data, const int start) const |
| Computes the residual in the complementarity slackness between
the slack and dual variables. More...
|
|
double | computeComplementarySlackness (const double slack, const double dual) const |
| Computes the residual in the complementarity slackness between
the slack and dual variables. More...
|
|
template<typename VectorType > |
double | logBarrier (const Eigen::MatrixBase< VectorType > &slack) const |
| Computes the log barrier function of the slack variable. More...
|
|
static void | computeCondensingCoeffcient (ConstraintComponentData &data) |
| Computes the coefficient of the condensing. More...
|
|
static void | computeCondensingCoeffcient (ConstraintComponentData &data, const int start, const int size) |
| Computes the coefficient of the condensing. More...
|
|
template<int Size> |
static void | computeCondensingCoeffcient (ConstraintComponentData &data, const int start) |
| Computes the coefficient of the condensing. More...
|
|
static double | computeCondensingCoeffcient (const double slack, const double dual, const double residual, const double cmpl) |
| Computes the residual in the complementarity slackness between
the slack and dual variables. More...
|
|
static void | computeDualDirection (ConstraintComponentData &data) |
| Computes the direction of the dual variable from slack, primal residual, complementary slackness, and the direction of the slack. More...
|
|
static void | computeDualDirection (ConstraintComponentData &data, const int start, const int size) |
| Computes the direction of the dual variable from slack, primal residual, complementary slackness, and the direction of the slack. More...
|
|
template<int Size> |
static void | computeDualDirection (ConstraintComponentData &data, const int start) |
| Computes the direction of the dual variable from slack, primal residual, complementary slackness, and the direction of the slack. More...
|
|
static double | computeDualDirection (const double slack, const double dual, const double dslack, const double cmpl) |
| Computes the direction of the dual variable from slack, primal residual, complementary slackness, and the direction of the slack. More...
|
|
Constraint on the contact wrench cone for surface contacts.