Petri Net Plans
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.
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).
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.
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
Downloadhttps://github.com/iocchi/PetriNetPlansInstall and run examplesTutorials
Applications
Projects using PNPs
| Papers about PNPPNP GenerationPNP Formalism
Phd Theses about PNPReinforcement Learning in Plan Space Papers with applications of PNP
Master ThesesEugenio 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 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 |