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 () | |
| SeparatingPlaneLagrangians | GetSolution (const solvers::MathematicalProgramResult &result) const |
| Substitutes the decision variables in each Lagrangians with its value in result, returns the substitution result. | |
| const VectorX< symbolic::Polynomial > & | polytope () const |
| The Lagrangians for d - C*s >= 0. | |
| VectorX< symbolic::Polynomial > & | mutable_polytope () |
| The Lagrangians for d - C*s >= 0. | |
| const VectorX< symbolic::Polynomial > & | s_lower () const |
| The Lagrangians for s - s_lower >= 0. | |
| VectorX< symbolic::Polynomial > & | mutable_s_lower () |
| The Lagrangians for s - s_lower >= 0. | |
| const VectorX< symbolic::Polynomial > & | s_upper () const |
| The Lagrangians for s_upper - s >= 0. | |
| VectorX< symbolic::Polynomial > & | mutable_s_upper () |
| The Lagrangians for s_upper - s >= 0. | |
Implements CopyConstructible, CopyAssignable, MoveConstructible, MoveAssignable | |
| SeparatingPlaneLagrangians (const SeparatingPlaneLagrangians &)=default | |
| SeparatingPlaneLagrangians & | operator= (const SeparatingPlaneLagrangians &)=default |
| SeparatingPlaneLagrangians (SeparatingPlaneLagrangians &&)=default | |
| SeparatingPlaneLagrangians & | operator= (SeparatingPlaneLagrangians &&)=default |
|
default |
|
default |
| SeparatingPlaneLagrangians | ( | int | C_rows, |
| int | s_size ) |
|
nodiscard |
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.
|
default |
|
default |
| 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.