Petri Net Plans

Introduction

Petri Net Plans (PNP) is a formalism for high level description of complex plans (i.e., set of actions interacting in a complex way). PNP is useful to program cognitive agents (such as robots, videogame agents, multi-robot/multi-agent systems, etc.).

PNPs are inspired to languages for reasoning about actions, yet they are more expressive than most of them, offering a full fledged set of operators for dealing with non-instantaneous actions, sensing actions, action failures, concurrent actions and cooperation in a multi agent context.
PNPs include also choice operators used for non-deterministic execution and for learning in the plan space through a Reinforcement Learning algorithm.

PNPs are more expressive than Finite State Machines (FSM) and allow for automatic plan analysis, which can provide formal guarantees on the performance of the plans. Execution of PNPs is extremely efficient and allows the design of real-time pro-active and reactive behaviors.
 
PNPs have been used in several robotic applications, including soccer (Best Demo Award at AAMAS 2008), search and rescue, surveillance, multi-robot cooperation, social robots, etc.


ADDITIONAL COMPONENTS

PNP GENERATION


A new development in Petri Net Plans is the implementation of algorithms for the generation of PNPs,
More details are illustrated in the web page PNP Generation.


ROSPlan is a ROS interface for some standard planners using PDDL model language.
PNP_ROSPlan is a component for receiving plans from ROSPlan, transforming them into PNP, adding Execution Rules and executing them according to the PNP semantics.
More details are given in the web page ROSPlan_to_PNP. (including ICAPS 2017 tutorial).

A VirtualBox virtual machine with ROSPlan and PNP installed and the demo shown during the ICAPS2017 tutorial is available.
Follow instructions in the README files on the desktop of the machine.



PNP has been used as a formalism to generate and execute conditional plans based on HATP formalism.
More details are given in these web pages.




People


Download

https://github.com/iocchi/PetriNetPlans

Tutorials


