When searching for the separating plane, we want to certify that the numerator of a rational is non-negative in the C-space region C*s<=d, s_lower <= s <= s_upper.
Hence for each of the rational we will introduce Lagrangian multipliers for the polytopic constraint d-C*s >= 0, s - s_lower >= 0, s_upper - s >= 0.
#include <drake/geometry/optimization/cspace_free_polytope.h>
Public Member Functions | |
SeparatingPlaneLagrangians (int C_rows, int s_size) | |
SeparatingPlaneLagrangians | GetSolution (const solvers::MathematicalProgramResult &result) const |
Substitutes the decision variables in each Lagrangians with its value in result, returns the substitution result. More... | |
const VectorX< symbolic::Polynomial > & | polytope () const |
The Lagrangians for d - C*s >= 0. More... | |
VectorX< symbolic::Polynomial > & | mutable_polytope () |
The Lagrangians for d - C*s >= 0. More... | |
const VectorX< symbolic::Polynomial > & | s_lower () const |
The Lagrangians for s - s_lower >= 0. More... | |
VectorX< symbolic::Polynomial > & | mutable_s_lower () |
The Lagrangians for s - s_lower >= 0. More... | |
const VectorX< symbolic::Polynomial > & | s_upper () const |
The Lagrangians for s_upper - s >= 0. More... | |
VectorX< symbolic::Polynomial > & | mutable_s_upper () |
The Lagrangians for s_upper - s >= 0. More... | |
SeparatingPlaneLagrangians | ( | int | C_rows, |
int | s_size | ||
) |
SeparatingPlaneLagrangians GetSolution | ( | const solvers::MathematicalProgramResult & | result | ) | const |
Substitutes the decision variables in each Lagrangians with its value in result, returns the substitution result.
VectorX<symbolic::Polynomial>& mutable_polytope | ( | ) |
The Lagrangians for d - C*s >= 0.
VectorX<symbolic::Polynomial>& mutable_s_lower | ( | ) |
The Lagrangians for s - s_lower >= 0.
VectorX<symbolic::Polynomial>& mutable_s_upper | ( | ) |
The Lagrangians for s_upper - s >= 0.
const VectorX<symbolic::Polynomial>& polytope | ( | ) | const |
The Lagrangians for d - C*s >= 0.
const VectorX<symbolic::Polynomial>& s_lower | ( | ) | const |
The Lagrangians for s - s_lower >= 0.
const VectorX<symbolic::Polynomial>& s_upper | ( | ) | const |
The Lagrangians for s_upper - s >= 0.