Drake
Drake C++ Documentation
CspaceFreeBox::SeparationCertificate Struct Reference

Detailed Description

This struct stores the necessary information to search for the separating plane for the polytopic C-space box q_box_lower <= q <= q_box_upper.

We need to impose that N rationals are non-negative in this C-space box. The denominator of each rational is always positive hence we need to impose the N numerators are non-negative in this C-space box. We impose the condition numerator_i(s) - λ_lower(s)ᵀ * (s - s_lower) -λ_upper(s)ᵀ * (s_upper - s) is sos λ_lower(s) are sos, λ_upper(s) are sos.

#include <drake/geometry/optimization/cspace_free_box.h>

Public Member Functions

 SeparationCertificate ()
 
SeparationCertificateResult GetSolution (int plane_index, const Vector3< symbolic::Polynomial > &a, const symbolic::Polynomial &b, const VectorX< symbolic::Variable > &plane_decision_vars, const solvers::MathematicalProgramResult &result) const
 
std::vector< SeparatingPlaneLagrangians > & mutable_lagrangians (PlaneSide plane_side)
 

Public Attributes

std::vector< SeparatingPlaneLagrangianspositive_side_rational_lagrangians
 
std::vector< SeparatingPlaneLagrangiansnegative_side_rational_lagrangians
 

Constructor & Destructor Documentation

◆ SeparationCertificate()

Member Function Documentation

◆ GetSolution()

SeparationCertificateResult GetSolution ( int  plane_index,
const Vector3< symbolic::Polynomial > &  a,
const symbolic::Polynomial b,
const VectorX< symbolic::Variable > &  plane_decision_vars,
const solvers::MathematicalProgramResult result 
) const

◆ mutable_lagrangians()

std::vector<SeparatingPlaneLagrangians>& mutable_lagrangians ( PlaneSide  plane_side)

Member Data Documentation

◆ negative_side_rational_lagrangians

std::vector<SeparatingPlaneLagrangians> negative_side_rational_lagrangians

◆ positive_side_rational_lagrangians

std::vector<SeparatingPlaneLagrangians> positive_side_rational_lagrangians

The documentation for this struct was generated from the following file: