0
$\begingroup$

Rosanswers logo

Hi All,

I am using fuerte arm_navigation pkg and its wizard to build my own robot_arm_navigation pkg. In ompl_planning.yaml, there are already 2 planners, i.e. SBL and LBKPIECE.

How to add more sampling-based planners* into ompl_planning.yaml?

*) Expansive Space Trees (EST), Rapidly-exploring Random Trees (RRT), Probabilistic RoadMaps (PRM), ...

I guess that it is by adding several lines in planner_configs section, if that is true, then what should I write there e.g. for EST, RRT, PRM, ...?

\update

I have tried to "slightly" modify the ompl_planning.yaml to add RRTConnect planner, but no luck. During launching robot_arm_navigation, I got:

TypeError: cannot marshal None unless allow_none is enabled

I did add 3 things into ompl_planning.yaml

planner_configs:
RRTConnectkConfig1:
type: kinematic::RRTConnect

and

right_arm:
  planner_configs:
    - RRTConnectkConfig1

and

right_arm_cartesian:
  planner_configs:
    - RRTConnectkConfig1

and, surely, changed the default_planner_config param.

Did I miss something obvious? Where else should I adjust?

Thank you.


Originally posted by tor on ROS Answers with karma: 277 on 2012-05-23

Post score: 0

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Hey,

You need to create a new planning configuration that has the new planner name.

Open pr2_arm_navigation_planning/config/ompl_planning.yaml and update to something like this:

right_arm:
  planner_type: JointPlanner
  planner_configs:
    - SBLkConfig1 
    - RRTConnectkConfig1
    - LBKPIECEkConfig1

Make sure you follow the syntax correctly. The error you have seems to be a parsing one.

Then, you need to define what RRTConnectkConfig1 means. At the bottom of the file, where you have the planner_configs, update to something like this:


planner_configs:
  SBLkConfig1:
    type: kinematic::SBL

  RRTConnectkConfig1:
    type: kinematic::RRTConnect

  LBKPIECEkConfig1:
    type: kinematic::LBKPIECE

For the list of possible planner types to use see ompl_ros_planning_group.cpp in ompl_interface_ros. I'm sorry for the poor documentation. This will be easier in MoveIt!


Originally posted by isucan with karma: 1055 on 2012-05-23

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by GuiHome on 2012-07-23:
We are on Electric and would like to use PRM but it seems not to be supported yet. We get "Unknown planner type" and PRM is not into initializePlanner. Is there a reason for this ? Do you think copy/past and adaptation of RRT initialization would work ?

Comment by isucan on 2012-07-24:
You need to add a new configuration item like I described above. Add a planner config named for example myPRMConfig under right_arm and then under planner_configs, add myPRMConfig: type: kinematic::PRM

Comment by bit-pirate on 2012-07-24:
Hmm, but where is the PRM planner initialisation located inside the ompl_ros_interface code? As GuiHome pointed out, there is no initializePRMPlanner() in the ompl_ros_planning_group.h/cpp. Is it hiding somewhere else?

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.