ompl::base::ConstraintIntersection Class Reference
Definition of a constraint composed of multiple constraints that all must be satisfied simultaneously. This class ‘stacks’ the constraint functions together. More...
#include <ompl/base/Constraint.h>
Inheritance diagram for ompl::base::ConstraintIntersection:
Public Member Functions | |
ConstraintIntersection (const unsigned int ambientDim, std::vector< ConstraintPtr > constraints) | |
Constructor. If constraints is empty assume it will be filled later. | |
ConstraintIntersection (const unsigned int ambientDim, std::initializer_list< ConstraintPtr > constraints) | |
Constructor. If constraints is empty assume it will be filled later. | |
void | function (const Eigen::Ref< const Eigen::VectorXd > &x, Eigen::Ref< Eigen::VectorXd > out) const override |
Compute the constraint function at x. Result is returned in out, which should be allocated to size coDim. | |
void | jacobian (const Eigen::Ref< const Eigen::VectorXd > &x, Eigen::Ref< Eigen::MatrixXd > out) const override |
Compute the Jacobian of the constraint function at x. Result is returned in out, which should be allocated to size coDim by ambientDim. Default implementation performs the differentiation numerically with a seven-point central difference stencil. It is best to provide an analytic formulation. | |
Public Member Functions inherited from ompl::base::Constraint | |
Constraint (const unsigned int ambientDim, const unsigned int coDim, double tolerance=magic::CONSTRAINT_PROJECTION_TOLERANCE) | |
Constructor. The dimension of the ambient configuration space as well as the dimension of the function's output need to be specified (the co-dimension of the constraint manifold). I.E., for a sphere constraint function in. | |
virtual void | function (const State *state, Eigen::Ref< Eigen::VectorXd > out) const |
Compute the constraint function at state. Result is returned in out, which should be allocated to size coDim. | |
virtual void | jacobian (const State *state, Eigen::Ref< Eigen::MatrixXd > out) const |
Compute the Jacobian of the constraint function at state. Result is returned in out, which should be allocated to size coDim by ambientDim. Default implementation performs the differentiation numerically with a seven-point central difference stencil. It is best to provide an analytic formulation. | |
virtual bool | project (State *state) const |
Project a state state given the constraints. If a valid projection cannot be found, this method will return false. Even if this method fails, state will be modified. | |
virtual bool | project (Eigen::Ref< Eigen::VectorXd > x) const |
Project a state x given the constraints. If a valid projection cannot be found, this method will return false. | |
virtual double | distance (const State *state) const |
Returns the distance of state to the constraint manifold. | |
virtual double | distance (const Eigen::Ref< const Eigen::VectorXd > &x) const |
Returns the distance of x to the constraint manifold. | |
virtual bool | isSatisfied (const State *state) const |
Check whether a state state satisfies the constraints. | |
virtual bool | isSatisfied (const Eigen::Ref< const Eigen::VectorXd > &x) const |
Check whether a state x satisfies the constraints. | |
unsigned int | getAmbientDimension () const |
Returns the dimension of the ambient space. | |
unsigned int | getManifoldDimension () const |
Returns the dimension of the manifold. | |
unsigned int | getCoDimension () const |
Returns the dimension of the manifold. | |
void | setManifoldDimension (unsigned int k) |
Sets the underlying manifold dimension. | |
double | getTolerance () const |
Returns the tolerance of the projection routine. | |
unsigned int | getMaxIterations () const |
Returns the maximum number of allowed iterations in the projection routine. | |
void | setTolerance (const double tolerance) |
Sets the projection tolerance. | |
void | setMaxIterations (const unsigned int iterations) |
Sets the maximum number of iterations in the projection routine. | |
Protected Member Functions | |
void | addConstraint (const ConstraintPtr &constraint) |
Protected Attributes | |
std::vector< ConstraintPtr > | constraints_ |
Constituent constraints. | |
Protected Attributes inherited from ompl::base::Constraint | |
const unsigned int | n_ |
Ambient space dimension. | |
unsigned int | k_ |
Manifold dimension. | |
double | tolerance_ |
Tolerance for Newton method used in projection onto manifold. | |
unsigned int | maxIterations_ |
Maximum number of iterations for Newton method used in projection onto manifold. | |
Detailed Description
Definition of a constraint composed of multiple constraints that all must be satisfied simultaneously. This class ‘stacks’ the constraint functions together.
Definition at line 276 of file Constraint.h.
The documentation for this class was generated from the following file:
- ompl/base/Constraint.h