moveit_task_constructor
moveit_task_constructor copied to clipboard
[ros2] Add Stage property to assign a list of controllers to use when executing the planned trajectory
This is essentially a ROS2 version of the work in #123, plus some additions based on @henningkayser's review of that PR.
- Add a new
TrajectoryExecutionInfo
ROS message to hold info used when executing the trajectory. Right now it just contains a vector of strings to define controller names used with the trajectory. Add an instance of this message as a field in theSubTrajectory
message. - Add a new
TrajectoryExecutionInfo
struct to hold this info as an MTC property. - Propagate the
"trajectory_execution_info"
property from each stage into theSubTrajectory
messages output when the task is planned. - Modify the
ExecuteTaskSolution
capability to copy the controller names into theRobotTrajectory
prior to execution.
Pick/place still not work. Planning failed ... after running:
-
ros2 launch moveit_task_constructor_demo demo.launch.py
-
ros2 launch moveit_task_constructor_demo pickplace.launch.py
Pick/place still not work. Planning failed ... after running:
1. `ros2 launch moveit_task_constructor_demo demo.launch.py` 2. `ros2 launch moveit_task_constructor_demo pickplace.launch.py`
Was your comment meant for #350? This PR wasn't intended as a fix for the issue described over there.
I'll tag @JafarAbdi here since we were talking about this PR earlier today.
@rhaschke @v4hn Other than the conflict, what is blocking this PR from being merged? I saw this comment in #26:
Anyway, I was not happy with that approach because it focused only on controller names.
What else would you add? To move forward I think it would be good to review and merge this PR to make this usable and build on top of it. A nice follow-up PR could involve hiding the actual controller names behind more abstracted config names such as complaint trajectory execution (e.g. JTC + admittance control) and offer such an API in MoveIt itself
Codecov Report
Attention: 2 lines
in your changes are missing coverage. Please review.
Comparison is base (
b25d2ba
) 42.82% compared to head (6625975
) 42.87%.
Additional details and impacted files
@@ Coverage Diff @@
## ros2 #355 +/- ##
==========================================
+ Coverage 42.82% 42.87% +0.05%
==========================================
Files 82 82
Lines 7967 7977 +10
==========================================
+ Hits 3411 3419 +8
- Misses 4556 4558 +2
Files | Coverage Δ | |
---|---|---|
core/include/moveit/task_constructor/stage.h | 92.69% <100.00%> (+1.02%) |
:arrow_up: |
core/src/container.cpp | 73.16% <100.00%> (+0.07%) |
:arrow_up: |
core/src/stage.cpp | 81.46% <100.00%> (+0.04%) |
:arrow_up: |
core/src/storage.cpp | 49.07% <0.00%> (-0.61%) |
:arrow_down: |
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
@rhaschke Done :heavy_check_mark:
@rhaschke Can you give this a final review?
Looks like this PR introduced a segfault in unit tests: https://github.com/ros-planning/moveit_task_constructor/actions/runs/6730632997
Please investigate!
:thinking: Why wasn't it caught by CI?
Not sure. Maybe it is just due to a recent change in MoveIt2?
I'll investigate it today :+1: