Moveit! seems to not executing the new planners.

238 views
Skip to first unread message

Marios Xanthidis

unread,
Aug 29, 2017, 3:42:50 PM8/29/17
to MoveIt! Users
Hello,

I am trying for a while now to use some new planners that I developed in ompl_1.1.0 on Baxter with Moveit!. Note that the planners currently can plan only for a compound statement of SO2s. (They also require one more parameter in the constructor that I haven't find a way to fix yet)

Although I compiled everything successfully on indigo, following the wiki, and Moveit! seems to recognize my new planners the code of my planners is not executed. There is a very hacky step on the process - every time I change my code in ompl, I compile and then I manually copy the libompl.so* files from "omplapp-1.1.0-Source/build/Release/lib" to "/opt/ros/indigo/lib/x86_64-linux-gnu". I know, it is not a good idea, but it was the only solution I found in order to compile ompl with moveit.
For example the output from planning with baxter by launching rviz:

[ INFO] [1504031112.059653870, 215.020000000]: Planning request received for MoveGroup action. Forwarding to planning pipeline.
[ INFO] [1504031112.063874364, 215.024000000]: No optimization objective specified, defaulting to PathLengthOptimizationObjective
[ INFO] [1504031112.063986068, 215.024000000]: Planner configuration 'both_arms[RRTConnectkPLUS]' will use planner 'geometric::RRTConnectPLUS'. Additional configuration parameters will be set when the planner is constructed.
[ INFO] [1504031112.065471377, 215.025000000]: both_arms[RRTConnectkPLUS]: Starting planning with 1 states already in datastructure
[ INFO] [1504031112.065545440, 215.025000000]: both_arms[RRTConnectkPLUS]: Starting planning with 1 states already in datastructure
[ INFO] [1504031112.065609836, 215.025000000]: both_arms[RRTConnectkPLUS]: Starting planning with 1 states already in datastructure
[ INFO] [1504031112.065649846, 215.025000000]: both_arms[RRTConnectkPLUS]: Starting planning with 1 states already in datastructure
[ INFO] [1504031112.078397753, 215.038000000]: both_arms[RRTConnectkPLUS]: Created 4 states (2 start + 2 goal)
[ INFO] [1504031112.079526664, 215.039000000]: both_arms[RRTConnectkPLUS]: Created 5 states (2 start + 3 goal)
[ INFO] [1504031112.080515153, 215.040000000]: both_arms[RRTConnectkPLUS]: Created 5 states (2 start + 3 goal)
[ INFO] [1504031112.080826876, 215.040000000]: both_arms[RRTConnectkPLUS]: Created 5 states (2 start + 3 goal)
[ INFO] [1504031112.080965363, 215.040000000]: ParallelPlan::solve(): Solution found by one or more threads in 0.016339 seconds

As you can see Moveit! seems to use my new planner "geometric::RRTConnectPLUS" that uses a NEW sampler, currently planning for SO2s spaces. Even if that was impossible I tried to change the message printed from ompl in the function "ompl::base::PlannerStatus ompl::geometric::RRTConnectPLUS::solve" to something else:

OMPL_INFORM("%s: Starting planninGGGGGGGGGGGGGGGGGGGGGGGGGg with %d states already in datastructure", getName().c_str(), (int)(tStart_->size() + tGoal_->size()));

The message didn't change at all implying that there is different code executed instead of mine.

I can see only two different cases:
a)My code is not updated and Moveit! uses an outdated library.
b)Moveit! cannot even see my library and uses another one.

But for both cases, every time I copy the libompl.so* and I take care of the old versions. Also I have search the whole system and there is no other libompl* files other than the ones I use.

Does anyone have any idea on what is happening, or an alternative case that I haven't though yet?

I will really appreciate any help on the matter,
Marios.

P/S:I still need to extend the sampler in different spaces, but due to some theoretical analysis that still need to be done I would prefer to focus on the one Baxter uses and not generalize for all the possible spaces in OMPL. I would like to know how the joint space is formulated while planning in OMPL. The planning space is a Realvector or a compound statement of other spaces?

Marios Xanthidis

unread,
Aug 31, 2017, 7:36:05 PM8/31/17
to MoveIt! Users
OK. So I tried to reinstall Ubuntu 14.04 and everything else in a fresh machine, and it seems that this bug disappeared. Although I was able to compile a dummy RRT planner called (RRTPLUSV2) there is an link error when I am trying to plan for Baxter through RVIZ. More specifically the error is the following:

Planner configuration 'both_arms[RRTPLUSV2]' will use planner 'geometric::RRTPLUSV2'. Additional configuration parameters will be set when the planner is constructed.
/home/mariosx/catkin_ws/devel/lib/moveit_ros_move_group/move_group: symbol lookup error: /home/mariosx/catkin_ws/devel/.private/moveit_planners_ompl/lib/libmoveit_ompl_interface.so.0.7.3: undefined symbol: _ZN4ompl9geometric9RRTPLUSV2C1ERKN5boost10shared_ptrINS_4base16SpaceInformationEEE
[move_group-1] process has died [pid 11327, exit code 127, cmd /home/mariosx/catkin_ws/devel/lib/moveit_ros_move_group/move_group joint_states:=/robot/joint_states __name:=move_group __log:=/home/mariosx/.ros/log/ef205502-8e9e-11e7-b1cf-001018ea7168/move_group-1.log].
log file: /home/mariosx/.ros/log/ef205502-8e9e-11e7-b1cf-001018ea7168/move_group-1*.log

I suspect that the problem is that somehow the combination of catkin build with catkin_make_isolated are not linking properly libompl.so. For clarity I have kept a record of every single step I did in order to install Moveit! with OMPL and the Baxter Gazebo related packages.

Thank you for your time,
Marios.

Marios Xanthidis

unread,
Aug 31, 2017, 8:44:32 PM8/31/17
to MoveIt! Users
OK. Problem fixed. For some reason in the instructions of building moveit catkin build is recommended. Deleting /devel and /build and just running catkin_make solved the problem. 
Reply all
Reply to author
Forward
0 new messages