![]()
Some checks failed
CI / ${{ matrix.env.IMAGE }}${{ matrix.env.NAME && ' • ' || ''}}${{ matrix.env.NAME }}${{ matrix.env.CATKIN_LINT && ' • catkin_lint' || ''}}${{ matrix.env.CLANG_TIDY && ' • clang-tidy' || '' }} (map[CLANG_TIDY:true IMAGE:noble-ci-testing TARGET_CMAKE_… (push) Has been cancelled
CI / ${{ matrix.env.IMAGE }}${{ matrix.env.NAME && ' • ' || ''}}${{ matrix.env.NAME }}${{ matrix.env.CATKIN_LINT && ' • catkin_lint' || ''}}${{ matrix.env.CLANG_TIDY && ' • clang-tidy' || '' }} (map[DOCKER_RUN_OPTS:-e PRELOAD=libasan.so.8 -e LSAN_OPTI… (push) Has been cancelled
CI / ${{ matrix.env.IMAGE }}${{ matrix.env.NAME && ' • ' || ''}}${{ matrix.env.NAME }}${{ matrix.env.CATKIN_LINT && ' • catkin_lint' || ''}}${{ matrix.env.CLANG_TIDY && ' • clang-tidy' || '' }} (map[IMAGE:jammy-ci]) (push) Has been cancelled
CI / ${{ matrix.env.IMAGE }}${{ matrix.env.NAME && ' • ' || ''}}${{ matrix.env.NAME }}${{ matrix.env.CATKIN_LINT && ' • catkin_lint' || ''}}${{ matrix.env.CLANG_TIDY && ' • clang-tidy' || '' }} (map[IMAGE:noble-ci NAME:ccov TARGET_CMAKE_ARGS:-DCMAKE_B… (push) Has been cancelled
Format / pre-commit (push) Has been cancelled
CI / doc (push) Has been cancelled
CI / deploy (push) Has been cancelled
If start and end scene of a stage are identical (e.g. from a generator), we can use an (empty) scene diff as well. |
||
---|---|---|
.github/workflows | ||
capabilities | ||
core | ||
demo | ||
msgs | ||
rviz_marker_tools | ||
visualization | ||
.clang-format | ||
.clang-tidy | ||
.gitignore | ||
.gitmodules | ||
.pre-commit-config.yaml | ||
codecov.yaml | ||
LICENSE.txt | ||
README.md |
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.
Branches
This repository provides the following branches:
- master: ROS 1 development
- ros2: ROS 2 development, compatible with MoveIt 2
main
- humble: ROS 2 stable branch for Humble support
Videos
-
Demo 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}
}