Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/ros-planning/moveit_task_constructor

A hierarchical multi-stage manipulation planner
https://github.com/ros-planning/moveit_task_constructor

Last synced: 2 months ago
JSON representation

A hierarchical multi-stage manipulation planner

Lists

README

        

# 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](https://moveit.ros.org/) 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](https://pub.uni-bielefeld.de/download/2918864/2933599/paper.pdf)

[![](https://img.youtube.com/vi/fCORKVYsdDI/0.jpg)](https://www.youtube.com/watch?v=fCORKVYsdDI)

- [Presentation @ ROSCon 2018 (Madrid)](https://vimeo.com/293432325)
- [Presentation @ MoveIt workshop 2019 (Macau)](https://www.youtube.com/watch?v=a8r7O2bs1Mc)

## Tutorial

We provide a tutorial for a pick-and-place pipeline without bells & whistles [as part of the MoveIt tutorials](https://ros-planning.github.io/moveit_tutorials/doc/moveit_task_constructor/moveit_task_constructor_tutorial.html).

## 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]](https://doi.org/10.1109/ICRA.2019.8793898) [[PDF]](https://pub.uni-bielefeld.de/download/2918864/2933599/paper.pdf).

```plain
@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}
}
```