From aea2fd5751f2e631eee6c52fa4abdc2030621131 Mon Sep 17 00:00:00 2001 From: Dhruv Patel Date: Fri, 5 Dec 2025 17:54:10 +0100 Subject: [PATCH 1/5] [macOS] Fix compilation and linking issues in MoveIt2 Signed-off-by: Dhruv Patel --- .../pilz_industrial_motion_planner/CMakeLists.txt | 12 ++++++------ moveit_py/src/moveit/moveit_py_utils/CMakeLists.txt | 2 ++ moveit_ros/perception/CMakeLists.txt | 2 +- moveit_ros/perception/semantic_world/CMakeLists.txt | 4 ++++ .../moveit_setup_framework/src/urdf_config.cpp | 1 + 5 files changed, 14 insertions(+), 7 deletions(-) diff --git a/moveit_planners/pilz_industrial_motion_planner/CMakeLists.txt b/moveit_planners/pilz_industrial_motion_planner/CMakeLists.txt index 18610f07ae..f275c80f9a 100644 --- a/moveit_planners/pilz_industrial_motion_planner/CMakeLists.txt +++ b/moveit_planners/pilz_industrial_motion_planner/CMakeLists.txt @@ -63,11 +63,6 @@ generate_parameter_library( src/cartesian_limits_parameters.yaml # path to input yaml file ) -add_library(planning_context_loader_base SHARED src/planning_context_loader.cpp) -target_link_libraries(planning_context_loader_base cartesian_limits_parameters) -ament_target_dependencies(planning_context_loader_base - ${THIS_PACKAGE_INCLUDE_DEPENDS}) - add_library( joint_limits_common SHARED src/joint_limits_aggregator.cpp src/joint_limits_container.cpp @@ -75,11 +70,16 @@ add_library( target_link_libraries(joint_limits_common cartesian_limits_parameters) ament_target_dependencies(joint_limits_common ${THIS_PACKAGE_INCLUDE_DEPENDS}) +add_library(planning_context_loader_base SHARED src/planning_context_loader.cpp) +target_link_libraries(planning_context_loader_base cartesian_limits_parameters joint_limits_common) +ament_target_dependencies(planning_context_loader_base + ${THIS_PACKAGE_INCLUDE_DEPENDS}) + add_library( trajectory_generation_common SHARED src/trajectory_functions.cpp src/trajectory_generator.cpp src/trajectory_blender_transition_window.cpp) -target_link_libraries(trajectory_generation_common cartesian_limits_parameters) +target_link_libraries(trajectory_generation_common cartesian_limits_parameters joint_limits_common) ament_target_dependencies(trajectory_generation_common ${THIS_PACKAGE_INCLUDE_DEPENDS}) diff --git a/moveit_py/src/moveit/moveit_py_utils/CMakeLists.txt b/moveit_py/src/moveit/moveit_py_utils/CMakeLists.txt index 132da7425c..0bd80696c0 100644 --- a/moveit_py/src/moveit/moveit_py_utils/CMakeLists.txt +++ b/moveit_py/src/moveit/moveit_py_utils/CMakeLists.txt @@ -9,6 +9,8 @@ set_target_properties(moveit_py_utils PROPERTIES VERSION ament_target_dependencies(moveit_py_utils rclcpp moveit_msgs geometry_msgs pybind11) +target_link_libraries(moveit_py_utils Python3::Python) + install( TARGETS moveit_py_utils EXPORT moveit_py_utilsTargets diff --git a/moveit_ros/perception/CMakeLists.txt b/moveit_ros/perception/CMakeLists.txt index 0452e04858..22751c9219 100644 --- a/moveit_ros/perception/CMakeLists.txt +++ b/moveit_ros/perception/CMakeLists.txt @@ -18,7 +18,7 @@ if(WITH_OPENGL) set(GL_LIBS ${GL_LIBS} ${OPENGL_LIBRARIES}) if(APPLE) find_package(FreeGLUT REQUIRED) - set(SYSTEM_GL_LIBRARIES ${GLEW_LIBRARIES} GLEW::GLEW FreeGLUT::freeglut) + set(SYSTEM_GL_LIBRARIES GLEW::GLEW FreeGLUT::freeglut) else() find_package(GLUT REQUIRED) if(WIN32) diff --git a/moveit_ros/perception/semantic_world/CMakeLists.txt b/moveit_ros/perception/semantic_world/CMakeLists.txt index dc8d941daa..a5b958355a 100644 --- a/moveit_ros/perception/semantic_world/CMakeLists.txt +++ b/moveit_ros/perception/semantic_world/CMakeLists.txt @@ -15,4 +15,8 @@ ament_target_dependencies( Eigen3 Boost) +target_link_libraries(moveit_semantic_world PRIVATE + ${OpenCV_LIBRARIES} +) + install(DIRECTORY include/ DESTINATION include/moveit_ros_perception) diff --git a/moveit_setup_assistant/moveit_setup_framework/src/urdf_config.cpp b/moveit_setup_assistant/moveit_setup_framework/src/urdf_config.cpp index eab6823260..5d17cec951 100644 --- a/moveit_setup_assistant/moveit_setup_framework/src/urdf_config.cpp +++ b/moveit_setup_assistant/moveit_setup_framework/src/urdf_config.cpp @@ -36,6 +36,7 @@ #include #include #include +#include namespace moveit_setup { From 4abd89e28d04efc68b548bbc6ca240eb21ed2ce2 Mon Sep 17 00:00:00 2001 From: Dhruv Patel Date: Fri, 5 Dec 2025 18:01:22 +0100 Subject: [PATCH 2/5] pre-commit changes Signed-off-by: Dhruv Patel --- .../pilz_industrial_motion_planner/CMakeLists.txt | 6 ++++-- moveit_ros/perception/semantic_world/CMakeLists.txt | 4 +--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/moveit_planners/pilz_industrial_motion_planner/CMakeLists.txt b/moveit_planners/pilz_industrial_motion_planner/CMakeLists.txt index f275c80f9a..72a81d4094 100644 --- a/moveit_planners/pilz_industrial_motion_planner/CMakeLists.txt +++ b/moveit_planners/pilz_industrial_motion_planner/CMakeLists.txt @@ -71,7 +71,8 @@ target_link_libraries(joint_limits_common cartesian_limits_parameters) ament_target_dependencies(joint_limits_common ${THIS_PACKAGE_INCLUDE_DEPENDS}) add_library(planning_context_loader_base SHARED src/planning_context_loader.cpp) -target_link_libraries(planning_context_loader_base cartesian_limits_parameters joint_limits_common) +target_link_libraries(planning_context_loader_base cartesian_limits_parameters + joint_limits_common) ament_target_dependencies(planning_context_loader_base ${THIS_PACKAGE_INCLUDE_DEPENDS}) @@ -79,7 +80,8 @@ add_library( trajectory_generation_common SHARED src/trajectory_functions.cpp src/trajectory_generator.cpp src/trajectory_blender_transition_window.cpp) -target_link_libraries(trajectory_generation_common cartesian_limits_parameters joint_limits_common) +target_link_libraries(trajectory_generation_common cartesian_limits_parameters + joint_limits_common) ament_target_dependencies(trajectory_generation_common ${THIS_PACKAGE_INCLUDE_DEPENDS}) diff --git a/moveit_ros/perception/semantic_world/CMakeLists.txt b/moveit_ros/perception/semantic_world/CMakeLists.txt index a5b958355a..c13e98c0f5 100644 --- a/moveit_ros/perception/semantic_world/CMakeLists.txt +++ b/moveit_ros/perception/semantic_world/CMakeLists.txt @@ -15,8 +15,6 @@ ament_target_dependencies( Eigen3 Boost) -target_link_libraries(moveit_semantic_world PRIVATE - ${OpenCV_LIBRARIES} -) +target_link_libraries(moveit_semantic_world PRIVATE ${OpenCV_LIBRARIES}) install(DIRECTORY include/ DESTINATION include/moveit_ros_perception) From 6c5b9f3325db18bf8625eff21e9f3927ce352ad3 Mon Sep 17 00:00:00 2001 From: Dhruv Patel Date: Wed, 10 Dec 2025 13:24:19 +0100 Subject: [PATCH 3/5] Fix: Python3:Module and OpenCV linking Signed-off-by: Dhruv Patel --- moveit_py/src/moveit/moveit_py_utils/CMakeLists.txt | 2 +- moveit_ros/perception/semantic_world/CMakeLists.txt | 5 ++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/moveit_py/src/moveit/moveit_py_utils/CMakeLists.txt b/moveit_py/src/moveit/moveit_py_utils/CMakeLists.txt index 0bd80696c0..887a353101 100644 --- a/moveit_py/src/moveit/moveit_py_utils/CMakeLists.txt +++ b/moveit_py/src/moveit/moveit_py_utils/CMakeLists.txt @@ -9,7 +9,7 @@ set_target_properties(moveit_py_utils PROPERTIES VERSION ament_target_dependencies(moveit_py_utils rclcpp moveit_msgs geometry_msgs pybind11) -target_link_libraries(moveit_py_utils Python3::Python) +target_link_libraries(moveit_py_utils Python3::Module) install( TARGETS moveit_py_utils diff --git a/moveit_ros/perception/semantic_world/CMakeLists.txt b/moveit_ros/perception/semantic_world/CMakeLists.txt index c13e98c0f5..98c87211ff 100644 --- a/moveit_ros/perception/semantic_world/CMakeLists.txt +++ b/moveit_ros/perception/semantic_world/CMakeLists.txt @@ -13,8 +13,7 @@ ament_target_dependencies( moveit_msgs tf2_eigen Eigen3 - Boost) - -target_link_libraries(moveit_semantic_world PRIVATE ${OpenCV_LIBRARIES}) + Boost + OpenCV) install(DIRECTORY include/ DESTINATION include/moveit_ros_perception) From 9eb4e41ee15a8388093c06edf3722a900dbd33d0 Mon Sep 17 00:00:00 2001 From: Dhruv Patel Date: Mon, 15 Dec 2025 10:26:34 +0100 Subject: [PATCH 4/5] Fix invisible joint value progress bars on macOS Signed-off-by: Dhruv Patel --- .../motion_planning_frame_joints_widget.cpp | 36 +++++++++++++++++-- 1 file changed, 34 insertions(+), 2 deletions(-) diff --git a/moveit_ros/visualization/motion_planning_rviz_plugin/src/motion_planning_frame_joints_widget.cpp b/moveit_ros/visualization/motion_planning_rviz_plugin/src/motion_planning_frame_joints_widget.cpp index 39de464182..be84bdfd78 100644 --- a/moveit_ros/visualization/motion_planning_rviz_plugin/src/motion_planning_frame_joints_widget.cpp +++ b/moveit_ros/visualization/motion_planning_rviz_plugin/src/motion_planning_frame_joints_widget.cpp @@ -433,8 +433,40 @@ void ProgressBarDelegate::paint(QPainter* painter, const QStyleOptionViewItem& o opt.text = style_option.text; opt.textAlignment = style_option.displayAlignment; opt.textVisible = true; - style->drawControl(QStyle::CE_ProgressBar, &opt, painter); - return; + +#ifndef __APPLE__ + style->drawControl(QStyle::CE_ProgressBar, &opt, painter); +#else + // Use Manual Drawing Fix for known delegate bug + const double progress_fraction = (value - min) / (max - min); + const int bar_width = static_cast(option.rect.width() * progress_fraction); + + // Color Definitions + const QColor TRACK_COLOR = QColor(50, 50, 50); + const QColor CHUNK_COLOR = QColor(38, 166, 154); + const QColor BORDER_COLOR = QColor(100, 100, 100); + + const QRect inner_rect = option.rect.adjusted(1, 1, -1, -1); + + // Empty Track (Background) + painter->fillRect(inner_rect, TRACK_COLOR); + + // Filled Progress Chunk + if (bar_width > 0) { + QRect progress_rect = inner_rect; + progress_rect.setWidth(bar_width - 1); + painter->fillRect(progress_rect, CHUNK_COLOR); + } + + // Border + painter->setPen(QPen(BORDER_COLOR, 1)); + painter->drawRect(option.rect); + + // Text Label + painter->setPen(Qt::white); + painter->drawText(option.rect, style_option.displayAlignment, style_option.text); +#endif // __APPLE__ + return; } } From b90497bd69e70e3bab1d7d1f4eb3792c51a45655 Mon Sep 17 00:00:00 2001 From: Dhruv Patel Date: Mon, 15 Dec 2025 10:31:59 +0100 Subject: [PATCH 5/5] pre-commit fixes Signed-off-by: Dhruv Patel --- .../motion_planning_frame_joints_widget.cpp | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/moveit_ros/visualization/motion_planning_rviz_plugin/src/motion_planning_frame_joints_widget.cpp b/moveit_ros/visualization/motion_planning_rviz_plugin/src/motion_planning_frame_joints_widget.cpp index be84bdfd78..89e5482b07 100644 --- a/moveit_ros/visualization/motion_planning_rviz_plugin/src/motion_planning_frame_joints_widget.cpp +++ b/moveit_ros/visualization/motion_planning_rviz_plugin/src/motion_planning_frame_joints_widget.cpp @@ -435,38 +435,39 @@ void ProgressBarDelegate::paint(QPainter* painter, const QStyleOptionViewItem& o opt.textVisible = true; #ifndef __APPLE__ - style->drawControl(QStyle::CE_ProgressBar, &opt, painter); -#else + style->drawControl(QStyle::CE_ProgressBar, &opt, painter); +#else // Use Manual Drawing Fix for known delegate bug const double progress_fraction = (value - min) / (max - min); const int bar_width = static_cast(option.rect.width() * progress_fraction); - + // Color Definitions const QColor TRACK_COLOR = QColor(50, 50, 50); const QColor CHUNK_COLOR = QColor(38, 166, 154); const QColor BORDER_COLOR = QColor(100, 100, 100); const QRect inner_rect = option.rect.adjusted(1, 1, -1, -1); - + // Empty Track (Background) painter->fillRect(inner_rect, TRACK_COLOR); // Filled Progress Chunk - if (bar_width > 0) { - QRect progress_rect = inner_rect; - progress_rect.setWidth(bar_width - 1); - painter->fillRect(progress_rect, CHUNK_COLOR); + if (bar_width > 0) + { + QRect progress_rect = inner_rect; + progress_rect.setWidth(bar_width - 1); + painter->fillRect(progress_rect, CHUNK_COLOR); } - + // Border painter->setPen(QPen(BORDER_COLOR, 1)); painter->drawRect(option.rect); - + // Text Label - painter->setPen(Qt::white); + painter->setPen(Qt::white); painter->drawText(option.rect, style_option.displayAlignment, style_option.text); -#endif // __APPLE__ - return; +#endif // __APPLE__ + return; } }