|
From: MUKHTAR G. R. <gha...@gm...> - 2017-01-20 14:54:24
|
So regarding the question above, I found out that when I disable the "state validity check" part, everything works fine and the database is produced. And I can reuse the produced data to plan for the baxter arm around (look at the attached files: "generate_baxter_database.cpp" produce the database for the planner, and "test_baxter_database.cpp" uses it to move the arm via a movegroup class) but what I noticed is that this way the produced solutions later aren't always collision free and if I activate the "state validity check" in "test_baxter_database.cpp" then again after some iterations I got a segmentation fault. Any ideas of how to correctly set this validity checker? Cheers! On Wed, Jan 18, 2017 at 6:12 PM, MUKHTAR GHANIM RIDAELDIN < gha...@gm...> wrote: > *Hi all,* > > *I am trying to use the "Thunder frame work" with moveit! under ubuntu > 14.04 and ros indigo. So I had to install everything from source to make it > work. You can see all the details of problems I faced and how I worked > around them here > <https://groups.google.com/forum/#!topic/moveit-users/VPUhA46UkR4>, now > everything works and I am trying to build a database for my robot "Baxter" > using the attached code and launch file. The problem is that after some > iterations I always get a Segmentation fault, and it is random, for example > this one:* > > Program received signal SIGSEGV, Segmentation fault. > [Switching to Thread 0x7fffdcb73700 (LWP 13212)] > 0x00007ffff7ba092c in ompl_interface::ModelBasedStateSpace::copyState(ompl::base::State*, > ompl::base::State const*) const () from /home/ghanim/ws_moveit/devel/. > private/moveit_planners_ompl/lib/libmoveit_ompl_interface.so.0.7.3 > (gdb) bt > #0 0x00007ffff7ba092c in ompl_interface::ModelBasedStateSpace::copyState(ompl::base::State*, > ompl::base::State const*) const () from /home/ghanim/ws_moveit/devel/. > private/moveit_planners_ompl/lib/libmoveit_ompl_interface.so.0.7.3 > #1 0x00007ffff7555368 in ompl::base::StateSpace::cloneState(ompl::base::State > const*) const () from /home/ghanim/ws_moveit/devel/ > lib/x86_64-linux-gnu/libompl.so.12 > #2 0x00007ffff78195b7 in ompl::geometric::SPARSdb:: > findGraphNeighbors(ompl::base::State const*, std::vector<unsigned long, > std::allocator<unsigned long> >&) () from /home/ghanim/ws_moveit/devel/ > lib/x86_64-linux-gnu/libompl.so.12 > #3 0x00007ffff7821062 in ompl::geometric::SPARSdb::getSimilarPaths(int, > ompl::base::State const*, ompl::base::State const*, > ompl::geometric::SPARSdb::CandidateSolution&, ompl::base::PlannerTerminationCondition > const&) () > from /home/ghanim/ws_moveit/devel/lib/x86_64-linux-gnu/libompl.so.12 > #4 0x00007ffff782419d in ompl::tools::ThunderDB::findNearestStartGoal(int, > ompl::base::State const*, ompl::base::State const*, > ompl::geometric::SPARSdb::CandidateSolution&, ompl::base::PlannerTerminationCondition > const&) () > from /home/ghanim/ws_moveit/devel/lib/x86_64-linux-gnu/libompl.so.12 > #5 0x00007ffff7726d1a in ompl::geometric::ThunderRetrieveRepair::solve( > ompl::base::PlannerTerminationCondition const&) () from > /home/ghanim/ws_moveit/devel/lib/x86_64-linux-gnu/libompl.so.12 > #6 0x00007ffff7801085 in ompl::tools::ParallelPlan::solveOne(ompl::base::Planner*, > unsigned long, ompl::base::PlannerTerminationCondition const*) () from > /home/ghanim/ws_moveit/devel/lib/x86_64-linux-gnu/libompl.so.12 > #7 0x00007ffff5102c30 in ?? () from /usr/lib/x86_64-linux-gnu/ > libstdc++.so.6 > #8 0x00007ffff55f7184 in start_thread (arg=0x7fffdcb73700) at > pthread_create.c:312 > #9 0x00007ffff4b9037d in clone () at ../sysdeps/unix/sysv/linux/ > x86_64/clone.S:111 > > > *This is another one:* > > Program received signal SIGSEGV, Segmentation fault. > 0x00007fffeeec5e96 in fcl::HierarchyTree<fcl::AABB>: > :bottomup(__gnu_cxx::__normal_iterator<fcl::NodeBase<fcl::AABB>**, > std::vector<fcl::NodeBase<fcl::AABB>*, std::allocator<fcl::NodeBase<fcl::AABB>*> > > >, __gnu_cxx::__normal_iterator<fcl::NodeBase<fcl::AABB>**, > std::vector<fcl::NodeBase<fcl::AABB>*, std::allocator<fcl::NodeBase<fcl::AABB>*> > > >) () from /opt/ros/indigo/lib/libfcl.so > (gdb) bt > #0 0x00007fffeeec5e96 in fcl::HierarchyTree<fcl::AABB>: > :bottomup(__gnu_cxx::__normal_iterator<fcl::NodeBase<fcl::AABB>**, > std::vector<fcl::NodeBase<fcl::AABB>*, std::allocator<fcl::NodeBase<fcl::AABB>*> > > >, __gnu_cxx::__normal_iterator<fcl::NodeBase<fcl::AABB>**, > std::vector<fcl::NodeBase<fcl::AABB>*, std::allocator<fcl::NodeBase<fcl::AABB>*> > > >) () from /opt/ros/indigo/lib/libfcl.so > #1 0x00007fffeeec7c65 in fcl::HierarchyTree<fcl::AABB>: > :topdown_0(__gnu_cxx::__normal_iterator<fcl::NodeBase<fcl::AABB>**, > std::vector<fcl::NodeBase<fcl::AABB>*, std::allocator<fcl::NodeBase<fcl::AABB>*> > > >, __gnu_cxx::__normal_iterator<fcl::NodeBase<fcl::AABB>**, > std::vector<fcl::NodeBase<fcl::AABB>*, std::allocator<fcl::NodeBase<fcl::AABB>*> > > >) () from /opt/ros/indigo/lib/libfcl.so > #2 0x00007fffeeec7c21 in fcl::HierarchyTree<fcl::AABB>: > :topdown_0(__gnu_cxx::__normal_iterator<fcl::NodeBase<fcl::AABB>**, > std::vector<fcl::NodeBase<fcl::AABB>*, std::allocator<fcl::NodeBase<fcl::AABB>*> > > >, __gnu_cxx::__normal_iterator<fcl::NodeBase<fcl::AABB>**, > std::vector<fcl::NodeBase<fcl::AABB>*, std::allocator<fcl::NodeBase<fcl::AABB>*> > > >) () from /opt/ros/indigo/lib/libfcl.so > #3 0x00007fffeeec7c0f in fcl::HierarchyTree<fcl::AABB>: > :topdown_0(__gnu_cxx::__normal_iterator<fcl::NodeBase<fcl::AABB>**, > std::vector<fcl::NodeBase<fcl::AABB>*, std::allocator<fcl::NodeBase<fcl::AABB>*> > > >, __gnu_cxx::__normal_iterator<fcl::NodeBase<fcl::AABB>**, > std::vector<fcl::NodeBase<fcl::AABB>*, std::allocator<fcl::NodeBase<fcl::AABB>*> > > >) () from /opt/ros/indigo/lib/libfcl.so > #4 0x00007fffeeec7c0f in fcl::HierarchyTree<fcl::AABB>: > :topdown_0(__gnu_cxx::__normal_iterator<fcl::NodeBase<fcl::AABB>**, > std::vector<fcl::NodeBase<fcl::AABB>*, std::allocator<fcl::NodeBase<fcl::AABB>*> > > >, __gnu_cxx::__normal_iterator<fcl::NodeBase<fcl::AABB>**, > std::vector<fcl::NodeBase<fcl::AABB>*, std::allocator<fcl::NodeBase<fcl::AABB>*> > > >) () from /opt/ros/indigo/lib/libfcl.so > #5 0x00007fffeeec7c0f in fcl::HierarchyTree<fcl::AABB>: > :topdown_0(__gnu_cxx::__normal_iterator<fcl::NodeBase<fcl::AABB>**, > std::vector<fcl::NodeBase<fcl::AABB>*, std::allocator<fcl::NodeBase<fcl::AABB>*> > > >, __gnu_cxx::__normal_iterator<fcl::NodeBase<fcl::AABB>**, > std::vector<fcl::NodeBase<fcl::AABB>*, std::allocator<fcl::NodeBase<fcl::AABB>*> > > >) () from /opt/ros/indigo/lib/libfcl.so > #6 0x00007fffeeec7c0f in fcl::HierarchyTree<fcl::AABB>: > :topdown_0(__gnu_cxx::__normal_iterator<fcl::NodeBase<fcl::AABB>**, > std::vector<fcl::NodeBase<fcl::AABB>*, std::allocator<fcl::NodeBase<fcl::AABB>*> > > >, __gnu_cxx::__normal_iterator<fcl::NodeBase<fcl::AABB>**, > std::vector<fcl::NodeBase<fcl::AABB>*, std::allocator<fcl::NodeBase<fcl::AABB>*> > > >) () from /opt/ros/indigo/lib/libfcl.so > #7 0x00007fffeeec8331 in fcl::HierarchyTree<fcl::AABB>: > :init_0(std::vector<fcl::NodeBase<fcl::AABB>*, > std::allocator<fcl::NodeBase<fcl::AABB>*> >&) () from > /opt/ros/indigo/lib/libfcl.so > #8 0x00007fffeeec4df3 in fcl::DynamicAABBTreeCollisionManage > r::registerObjects(std::vector<fcl::CollisionObject*, std::allocator<fcl::CollisionObject*> > > const&) () from /opt/ros/indigo/lib/libfcl.so > #9 0x00007ffff2382d86 in collision_detection::FCLObject::registerTo(fcl::BroadPhaseCollisionManager*) > () from /home/ghanim/ws_moveit/devel/.private/moveit_core/lib/ > libmoveit_collision_detection_fcl.so.0.7.3 > #10 0x00007ffff2391cad in collision_detection::CollisionRobotFCL:: > checkSelfCollisionHelper(collision_detection::CollisionRequest const&, > collision_detection::CollisionResult&, moveit::core::RobotState const&, > collision_detection::AllowedCollisionMatrix const*) const () from > /home/ghanim/ws_moveit/devel/.private/moveit_core/lib/ > libmoveit_collision_detection_fcl.so.0.7.3 > #11 0x000000000043ccd4 in isStateValid(ompl::base::State const*, > boost::shared_ptr<moveit::core::RobotModel>&, boost::shared_ptr<ompl_ > interface::ModelBasedPlanningContext>&) () > #12 0x00007ffff756c4bf in ompl::base::SpaceInformation:: > setStateValidityChecker(std::function<bool (ompl::base::State const*)> > const&)::FnStateValidityChecker::isValid(ompl::base::State const*) const > () > from /home/ghanim/ws_moveit/devel/lib/x86_64-linux-gnu/libompl.so.12 > #13 0x00007ffff7583e85 in ompl::base::DiscreteMotionValidator::checkMotion(ompl::base::State > const*, ompl::base::State const*) const () from > /home/ghanim/ws_moveit/devel/lib/x86_64-linux-gnu/libompl.so.12 > #14 0x00007ffff7784be6 in ompl::geometric::PathSimplifier:: > collapseCloseVertices(ompl::geometric::PathGeometric&, unsigned int, > unsigned int) () from /home/ghanim/ws_moveit/devel/ > lib/x86_64-linux-gnu/libompl.so.12 > #15 0x00007ffff7786933 in ompl::geometric::PathSimplifier::simplify(ompl::geometric::PathGeometric&, > ompl::base::PlannerTerminationCondition const&) () from > /home/ghanim/ws_moveit/devel/lib/x86_64-linux-gnu/libompl.so.12 > #16 0x00007ffff7786c14 in ompl::geometric::PathSimplifier::simplify(ompl::geometric::PathGeometric&, > double) () from /home/ghanim/ws_moveit/devel/lib/x86_64-linux-gnu/libompl. > so.12 > #17 0x00007ffff77793b6 in ompl::geometric::SimpleSetup::simplifySolution(double) > () from /home/ghanim/ws_moveit/devel/lib/x86_64-linux-gnu/libompl.so.12 > #18 0x000000000043b6ee in main () > > > *So I am wondering about what could be the problem exactly? * > > *Thanks for your help * > > *Cheers!* > |