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);
}