Skip to content

A curated list of awesome tools and libraries for deliberation in ROS 2.

License

Notifications You must be signed in to change notification settings

ros-wg-delib/awesome-ros-deliberation

Repository files navigation

Awesome Robotic Deliberation Awesome

GitHub GitHub Workflow Status

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).

Contents

Software Packages

Task Planning and Execution Frameworks

  • CoSTAR Stack - A collaborative system for task automation and recognition.
  • MERLIN2 - PDDL planning and execution framework, using Python and state machines.
  • MoveIt Task Constructor - MoveIt add-on package that performs skeleton-based task and motion planning.
  • PlanSys2 - PDDL planning and execution framework, using C++ and behavior trees.
  • SkiROS2 - Skill-based platform with behavior trees, PDDL task-planning and knowledge integration.
  • UP4ROS2 - ROS 2 wrapper for the AIPlan4EU Unified Planning library.

Behavior Abstractions

  • BehaviorTree.ROS2 - ROS 2 wrapper for BehaviorTree.CPP, an implementation of behavior trees in C++.
  • 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 - State machine implementation with web-based GUI.
  • PyTrees ROS - ROS 2 wrapper for the PyTrees behavior tree library.
  • ros_bt_py - ROS 2 and Python based library for behavior trees, with a ReactJS based web GUI.
  • SMACC2 - State machine implementation in C++.
  • YASMIN - State machine implementation for C++ and Python.

Application-Specific Packages

  • MoveIt Pro - ROS 2 based commercial software that uses BehaviorTree.CPP and MoveIt.
  • NEXUS - A ROS 2 framework for orchestrating industrial robotic lines and cells.
  • pyrobosim - ROS 2 enabled 2D mobile robot simulator for behavior prototyping.
  • rmf_task - Composable task definitions and multi-robot task allocation (MRTA) planner in C++.

Presentations

Papers and Book Chapters

Blog Posts

Podcasts

Demos