When searching for the separating plane, we want to certify that the numerator of a rational is non-negative in the C-space box q_box_lower <= q <= q_box_upper (or equivalently s_box_lower <= s <= s_box_upper).
Hence for each of the rational we will introduce Lagrangian multipliers for the polytopic constraint s - s_box_lower >= 0, s_box_upper - s >= 0.
#include <drake/geometry/optimization/cspace_free_box.h>
Public Member Functions | |
| SeparatingPlaneLagrangians (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 > & | s_box_lower () const |
| The Lagrangians for s - s_box_lower >= 0. | |
| VectorX< symbolic::Polynomial > & | mutable_s_box_lower () |
| The Lagrangians for s - s_box_lower >= 0. | |
| const VectorX< symbolic::Polynomial > & | s_box_upper () const |
| The Lagrangians for s_box_upper - s >= 0. | |
| VectorX< symbolic::Polynomial > & | mutable_s_box_upper () |
| The Lagrangians for s_box_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 |
|
explicit |
|
nodiscard |
Substitutes the decision variables in each Lagrangians with its value in result, returns the substitution result.
| VectorX< symbolic::Polynomial > & mutable_s_box_lower | ( | ) |
The Lagrangians for s - s_box_lower >= 0.
| VectorX< symbolic::Polynomial > & mutable_s_box_upper | ( | ) |
The Lagrangians for s_box_upper - s >= 0.
|
default |
|
default |
| const VectorX< symbolic::Polynomial > & s_box_lower | ( | ) | const |
The Lagrangians for s - s_box_lower >= 0.
| const VectorX< symbolic::Polynomial > & s_box_upper | ( | ) | const |
The Lagrangians for s_box_upper - s >= 0.