diff --git a/moveit_core/planning_scene/src/planning_scene.cpp b/moveit_core/planning_scene/src/planning_scene.cpp index eaffc31d42..816bad2f8b 100644 --- a/moveit_core/planning_scene/src/planning_scene.cpp +++ b/moveit_core/planning_scene/src/planning_scene.cpp @@ -210,6 +210,10 @@ PlanningScene::PlanningScene(const PlanningSceneConstPtr& parent) : parent_(pare robot_model_ = parent_->robot_model_; + setStateFeasibilityPredicate(parent->getStateFeasibilityPredicate()); + setMotionFeasibilityPredicate(parent->getMotionFeasibilityPredicate()); + setCollisionObjectUpdateCallback(parent_->current_world_object_update_callback_); + // maintain a separate world. Copy on write ensures that most of the object // info is shared until it is modified. world_ = std::make_shared(*parent_->world_); @@ -1204,6 +1208,8 @@ void PlanningScene::decoupleParent() } } + setCollisionObjectUpdateCallback(nullptr); + parent_.reset(); }