MTC功能包
Go to file
Robert Haschke a0bc0602e8 Enable tests
Adapt test results FallbacksFixturePropagate.computeFirstSuccessfulStagePerSolutionOnly
due to 2e63c154aa:

The order of computations has changed, because we lock the processed state
as soon as it is forwarded to the first fallback child.

In this case, after processing GEN1 und FWD1 once, we have the two states with costs 2, 4 in the queue.
The first one, i.e. with cost 2 is forwarded to the child FWD2, which fails.
In the next cycle, although we have new states in the queue (1, 2, 3, 4), we stick with state "2"
and forward it two FWD3, which adds costs 210, resulting in 212.

With previous code, the Fallback container switched to state "1", forwarded to FWD2.
2021-11-24 15:07:21 +01:00
.github/workflows Improve CI 2021-10-22 23:28:43 +02:00
capabilities remove dirty MOVEIT_MASTER-check 2021-08-23 00:06:42 +02:00
core Enable tests 2021-11-24 15:07:21 +01:00
demo add demo illustrating useful fallbacks behavior 2021-11-15 09:29:09 +01:00
msgs Modernize: require cmake version 3.1.3 2020-12-06 04:11:35 +01:00
rviz_marker_tools move to tf2_eigen everywhere (#301) 2021-10-18 23:34:29 +02:00
visualization simplify parameter-free lambdas 2021-11-10 13:33:26 +01:00
.clang-format Apply clang-format-10 (#199) 2020-08-20 11:56:53 +02:00
.clang-tidy Fix more clang-tidy issues 2021-04-24 02:12:24 +02:00
.gitignore Perform clang-format check via github action from pre-commit.com 2021-03-15 14:29:19 +01:00
.pre-commit-config.yaml Switch CI to GitHub Actions 2021-04-23 23:49:50 +02:00
codecov.yaml Adapt codecov.yaml 2020-09-23 07:49:31 +02:00
LICENSE.txt add full license information 2017-12-12 21:24:32 +01:00
README.md Update README.md 2021-03-30 21:21:43 +02:00

MoveIt Task Constructor Framework

The Task Constructor framework provides a flexible and transparent way to define and plan actions that consist of multiple interdependent subtasks. It draws on the planning capabilities of MoveIt to solve individual subproblems in black-box planning stages. A common interface, based on MoveIt's PlanningScene is used to pass solution hypotheses between stages. The framework enables the hierarchical organization of basic stages using containers, allowing for sequential as well as parallel compositions.

Video

Video associated with ICRA 2019 paper

Tutorial

We provide a tutorial for a pick-and-place pipeline without bells & whistles as part of the MoveIt tutorials.

Roadmap

Feedback, reports and contributions are very welcome.

The current roadmap is to replace MoveIt's old pick&place pipeline and provide a transparent mechanism to enable and debug complex motion sequences.

Further planned features include

  • Entwined planning and execution for early execution, monitoring and code hooks
  • Subsolution blending
  • Parallel planning
  • Iterative solution improvement

Ideas and requests for other interesting/useful features are welcome.

Citation

If you use this framework in your project, please cite the associated paper:

Michael Görner*, Robert Haschke*, Helge Ritter, and Jianwei Zhang, MoveIt! Task Constructor for Task-Level Motion Planning, International Conference on Robotics and Automation, ICRA 2019, Montreal, Canada. [DOI] [PDF].

@inproceedings{goerner2019mtc,
  title={{MoveIt! Task Constructor for Task-Level Motion Planning}},
  author={Görner, Michael* and Haschke, Robert* and Ritter, Helge and Zhang, Jianwei},
  booktitle={IEEE International Conference on Robotics and Automation (ICRA)},
  year={2019}
}