YeeKal
planning

what happened when selecting sampler

YeeKal
"#planning"

much work has been done in constraint_sampler_manager_->selectSampler();

constraint samper

//generate ik_solver in configure()
kinematics::KinematicsBaseConstPtr kb_; 
IKConstraintSampler::configure(){
    ....
    kb_ = jmg_->getSolverInstance();
    loadIKSolver();
    ....
}

setStateValidityChecker

void ompl_interface::ModelBasedPlanningContext::configure(){
    ompl_simple_setup_->setStateValidityChecker(ob::StateValidityCheckerPtr(new StateValidityChecker(this)));
}
//调用planning_scene的函数进行碰撞检测
planning_context_->getPlanningScene()->checkCollision()
planning_context_->getPlanningScene()->isStateFeasible();

add collision to the world

ros::Subscriber planning_scene_subscriber_;
ros::Subscriber planning_scene_world_subscriber_;
ros::Subscriber attached_collision_object_subscriber_;

planning_scene_subscriber_ =
        root_nh_.subscribe(scene_topic, 100, &PlanningSceneMonitor::newPlanningSceneCallback, this);

void planning_scene_monitor::PlanningSceneMonitor::newPlanningSceneCallback(
    const moveit_msgs::PlanningSceneConstPtr& scene)
{
  newPlanningSceneMessage(*scene);
}