Go to the documentation of this file.
39 #include <boost/array.hpp>
40 #include <boost/function.hpp>
75 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
196 namespace DistanceRequestTypes
298 distance = std::numeric_limits<double>::max();
322 using DistanceMap = std::map<const std::pair<std::string, std::string>, std::vector<DistanceResultsData> >;
355 using ContactMap = std::map<std::pair<std::string, std::string>, std::vector<Contact> >;
357 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
363 distance = std::numeric_limits<double>::max();
Core components of MoveIt.
double cost
The partial cost (the probability of existance for the object there is a collision with)
bool operator>(const DistanceResultsData &other)
Compare if the distance is greater than another.
bool cost
If true, a collision cost is computed.
boost::array< double, 3 > aabb_min
The minimum bound of the AABB defining the volume responsible for this partial cost.
std::map< std::pair< std::string, std::string >, std::vector< Contact > > ContactMap
virtual ~CollisionRequest()
@ WORLD_OBJECT
A body in the environment.
MOVEIT_CLASS_FORWARD(AllowedCollisionMatrix)
std::size_t max_contacts_per_body
Maximum number of contacts to store for bodies (multiple bodies may be within distance threshold)
@ LIMITED
Find a limited(max_contacts_per_body) set of contacts for a given pair.
DistanceResult distance_result
Distance data for each link.
std::string link_names[2]
The object link names.
void clear()
Clear structure data.
double getVolume() const
Get the volume of the AABB around the cost source.
@ GLOBAL
Find the global minimum.
bool verbose
Log debug information.
void clear()
Clear structure data.
Representation of a collision checking request.
double distance_threshold
When collision costs are computed, this structure contains information about the partial cost incurre...
boost::function< bool(const CollisionResult &)> is_done
Function call that decides whether collision detection should stop.
@ ALL
Find all the contacts for a given pair.
bool distance
If true, compute proximity distance.
bool operator<(const DistanceResultsData &other)
Compare if the distance is less than another.
BodyType body_types[2]
The object body type.
Definition of a structure for the allowed collision matrix.
boost::array< double, 3 > aabb_max
The maximum bound of the AABB defining the volume responsible for this partial cost.
Representation of a collision checking result.
BodyTypes::Type BodyType
The types of bodies that are considered for collision.
std::size_t max_contacts
Overall maximum number of contacts to compute.
bool verbose
Flag indicating whether information about detected collisions should be reported.
std::string group_name
The group name to check collisions for (optional; if empty, assume the complete robot)
const AllowedCollisionMatrix * acm
The allowed collision matrix used to filter checks.
bool collision
Indicates if two objects were in collision.
std::string group_name
The group name.
Generic representation of the distance information for a pair of objects.
@ ROBOT_ATTACHED
A body attached to a robot link.
bool detailed_distance
If true, return detailed distance information. Distance must be set to true as well.
bool operator<(const CostSource &other) const
Order cost sources so that the most costly source is at the top.
@ ROBOT_LINK
A link on the robot.
ContactMap contacts
A map returning the pairs of body ids in contact, plus their contact details.
Eigen::Vector3d nearest_points[2]
The nearest points.
Type
The types of bodies that are considered for collision.
DistanceResultsData minimum_distance
ResultsData for the two objects with the minimum distance.
DistanceMap distances
A map of distance data for each link in the req.active_components_only.
@ SINGLE
Find the global minimum for each pair.
std::map< const std::pair< std::string, std::string >, std::vector< DistanceResultsData > > DistanceMap
Mapping between the names of the collision objects and the DistanceResultData.
Result of a distance request.
bool contacts
If true, compute contacts. Otherwise only a binary collision yes/no is reported.
std::size_t max_cost_sources
When costs are computed, this value defines how many of the top cost sources should be returned.
bool collision
True if collision was found, false otherwise.
std::set< CostSource > cost_sources
These are the individual cost sources when costs are computed.
bool enable_nearest_points
Indicate if nearest point information should be calculated.
double distance
The distance between two objects. If two objects are in collision, distance <= 0.
std::size_t max_contacts_per_pair
Maximum number of contacts to compute per pair of bodies (multiple bodies may be in contact at differ...
void print() const
Throttled warning printing the first collision pair, if any. All collisions are logged at DEBUG level...
EIGEN_MAKE_ALIGNED_OPERATOR_NEW void clear()
Clear a previously stored result.
Representation of a distance-reporting request.
std::size_t contact_count
Number of contacts returned.
bool enable_signed_distance
Indicate if a signed distance should be calculated in a collision.
void enableGroup(const moveit::core::RobotModelConstPtr &robot_model)
Compute active_components_only_ based on req_.
double distance
Closest distance between two bodies.
const std::set< const moveit::core::LinkModel * > * active_components_only
The set of active components to check.
Vec3fX< details::Vec3Data< double > > Vector3d
moveit_core
Author(s): Ioan Sucan
, Sachin Chitta , Acorn Pooley
autogenerated on Thu Jun 27 2024 02:25:47