Git Product home page Git Product logo

pddl-course's Introduction

Cognitive Architectures, Task Planning, and PDDL

ACM SIGSOFT Summer School for Software Engineering in Robotics

Summer School website

Table of Contents

  1. Examples
    1. Exercise 1: Starting (I)
    2. Exercise 2: Starting (II)
    3. Exercise 3: Metrics in Planning
    4. Exercise 4: Comparing Planners (I)
    5. Exercise 5: Comparing Planners (II)
    6. Exercise 6: Durative Actions
    7. Exercise 7: From 0 to hero (I): basic exercise
    8. Exercise 8: From 0 to hero (II): PlanSys2 and BT's
    9. Exercise 9: From 0 to hero (III): Merlin2 an Hybrid Cognitive Architecture (Planner + FSM-YASMIN)
  2. General Questions
  3. Requirements and Traversal Tooling
  4. Acknowledgments

Examples - Task Planning with PDDL

The "Examples" folder contains a collection of exercises oriented towards learning PDDL (Planning Domain Definition Language) and other associated tools devoted to manage PDDL. These exercises are designed to reinforce the concepts covered in the lessons (check slides folder) and provide practical experience with PDDL and its applications.

Exercise 1

This basic exercise that shows how robots can be coordinated to move objects between locations, using actions with preconditions and effects to achieve a specified goal state

Exercise 2

Classic example of a robot navigating between rooms.

The student needs to play adding links between locations in order to understand the effects on planner solutions.

Exercise 3

Example extracted from IPC competition. It is possible to see the robot behavior in different contexts. The examples present approaches associated to a possible rover.

Goal: to test all planners and to understand the concept "Metrics" in a problem file.

Exercise 4

Example of a PDDL domain and problem for a robot gripper for assembling blocks.

Goal: to observe the Sussman anomaly.

Tools: popf vs vhpop

Exercise 5: Complexity

Example of a PDDL domain and problem for a specific field, cybersecurty. Extracted from IPC 2012.

Goal: to observe the complexity associate to some specific domains.

References

Exercise 6: From 0 to hero (I): basic exercise.

In-depth view of durative actions in PDDL. It allows the modeling of actions that take time to execute, with conditions and effects specified at different points in time.

Goal: to follow a step by step example of durative actions.

Exercise 7: From 0 to hero (I): basic exercise.

In-depth view of durative actions in PDDL. It allows the modeling of actions that take time to execute, with conditions and effects specified at different points in time.

Goal: to follow a step by step example of durative actions.

Exercise 8: From 0 to hero (II): PlanSys2 and BT's

Using PlanSys 2 for interacting with PDDL and robot behaviors.

Goal: get familiar with high level tools of interaction and integration of PDDL in practicasl robotics. interaction with plansys cli and patrolling example. If you also want to test BT's with Plansys, the third official tutorial is for you.

Reference 1: PlanSys Web PAge Reference 2: Tutorials

Extra: Generate documentation from huge source code projects using Doxygen

You can find instructions on the folder Exercise 6

Exercise 9: From 0 to hero (III): Merlin2 an Hybrid Cognitive Architecture (Planner + FSM-YASMIN)

MERLIN 2. It is a cognitive architecture called MERLIN2 fully compatible with ROS 2. It provides a cognitive architecture framework that suits the hybrid architecture paradigm but it also includes generic architectural tools for managing symbolic knowledge and scheduling robot behaviors.

Goal: get familiar with alternative cognitive architecture. Particularly hybrid approaches

Reference : Paper

Reference : Read The Doc

Reference : Installation

Reference : Docker

General Questions

These questions can help you grasping the key concepts presented during the session and encourage you to think critically about robot coordination, planning, and execution.

  1. Understanding Preconditions and Effects:

    • Explain the role of preconditions and effects in robot actions.
    • How do preconditions ensure the proper execution of an action?
  2. Action Execution:

    • Describe the sequence of actions required for a robot to move an object from one location to another.
    • What happens if the preconditions for an action are not met?
  3. Coordination and Planning:

    • How do multiple robots coordinate their actions to avoid conflicts?
    • Discuss how the planner decides the order of actions to achieve the goal state.
  4. Error Handling and Recovery:

    • What should happen if a robot encounters an unexpected obstacle while moving?
    • How can the system recover from an action failure?
  5. Efficiency and Optimization:

    • How can you optimize the actions to minimize the time or energy spent in moving objects?
    • What strategies can be used to handle multiple goals simultaneously?
  6. Domain and Problem Definition:

    • Explain the difference between a domain and a problem in PDDL.
    • How would you modify the domain to include a new type of action or object?
  7. Practical Application:

    • Provide an example of a real-world scenario where such a robot coordination system could be used.
    • What are some potential challenges in implementing this system in the real world?
  8. Advanced Topics:

    • Discuss the use of numeric fluents in planning.
    • How do durative actions differ from instantaneous actions, and when would you use them?

Requirements

Install the script for the dependencies.

You will find also:

  • How to compile POPF
  • How to install plansys from package
  • How to install other robots such as turtlebot

Merlin docker:

  • Double check in the repository how to install rocker (allows you to open the display locally instead of browser)

Acknowledgments

DMARCE Project

Decision Making in Autonomous Robots: Cybersecurity and Explainability (DMARCE).

DMARCE_logo drawio

DMARCE (EDMAR+CASCAR) Project: EDMAR PID2021-126592OB-C21 -- CASCAR PID2021-126592OB-C22 funded by MCIN/AEI/10.13039/501100011033 and by ERDF A way of making Europe

DMARCE_EU eu_logo

SELF-AIR Project

Supporting Extensive Livestock Farming with the use of Autonomous Intelligent Robots

SELF_AIR_logo

Grant TED2021-132356B-I00 funded by MCIN/AEI/10.13039/501100011033 and by the “European Union NextGenerationEU/PRTR"

SELF_AIR_EU eu_logo

pddl-course's People

Contributors

fjrodl avatar

Watchers

Carlos Hernandez Corbato avatar  avatar

Forkers

cristian-wp

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.