We certify that a pair of geometries is collision free in the C-space box {q | q_box_lower<=q<=q_box_upper} by finding the separating plane and the Lagrangian multipliers.
This struct contains the certificate, that the separating plane {x | aᵀx+b=0 } separates the two geometries in separating_planes()[plane_index] in the C-space box.
#include <drake/geometry/optimization/cspace_free_box.h>
Public Member Functions | |
SeparationCertificateResult () | |
~SeparationCertificateResult () override=default | |
const std::vector< SeparatingPlaneLagrangians > & | lagrangians (PlaneSide plane_side) const |
Implements CopyConstructible, CopyAssignable, MoveConstructible, MoveAssignable | |
SeparationCertificateResult (const SeparationCertificateResult &)=default | |
SeparationCertificateResult & | operator= (const SeparationCertificateResult &)=default |
SeparationCertificateResult (SeparationCertificateResult &&)=default | |
SeparationCertificateResult & | operator= (SeparationCertificateResult &&)=default |
Public Member Functions inherited from SeparationCertificateResultBase | |
SeparationCertificateResultBase () | |
virtual | ~SeparationCertificateResultBase ()=default |
Public Attributes | |
std::vector< SeparatingPlaneLagrangians > | positive_side_rational_lagrangians |
std::vector< SeparatingPlaneLagrangians > | negative_side_rational_lagrangians |
Public Attributes inherited from SeparationCertificateResultBase | |
int | plane_index {-1} |
Vector3< symbolic::Polynomial > | a |
The separating plane is { x | aᵀx+b=0 }. More... | |
symbolic::Polynomial | b |
Eigen::VectorXd | plane_decision_var_vals |
solvers::MathematicalProgramResult | result |
Additional Inherited Members | |
Protected Member Functions inherited from SeparationCertificateResultBase | |
SeparationCertificateResultBase (const SeparationCertificateResultBase &)=default | |
SeparationCertificateResultBase & | operator= (const SeparationCertificateResultBase &)=default |
SeparationCertificateResultBase (SeparationCertificateResultBase &&)=default | |
SeparationCertificateResultBase & | operator= (SeparationCertificateResultBase &&)=default |
|
default |
|
default |
|
overridedefault |
const std::vector<SeparatingPlaneLagrangians>& lagrangians | ( | PlaneSide | plane_side | ) | const |
|
default |
|
default |
std::vector<SeparatingPlaneLagrangians> negative_side_rational_lagrangians |
std::vector<SeparatingPlaneLagrangians> positive_side_rational_lagrangians |