main f42a2cb53c39 cached
7 files
19.9 KB
5.4k tokens
1 requests
Download .txt
Repository: ros-wg-delib/awesome-ros-deliberation
Branch: main
Commit: f42a2cb53c39
Files: 7
Total size: 19.9 KB

Directory structure:
gitextract_y728oe08/

├── .github/
│   └── workflows/
│       └── lint.yml
├── .markdown-link-check.json
├── .pre-commit-config.yaml
├── LICENSE
├── contributing.md
├── markdownlint-config.json
└── readme.md

================================================
FILE CONTENTS
================================================

================================================
FILE: .github/workflows/lint.yml
================================================
name: Lint
on:
  pull_request:
    branches: [main]
  push:
    branches: [main]
  schedule:
    - cron: "3 1 4 * *"
jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          fetch-depth: 0
      - name: Pre-commit
        uses: pre-commit/action@v3.0.1


================================================
FILE: .markdown-link-check.json
================================================
{
    "ignorePatterns": [
        {
            "pattern": "^https://journals.sagepub.com/doi"
        },
        {
            "pattern": "^https://roboticseabass.com/.*"
        }
    ]
}


================================================
FILE: .pre-commit-config.yaml
================================================
repos:
-   repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v6.0.0
    hooks:
    -   id: trailing-whitespace
    -   id: end-of-file-fixer
    -   id: check-yaml
    -   id: check-added-large-files

-   repo: https://github.com/codespell-project/codespell
    rev: v2.4.1
    hooks:
      - id: codespell
        args:
          []

-   repo: https://github.com/igorshubovych/markdownlint-cli
    rev: "v0.46.0"
    hooks:
      - id: markdownlint
        args: ["-f", "-c", "markdownlint-config.json"]

- repo: https://github.com/tcort/markdown-link-check
  rev: v3.14.2
  hooks:
    - id: markdown-link-check
      args: [-q, --config, .markdown-link-check.json]

- repo: https://github.com/pengqun/pre-commit-hooks
  rev: v1.1.0
  hooks:
    - id: awesome-lint
      args: [-q]


================================================
FILE: LICENSE
================================================
Creative Commons Legal Code

CC0 1.0 Universal

    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
    LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
    ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
    INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
    REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
    PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
    THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
    HEREUNDER.

Statement of Purpose

The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator
and subsequent owner(s) (each and all, an "owner") of an original work of
authorship and/or a database (each, a "Work").

Certain owners wish to permanently relinquish those rights to a Work for
the purpose of contributing to a commons of creative, cultural and
scientific works ("Commons") that the public can reliably and without fear
of later claims of infringement build upon, modify, incorporate in other
works, reuse and redistribute as freely as possible in any form whatsoever
and for any purposes, including without limitation commercial purposes.
These owners may contribute to the Commons to promote the ideal of a free
culture and the further production of creative, cultural and scientific
works, or to gain reputation or greater distribution for their Work in
part through the use and efforts of others.

For these and/or other purposes and motivations, and without any
expectation of additional consideration or compensation, the person
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
is an owner of Copyright and Related Rights in the Work, voluntarily
elects to apply CC0 to the Work and publicly distribute the Work under its
terms, with knowledge of his or her Copyright and Related Rights in the
Work and the meaning and intended legal effect of CC0 on those rights.

