rdf_loader second constructor needs ros_name default variable set too
Description
Steps to reproduce:
-
When calling RobotModelLoader::configure at the statement below https://github.com/moveit/moveit2/blob/7d6e2ab846a57e6c3c81fc2131e82f8c192c2fc8/moveit_ros/planning/robot_model_loader/src/robot_model_loader.cpp#L111 we initialise an rdf_loader with ros_name_set to "". As shown currently ros_name_ is not set in the second constructor for the rd_loader_ https://github.com/moveit/moveit2/blob/7d6e2ab846a57e6c3c81fc2131e82f8c192c2fc8/moveit_ros/planning/rdf_loader/src/rdf_loader.cpp#L91
-
Then when attempting to create a kinematic plugin loader below at line 268 https://github.com/moveit/moveit2/blob/7d6e2ab846a57e6c3c81fc2131e82f8c192c2fc8/moveit_ros/planning/robot_model_loader/src/robot_model_loader.cpp#L268 we are returned an empty string from getRobotDescription() as shown The getRobotDescription() method returns ros_name_ which is currently set to "": https://github.com/moveit/moveit2/blob/7d6e2ab846a57e6c3c81fc2131e82f8c192c2fc8/moveit_ros/planning/rdf_loader/include/moveit/rdf_loader/rdf_loader.hpp#L85 The KinematicsPluginLoader object then sets it's robot_description_ to an empty string as shown in it's constructor. https://github.com/moveit/moveit2/blob/7d6e2ab846a57e6c3c81fc2131e82f8c192c2fc8/moveit_ros/planning/kinematics_plugin_loader/include/moveit/kinematics_plugin_loader/kinematics_plugin_loader.hpp#L61
-
At line 260 of kinematics_plugin_loader the kinematics_param_prefix is set with an empty string from robot_desription_ leading to a string starting with "_kinematics." https://github.com/moveit/moveit2/blob/7d6e2ab846a57e6c3c81fc2131e82f8c192c2fc8/moveit_ros/planning/kinematics_plugin_loader/src/kinematics_plugin_loader.cpp#L260 The kinematics_solver_param_name is then set based on the kinematics_param_prefix variable as depicted https://github.com/moveit/moveit2/blob/7d6e2ab846a57e6c3c81fc2131e82f8c192c2fc8/moveit_ros/planning/kinematics_plugin_loader/src/kinematics_plugin_loader.cpp#L265
-
This cases the error to be logged: https://github.com/moveit/moveit2/blob/7d6e2ab846a57e6c3c81fc2131e82f8c192c2fc8/moveit_ros/planning/kinematics_plugin_loader/src/kinematics_plugin_loader.cpp#L270
[DEBUG 1753159891.197749171] [operation_solver.moveit.core.robot_state]: No kinematics solver instantiated for group 'manipulator' (setFromIK() at /home/ros/ros2/src/moveit2/moveit_core/robot_state/src/robot_state.cpp:1863)
Checklist
- [x ] Required by CI: Code is auto formatted using clang-format
- [ ] Extend the tutorials / documentation reference
- [ ] Document API changes relevant to the user in the MIGRATION.md notes
- [ ] Create tests, which fail without this PR reference
- [ ] Include a screenshot if changing a GUI
- [ ] While waiting for someone to review your request, please help review another open pull request to support the maintainers
This PR is stale because it has been open for 45 days with no activity. Please tag a maintainer for help on completing this PR, or close it if you think it has become obsolete.
This PR is stale because it has been open for 45 days with no activity. Please tag a maintainer for help on completing this PR, or close it if you think it has become obsolete.
This PR actually fixes this bug: https://github.com/moveit/moveit2/issues/3504