A convex set that represents the Minkowski sum of multiple sets: S = X₁ ⨁ X₂ ⨁ ...
⨁ Xₙ = {x₁ + x₂ + ... + xₙ | x₁ ∈ X₁, x₂ ∈ X₂, ..., xₙ ∈ Xₙ}
Special behavior for IsEmpty: The Minkowski sum of zero sets (i.e. when we have sets_.size() == 0) is treated as the singleton {0}, which is nonempty. This includes the zero-dimensional case.
|
| | MinkowskiSum () |
| | Constructs a default (zero-dimensional, nonempty) set. More...
|
| |
| | MinkowskiSum (const ConvexSets &sets) |
| | Constructs the sum from a vector of convex sets. More...
|
| |
| | MinkowskiSum (const ConvexSet &setA, const ConvexSet &setB) |
| | Constructs the sum from a pair of convex sets. More...
|
| |
| | MinkowskiSum (const QueryObject< double > &query_object, GeometryId geometry_id, std::optional< FrameId > reference_frame=std::nullopt) |
| | Constructs a MinkowskiSum from a SceneGraph geometry and pose in the reference_frame frame, obtained via the QueryObject. More...
|
| |
| | ~MinkowskiSum () final |
| |
| int | num_terms () const |
| | The number of terms (or sets) used in the sum. More...
|
| |
| const ConvexSet & | term (int index) const |
| | Returns a reference to the ConvexSet defining the index term in the sum. More...
|
| |
| bool | PointInSet (const Eigen::Ref< const Eigen::VectorXd > &x, double tol=0) const |
| | Returns true if the point is in the set. More...
|
| |
| bool | IsBounded (Parallelism parallelism=Parallelism::None()) const |
| | A MinkowskiSum is bounded if all its constituent sets are bounded or if any are empty. More...
|
| |
|
| | MinkowskiSum (const MinkowskiSum &)=default |
| |
| MinkowskiSum & | operator= (const MinkowskiSum &)=default |
| |
| | MinkowskiSum (MinkowskiSum &&)=default |
| |
| MinkowskiSum & | operator= (MinkowskiSum &&)=default |
| |
| virtual | ~ConvexSet () |
| |
| std::unique_ptr< ConvexSet > | Clone () const |
| | Creates a unique deep copy of this set. More...
|
| |
| int | ambient_dimension () const |
| | Returns the dimension of the vector space in which the elements of this set are evaluated. More...
|
| |
| bool | IntersectsWith (const ConvexSet &other) const |
| | Returns true iff the intersection between this and other is non-empty. More...
|
| |
| bool | IsBounded (Parallelism parallelism=Parallelism::None()) const |
| | Returns true iff the set is bounded, e.g., there exists an element-wise finite lower and upper bound for the set. More...
|
| |
| bool | IsEmpty () const |
| | Returns true iff the set is empty. More...
|
| |
| std::optional< Eigen::VectorXd > | MaybeGetPoint () const |
| | If this set trivially contains exactly one point, returns the value of that point. More...
|
| |
| std::optional< Eigen::VectorXd > | MaybeGetFeasiblePoint () const |
| | Returns a feasible point within this convex set if it is nonempty, and nullopt otherwise. More...
|
| |
| bool | PointInSet (const Eigen::Ref< const Eigen::VectorXd > &x, double tol=0) const |
| | Returns true iff the point x is contained in the set. More...
|
| |
| std::pair< VectorX< symbolic::Variable >, std::vector< solvers::Binding< solvers::Constraint > > > | AddPointInSetConstraints (solvers::MathematicalProgram *prog, const Eigen::Ref< const solvers::VectorXDecisionVariable > &vars) const |
| | Adds a constraint to an existing MathematicalProgram enforcing that the point defined by vars is inside the set. More...
|
| |
| std::vector< solvers::Binding< solvers::Constraint > > | AddPointInNonnegativeScalingConstraints (solvers::MathematicalProgram *prog, const Eigen::Ref< const solvers::VectorXDecisionVariable > &x, const symbolic::Variable &t) const |
| | Let S be this convex set. More...
|
| |
| std::vector< solvers::Binding< solvers::Constraint > > | AddPointInNonnegativeScalingConstraints (solvers::MathematicalProgram *prog, const Eigen::Ref< const Eigen::MatrixXd > &A, const Eigen::Ref< const Eigen::VectorXd > &b, const Eigen::Ref< const Eigen::VectorXd > &c, double d, const Eigen::Ref< const solvers::VectorXDecisionVariable > &x, const Eigen::Ref< const solvers::VectorXDecisionVariable > &t) const |
| | Let S be this convex set. More...
|
| |
| std::pair< std::unique_ptr< Shape >, math::RigidTransformd > | ToShapeWithPose () const |
| | Constructs a Shape and a pose of the set in the world frame for use in the SceneGraph geometry ecosystem. More...
|
| |
| double | CalcVolume () const |
| | Computes the exact volume for the convex set. More...
|
| |
| SampledVolume | CalcVolumeViaSampling (RandomGenerator *generator, const double desired_rel_accuracy=1e-2, const int max_num_samples=1e4) const |
| | Calculates an estimate of the volume of the convex set using sampling and performing Monte Carlo integration. More...
|
| |
| std::optional< std::pair< std::vector< double >, Eigen::MatrixXd > > | Projection (const Eigen::Ref< const Eigen::MatrixXd > &points) const |
| | Computes in the L₂ norm the distance and the nearest point in this convex set to every column of points. More...
|
| |
| bool | has_exact_volume () const |
| | Returns true if the exact volume can be computed for this convex set instance. More...
|
| |