Skip to content

Add MoveIt Task Constructor packages (core, capabilities, visualization, demo, rviz_marker_tools)#14

Open
iamnambiar wants to merge 18 commits into
RoboStack:mainfrom
iamnambiar:add-moveit-task-constructor-pkgs
Open

Add MoveIt Task Constructor packages (core, capabilities, visualization, demo, rviz_marker_tools)#14
iamnambiar wants to merge 18 commits into
RoboStack:mainfrom
iamnambiar:add-moveit-task-constructor-pkgs

Conversation

@iamnambiar

Copy link
Copy Markdown

This PR adds the six MoveIt Task Constructor packages to ros-lyrical:

  1. moveit-task-constructor-core
  2. moveit-task-constructor-capabilities
  3. moveit-task-constructor-msgs
  4. moveit-task-constructor-visualization
  5. moveit-task-constructor-demo
  6. rviz-marker-tools

along with patches needed to build moveit-task-constructor-core and moveit-task-constructor-visualization.

@Tobias-Fischer

Copy link
Copy Markdown
Contributor

Thanks @iamnambiar! There is some issue on Windows, please take a look and let us know if you need help.

Best, Tobi

@iamnambiar

Copy link
Copy Markdown
Author

@Tobias-Fischer
From the logs, I understand that it's trying to build ros-lyrical-py-binding-tools because the packages that I have added depends on it. This package has already been built and released for Ubuntu, but not for Windows. See:

- py_binding_tools

I'm hoping this same issue came up when someone previously tried to build it for Windows. I'm happy to fix this as part of this PR by adding a patch. However, since the package has already been added, this would require incrementing the build number to generate a new recipe, which would also regenerate recipes for all the other packages. I'm not sure if that's the way to do this. Or else, I can update the vinca.yaml file to disable and skip the Windows build for now.

What do you think is the best approach here?

Updated the import statements to use 'module_' instead of 'module' for C++20 compatibility.
Updated CMakeLists.txt and header files for C++20 compatibility by renaming module and exporting functions correctly.
@Tobias-Fischer

Copy link
Copy Markdown
Contributor

I fixed the py_binding_tools issue. There are now other Windows errors, can you please have a go at fixing them @iamnambiar

@iamnambiar

Copy link
Copy Markdown
Author

@Tobias-Fischer Thank you for fixing the py_binding_tools issue. I was actually running this locally on my windows partition now and trying to fix the issues one by one.

@Tobias-Fischer

Copy link
Copy Markdown
Contributor

Cool I'll let you do, thanks :)

@Tobias-Fischer

Copy link
Copy Markdown
Contributor

Let me know how you're going @iamnambiar

@iamnambiar

Copy link
Copy Markdown
Author

Hi @Tobias-Fischer , I managed to get it built locally on both my ubuntu and windows machines. Please let me know what you think.

Comment thread patch/ros-lyrical-moveit-task-constructor-core.patch Outdated
@Tobias-Fischer

Copy link
Copy Markdown
Contributor

Looks good except for the pybind11 vendor

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR expands the ros-lyrical build set to include MoveIt Task Constructor (MTC) packages, adding the necessary build-system patches to make them compile cleanly (notably around fmt, pybind11 integration, Qt6, and Windows portability).

Changes:

  • Seed moveit-task-constructor-demo in vinca.yaml so MTC packages are pulled in via dependency selection.
  • Add/adjust patches to build MTC core, capabilities, and visualization (Qt6 + Windows export symbols), plus a patch for py_binding_tools.
  • Update CI workflow environment to force UTF-8 IO encoding.

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
vinca.yaml Adds moveit-task-constructor-demo to the dependency-selected seed list.
patch/ros-lyrical-py-binding-tools.patch Adds Windows symbol export handling and fixes pybind11 module_ usage in typecasters.
patch/ros-lyrical-moveit-task-constructor-visualization.patch Switches visualization components to Qt6 build macros and adds Windows DLL export annotations for proxy models.
patch/ros-lyrical-moveit-task-constructor-core.patch Applies cross-platform fixes (Windows hostname/pid handling, fmt target usage, pybind11 integration adjustments, type-width consistency).
patch/ros-lyrical-moveit-task-constructor-capabilities.patch Fixes fmt linkage to use the namespaced CMake target.
.github/workflows/testpr.yml Sets PYTHONIOENCODING=utf-8 for CI runs.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread patch/ros-lyrical-moveit-task-constructor-core.patch Outdated
Comment thread patch/ros-lyrical-py-binding-tools.patch Outdated
@Tobias-Fischer

Copy link
Copy Markdown
Contributor

@iamnambiar can you please take a look at CoPilot's suggestions?

@iamnambiar

iamnambiar commented Jul 26, 2026

Copy link
Copy Markdown
Author

@iamnambiar can you please take a look at CoPilot's suggestions?

@Tobias-Fischer Good catches, fixed both and pushed already.

@Tobias-Fischer

Copy link
Copy Markdown
Contributor

LGTM, but I'll let @traversaro have a look as well please as it's a fairly substantial PR

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants