ACM SIGSOFT Summer School for Software Engineering in Robotics
- Examples
- Exercise 1: Starting (I)
- Exercise 2: Starting (II)
- Exercise 3: Metrics in Planning
- Exercise 4: Comparing Planners (I)
- Exercise 5: Comparing Planners (II)
- Exercise 6: Durative Actions
- Exercise 7: From 0 to hero (I): basic exercise
- Exercise 8: From 0 to hero (II): PlanSys2 and BT's
- Exercise 9: From 0 to hero (III): Merlin2 an Hybrid Cognitive Architecture (Planner + FSM-YASMIN)
- General Questions
- Requirements and Traversal Tooling
- Acknowledgments
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.
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
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.
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.
Example of a PDDL domain and problem for a robot gripper for assembling blocks.
Goal: to observe the Sussman anomaly.
Tools: popf vs vhpop
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.
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.
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.
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
You can find instructions on the folder Exercise 6
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
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.
-
Understanding Preconditions and Effects:
- Explain the role of preconditions and effects in robot actions.
- How do preconditions ensure the proper execution of an action?
-
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?
-
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.
-
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?
-
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?
-
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?
-
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?
-
Advanced Topics:
- Discuss the use of numeric fluents in planning.
- How do durative actions differ from instantaneous actions, and when would you use them?
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)
Decision Making in Autonomous Robots: Cybersecurity and Explainability (DMARCE).
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
Supporting Extensive Livestock Farming with the use of Autonomous Intelligent Robots
Grant TED2021-132356B-I00 funded by MCIN/AEI/10.13039/501100011033 and by the “European Union NextGenerationEU/PRTR"