Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 6 additions & 10 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -1,21 +1,17 @@
name: awesome-lint
name: Lint
on:
pull_request:
branches: [main]
push:
branches: [main]
schedule:
- cron: "3 1 4 * *"
jobs:
awesome-lint:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
with:
fetch-depth: 0
- run: npx awesome-lint
markdown-lint:
runs-on: ubuntu-latest
steps:
- uses: articulate/actions-markdownlint@v1
with:
config: markdownlint-config.json
files: '*.md'
- name: Pre-commit
uses: pre-commit/action@v3.0.1
7 changes: 7 additions & 0 deletions .markdown-link-check.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"ignorePatterns": [
{
"pattern": "^https://journals.sagepub.com/doi"
}
]
}
32 changes: 32 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
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
4 changes: 2 additions & 2 deletions contributing.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Contribution Guidelines

Please note that this project is released with a [Contributor Code of Conduct](code-of-conduct.md). By participating in this project you agree to abide by its terms.
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

Expand All @@ -19,4 +19,4 @@ You'll need a [GitHub account](https://github.com/join)!

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](https://github.com/RichardLitt/knowledge/blob/master/github/amending-a-commit-guide.md) is a write up on how to change a Pull Request, and the different ways you can do that.
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.
2 changes: 1 addition & 1 deletion markdownlint-config.json
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
{
"default": true,
"MD013": false // Line length
}
}
11 changes: 7 additions & 4 deletions readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ For an introduction to robot deliberation, refer to [Ingrand and Ghallab (2017)]
## 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.
Expand All @@ -31,6 +32,7 @@ For an introduction to robot deliberation, refer to [Ingrand and Ghallab (2017)]
- [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++.
- [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.
Expand All @@ -40,6 +42,7 @@ For an introduction to robot deliberation, refer to [Ingrand and Ghallab (2017)]
- [YASMIN](https://github.com/uleroboticsgroup/yasmin) - State machine implementation for C++ and Python.

### 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.
Expand All @@ -52,7 +55,7 @@ For an introduction to robot deliberation, refer to [Ingrand and Ghallab (2017)]
- [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/talks/NEXUS_A_ROS_2_framework_for_orchestrating_industrial_robotic_lines_and_cells.pdf)).
- [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)).
Expand All @@ -61,10 +64,10 @@ For an introduction to robot deliberation, refer to [Ingrand and Ghallab (2017)]

- [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?journalCode=ijra) - Moritz Tenorth 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 superseeded by SkiROS2)
- [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

Expand All @@ -84,7 +87,7 @@ For an introduction to robot deliberation, refer to [Ingrand and Ghallab (2017)]
- [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 pressented at ROSCon 2025, 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.