PlanSys2
Il sistema di pianificazione dei compiti basato su PDDL per ROS 2: pianificazione simbolica dell'IA su robot reali
Licenza
Apache-2.0
Panoramica
PlanSys2 (ROS 2 Planning System) è il framework di riferimento per la pianificazione dei compiti dell'ecosistema ROS 2, creato all'Intelligent Robotics Lab dell'Universidad Rey Juan Carlos. Porta la pianificazione classica dell'IA sui robot reali: domini e problemi sono scritti in PDDL, i piani sono calcolati da solver intercambiabili (POPF, TFD) e l'esecuzione compila i piani in behavior tree i cui nodi azione sono normali componenti ROS 2, chiudendo il ciclo dagli obiettivi simbolici ('consegna l'oggetto nella stanza B') al comportamento effettivo del robot.
L'architettura di PlanSys2 suddivide la pianificazione in nodi ROS 2 che cooperano: un domain expert che contiene il modello PDDL, un problem expert che mantiene lo stato del mondo come predicati e obiettivi, un nodo planner che invoca i solver PDDL e un executor che trasforma i piani in behavior tree, con esecuzione parallela dove il piano lo consente. Le azioni sono implementate come plugin ROS 2 con gestione del ciclo di vita, quindi un'azione PDDL come (move robot room-a room-b) si lega a una chiamata di navigazione di Nav2; sono supportate l'esecuzione multi-robot ad asta e la ripianificazione in caso di fallimento. Un terminale (CLI) permette agli sviluppatori di ispezionare e pilotare la base di conoscenza in modo interattivo, e i tutorial coprono l'integrazione con Nav2 e con la percezione. Pubblicato a IROS 2021 e mantenuto attraverso le distribuzioni di ROS 2, PlanSys2 discende dalla linea ROSPlan ed è lo strumento a cui si rivolgono gli utenti di ROS 2 quando una macchina a stati non basta più, cioè quando i robot devono ragionare su obiettivi, precondizioni ed effetti invece di seguire sequenze predefinite. Colma una vera lacuna della piattaforma: l'autonomia deliberativa e simbolica al di sopra del livello di navigazione.
Perché è importante
PlanSys2 è il livello deliberativo mancante dello stack ROS 2: il successore di ROSPlan, mantenuto e pubblicato a IROS, che permette ai robot reali di fare pianificazione simbolica a livello di obiettivi, il livello sopra Nav2 che trasforma 'vai a queste pose' in 'porta a termine questa missione'.
Il problema che risolve
Le missioni complesse codificate come macchine a stati diventano fragili e impossibili da mantenere. PlanSys2 permette ai robot di pianificare automaticamente sequenze di azioni a partire da obiettivi PDDL, di ripianificare in caso di fallimento e di eseguirle tramite behavior tree legati ad azioni ROS 2 reali.
Punti chiave
- Modellazione PDDL di dominio/problema con solver intercambiabili (POPF, TFD)
- I piani vengono compilati in behavior tree con parallelismo e ripianificazione attivata dai fallimenti
- Le azioni sono plugin ROS 2 con ciclo di vita: un'azione PDDL si lega, per esempio, a una chiamata Nav2
- Terminale di pianificazione interattivo per ispezionare la base di conoscenza
- Pubblicato a IROS 2021; lo standard della linea ROSPlan per la pianificazione dei compiti in ROS 2
A chi si rivolge
- Ingegneri dell'autonomia che costruiscono comportamenti a livello di missione
- Sviluppatori di robot di servizio e per la logistica
- Ricercatori di pianificazione dell'IA che lavorano su robot
- Sviluppatori ROS 2 per cui le macchine a stati sono diventate strette
Limiti
- La modellazione PDDL ha una vera curva di apprendimento per gli ingegneri che non si occupano di pianificazione
- La pianificazione classica presuppone esiti delle azioni per lo più deterministici: i domini probabilistici richiedono attenzione
- Le prestazioni dei solver limitano la dimensione dei problemi per la ripianificazione in tempo reale