Applications

  •  Multi-Robot Cooperation

    • Foraging Task Assignment  
          
      video 

    • Passing Task  (Best Robotic Demo Award at AAMAS'08)
          
      video1    video2


  • Search and Rescue (S.P.Q.R. Rescue)


Projects using PNPs

  • COACHES (2014-2017)
    Cooperative Autonomous Robots in Complex and Humans Environments

  • SAMAN (2014-2015)
    Multi-Robot adaptive system in unknown environments

  • Bee-SAFE (2011-2013)
    Multi-Robot system for demining operations








Papers about PNP

PNP Generation

Dealing with On-line Human-Robot Negotiations in Hierarchical Agent-based Task Planner.
E. Sebastiani, R. Lallement, R. Alami, L. Iocchi,
In Proc. of International Conference on Automated Planning and Scheduling (ICAPS), 2017.

Short-Term Human Robot Interaction through Conditional Planning and Execution.
V. Sanelli, M. Cashmore, D. Magazzeni, L. Iocchi, ,
In Proc. of International Conference on Automated Planning and Scheduling (ICAPS), 2017.

A practical framework for robust decision-theoretic planning and execution for service robots.

L. Iocchi, L. Jeanpierre, M. T. Lazaro, A.-I. Mouaddib.
In Proc. of International Conference on Automated Planning and Scheduling (ICAPS), 2016.

Explicit Representation of Social Norms for Social Robots.
F. M. Carlucci, L. Nardi, L. Iocchi, D. Nardi.
In Proc. of the IEEE/RSJ Int. Conf. on Intelligent Robots and Systems (IROS), 2015.


PNP Formalism

Petri Net Plans - A framework for collaboration and coordination in multi-robot systems
V.A. Ziparo, L. Iocchi, Pedro Lima, D. Nardi, P. Palamara.
Autonomous Agents and Multi-Agent Systems, vol. 23, no. 3, pp. 344-383, 2011.

LearnPNP: A Tool for Learning Agent Behaviors
M. Leonetti, L. Iocchi
In RoboCup 2010: Robot Soccer World Cup XIV (LNCS 6556), pp. 418-429, 2011.

PNP: A formal model for representation and execution of multi-robot plans
V. Ziparo, L. Iocchi, D. Nardi, P. Palamara, and H. Costelha.
In Proc. of 7th Int. Conf. on Autonomous Agents and Multiagent Systems (AAMAS 2008), 2008.

Teamwork Design Based on Petri Net Plans
P. F. Palamara, V. A. Ziparo, L. Iocchi , D. Nardi , and P. Lima
In RoboCup International Symposium, 2008.

Petri Net Plans
Vittorio Amos Ziparo and Luca Iocchi.
In Proc. of Fourth International Workshop on Modelling of Objects, Components, and Agents (MOCA'06) @ Petri Nets 2006 and ACSD 2006, Turku, Finland, 2006.

Phd Theses about PNP

Reinforcement Learning in Plan Space
M. Leonetti
PhD Thesis, Sapienza University of Rome. Department of Computer and System Science. Rome, Italy. 2011.

Multi-Robot Teams for Multi-Objective Tasks.

V. A. Ziparo.
PhD Thesis, Sapienza University of Rome. Department of Computer and System Science. Rome, Italy, 2008.

Papers with applications of PNP


Representation and Execution of Social Plans through Human-Robot Collaboration
L. Nardi and L. Iocchi. In Intern. Conf. on Social Robotics. 266-275. Springer International Publishing, 2014.

On-line Semantic Mapping

E. Bastianelli, D. Bloisi, R. Capobianco, F. Cossu, G.Gemignani, L. Iocchi, D. Nardi
In 16th International Conference on Advanced Robotics, 2013.

A robotic soccer task using Petri Net Plans
P. Palamara, V. Ziparo, L. Iocchi, D. Nardi, P. Lima, H. Costelha.
In Proc. of 7th Int. Conf. on Autonomous Agents and Multiagent Systems (AAMAS), 2008.

Petri-Net Plan Coordination for RoboCup Teams

Georgios Kontes and Michail G. Lagoudakis,  Technical Report TR-2008-01, Intelligent Systems Laboratory, Department of Electronic and Computer Engineering, Technical University of Crete, January 2008.

Multi-objective exploration and search for autonomous rescue robots
D. Calisi, A. Farinelli, L. Iocchi, D. Nardi
Journal of Field Robotics. 24, 8-9 (Aug. 2007), 763-777. 

Assignment of Dynamically Perceived Tasks by Token Passing in Multi-Robot Systems
A. Farinelli, L. Iocchi, D. Nardi, V. A. Ziparo
Proceedings of the IEEE, Special Issue on Multi-Robot Systems, 2006

Master Theses


Eugenio Sebastiani
DIAG, Sapienza University of Rome, Italy

Integrating Conditional Planning and Robust Execution in Human-Robot Interaction (2016)
Valerio Sanelli
DIAG, Sapienza University of Rome, Italy

Knowledge Based Reasoning and Execution of Complex Behaviors for a Social Robot (2015)
Fabio Maria Carlucci
DIAG, Sapienza University of Rome, Italy

Robot Social Navigation through Human-Robot Collaboration (2014)
Lorenzo Nardi
DIAG, Sapienza University of Rome, Italy

Apprendimento di comportamenti robotici con conoscenza parziale
Mirko Malacario (2010)
Dipartimento di Informatica e Sistemistica "Antonio Ruberti"
Facoltà di Ingegneria, "Sapienza" Università di Roma

Rappresentazione di Piani con Scelte ed Azioni Stocastiche
(2007)
Matteo Leonetti
Dipartimento di Informatica e Sistemistica "Antonio Ruberti"
Facoltà di Ingegneria, "Sapienza" Università di Roma
Best Thesis in Computer Engineering  2005-2006, funded by Accenture.

Representation and Execution of Plans based on Petri Nets (2004)
Vittorio Amos Ziparo
Dipartimento di Informatica e Sistemistica "Antonio Ruberti"
Facoltà di Ingegneria, "Sapienza" Università di Roma,  2004