# About a path that the OMPL solved

My question: Does ompl make a path except for start pose and goal pose? Is this correct? I have had a problem to move a turtlebot with ompl. That's that ompl has solved a path, but my turtlebot has not moved. After reading the web ( http://wiki.ros.org/navigation/Tutori... ), I noticed that a plan for mobile base has needed a start pose and a goal pose and ompl has made a path except for start pose and goal pose. Today, I add the start pose and goal pose to my code. After that, my turtlebot began to move.

  std::vector<geometry_msgs::PoseStamped> temp_plan;
geometry_msgs::PoseStamped temp_pose_stamped
temp_plan.push_back(start)
for(int i = 0; i < num_frames_inpath; i++)
{
/* Convert Pose2D to pose and set to Pose of PoseStamped */
Pose2DPose(temp_pose_stamped.pose, temp_plan_Pose2D[i])
temp_plan.push_back(temp_pose_stamped);
}
temp_plan.push_back(goal);
plan = temp_plan;
/* publish the Plan for visualization purpose
publishPlan(plan);


Could anybody tell me if my opinion is correct if you have a knowledge about OMPL? Thank you in advance!

edit retag close merge delete

Sort by » oldest newest most voted

By inquiring my question to ompl-users, I could get some answers. I post it on this page. @isucan said to me, "The solutions ompl provides always include the start and goal states that were provided - the shortest possible solution is 2 states: start and goal. you may have run into a controller check for minimum path length or the input states to ompl were not the same as the ones you add." I think that his opinion is correct. My code seems to have been wrong. OMPL outputs [x,y,theta] of Start and Goal Pose .

Info:    Path simplification took 0.067383 seconds
Geometric path with 17 states
Compound state [
RealVectorState [0.805539 0.495385]
SO2State [0.411484]
]
Compound state [
RealVectorState [0.857548 0.513709]
SO2State [0.579389]
]
Compound state [
RealVectorState [0.909557 0.532033]
SO2State [0.747294]
]
:

more

hi, @Ken_in_JAPAN, Do you use OMPL directly for the path planning of turtlebots? Why don't you use Moveit! since it is recommended by the instruction of OMPL when using ROS? Maybe you can use RRT by make a change in the moveit_planners which is the interface to OMPL in ROS. Thank you!

( 2014-07-10 09:28:54 -0500 )edit

Have you moved Moveit! with turtlebot? I think that PR2 which has a lot of degree of freedom can use moveit! ,but turtlebot needs a lot of setting to move. If you have an experience with a turtlebot, could you tell me how to move a turtlebot with Moveit! ?

( 2014-07-10 22:50:25 -0500 )edit

Hi, @Ken_in_JAPAN, Actually, I am a newcomer to MoveIt! and OMPL. I am studying Moveit! and OMPL now. I am confused about how to using them for path planner on a real robot. Which one should I choose to use for global path planner firstly? If OMPL is chosen, how to represent a 2D/3D costmap in OMPL？ I noticed your questions in answers. ros. I expect getting some valuable advices from your work.Thank you!

( 2014-07-11 21:44:28 -0500 )edit

Hi, @scopus, As turtlebot moves on a planar, we need 2D costmap. In case of PR2, we need 3D costmap because PR2 has a manipulator. Sample-based planner is effective when a turtlebot has a manipulator like PR2. I want a comment or an answer except a question.

( 2014-07-14 21:13:42 -0500 )edit

hi，@Ken_in_JAPAN, I have not moved moveit on a turtlebot. But from this tips :http://answers.ros.org/question/143741/moveit-octomap-collision-trajectory-octomap-being-ignored/. I think the key is configuring the MoveIt to listen to the topics including point clouds and robot's pose from turtlebots. For writing a planner using OMPL for turtlebot, you can refer to https://code.ros.org/svn/wg-ros-pkg/branches/trunk_dturtle/sandbox/ompl_planner_base/src/

( 2014-07-15 05:13:49 -0500 )edit

Thanks, @scopus! I notice that I have looked at another page that doesn't include rviz.launch and message file. If you also use this source, you will have to edit the source ompl_planner_base.cpp because the description is old style.

( 2014-07-15 11:30:18 -0500 )edit