From 7236a3f030874bba1af46900e1f416cd7485cf1e Mon Sep 17 00:00:00 2001 From: Stephanie Eng Date: Fri, 13 Mar 2026 13:10:06 -0400 Subject: [PATCH 1/5] Update deprecated usage of get_package_share --- .../utils/src/robot_model_test_utils.cpp | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/moveit_core/utils/src/robot_model_test_utils.cpp b/moveit_core/utils/src/robot_model_test_utils.cpp index eea311fbec..7677856aa7 100644 --- a/moveit_core/utils/src/robot_model_test_utils.cpp +++ b/moveit_core/utils/src/robot_model_test_utils.cpp @@ -64,10 +64,12 @@ moveit::core::RobotModelPtr loadTestingRobotModel(const std::string& package_nam const std::string& urdf_relative_path, const std::string& srdf_relative_path) { - const auto urdf_path = - std::filesystem::path(ament_index_cpp::get_package_share_directory(package_name)) / urdf_relative_path; - const auto srdf_path = - std::filesystem::path(ament_index_cpp::get_package_share_directory(package_name)) / srdf_relative_path; + std::filesystem::path urdf_path; + ament_index_cpp::get_package_share_directory(package_name, urdf_path); + urdf_path /= urdf_relative_path; + std::filesystem::path srdf_path; + ament_index_cpp::get_package_share_directory(package_name, srdf_path); + srdf_path /= srdf_relative_path; urdf::ModelInterfaceSharedPtr urdf_model = urdf::parseURDFFile(urdf_path.string()); if (urdf_model == nullptr) @@ -95,7 +97,8 @@ moveit::core::RobotModelPtr loadTestingRobotModel(const std::string& robot_name) urdf::ModelInterfaceSharedPtr loadModelInterface(const std::string& robot_name) { const std::string package_name = "moveit_resources_" + robot_name + "_description"; - std::filesystem::path res_path(ament_index_cpp::get_package_share_directory(package_name)); + std::filesystem::path res_path; + ament_index_cpp::get_package_share_directory(package_name, res_path); std::string urdf_path; if (robot_name == "pr2") { @@ -123,13 +126,15 @@ srdf::ModelSharedPtr loadSRDFModel(const std::string& robot_name) if (robot_name == "pr2") { const std::string package_name = "moveit_resources_" + robot_name + "_description"; - std::filesystem::path res_path(ament_index_cpp::get_package_share_directory(package_name)); + std::filesystem::path res_path; + ament_index_cpp::get_package_share_directory(package_name, res_path); srdf_path = (res_path / "srdf/robot.xml").string(); } else { const std::string package_name = "moveit_resources_" + robot_name + "_moveit_config"; - std::filesystem::path res_path(ament_index_cpp::get_package_share_directory(package_name)); + std::filesystem::path res_path; + ament_index_cpp::get_package_share_directory(package_name, res_path); srdf_path = (res_path / "config" / (robot_name + ".srdf")).string(); } srdf_model->initFile(*urdf_model, srdf_path); From 3419f4804e330456a6366c7e7741d97c78e529c4 Mon Sep 17 00:00:00 2001 From: Stephanie Eng Date: Fri, 13 Mar 2026 16:06:26 -0400 Subject: [PATCH 2/5] Fix more get_package_shares --- moveit_ros/planning/rdf_loader/src/rdf_loader.cpp | 5 ++--- .../include/moveit_setup_framework/utilities.hpp | 4 +++- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/moveit_ros/planning/rdf_loader/src/rdf_loader.cpp b/moveit_ros/planning/rdf_loader/src/rdf_loader.cpp index de43e05744..aa2d9cb9dd 100644 --- a/moveit_ros/planning/rdf_loader/src/rdf_loader.cpp +++ b/moveit_ros/planning/rdf_loader/src/rdf_loader.cpp @@ -217,10 +217,10 @@ bool RDFLoader::loadXmlFileToString(std::string& buffer, const std::string& path bool RDFLoader::loadPkgFileToString(std::string& buffer, const std::string& package_name, const std::string& relative_path, const std::vector& xacro_args) { - std::string package_path; + std::filesystem::path path; try { - package_path = ament_index_cpp::get_package_share_directory(package_name); + ament_index_cpp::get_package_share_directory(package_name, path); } catch (const ament_index_cpp::PackageNotFoundError& e) { @@ -228,7 +228,6 @@ bool RDFLoader::loadPkgFileToString(std::string& buffer, const std::string& pack return false; } - std::filesystem::path path(package_path); path = path / relative_path; return loadXmlFileToString(buffer, path.string(), xacro_args); diff --git a/moveit_setup_assistant/moveit_setup_framework/include/moveit_setup_framework/utilities.hpp b/moveit_setup_assistant/moveit_setup_framework/include/moveit_setup_framework/utilities.hpp index ace3237c6b..d8ab665df1 100644 --- a/moveit_setup_assistant/moveit_setup_framework/include/moveit_setup_framework/utilities.hpp +++ b/moveit_setup_assistant/moveit_setup_framework/include/moveit_setup_framework/utilities.hpp @@ -52,7 +52,9 @@ inline std::filesystem::path getSharePath(const std::string& package_name) { try { - return std::filesystem::path(ament_index_cpp::get_package_share_directory(package_name)); + std::filesystem::path path; + ament_index_cpp::get_package_share_directory(package_name, path); + return path; } catch (const std::runtime_error& e) { From 2697b70fd6903537c5072561d5ff32d44c16fca9 Mon Sep 17 00:00:00 2001 From: Stephanie Eng Date: Fri, 13 Mar 2026 16:40:24 -0400 Subject: [PATCH 3/5] Update to Qt6 and hope --- moveit_ros/visualization/CMakeLists.txt | 14 +++++++------- .../motion_planning_rviz_plugin/CMakeLists.txt | 4 ++-- moveit_ros/visualization/package.xml | 3 +-- .../planning_scene_rviz_plugin/CMakeLists.txt | 2 +- .../rviz_plugin_render_tools/CMakeLists.txt | 2 +- 5 files changed, 12 insertions(+), 13 deletions(-) diff --git a/moveit_ros/visualization/CMakeLists.txt b/moveit_ros/visualization/CMakeLists.txt index 27855877a3..b7e67801b1 100644 --- a/moveit_ros/visualization/CMakeLists.txt +++ b/moveit_ros/visualization/CMakeLists.txt @@ -10,6 +10,13 @@ moveit_package() add_definitions(-DBOOST_MATH_DISABLE_FLOAT128) find_package(ament_cmake REQUIRED) + +find_package(Qt6 REQUIRED Core Widgets) +set(QT_LIBRARIES Qt6::Widgets) +macro(QT_WRAP_UI) + qt6_wrap_ui(${ARGN}) +endmacro() + find_package(class_loader REQUIRED) find_package(geometric_shapes REQUIRED) find_package(interactive_markers REQUIRED) @@ -38,13 +45,6 @@ find_package(rviz_ogre_vendor REQUIRED) include(ConfigExtras.cmake) # Qt Stuff -find_package(Qt5 ${rviz_QT_VERSION} REQUIRED Core Widgets) -set(QT_LIBRARIES Qt5::Widgets) -# Delegate to QT5 macro -macro(QT_WRAP_UI) - qt5_wrap_ui(${ARGN}) -endmacro() - set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) diff --git a/moveit_ros/visualization/motion_planning_rviz_plugin/CMakeLists.txt b/moveit_ros/visualization/motion_planning_rviz_plugin/CMakeLists.txt index 711211c89f..4e7e916bfc 100644 --- a/moveit_ros/visualization/motion_planning_rviz_plugin/CMakeLists.txt +++ b/moveit_ros/visualization/motion_planning_rviz_plugin/CMakeLists.txt @@ -4,7 +4,7 @@ set(HEADERS include/moveit/motion_planning_rviz_plugin/motion_planning_frame_joints_widget.hpp include/moveit/motion_planning_rviz_plugin/motion_planning_param_widget.hpp include/moveit/motion_planning_rviz_plugin/interactive_marker_display.hpp) -qt5_wrap_ui(UIC_FILES src/ui/motion_planning_rviz_plugin_frame.ui +qt6_wrap_ui(UIC_FILES src/ui/motion_planning_rviz_plugin_frame.ui src/ui/motion_planning_rviz_plugin_frame_joints.ui) include_directories(${CMAKE_CURRENT_BINARY_DIR}) @@ -38,7 +38,7 @@ ament_target_dependencies( moveit_ros_warehouse rviz2 rviz_ogre_vendor - Qt5 + Qt6 pluginlib) target_include_directories(moveit_motion_planning_rviz_plugin_core PRIVATE "${OGRE_PREFIX_DIR}/include") diff --git a/moveit_ros/visualization/package.xml b/moveit_ros/visualization/package.xml index e44e4c45d5..d273171db1 100644 --- a/moveit_ros/visualization/package.xml +++ b/moveit_ros/visualization/package.xml @@ -25,8 +25,7 @@ class_loader eigen - libqt5-opengl-dev - qtbase5-dev + qt6-base-dev geometric_shapes interactive_markers diff --git a/moveit_ros/visualization/planning_scene_rviz_plugin/CMakeLists.txt b/moveit_ros/visualization/planning_scene_rviz_plugin/CMakeLists.txt index efe2dc41f4..16543a62d3 100644 --- a/moveit_ros/visualization/planning_scene_rviz_plugin/CMakeLists.txt +++ b/moveit_ros/visualization/planning_scene_rviz_plugin/CMakeLists.txt @@ -27,7 +27,7 @@ add_library(moveit_planning_scene_rviz_plugin SHARED src/plugin_init.cpp) set_target_properties(moveit_planning_scene_rviz_plugin PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") target_link_libraries(moveit_planning_scene_rviz_plugin - moveit_planning_scene_rviz_plugin_core Qt5::Widgets) + moveit_planning_scene_rviz_plugin_core Qt6::Widgets) ament_target_dependencies(moveit_planning_scene_rviz_plugin pluginlib rviz_ogre_vendor) target_include_directories(moveit_planning_scene_rviz_plugin diff --git a/moveit_ros/visualization/rviz_plugin_render_tools/CMakeLists.txt b/moveit_ros/visualization/rviz_plugin_render_tools/CMakeLists.txt index 2a8c81a4dd..20dc2cfae2 100644 --- a/moveit_ros/visualization/rviz_plugin_render_tools/CMakeLists.txt +++ b/moveit_ros/visualization/rviz_plugin_render_tools/CMakeLists.txt @@ -24,7 +24,7 @@ add_library( set_target_properties(moveit_rviz_plugin_render_tools PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -target_link_libraries(moveit_rviz_plugin_render_tools Qt5::Widgets) +target_link_libraries(moveit_rviz_plugin_render_tools Qt6::Widgets) ament_target_dependencies( moveit_rviz_plugin_render_tools From c68e13434ecf8e42f74d96e60596f16efb346f9d Mon Sep 17 00:00:00 2001 From: Nathan Brooks Date: Sun, 15 Mar 2026 22:54:04 -0600 Subject: [PATCH 4/5] Revert "Update to Qt6 and hope" This reverts commit f0b9544b1b6024f538dfbc4f8a371f119be99f76. Qt6 migration will be handled in a separate branch. Co-Authored-By: Claude Opus 4.6 (1M context) --- moveit_ros/visualization/CMakeLists.txt | 14 +++++++------- .../motion_planning_rviz_plugin/CMakeLists.txt | 4 ++-- moveit_ros/visualization/package.xml | 3 ++- .../planning_scene_rviz_plugin/CMakeLists.txt | 2 +- .../rviz_plugin_render_tools/CMakeLists.txt | 2 +- 5 files changed, 13 insertions(+), 12 deletions(-) diff --git a/moveit_ros/visualization/CMakeLists.txt b/moveit_ros/visualization/CMakeLists.txt index b7e67801b1..27855877a3 100644 --- a/moveit_ros/visualization/CMakeLists.txt +++ b/moveit_ros/visualization/CMakeLists.txt @@ -10,13 +10,6 @@ moveit_package() add_definitions(-DBOOST_MATH_DISABLE_FLOAT128) find_package(ament_cmake REQUIRED) - -find_package(Qt6 REQUIRED Core Widgets) -set(QT_LIBRARIES Qt6::Widgets) -macro(QT_WRAP_UI) - qt6_wrap_ui(${ARGN}) -endmacro() - find_package(class_loader REQUIRED) find_package(geometric_shapes REQUIRED) find_package(interactive_markers REQUIRED) @@ -45,6 +38,13 @@ find_package(rviz_ogre_vendor REQUIRED) include(ConfigExtras.cmake) # Qt Stuff +find_package(Qt5 ${rviz_QT_VERSION} REQUIRED Core Widgets) +set(QT_LIBRARIES Qt5::Widgets) +# Delegate to QT5 macro +macro(QT_WRAP_UI) + qt5_wrap_ui(${ARGN}) +endmacro() + set(CMAKE_INCLUDE_CURRENT_DIR ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) diff --git a/moveit_ros/visualization/motion_planning_rviz_plugin/CMakeLists.txt b/moveit_ros/visualization/motion_planning_rviz_plugin/CMakeLists.txt index 4e7e916bfc..711211c89f 100644 --- a/moveit_ros/visualization/motion_planning_rviz_plugin/CMakeLists.txt +++ b/moveit_ros/visualization/motion_planning_rviz_plugin/CMakeLists.txt @@ -4,7 +4,7 @@ set(HEADERS include/moveit/motion_planning_rviz_plugin/motion_planning_frame_joints_widget.hpp include/moveit/motion_planning_rviz_plugin/motion_planning_param_widget.hpp include/moveit/motion_planning_rviz_plugin/interactive_marker_display.hpp) -qt6_wrap_ui(UIC_FILES src/ui/motion_planning_rviz_plugin_frame.ui +qt5_wrap_ui(UIC_FILES src/ui/motion_planning_rviz_plugin_frame.ui src/ui/motion_planning_rviz_plugin_frame_joints.ui) include_directories(${CMAKE_CURRENT_BINARY_DIR}) @@ -38,7 +38,7 @@ ament_target_dependencies( moveit_ros_warehouse rviz2 rviz_ogre_vendor - Qt6 + Qt5 pluginlib) target_include_directories(moveit_motion_planning_rviz_plugin_core PRIVATE "${OGRE_PREFIX_DIR}/include") diff --git a/moveit_ros/visualization/package.xml b/moveit_ros/visualization/package.xml index d273171db1..e44e4c45d5 100644 --- a/moveit_ros/visualization/package.xml +++ b/moveit_ros/visualization/package.xml @@ -25,7 +25,8 @@ class_loader eigen - qt6-base-dev + libqt5-opengl-dev + qtbase5-dev geometric_shapes interactive_markers diff --git a/moveit_ros/visualization/planning_scene_rviz_plugin/CMakeLists.txt b/moveit_ros/visualization/planning_scene_rviz_plugin/CMakeLists.txt index 16543a62d3..efe2dc41f4 100644 --- a/moveit_ros/visualization/planning_scene_rviz_plugin/CMakeLists.txt +++ b/moveit_ros/visualization/planning_scene_rviz_plugin/CMakeLists.txt @@ -27,7 +27,7 @@ add_library(moveit_planning_scene_rviz_plugin SHARED src/plugin_init.cpp) set_target_properties(moveit_planning_scene_rviz_plugin PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") target_link_libraries(moveit_planning_scene_rviz_plugin - moveit_planning_scene_rviz_plugin_core Qt6::Widgets) + moveit_planning_scene_rviz_plugin_core Qt5::Widgets) ament_target_dependencies(moveit_planning_scene_rviz_plugin pluginlib rviz_ogre_vendor) target_include_directories(moveit_planning_scene_rviz_plugin diff --git a/moveit_ros/visualization/rviz_plugin_render_tools/CMakeLists.txt b/moveit_ros/visualization/rviz_plugin_render_tools/CMakeLists.txt index 20dc2cfae2..2a8c81a4dd 100644 --- a/moveit_ros/visualization/rviz_plugin_render_tools/CMakeLists.txt +++ b/moveit_ros/visualization/rviz_plugin_render_tools/CMakeLists.txt @@ -24,7 +24,7 @@ add_library( set_target_properties(moveit_rviz_plugin_render_tools PROPERTIES VERSION "${${PROJECT_NAME}_VERSION}") -target_link_libraries(moveit_rviz_plugin_render_tools Qt6::Widgets) +target_link_libraries(moveit_rviz_plugin_render_tools Qt5::Widgets) ament_target_dependencies( moveit_rviz_plugin_render_tools From 8bef9426bf5368a9a2172acf8ad0e39accc49145 Mon Sep 17 00:00:00 2001 From: Nathan Brooks Date: Sun, 15 Mar 2026 22:55:34 -0600 Subject: [PATCH 5/5] Add include guards for https://github.com/ament/ament_index/pull/104 --- .../utils/src/robot_model_test_utils.cpp | 25 +++++++++++++++++++ .../planning/rdf_loader/src/rdf_loader.cpp | 7 ++++++ .../moveit_setup_framework/utilities.hpp | 7 ++++++ 3 files changed, 39 insertions(+) diff --git a/moveit_core/utils/src/robot_model_test_utils.cpp b/moveit_core/utils/src/robot_model_test_utils.cpp index 7677856aa7..b858a3d23a 100644 --- a/moveit_core/utils/src/robot_model_test_utils.cpp +++ b/moveit_core/utils/src/robot_model_test_utils.cpp @@ -34,6 +34,8 @@ /* Author: Bryce Willey */ +#include + #include #include #include @@ -64,12 +66,20 @@ moveit::core::RobotModelPtr loadTestingRobotModel(const std::string& package_nam const std::string& urdf_relative_path, const std::string& srdf_relative_path) { +// For Rolling, L-turtle, and newer +#if RCLCPP_VERSION_GTE(30, 0, 0) std::filesystem::path urdf_path; ament_index_cpp::get_package_share_directory(package_name, urdf_path); urdf_path /= urdf_relative_path; std::filesystem::path srdf_path; ament_index_cpp::get_package_share_directory(package_name, srdf_path); srdf_path /= srdf_relative_path; +#else + const auto urdf_path = + std::filesystem::path(ament_index_cpp::get_package_share_directory(package_name)) / urdf_relative_path; + const auto srdf_path = + std::filesystem::path(ament_index_cpp::get_package_share_directory(package_name)) / srdf_relative_path; +#endif urdf::ModelInterfaceSharedPtr urdf_model = urdf::parseURDFFile(urdf_path.string()); if (urdf_model == nullptr) @@ -97,8 +107,13 @@ moveit::core::RobotModelPtr loadTestingRobotModel(const std::string& robot_name) urdf::ModelInterfaceSharedPtr loadModelInterface(const std::string& robot_name) { const std::string package_name = "moveit_resources_" + robot_name + "_description"; +// For Rolling, L-turtle, and newer +#if RCLCPP_VERSION_GTE(30, 0, 0) std::filesystem::path res_path; ament_index_cpp::get_package_share_directory(package_name, res_path); +#else + std::filesystem::path res_path(ament_index_cpp::get_package_share_directory(package_name)); +#endif std::string urdf_path; if (robot_name == "pr2") { @@ -126,15 +141,25 @@ srdf::ModelSharedPtr loadSRDFModel(const std::string& robot_name) if (robot_name == "pr2") { const std::string package_name = "moveit_resources_" + robot_name + "_description"; +// For Rolling, L-turtle, and newer +#if RCLCPP_VERSION_GTE(30, 0, 0) std::filesystem::path res_path; ament_index_cpp::get_package_share_directory(package_name, res_path); +#else + std::filesystem::path res_path(ament_index_cpp::get_package_share_directory(package_name)); +#endif srdf_path = (res_path / "srdf/robot.xml").string(); } else { const std::string package_name = "moveit_resources_" + robot_name + "_moveit_config"; +// For Rolling, L-turtle, and newer +#if RCLCPP_VERSION_GTE(30, 0, 0) std::filesystem::path res_path; ament_index_cpp::get_package_share_directory(package_name, res_path); +#else + std::filesystem::path res_path(ament_index_cpp::get_package_share_directory(package_name)); +#endif srdf_path = (res_path / "config" / (robot_name + ".srdf")).string(); } srdf_model->initFile(*urdf_model, srdf_path); diff --git a/moveit_ros/planning/rdf_loader/src/rdf_loader.cpp b/moveit_ros/planning/rdf_loader/src/rdf_loader.cpp index aa2d9cb9dd..db0957e96f 100644 --- a/moveit_ros/planning/rdf_loader/src/rdf_loader.cpp +++ b/moveit_ros/planning/rdf_loader/src/rdf_loader.cpp @@ -34,6 +34,8 @@ /* Author: Ioan Sucan, Mathias Lüdtke, Dave Coleman */ +#include + // MoveIt #include #include @@ -220,7 +222,12 @@ bool RDFLoader::loadPkgFileToString(std::string& buffer, const std::string& pack std::filesystem::path path; try { +// For Rolling, L-turtle, and newer +#if RCLCPP_VERSION_GTE(30, 0, 0) ament_index_cpp::get_package_share_directory(package_name, path); +#else + path = ament_index_cpp::get_package_share_directory(package_name); +#endif } catch (const ament_index_cpp::PackageNotFoundError& e) { diff --git a/moveit_setup_assistant/moveit_setup_framework/include/moveit_setup_framework/utilities.hpp b/moveit_setup_assistant/moveit_setup_framework/include/moveit_setup_framework/utilities.hpp index d8ab665df1..6cc6967965 100644 --- a/moveit_setup_assistant/moveit_setup_framework/include/moveit_setup_framework/utilities.hpp +++ b/moveit_setup_assistant/moveit_setup_framework/include/moveit_setup_framework/utilities.hpp @@ -36,6 +36,8 @@ #pragma once +#include + #include #include #include @@ -52,9 +54,14 @@ inline std::filesystem::path getSharePath(const std::string& package_name) { try { +// For Rolling, L-turtle, and newer +#if RCLCPP_VERSION_GTE(30, 0, 0) std::filesystem::path path; ament_index_cpp::get_package_share_directory(package_name, path); return path; +#else + return std::filesystem::path(ament_index_cpp::get_package_share_directory(package_name)); +#endif } catch (const std::runtime_error& e) {