moveit2 icon indicating copy to clipboard operation
moveit2 copied to clipboard

rdf_loader second constructor needs ros_name default variable set too

Open jdgre1 opened this issue 7 months ago • 3 comments

Description

Steps to reproduce:

  1. 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

  2. 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

  3. 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

  4. 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

jdgre1 avatar Jul 24 '25 04:07 jdgre1

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.

github-actions[bot] avatar Sep 08 '25 12:09 github-actions[bot]

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.

github-actions[bot] avatar Nov 21 '25 12:11 github-actions[bot]

This PR actually fixes this bug: https://github.com/moveit/moveit2/issues/3504

mjimenezm00 avatar Dec 05 '25 08:12 mjimenezm00