MTC功能包
Go to file
Robert Haschke a6a23d3775 Remove set[Start|End]StateUnsafe
These methods were introduced to temporarily set meaningful states for cost calculation
w/o connecting the solution to these temporary states (to solve a chicken-egg problem).
This commit provides TmpInterfaceStateProvider as an alternative approach to this problem.

This essentially reverts 53c0964618.
2020-12-06 04:11:35 +01:00
capabilities Modernize: require cmake version 3.1.3 2020-12-06 04:11:35 +01:00
core Remove set[Start|End]StateUnsafe 2020-12-06 04:11:35 +01:00
demo Modernize: require cmake version 3.1.3 2020-12-06 04:11:35 +01:00
msgs Modernize: require cmake version 3.1.3 2020-12-06 04:11:35 +01:00
rviz_marker_tools Modernize: require cmake version 3.1.3 2020-12-06 04:11:35 +01:00
visualization Modernize: require cmake version 3.1.3 2020-12-06 04:11:35 +01:00
.clang-format Apply clang-format-10 (#199) 2020-08-20 11:56:53 +02:00
.clang-tidy add other checks present in the main MoveIt repository 2020-06-11 11:03:50 +02:00
.gitignore add gitignore for vim swp 2017-02-28 11:12:18 +01:00
.rosinstall Demo package for tutorial (#104) 2019-10-08 17:30:45 +02:00
.travis.yml Travis: switch to melodic-source docker container 2020-04-07 23:48:08 +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 README: add tutorial reference 2020-08-10 10:27:03 +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
  • Support custom cost terms
  • 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}
}