1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights ("Copyright and
Related Rights"). Copyright and Related Rights include, but are not
limited to, the following:

  i. the right to reproduce, adapt, distribute, perform, display,
     communicate, and translate a Work;
 ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or
     likeness depicted in a Work;
 iv. rights protecting against unfair competition in regards to a Work,
     subject to the limitations in paragraph 4(a), below;
  v. rights protecting the extraction, dissemination, use and reuse of data
     in a Work;
 vi. database rights (such as those arising under Directive 96/9/EC of the
     European Parliament and of the Council of 11 March 1996 on the legal
     protection of databases, and under any national implementation
     thereof, including any amended or successor version of such
     directive); and
vii. other similar, equivalent or corresponding rights throughout the
     world based on applicable law or treaty, and any national
     implementations thereof.

2. Waiver. To the greatest extent permitted by, but not in contravention
of, applicable law, Affirmer hereby overtly, fully, permanently,
irrevocably and unconditionally waives, abandons, and surrenders all of
Affirmer's Copyright and Related Rights and associated claims and causes
of action, whether now known or unknown (including existing as well as
future claims and causes of action), in the Work (i) in all territories
worldwide, (ii) for the maximum duration provided by applicable law or
treaty (including future time extensions), (iii) in any current or future
medium and for any number of copies, and (iv) for any purpose whatsoever,
including without limitation commercial, advertising or promotional
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
member of the public at large and to the detriment of Affirmer's heirs and
successors, fully intending that such Waiver shall not be subject to
revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.

3. Public License Fallback. Should any part of the Waiver for any reason
be judged legally invalid or ineffective under applicable law, then the
Waiver shall be preserved to the maximum extent permitted taking into
account Affirmer's express Statement of Purpose. In addition, to the
extent the Waiver is so judged Affirmer hereby grants to each affected
person a royalty-free, non transferable, non sublicensable, non exclusive,
irrevocable and unconditional license to exercise Affirmer's Copyright and
Related Rights in the Work (i) in all territories worldwide, (ii) for the
maximum duration provided by applicable law or treaty (including future
time extensions), (iii) in any current or future medium and for any number
of copies, and (iv) for any purpose whatsoever, including without
limitation commercial, advertising or promotional purposes (the
"License"). The License shall be deemed effective as of the date CC0 was
applied by Affirmer to the Work. Should any part of the License for any
reason be judged legally invalid or ineffective under applicable law, such
partial invalidity or ineffectiveness shall not invalidate the remainder
of the License, and in such case Affirmer hereby affirms that he or she
will not (i) exercise any of his or her remaining Copyright and Related
Rights in the Work or (ii) assert any associated claims and causes of
action with respect to the Work, in either case contrary to Affirmer's
express Statement of Purpose.

4. Limitations and Disclaimers.

 a. No trademark or patent rights held by Affirmer are waived, abandoned,
    surrendered, licensed or otherwise affected by this document.
 b. Affirmer offers the Work as-is and makes no representations or
    warranties of any kind concerning the Work, express, implied,
    statutory or otherwise, including without limitation warranties of
    title, merchantability, fitness for a particular purpose, non
    infringement, or the absence of latent or other defects, accuracy, or
    the present or absence of errors, whether or not discoverable, all to
    the greatest extent permissible under applicable law.
 c. Affirmer disclaims responsibility for clearing rights of other persons
    that may apply to the Work or any use thereof, including without
    limitation any person's Copyright and Related Rights in the Work.
    Further, Affirmer disclaims responsibility for obtaining any necessary
    consents, permissions or other rights required for any use of the
    Work.
 d. Affirmer understands and acknowledges that Creative Commons is not a
    party to this document and has no duty or obligation with respect to
    this CC0 or use of the Work.


================================================
FILE: contributing.md
================================================
# Contribution Guidelines

Please note that this project follows the [ROS Code of Conduct](https://osrf.github.io/code_of_conduct/). By participating in this project you agree to abide by its terms.

## Adding something to an awesome list

If you have something awesome to contribute to an awesome list, this is how you do it.

You'll need a [GitHub account](https://github.com/join)!

1. Access the awesome list's GitHub page. For example: [https://github.com/sindresorhus/awesome](https://github.com/sindresorhus/awesome)
2. Click on the `readme.md` file: ![Step 2 Click on Readme.md](https://cloud.githubusercontent.com/assets/170270/9402920/53a7e3ea-480c-11e5-9d81-aecf64be55eb.png)
3. Now click on the edit icon. ![Step 3 - Click on Edit](https://cloud.githubusercontent.com/assets/170270/9402927/6506af22-480c-11e5-8c18-7ea823530099.png)
4. You can start editing the text of the file in the in-browser editor. Make sure you follow guidelines above. You can use [GitHub Flavored Markdown](https://help.github.com/articles/github-flavored-markdown/). ![Step 4 - Edit the file](https://cloud.githubusercontent.com/assets/170270/9402932/7301c3a0-480c-11e5-81f5-7e343b71674f.png)
5. Say why you're proposing the changes, and then click on "Propose file change". ![Step 5 - Propose Changes](https://cloud.githubusercontent.com/assets/170270/9402937/7dd0652a-480c-11e5-9138-bd14244593d5.png)
6. Submit the [pull request](https://help.github.com/articles/using-pull-requests/)!

## Updating your Pull Request

Sometimes, a maintainer of an awesome list will ask you to edit your Pull Request before it is included. This is normally due to spelling errors or because your PR didn't match the awesome-* list guidelines.

Here is [a write up](https://github.com/RichardLitt/knowledge/blob/master/github/amending-a-commit-guide.md) on how to change a Pull Request, and the different ways you can do that.


================================================
FILE: markdownlint-config.json
================================================
{
    "default": true,
    "MD013": false // Line length
}


================================================
FILE: readme.md
================================================
<!--lint disable awesome-git-repo-age-->
<!--TODO: remove after 10 June 2023-->

# Awesome Robotic Deliberation [![Awesome](https://awesome.re/badge-flat.svg)](https://awesome.re)

[![GitHub](https://img.shields.io/github/license/ros-wg-delib/awesome-ros-deliberation?style=flat-square)](LICENSE) [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/ros-wg-delib/awesome-ros-deliberation/lint.yml?style=flat-square)](https://github.com/ros-wg-delib/awesome-ros-deliberation/actions)
> A curated list of awesome tools, libraries and resources for deliberation in ROS 2.

Deliberation is the topmost layer in a robotics architecture sometimes also called mission or planning layer.
It aims at controlling the robots behavior towards its extended goal or function.
This includes pre-programmed state machines, automated symbolic planning as well as behavioral reaction to unforeseen situations happening at runtime.
For an introduction to robot deliberation, refer to [Ingrand and Ghallab (2017)](https://hal.science/hal-01137921).

## Contents

- [Software Packages](#software-packages)
- [Presentations](#presentations)
- [Papers and Book Chapters](#papers-and-book-chapters)
- [Blog Posts](#blog-posts)
- [Podcasts](#podcasts)
- [Demos](#demos)

## Software Packages

### Task Planning and Execution Frameworks

- [CoSTAR Stack](http://cpaxton.github.io/costar_stack/) - A collaborative system for task automation and recognition.
- [MERLIN2](https://github.com/MERLIN2-ARCH/merlin2) - PDDL planning and execution framework, using Python and state machines.
- [MoveIt Task Constructor](https://github.com/ros-planning/moveit_task_constructor) - MoveIt add-on package that performs skeleton-based task and motion planning.
- [PlanSys2](https://github.com/PlanSys2/ros2_planning_system) - PDDL planning and execution framework, using C++ and behavior trees.
- [SkiROS2](https://github.com/RVMI/skiros2) - Skill-based platform with behavior trees, PDDL task-planning and knowledge integration.
- [UP4ROS2](https://github.com/aiplan4eu/UP4ROS2) - ROS 2 wrapper for the [AIPlan4EU Unified Planning library](https://github.com/aiplan4eu/unified-planning).

### Behavior Abstractions

- [BehaviorTree.ROS2](https://github.com/BehaviorTree/BehaviorTree.ROS2) - ROS 2 wrapper for [BehaviorTree.CPP](https://github.com/BehaviorTree/BehaviorTree.CPP), an implementation of behavior trees in C++.
- [AutoAPMS](https://github.com/AutoAPMS) - Modular domain-agnostic framework for developing and executing behaviors with [BehaviorTree.CPP](https://github.com/BehaviorTree/BehaviorTree.CPP) integrated deeply into the ROS 2 ecosystem.
- [BT Studio](https://github.com/JdeRobot/bt-studio) - A web IDE for development of behavior trees. Uses PyTrees internally, but leverages the XML representation in BehaviorTree.CPP to define trees.
- [FlexBE](https://github.com/FlexBE/flexbe_behavior_engine) - State machine implementation with web-based GUI.
- [PyTrees ROS](https://github.com/splintered-reality/py_trees_ros) - ROS 2 wrapper for the [PyTrees](https://github.com/splintered-reality/py_trees) behavior tree library.
- [ros_bt_py](https://github.com/fzi-forschungszentrum-informatik/ros2_ros_bt_py) - ROS 2 and Python based library for behavior trees, with a ReactJS based web GUI.
- [SMACC2](https://github.com/robosoft-ai/SMACC2) - State machine implementation in C++.
- [YASMIN](https://github.com/uleroboticsgroup/yasmin) - State machine implementation for C++ and Python.
- [soar_ros](https://github.com/THA-Embedded-Systems-Lab/soar_ros) - ROS 2 package including the Soar cognitive architecture with logic to handle synchronization between ROS and Soar.

### Application-Specific Packages

- [MoveIt Pro](https://picknik.ai/pro/) - ROS 2 based commercial software that uses BehaviorTree.CPP and MoveIt.
- [NEXUS](https://github.com/osrf/nexus) - A ROS 2 framework for orchestrating industrial robotic lines and cells.
- [pyrobosim](https://github.com/sea-bass/pyrobosim) - ROS 2 enabled 2D mobile robot simulator for behavior prototyping.
- [rmf_task](https://github.com/open-rmf/rmf_task) - Composable task definitions and multi-robot task allocation (MRTA) planner in C++.

## Presentations

- [BehaviorTree.CPP 4.0. What is new and roadmap](https://vimeo.com/767160437) - Davide Faconti, Picknik @ ROSCon 2022 ([slides](http://download.ros.org/downloads/roscon/2022/BehaviorTree.CPP%204.0.%20What%20is%20new%20and%20roadmap.pdf)).
- [Behavior Trees for Home Service Robotics Tasks](https://www.youtube.com/watch?v=xbvMnpwXNPk) - Sebastian Castro, PickNik Robotics @ Behavior Trees in Robotics Seminar.
- [AutoAPMS: Lightweight and versatile integration of behavior trees into the ROS 2 ecosystem](https://fosdem.org/2026/schedule/event/RUE39L-auto-apms/) - Robin Müller @ FOSDEM Robotics & Simulation Devroom 2026 ([slides](https://robin-mueller.github.io/fosdem26-devtalk-autoapms/))
- [How custom tasks are defined, assigned, and executed in Open-RMF](https://vimeo.com/showcase/9954564/video/767157210) - M. Grey & Yadunund Vijay, Open Robotics @ ROSCon 2022 ([slides](http://download.ros.org/downloads/roscon/2022/How%20custom%20tasks%20are%20defined,%20assigned,%20and%20executed%20in%20Open-RMF.pdf))
- [Implementing Robot Task Planning with Learned Manipulation Skills](https://youtu.be/91igg5x-D6c?si=KHXA_p82Nh4tL6-n) - Sebastian Castro, Robotics and AI Institute @ University of Washington, 2025 ([slides](https://docs.google.com/presentation/d/1Kl0UmPAshX7hVM8dQVwCh5Ozo_86fuXKoFKbjxSl6xk/edit?usp=sharing)).
- [JdeRobot VisualStates: Visual tool for generating automata based robot behaviors](https://vimeo.com/293530044) - Okan Asik, JdeRobot @ ROSCon 2018 Lightning Talks ([repo](https://github.com/JdeRobot/VisualStates)).
- [NEXUS: A ROS 2 framework for orchestrating industrial robotic lines and cells](https://vimeo.com/879001338/fb3bcc8741) - Dejanira Araiza-Illan, Johnson & Johnson @ ROSCon 2023 ([slides](https://roscon.ros.org/2023/talks/NEXUS_A_ROS_2_framework_for_orchestrating_industrial_robotic_lines_and_cells.pdf)).
- [PackML2: State Machine Based System Programming, Monitoring and Control in ROS2](https://vimeo.com/378683073) - Dejanira Araiza-Illan, ROS-Industrial Consortium Asia Pacific @ ROSCon 2019 ([slides](https://roscon.ros.org/2019/talks/roscon2019_packml2.pdf)).
- [SMACC2, an open-source, event-driven, asynchronous, behavioral state machine library for ROS2 applications written in C++](https://vimeo.com/649655394/f9b25be7f9) - Brett Aldrich, ROBOSOFT AI @ ROSCon 2021.
- [System Modes - model-based run-time state management of large systems](https://vimeo.com/767165876) - Ralph Lange, Bosch Research @ ROSCon 2022 ([slides](http://download.ros.org/downloads/roscon/2022/System%20Modes%20-%20model-based%20run-time%20state%20management%20of%20large%20systems.pdf)).

## Papers and Book Chapters

- [CoSTAR: Instructing collaborative robots with behavior trees and vision](https://ieeexplore.ieee.org/document/7989070) - Chris Paxton et al.
- [Extended behavior trees for quick definition of flexible robotic tasks](https://ieeexplore.ieee.org/document/8206598) - Francesco Rovida et al.
- [KnowRob: A knowledge processing infrastructure for cognition-enabled robots](https://journals.sagepub.com/doi/abs/10.1177/0278364913481635) - Moritz Tenorth et al.
- [Optimized Execution of PDDL Plans using Behavior Trees](https://arxiv.org/abs/2101.01964?s=08) - Francisco Martín et al.
- [Robotic Systems Architectures and Programming in the Handbook of robotics](https://link.springer.com/book/10.1007/978-3-540-30301-5) - David Kortenkamp, Bruno Siciliano et al.
- [SkiROS—A Skill-Based Robot Control Platform on Top of ROS](https://link.springer.com/chapter/10.1007/978-3-319-54927-9_4) - Francesco Rovida et al. (SkiROS is superseded by SkiROS2)

## Blog Posts

- [Integrated Task and Motion Planning in Robotics](https://roboticseabass.com/2022/07/30/integrated-task-and-motion-planning-in-robotics/) - Sebastian Castro, 2022.
- [Introduction to Behavior Trees](https://roboticseabass.com/2021/05/08/introduction-to-behavior-trees/) - Sebastian Castro, 2021.
- [Task Planning in Robotics](https://roboticseabass.com/2022/07/19/task-planning-in-robotics/) - Sebastian Castro, 2022.

## Podcasts

- [Can One Person Make Two Powerful Tools for the Robotics Community?](https://www.sensethinkact.com/episodes/26-davide-faconti) - With Davide Faconti, author of BehaviorTree.CPP.
- [ROS Plan](https://www.theconstructsim.com/rdp-047-ros-plan-michael-cashmore/) - RDP 047 with Gerard Canal and Michael Cashmore.
- [State Machines for Complex Robot Behavior](https://www.sensethinkact.com/episodes/10-brett-aldrich) - With Brett Aldrich, author of SMACC2.
- [Towards Assured Robot Autonomy with ROS](https://www.theconstructsim.com/100-towards-assured-robot-autonomy-with-ros-with-patrick-musau/) - RDP 100 with Patrick Musau.

## Demos

- [CoSTAR: Instructing Collaborative Robots with Behavior Trees and Vision](https://www.youtube.com/watch?v=eGdwl1dmTrA) - CoSTAR demos like sanding, pick & place and robot instruction.
- [Dual-arm Piston Insertion](https://www.youtube.com/watch?v=sTM0ih6faMs) - Piston insertion with kinesthetic teaching, vision, task adaption & knowledge integration.
- [Hands-On with ROS 2 Deliberation Technologies](https://github.com/ros-wg-delib/roscon24-workshop) - Workshop presented at ROSCon 2024, organized by the ROS Deliberation Community Group.
- [Reinforcement Learning for Deliberation in ROS 2](https://github.com/ros-wg-delib/rl_deliberation) - Workshop presented at ROSCon 2025, organized by the ROS Deliberation Community Group.
- [Robot Household Marathon: EASE Generative Models of Everyday Activity](https://www.youtube.com/watch?v=pv_n9FQRoZQ&t=4s) - Setting a table with a PR2.
- [Simulation of Robot using Behavior Tree](https://www.youtube.com/watch?v=a0ve2CH245Y) - MOOD2BE, part of Robmosys.
- [TurtleBot 3 Behavior Demos](https://github.com/sea-bass/turtlebot3_behavior_demos) - Examples of behavior trees for navigation actions in C++ and Python.
Download .txt
gitextract_y728oe08/

├── .github/
│   └── workflows/
│       └── lint.yml
├── .markdown-link-check.json
├── .pre-commit-config.yaml
├── LICENSE
├── contributing.md
├── markdownlint-config.json
└── readme.md
Condensed preview — 7 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (21K chars).
[
  {
    "path": ".github/workflows/lint.yml",
    "chars": 306,
    "preview": "name: Lint\non:\n  pull_request:\n    branches: [main]\n  push:\n    branches: [main]\n  schedule:\n    - cron: \"3 1 4 * *\"\njob"
  },
  {
    "path": ".markdown-link-check.json",
    "chars": 190,
    "preview": "{\n    \"ignorePatterns\": [\n        {\n            \"pattern\": \"^https://journals.sagepub.com/doi\"\n        },\n        {\n    "
  },
  {
    "path": ".pre-commit-config.yaml",
    "chars": 795,
    "preview": "repos:\n-   repo: https://github.com/pre-commit/pre-commit-hooks\n    rev: v6.0.0\n    hooks:\n    -   id: trailing-whitespa"
  },
  {
    "path": "LICENSE",
    "chars": 7048,
    "preview": "Creative Commons Legal Code\n\nCC0 1.0 Universal\n\n    CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE\n"
  },
  {
    "path": "contributing.md",
    "chars": 1899,
    "preview": "# Contribution Guidelines\n\nPlease note that this project follows the [ROS Code of Conduct](https://osrf.github.io/code_o"
  },
  {
    "path": "markdownlint-config.json",
    "chars": 59,
    "preview": "{\n    \"default\": true,\n    \"MD013\": false // Line length\n}\n"
  },
  {
    "path": "readme.md",
    "chars": 10063,
    "preview": "<!--lint disable awesome-git-repo-age-->\n<!--TODO: remove after 10 June 2023-->\n\n# Awesome Robotic Deliberation [![Aweso"
  }
]

About this extraction

This page contains the full source code of the ros-wg-delib/awesome-ros-deliberation GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 7 files (19.9 KB), approximately 5.4k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!