I am using Ubuntu 22.04 ROS2 Humble and MoveIt2 and I am trying to setup Hybrid planning from MoveIt2 for an UR3e.
I am currently having two problems. I could imagine that those two problems are related to each other.
First:
normal start of the ur_moveit.launch.py
In this launch file there is a section called “Planning Configuration”, which look like the following:
# Planning Configuration ompl_planning_pipeline_config = { "move_group": { "planning_plugin": "ompl_interface/OMPLPlanner", "request_adapters": """default_planner_request_adapters/AddTimeOptimalParameterization default_planner_request_adapters/FixWorkspaceBounds default_planner_request_adapters/FixStartStateBounds default_planner_request_adapters/FixStartStateCollision default_planner_request_adapters/FixStartStatePathConstraints""", "start_state_max_bounds_error": 0.1, } } ompl_planning_yaml = load_yaml("ur_moveit_config", "config/ompl_planning.yaml") ompl_planning_pipeline_config["move_group"].update(ompl_planning_yaml)
Here The question is, why the planning pipeline is called “move_group”
, because in all tutorials it is called “ompl”
.
Now here the issue is if I change it, like in the moveit2 tutorials, to any other name like “ompl” or “chomp” it does not work anymore. Here my question is, what I am suppose to do to run the chomp planner for example. And how can I change the “move_group” tag to “ompl”, which would make much more sense.
When I keep “move_group” it starts the ompl but I could not yet figure out how to start other planners.
The second problem I am having is the more important one: This time I am using the hybrid planning architecture. I am keeping “move_group” as planning pipeline, because it is the only one working. However now when I am starting the hybrid planning node it gives the following messages:
[component_container-4] [INFO] [1699520939.034527917] [moveit.ros_planning_interface.moveit_cpp]: Loading planning pipeline 'move_group' [component_container-4] [INFO] [1699520939.038191512] [moveit.ros_planning.planning_pipeline]: Multiple planning plugins available. You should specify the '~planning_plugin' parameter. Using 'chomp_interface/CHOMPPlanner' for now. [component_container-4] [INFO] [1699520939.041565105] [moveit.ros_planning.planning_pipeline]: Using planning interface 'CHOMP'
As CHOMP has a success rate of 0% when planning a global path I want to use the OMPL for global planning. I am not defining chomp anywhere but it still is chosen for as the planner. How do I fix that so it takes the OMPL instead?
I tried the following:
# CHOMP #chomp_planning_pipeline_config = { # "chomp": { # "planning_plugin": "chomp_interface/CHOMPPlanner", # "request_adapters": """default_planner_request_adapters/AddTimeOptimalParameterization default_planner_request_adapters/FixWorkspaceBounds default_planner_request_adapters/FixStartStateBounds default_planner_request_adapters/FixStartStateCollision default_planner_request_adapters/FixStartStatePathConstraints""", # "start_state_max_bounds_error": 0.1, # } #} #chomp_planning_yaml = load_yaml("ur_moveit_config", "config/chomp_planning.yaml") #chomp_planning_pipeline_config["chomp"].update(chomp_planning_yaml)
# Planning Configuration ompl_planning_pipeline_config = { "ompl": { "planning_plugin": "ompl_interface/OMPLPlanner", "request_adapters": """default_planner_request_adapters/AddTimeOptimalParameterization default_planner_request_adapters/FixWorkspaceBounds default_planner_request_adapters/FixStartStateBounds default_planner_request_adapters/FixStartStateCollision default_planner_request_adapters/FixStartStatePathConstraints""", "start_state_max_bounds_error": 0.1, } } ompl_planning_yaml = load_yaml("ur_moveit_config", "config/ompl_planning.yaml") ompl_planning_pipeline_config["ompl"].update(ompl_planning_yaml)