A class that contains many different constraints, and can check RobotState *versus the full set. A set is satisfied if and only if all constraints are satisfied. More...
#include <kinematic_constraint.h>
Public Member Functions | |
bool | add (const moveit_msgs::Constraints &c, const robot_state::Transforms &tf) |
Add all known constraints. | |
bool | add (const std::vector< moveit_msgs::JointConstraint > &jc) |
Add a vector of joint constraints. | |
bool | add (const std::vector< moveit_msgs::PositionConstraint > &pc, const robot_state::Transforms &tf) |
Add a vector of position constraints. | |
bool | add (const std::vector< moveit_msgs::OrientationConstraint > &oc, const robot_state::Transforms &tf) |
Add a vector of orientation constraints. | |
bool | add (const std::vector< moveit_msgs::VisibilityConstraint > &vc, const robot_state::Transforms &tf) |
Add a vector of visibility constraints. | |
void | clear () |
Clear the stored constraints. | |
ConstraintEvaluationResult | decide (const robot_state::RobotState &state, bool verbose=false) const |
Determines whether all constraints are satisfied by state, returning a single evaluation result. | |
ConstraintEvaluationResult | decide (const robot_state::RobotState &state, std::vector< ConstraintEvaluationResult > &results, bool verbose=false) const |
Determines whether all constraints are satisfied by state, returning a vector of results through a parameter in addition to a summed result. | |
bool | empty () const |
Returns whether or not there are any constraints in the set. | |
bool | equal (const KinematicConstraintSet &other, double margin) const |
Whether or not another KinematicConstraintSet is equal to this one. | |
const moveit_msgs::Constraints & | getAllConstraints () const |
Get all constraints in the set. | |
const std::vector < moveit_msgs::JointConstraint > & | getJointConstraints () const |
Get all joint constraints in the set. | |
const std::vector < moveit_msgs::OrientationConstraint > & | getOrientationConstraints () const |
Get all orientation constraints in the set. | |
const std::vector < moveit_msgs::PositionConstraint > & | getPositionConstraints () const |
Get all position constraints in the set. | |
const std::vector < moveit_msgs::VisibilityConstraint > & | getVisibilityConstraints () const |
Get all visibility constraints in the set. | |
KinematicConstraintSet (const robot_model::RobotModelConstPtr &model) | |
Constructor. | |
void | print (std::ostream &out=std::cout) const |
Print the constraint data. | |
~KinematicConstraintSet () | |
Protected Attributes | |
moveit_msgs::Constraints | all_constraints_ |
Messages corresponding to all internal constraints. | |
std::vector < moveit_msgs::JointConstraint > | joint_constraints_ |
Messages corresponding to all internal joint constraints. | |
std::vector < KinematicConstraintPtr > | kinematic_constraints_ |
Shared pointers to all the member constraints. | |
std::vector < moveit_msgs::OrientationConstraint > | orientation_constraints_ |
Messages corresponding to all internal orientation constraints. | |
std::vector < moveit_msgs::PositionConstraint > | position_constraints_ |
Messages corresponding to all internal position constraints. | |
robot_model::RobotModelConstPtr | robot_model_ |
The kinematic model used for by the Set. | |
std::vector < moveit_msgs::VisibilityConstraint > | visibility_constraints_ |
Messages corresponding to all internal visibility constraints. |
A class that contains many different constraints, and can check RobotState *versus the full set. A set is satisfied if and only if all constraints are satisfied.
The set may contain any number of different kinds of constraints. All constraints, including invalid ones, are stored internally.
Definition at line 869 of file kinematic_constraint.h.
kinematic_constraints::KinematicConstraintSet::KinematicConstraintSet | ( | const robot_model::RobotModelConstPtr & | model | ) | [inline] |
Constructor.
[in] | model | The kinematic model used for constraint evaluation |
Definition at line 880 of file kinematic_constraint.h.
Definition at line 884 of file kinematic_constraint.h.
bool kinematic_constraints::KinematicConstraintSet::add | ( | const moveit_msgs::Constraints & | c, |
const robot_state::Transforms & | tf | ||
) |
Add all known constraints.
[in] | c | A message potentially contain vectors of constraints of add types |
Definition at line 1136 of file kinematic_constraint.cpp.
bool kinematic_constraints::KinematicConstraintSet::add | ( | const std::vector< moveit_msgs::JointConstraint > & | jc | ) |
Add a vector of joint constraints.
[in] | jc | A vector of joint constraints |
Definition at line 1073 of file kinematic_constraint.cpp.
bool kinematic_constraints::KinematicConstraintSet::add | ( | const std::vector< moveit_msgs::PositionConstraint > & | pc, |
const robot_state::Transforms & | tf | ||
) |
Add a vector of position constraints.
[in] | pc | A vector of position constraints |
Definition at line 1088 of file kinematic_constraint.cpp.
bool kinematic_constraints::KinematicConstraintSet::add | ( | const std::vector< moveit_msgs::OrientationConstraint > & | oc, |
const robot_state::Transforms & | tf | ||
) |
Add a vector of orientation constraints.
[in] | oc | A vector of orientation constraints |
Definition at line 1104 of file kinematic_constraint.cpp.
bool kinematic_constraints::KinematicConstraintSet::add | ( | const std::vector< moveit_msgs::VisibilityConstraint > & | vc, |
const robot_state::Transforms & | tf | ||
) |
Add a vector of visibility constraints.
[in] | vc | A vector of visibility constraints |
Definition at line 1120 of file kinematic_constraint.cpp.
Clear the stored constraints.
Definition at line 1063 of file kinematic_constraint.cpp.
kinematic_constraints::ConstraintEvaluationResult kinematic_constraints::KinematicConstraintSet::decide | ( | const robot_state::RobotState & | state, |
bool | verbose = false |
||
) | const |
Determines whether all constraints are satisfied by state, returning a single evaluation result.
[in] | state | The state to test |
[in] | verbose | Whether or not to make each constraint give debug output |
Definition at line 1147 of file kinematic_constraint.cpp.
kinematic_constraints::ConstraintEvaluationResult kinematic_constraints::KinematicConstraintSet::decide | ( | const robot_state::RobotState & | state, |
std::vector< ConstraintEvaluationResult > & | results, | ||
bool | verbose = false |
||
) | const |
Determines whether all constraints are satisfied by state, returning a vector of results through a parameter in addition to a summed result.
[in] | state | The state to test |
[out] | results | The individual results from constraint evaluation on each constraint contained in the set. |
[in] | verbose | Whether to print the results of each constraint check. |
Definition at line 1160 of file kinematic_constraint.cpp.
bool kinematic_constraints::KinematicConstraintSet::empty | ( | ) | const [inline] |
Returns whether or not there are any constraints in the set.
Definition at line 1059 of file kinematic_constraint.h.
bool kinematic_constraints::KinematicConstraintSet::equal | ( | const KinematicConstraintSet & | other, |
double | margin | ||
) | const |
Whether or not another KinematicConstraintSet is equal to this one.
Equality means that for each constraint in this set there is a constraint in the other set for which equal() is true with the given margin. Multiple constraints in this set can be matched to single constraints in the other set. Some constraints in the other set may not be matched to constraints in this set.
[in] | other | The other set against which to test |
[in] | margin | The margin to apply to all individual constraint equality tests |
Definition at line 1182 of file kinematic_constraint.cpp.
const moveit_msgs::Constraints& kinematic_constraints::KinematicConstraintSet::getAllConstraints | ( | ) | const [inline] |
Get all constraints in the set.
Definition at line 1048 of file kinematic_constraint.h.
const std::vector<moveit_msgs::JointConstraint>& kinematic_constraints::KinematicConstraintSet::getJointConstraints | ( | ) | const [inline] |
Get all joint constraints in the set.
Definition at line 1026 of file kinematic_constraint.h.
const std::vector<moveit_msgs::OrientationConstraint>& kinematic_constraints::KinematicConstraintSet::getOrientationConstraints | ( | ) | const [inline] |
Get all orientation constraints in the set.
Definition at line 1015 of file kinematic_constraint.h.
const std::vector<moveit_msgs::PositionConstraint>& kinematic_constraints::KinematicConstraintSet::getPositionConstraints | ( | ) | const [inline] |
Get all position constraints in the set.
Definition at line 1004 of file kinematic_constraint.h.
const std::vector<moveit_msgs::VisibilityConstraint>& kinematic_constraints::KinematicConstraintSet::getVisibilityConstraints | ( | ) | const [inline] |
Get all visibility constraints in the set.
Definition at line 1037 of file kinematic_constraint.h.
void kinematic_constraints::KinematicConstraintSet::print | ( | std::ostream & | out = std::cout | ) | const |
Print the constraint data.
[in] | out | The file stream for printing |
Definition at line 1175 of file kinematic_constraint.cpp.
moveit_msgs::Constraints kinematic_constraints::KinematicConstraintSet::all_constraints_ [protected] |
Messages corresponding to all internal constraints.
Definition at line 1077 of file kinematic_constraint.h.
std::vector<moveit_msgs::JointConstraint> kinematic_constraints::KinematicConstraintSet::joint_constraints_ [protected] |
Messages corresponding to all internal joint constraints.
Definition at line 1069 of file kinematic_constraint.h.
std::vector<KinematicConstraintPtr> kinematic_constraints::KinematicConstraintSet::kinematic_constraints_ [protected] |
Shared pointers to all the member constraints.
Definition at line 1067 of file kinematic_constraint.h.
std::vector<moveit_msgs::OrientationConstraint> kinematic_constraints::KinematicConstraintSet::orientation_constraints_ [protected] |
Messages corresponding to all internal orientation constraints.
Definition at line 1073 of file kinematic_constraint.h.
std::vector<moveit_msgs::PositionConstraint> kinematic_constraints::KinematicConstraintSet::position_constraints_ [protected] |
Messages corresponding to all internal position constraints.
Definition at line 1071 of file kinematic_constraint.h.
robot_model::RobotModelConstPtr kinematic_constraints::KinematicConstraintSet::robot_model_ [protected] |
The kinematic model used for by the Set.
Definition at line 1065 of file kinematic_constraint.h.
std::vector<moveit_msgs::VisibilityConstraint> kinematic_constraints::KinematicConstraintSet::visibility_constraints_ [protected] |
Messages corresponding to all internal visibility constraints.
Definition at line 1075 of file kinematic_constraint.h.