Skip to content

1.0.0

Latest

Choose a tag to compare

@mgonzs13 mgonzs13 released this 29 Jan 13:12
· 1 commit to main since this release

Initial Release of OmniPlan

Overview

This is the initial release of OmniPlan, a comprehensive ROS 2 framework designed for automated task planning and execution in robotic applications. This release establishes the architecture for integrating classical PDDL planners with flexible execution mechanisms, supporting both knowledge base and knowledge graph approaches for state management.

New Features

Core Framework

  • Plugin Architecture: Extensible design using ROS 2 pluginlib for seamless integration of new planners, plan validators, knowledge sources and execution mechanisms.
  • PDDL Support: domain and problem generation with proper encapsulation classes.
  • Parameter Management: Centralized parameter loading system for all components.

Planners Integration

  • POPF Planner: Integration of the POPF planner.
  • SMTP Planner: Support for SMTPlan+.
  • VHPOP Planner: Implementation of VHPOP.

Plan Validation

  • VAL Integration: Built-in plan validation using the VAL tool.

Execution Mechanisms

  • Direct Actions: Basic action execution framework.
  • YASMIN State Machines: Integration with YASMIN for state machine-based execution.
  • Behavior Trees: Support for Behavior Tree execution.

Knowledge Management

  • Knowledge Base: ROS 2 node-based knowledge base implementation.
  • Knowledge Graph: Graph-based knowledge representation.
  • Extensible Interface: Plugin system for custom knowledge sources.

ROS 2 Packages

  • omni_plan: Core planning framework.
  • omni_plan_popf: POPF planner integration.
  • omni_plan_smtp: SMTP planner integration.
  • omni_plan_vhpop: VHPOP planner integration.
  • omni_plan_val: Plan validation tools.
  • omni_plan_knowledge_base: Knowledge base implementation.
  • omni_plan_knowledge_graph: Knowledge graph implementation.
  • omni_plan_yasmin: YASMIN integration.
  • omni_plan_bt: Behavior Tree integration.
  • omni_plan_demos: Demonstration applications.
  • omni_plan_tests: Comprehensive test suite.
  • omni_plan_msgs: ROS 2 message definitions.
  • omni_plan_bringup: Launch and configuration files.

Development Tools

  • CI/CD Pipelines: GitHub Actions workflows for building and testing across ROS 2 distributions (Foxy, Galactic, Humble, Iron, Jazzy, Kilted, Rolling).
  • Code Formatting: Automated C++ and Python code formatting checks.
  • Documentation: Doxygen integration and comprehensive README.