We certify that a pair of geometries is collision free in the C-space region {s | Cs<=d, s_lower<=s<=s_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 polytope.
#include <drake/geometry/optimization/cspace_free_polytope.h>
Public Member Functions | |
| SeparationCertificateResult ()=default | |
| ~SeparationCertificateResult () final | |
| 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 ()=default | |
| virtual | ~SeparationCertificateResultBase () |
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 }. | |
| 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 |
|
default |
|
final |
| 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 |