This file is used in our C-IRIS algorithm and will be used in our C-Space path certifier, which certifies collision-free region in the configuration space, by finding separating planes for each pair of geometry over all configurations in a C-space region.
For the detailed algorithm please refer to the paper
Certified Polyhedral Decompositions of Collision-Free Configuration Space by Hongkai Dai*, Alexandre Amice*, Peter Werner, Annan Zhang and Russ Tedrake.
#include <utility>#include "drake/common/symbolic/polynomial.h"#include "drake/geometry/optimization/c_iris_collision_geometry.h"Classes | |
| struct | CSpaceSeparatingPlane< T > |
| Wraps the information that a pair of collision geometries are separated by a plane. More... | |
Namespaces | |
| namespace | drake |
| namespace | drake::geometry |
| namespace | drake::geometry::optimization |
Enumerations | |
| enum class | SeparatingPlaneOrder { kAffine = 1 } |
| The separating plane aᵀx + b ≥ δ, aᵀx + b ≤ −δ has parameters a and b. More... | |
Functions | |
| SeparatingPlaneOrder | ToPlaneOrder (int plane_degree) |
| Convert an integer degree to the SeparatingPlaneOrder. | |
| int | ToPlaneDegree (SeparatingPlaneOrder plane_order) |
| Convert SeparatingPlaneOrder to an integer degree. | |
| template<typename D, typename S, typename V> | |
| void | CalcPlane (const VectorX< D > &decision_variables, const VectorX< S > &s_for_plane, int plane_degree, Vector3< V > *a_val, V *b_val) |
| Computes the parameters a, b in the plane { x | aᵀx+b=0 }. | |