Closed KlausLex closed 1 year ago
Hi @KlausLex, for issues with the UR driver please open an issue in that repository.
For your MoveIt issues: Make sure you've installed/ build MoveIt2 correctly following the instructions on the website or the docker tutorial. Regarding any missing config files or issues you can compare your MoveIt config to an existing config to see what might be missing/ different.
Regarding your questions: Taking a look at the tutorials and concepts page might help you to get answers. Feel free to ask remaining questions but please try to be more respectful of other people's time and try to keep the number of questions small and precise, so it is easy to help you.
Thanks for your reply & sorry for taking up so much of your time @sjahr .
My questions essentially boil down to a single one: What extra steps are necessary after using MSA 2.0 to achieve the same configuration state as MSA 1.0?
As I mentioned in my edits, with the same URDF I can generate 2 config packages by pulling the official docker images:
generates a config package with OMPL, STOMP, CHOMP & Pilz planners I can Plan & Execute my package with demo.launch
generates a config package with STOMP, CHOMP & Pilz planners I cannot Plan & Execute my package with demo.launch.py & OMPL staying at "<"unspecified">" even after manually creating ompl_planning.yaml & adding OMPL to the planning_pipeline in a new launch-file and also installing OMPL via apt.
generates a config package with Pilz planners only that I cannot Plan & Execute my package with demo.launch.py either.
had 2 of the computers I have access to crash & reboot on building (1 laptop with 8GB of memory & one desktop PC with 24GB of memory), so I couldn't test this further.
Following the MSA 2.0 Example using the docker image humble-source generates a panda_moveit_config package that is very different from the one in the moveit_resources repo with *_planning.yaml missing (incl. OMPL), as well as contents of demo.launch.py differ greatly. So I don't think panda_moveit_config inside moveit_resources repo was created with any of the currently available MSA 2.0?
_I may have possibly overlooked where the docs mention the outcome from MSA 2.0 differs from MSA 1.0, or MSA 2.0 not creating packages similar to the ones inside moveit_resources & would be greatful for being pointed into the right direction._
@KlausLex no worries :relaxed: I'll try to reproduce your issue by running the tutorial later. panda_moveit_config inside the moveit_resources repo was not created with MSA 2.0. Generally, it seems like OMPL is available as a planner plugin: Here it is loaded:
[move_group-1] [INFO] [1689159221.699624416] [moveit.ros_planning_interface.moveit_cpp]: Loading planning pipeline 'ompl'
[move_group-1] [INFO] [1689159221.717122951] [moveit.ros_planning.planning_pipeline]: Using planning interface 'OMPL'
[move_group-1] [INFO] [1689159221.721681578] [moveit_ros.fix_workspace_bounds]: Param 'ompl.default_workspace_bounds' was not set. Using default value: 10.000000
[move_group-1] [INFO] [1689159221.721715349] [moveit_ros.fix_start_state_bounds]: Param 'ompl.start_state_max_bounds_error' was set to 0.100000
[move_group-1] [INFO] [1689159221.721724523] [moveit_ros.fix_start_state_bounds]: Param 'ompl.start_state_max_dt' was not set. Using default value: 0.500000
[move_group-1] [INFO] [1689159221.721738484] [moveit_ros.fix_start_state_collision]: Param 'ompl.start_state_max_dt' was not set. Using default value: 0.500000
[move_group-1] [INFO] [1689159221.721750007] [moveit_ros.fix_start_state_collision]: Param 'ompl.jiggle_fraction' was set to 0.050000
[move_group-1] [INFO] [1689159221.721760494] [moveit_ros.fix_start_state_collision]: Param 'ompl.max_sampling_attempts' was not set. Using default value: 100
[move_group-1] [INFO] [1689159221.721775994] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Add Time Parameterization'
[move_group-1] [INFO] [1689159221.721780849] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Resolve constraint frames to robot links'
[move_group-1] [INFO] [1689159221.721785205] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Workspace Bounds'
[move_group-1] [INFO] [1689159221.721791037] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Start State Bounds'
[move_group-1] [INFO] [1689159221.721796584] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Start State In Collision'
[move_group-1] [INFO] [1689159221.721802227] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Start State Path Constraints'
and this looks like it is used:
[move_group-1] [INFO] [1689159292.295151926] [moveit_ros.plan_execution]: Planning attempt 1 of at most 1
[move_group-1] [INFO] [1689159292.295191222] [moveit_move_group_capabilities_base.move_group_capability]: Using planning pipeline 'ompl'
[move_group-1] [INFO] [1689159292.295739818] [moveit.ompl_planning.model_based_planning_context]: Planner configuration 'manipulator' will use planner 'geometric::RRTConnect'. Additional configuration parameters will be set when the planner is constructed.
Maybe the visualization in RVIZ has issues :thinking: Have you tried to do it without the RVIZ plugin, for example by using the moveit_cpp tutorial ?
Just adding the ompl_planning.yaml file is not sufficient. It requires to contain the following lines (see this file as reference):
planning_plugin: ompl_interface/OMPLPlanner
request_adapters: >-
default_planner_request_adapters/AddTimeOptimalParameterization
default_planner_request_adapters/ResolveConstraintFrames
default_planner_request_adapters/FixWorkspaceBounds
default_planner_request_adapters/FixStartStateBounds
default_planner_request_adapters/FixStartStateCollision
default_planner_request_adapters/FixStartStatePathConstraints
and you need to make sure that is loaded. The MoveItConfig in the demo.launch.py file needs to contain the pipeline names to be loaded
moveit_config = (
MoveItConfigsBuilder("moveit_resources_panda")
.robot_description(
file_path="config/panda.urdf.xacro",
mappings={
"ros2_control_hardware_type": LaunchConfiguration(
"ros2_control_hardware_type"
)
},
)
.robot_description_semantic(file_path="config/panda.srdf")
.trajectory_execution(file_path="config/gripper_moveit_controllers.yaml")
.planning_pipelines(
pipelines=["ompl", "chomp", "pilz_industrial_motion_planner"]
)
.to_moveit_configs()
)
The .planning_pipelines(pipelines=["ompl", "chomp", "pilz_industrial_motion_planner"])
is the relevant part here. For each item in this list, the config class will look for a file called PIPELINENAME_planning.yaml in the config directory and load these parameters. When you initialize a move_group, MoveIt2 will look up the pipeline names in the I think planning_pipelines
parameter and for each name in that list if there is a corresponding namespace a pipeline is loaded if that namespace contains a planning_plugin
parameter and the parameters required by the planning plugin.
Hi, I'm having a similar issue with the Pilz Industrial Motion Planner. My pilz_industrial_motion_planner_planning.yaml is the same as the file available in moveit_resources, but the planner is still "unspecified" even though the yaml file clearly specifies the default planner as PTP.
The MoveItConfig in my launch file is also very similar to demo.launch.py. I have .planning_pipelines("pilz_industrial_motion_planner", ["pilz_industrial_motion_planner", "chomp", "ompl"])
.
Is there something wrong with the RViz visualization? Or am I missing something? Thank you in advance!
This issue is being labeled as stale because it has been open 45 days with no activity. It will be automatically closed after another 45 days without follow-ups.
This issue was closed because it has been stalled for 45 days with no activity.
Description
Overview of your issue here.
Your environment
Steps to reproduce
Expected behaviour
1) Set goal state & move robot clicking Plan & Execute. 2) Selecting different planners from OMPL, CHOMP & STOMP.
Actual behaviour
1) Clicking planning & executing loops the planner visualization endlessly & never executes. 2) OMPL dropdown is empty displaying, only pilz_industrial_motion_planner available.
Console output demo.launch.py
Console outputmove_group.launch.py:
[ros2_control_node-4] [ERROR] [1689152766.956593400] [UR_Client_Library]: Opening file '' failed with error: No such file or directory
but the package is called Universal_Robots_Client_Library?[ros2_control_node-4] [FATAL] [1689152766.956693548] [URPositionHardwareInterface]: Opening file '' failed with error: No such file or directory
but isn't this the Universal_Robots_ROS2_Driver?Questions
Thanks & have a great day!
Edit:
I just tried the humble-source (a8f324ae9662) docker container & see no OMPL either? But at least there is CHOMP & STOMP, which I didn't get with the binary build.
Edit 2:
I just tried the noetic-source (e58035ce6c55) docker container & everything seems to be working as I expected. OMPL is loaded properly & I can execute Plan & Execute. I also noticed that the home pose I specified is loaded as initial joint configuration also - which also is not the case for MoveIt 2.