#include <moveit/setup_assistant/tools/compute_default_collisions.h>
#include <boost/math/special_functions/binomial.hpp>
#include <boost/thread.hpp>
#include <boost/lexical_cast.hpp>
#include <boost/unordered_map.hpp>
#include <boost/assign.hpp>
#include <ros/console.h>
Go to the source code of this file.
Classes | |
struct | moveit_setup_assistant::ThreadComputation |
Namespaces | |
namespace | moveit_setup_assistant |
Typedefs | |
typedef std::map< const robot_model::LinkModel *, std::set< const robot_model::LinkModel * > > | moveit_setup_assistant::LinkGraph |
typedef std::set< std::pair < std::string, std::string > > | moveit_setup_assistant::StringPairSet |
Functions | |
static void | moveit_setup_assistant::computeConnectionGraph (const robot_model::LinkModel *link, LinkGraph &link_graph) |
Build the robot links connection graph and then check for links with no geomotry. | |
static void | moveit_setup_assistant::computeConnectionGraphRec (const robot_model::LinkModel *link, LinkGraph &link_graph) |
Recursively build the adj list of link connections. | |
LinkPairMap | moveit_setup_assistant::computeDefaultCollisions (const planning_scene::PlanningSceneConstPtr &parent_scene, unsigned int *progress, const bool include_never_colliding, const unsigned int trials, const double min_collision_faction, const bool verbose) |
Generate an adjacency list of links that are always and never in collision, to speed up collision detection. | |
void | moveit_setup_assistant::computeLinkPairs (const planning_scene::PlanningScene &scene, LinkPairMap &link_pairs) |
Generate a list of unique link pairs for all links with geometry. Order pairs alphabetically. n choose 2 pairs. | |
static unsigned int | moveit_setup_assistant::disableAdjacentLinks (planning_scene::PlanningScene &scene, LinkGraph &link_graph, LinkPairMap &link_pairs) |
Disable collision checking for adjacent links, or adjacent with no geometry links between them. | |
static unsigned int | moveit_setup_assistant::disableAlwaysInCollision (planning_scene::PlanningScene &scene, LinkPairMap &link_pairs, collision_detection::CollisionRequest &req, StringPairSet &links_seen_colliding, double min_collision_faction=0.95) |
Compute the links that are always in collision. | |
static unsigned int | moveit_setup_assistant::disableDefaultCollisions (planning_scene::PlanningScene &scene, LinkPairMap &link_pairs, collision_detection::CollisionRequest &req) |
Disable all collision checks that occur when the robot is started in its default state. | |
DisabledReason | moveit_setup_assistant::disabledReasonFromString (const std::string &reason) |
Converts a string reason for disabling a link pair into a struct data type. | |
const std::string | moveit_setup_assistant::disabledReasonToString (DisabledReason reason) |
Converts a reason for disabling a link pair into a string. | |
static unsigned int | moveit_setup_assistant::disableNeverInCollision (const unsigned int num_trials, planning_scene::PlanningScene &scene, LinkPairMap &link_pairs, const collision_detection::CollisionRequest &req, StringPairSet &links_seen_colliding, unsigned int *progress) |
Get the pairs of links that are never in collision. | |
static void | moveit_setup_assistant::disableNeverInCollisionThread (ThreadComputation tc) |
Thread for getting the pairs of links that are never in collision. | |
static bool | moveit_setup_assistant::setLinkPair (const std::string &linkA, const std::string &linkB, const DisabledReason reason, LinkPairMap &link_pairs) |
Helper function for adding two links to the disabled links data structure. | |
Variables | |
const boost::unordered_map < std::string, DisabledReason > | moveit_setup_assistant::reasonsFromString |
const boost::unordered_map < DisabledReason, std::string > | moveit_setup_assistant::reasonsToString |