moveit_task_constructor icon indicating copy to clipboard operation
moveit_task_constructor copied to clipboard

[ros2] Add Stage property to assign a list of controllers to use when executing the planned trajectory

Open schornakj opened this issue 2 years ago • 3 comments

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 the SubTrajectory message.
  • Add a new TrajectoryExecutionInfo struct to hold this info as an MTC property.
  • Propagate the "trajectory_execution_info" property from each stage into the SubTrajectory messages output when the task is planned.
  • Modify the ExecuteTaskSolution capability to copy the controller names into the RobotTrajectory prior to execution.

schornakj avatar Apr 20 '22 03:04 schornakj

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

IgorUnlimited avatar Apr 20 '22 21:04 IgorUnlimited

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.

schornakj avatar Apr 21 '22 18:04 schornakj

I'll tag @JafarAbdi here since we were talking about this PR earlier today.

schornakj avatar Apr 26 '22 23:04 schornakj

@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

sjahr avatar May 03 '23 10:05 sjahr

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.

codecov[bot] avatar Oct 18 '23 16:10 codecov[bot]

@rhaschke Done :heavy_check_mark:

sjahr avatar Oct 20 '23 10:10 sjahr

@rhaschke Can you give this a final review?

sjahr avatar Oct 24 '23 15:10 sjahr

Looks like this PR introduced a segfault in unit tests: https://github.com/ros-planning/moveit_task_constructor/actions/runs/6730632997

Please investigate!

rhaschke avatar Nov 02 '23 12:11 rhaschke

:thinking: Why wasn't it caught by CI?

sjahr avatar Nov 02 '23 14:11 sjahr

Not sure. Maybe it is just due to a recent change in MoveIt2?

rhaschke avatar Nov 02 '23 20:11 rhaschke

I'll investigate it today :+1:

sjahr avatar Nov 03 '23 08:11 sjahr