From 2d0244b921a4149e2de5c9019658ad881a3bb2bb Mon Sep 17 00:00:00 2001 From: Robert Haschke Date: Thu, 26 Dec 2024 13:22:38 +0100 Subject: [PATCH 1/4] CI: Fix doc job --- .github/workflows/ci.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index f907a6d6a..398aa1e86 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -74,7 +74,7 @@ jobs: - name: Upload ici's target_ws/install folder uses: rhaschke/upload-ici-workspace@main - if: success() && matrix.env.CLANG_TIDY + if: success() && matrix.env.IMAGE == 'jammy-ci' with: subdir: target_ws/install @@ -117,7 +117,7 @@ jobs: runs-on: ubuntu-latest needs: ici container: - image: moveit/moveit:noetic-source + image: moveit/moveit:jammy-ci steps: - name: Checkout uses: actions/checkout@v4 @@ -127,7 +127,7 @@ jobs: - name: Install dependencies run: | apt-get update -q - apt-get install -y doxygen graphviz python3-pip ros-noetic-py-binding-tools + apt-get install -y doxygen graphviz python3-pip ros-one-moveit-ros ros-one-py-binding-tools libfmt8 pip install -r core/doc/requirements.txt - name: Download ICI workspace From a924b566fbe25ac8f4e3b5d70da2713e39d62637 Mon Sep 17 00:00:00 2001 From: Ali Haider Date: Sun, 5 Jan 2025 23:09:58 +0100 Subject: [PATCH 2/4] Fix typo --- core/include/moveit/task_constructor/stage.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/include/moveit/task_constructor/stage.h b/core/include/moveit/task_constructor/stage.h index 37be554a6..f75a1be59 100644 --- a/core/include/moveit/task_constructor/stage.h +++ b/core/include/moveit/task_constructor/stage.h @@ -283,7 +283,7 @@ class PropagatingEitherWayPrivate; /** Base class for stages that can propagate InterfaceStates * * They read an InterfaceState on one side (start or end) and - * push a new InterfaceState to the opposite site. + * push a new InterfaceState to the opposite side. * By default, the class auto-derives its actual propagation direction from the context. * In order to enforce forward, backward, or bothway propagation, one can use restrictDirection(). */ From d2c5150ec9f0f95b4b99e30bd98282c95f8a9270 Mon Sep 17 00:00:00 2001 From: Robert Haschke Date: Mon, 13 Jan 2025 14:16:39 +0100 Subject: [PATCH 3/4] Python API: Allow passing a task's introspection object to SolutionBase::toMsg() which is a prerequisite for correct filling of IDs. --- core/python/bindings/src/core.cpp | 10 +++++++--- core/python/bindings/src/core.h | 1 + 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/core/python/bindings/src/core.cpp b/core/python/bindings/src/core.cpp index a926778ab..12d9679f9 100644 --- a/core/python/bindings/src/core.cpp +++ b/core/python/bindings/src/core.cpp @@ -95,6 +95,8 @@ void export_core(pybind11::module& m) { } }); + py::classh(m, "Introspection", "Introspection class"); + py::classh(m, "Solution", "Abstract base class for solutions of a stage") .def_property("cost", &SolutionBase::cost, &SolutionBase::setCost, "float: Cost associated with the solution") .def_property("comment", &SolutionBase::comment, &SolutionBase::setComment, @@ -109,12 +111,12 @@ void export_core(pybind11::module& m) { ":visualization_msgs:`Marker`: Markers to visualize important aspects of the trajectory (read-only)") .def( "toMsg", - [](const SolutionBase& self) { + [](const SolutionBase& self, moveit::task_constructor::Introspection* introspection) { moveit_task_constructor_msgs::Solution msg; - self.toMsg(msg); + self.toMsg(msg, introspection); return msg; }, - "Convert to the ROS message ``Solution``"); + "Convert to the ROS message ``Solution``", py::arg("introspection") = nullptr); py::classh(m, "SubTrajectory", "Solution trajectory connecting two InterfaceStates of a stage") @@ -462,6 +464,8 @@ void export_core(pybind11::module& m) { .def( "setCostTerm", [](Task& self, const LambdaCostTerm::SubTrajectoryShortSignature& f) { self.setCostTerm(f); }, "Specify a function to calculate trajectory costs") + .def("introspection", &Task::introspection, py::return_value_policy::reference_internal, + "Access introspection object") .def("reset", &Task::reset, "Reset task (and all its stages)") .def("init", py::overload_cast<>(&Task::init), "Initialize the task (and all its stages)") .def("plan", &Task::plan, "max_solutions"_a = 0, R"( diff --git a/core/python/bindings/src/core.h b/core/python/bindings/src/core.h index 9be7a4de6..84dd6349a 100644 --- a/core/python/bindings/src/core.h +++ b/core/python/bindings/src/core.h @@ -140,3 +140,4 @@ PYBIND11_SMART_HOLDER_TYPE_CASTERS(moveit::task_constructor::Fallbacks) PYBIND11_SMART_HOLDER_TYPE_CASTERS(moveit::task_constructor::Merger) PYBIND11_SMART_HOLDER_TYPE_CASTERS(moveit::task_constructor::WrapperBase) PYBIND11_SMART_HOLDER_TYPE_CASTERS(moveit::task_constructor::Task) +PYBIND11_SMART_HOLDER_TYPE_CASTERS(moveit::task_constructor::Introspection) From 83185469924f457f1415a021c86b56d5de4324af Mon Sep 17 00:00:00 2001 From: Robert Haschke Date: Sun, 19 Jan 2025 15:55:58 +0100 Subject: [PATCH 4/4] Increase minimum required CMake version to 3.16 supported by Ubuntu 20.04 --- capabilities/CMakeLists.txt | 2 +- core/CMakeLists.txt | 2 +- demo/CMakeLists.txt | 2 +- msgs/CMakeLists.txt | 2 +- rviz_marker_tools/CMakeLists.txt | 2 +- visualization/CMakeLists.txt | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/capabilities/CMakeLists.txt b/capabilities/CMakeLists.txt index a5cf37ce0..09f2542ea 100644 --- a/capabilities/CMakeLists.txt +++ b/capabilities/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1.3) +cmake_minimum_required(VERSION 3.16) project(moveit_task_constructor_capabilities) find_package(fmt REQUIRED) diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt index 12af7292b..8bc43f071 100644 --- a/core/CMakeLists.txt +++ b/core/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1.3) +cmake_minimum_required(VERSION 3.16) project(moveit_task_constructor_core) find_package(Boost REQUIRED) diff --git a/demo/CMakeLists.txt b/demo/CMakeLists.txt index a421eefcc..3182a9102 100644 --- a/demo/CMakeLists.txt +++ b/demo/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1.3) +cmake_minimum_required(VERSION 3.16) project(moveit_task_constructor_demo) find_package(catkin REQUIRED COMPONENTS diff --git a/msgs/CMakeLists.txt b/msgs/CMakeLists.txt index f2792232e..4000619ce 100644 --- a/msgs/CMakeLists.txt +++ b/msgs/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1.3) +cmake_minimum_required(VERSION 3.16) project(moveit_task_constructor_msgs) set(MSG_DEPS moveit_msgs visualization_msgs) diff --git a/rviz_marker_tools/CMakeLists.txt b/rviz_marker_tools/CMakeLists.txt index 3878ba199..6cf85147a 100644 --- a/rviz_marker_tools/CMakeLists.txt +++ b/rviz_marker_tools/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1.3) +cmake_minimum_required(VERSION 3.16) project(rviz_marker_tools) find_package(catkin REQUIRED COMPONENTS diff --git a/visualization/CMakeLists.txt b/visualization/CMakeLists.txt index d72aaebf7..84793ab30 100644 --- a/visualization/CMakeLists.txt +++ b/visualization/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1.3) +cmake_minimum_required(VERSION 3.16) project(moveit_task_constructor_visualization) find_package(fmt REQUIRED)