Representation and Evaluation of Constraints¶
Constraints are an integral component of MoveIt and OMPL. They are used both to constrain robot motion as well as to define planning goals. There following set of constraints are defined in the kinematic_constraints
namespace:
- kinematic_constraints::JointConstraint
- kinematic_constraints::OrientationConstraint
- kinematic_constraints::PositionConstraint
- kinematic_constraints::VisibilityConstraint
All of these constraints inherit from the kinematic_constraints::KinematicConstraint
base class and thus more constraint types can be added by the user by providing their own derived classes. The main operation each constraint implements is the KinematicConstraint::decide()
function, which decides whether a constraint is satisfied, and optionally returns a distance (an error) when a constraint is not satisfied.
Often multiple constraints need to be imposed on a particular motion plan or for a particular goal. The class kinematic_constraints::KinematicConstraintSet
facilitates operating with sets of constraints.
A related functionality to representing and evaluating constraints is constraint_sampling
“generating samples” that satisfy those constraints.
Open Source Feedback
See something that needs improvement? Please open a pull request on this GitHub page