Open Source Robotics

Una raccolta curata di progetti, strumenti e software di robotica open source di alta qualità per la comunità della robotica.

Task Planning

  • Detto anche: robot task planning, symbolic planning, high-level planning, action planning
  • Categoria: Planning & manipulation › Task-level
  • Tag: task-planning, planning, autonomous

Determinazione della sequenza di azioni di alto livello che un robot deve eseguire per raggiungere un obiettivo, ragionando su precondizioni ed effetti.

Definizione

La pianificazione dei compiti è il processo che stabilisce la sequenza di azioni di alto livello che un robot deve eseguire per raggiungere un obiettivo specificato, ragionando su precondizioni, effetti e dipendenze tra le azioni senza ancora calcolare i movimenti specifici. Risponde alla domanda "che cosa deve fare il robot?" prima che la pianificazione del movimento risponda a "come deve muoversi il robot?"

Si consideri un robot incaricato di preparare il caffè. La pianificazione dei compiti stabilisce la sequenza: andare al mobile, aprire il mobile, afferrare la tazza, mettere la tazza sotto la macchina, premere il pulsante di erogazione, attendere, prendere la tazza, portarla al tavolo. Ogni passaggio ha precondizioni (il mobile deve essere aperto prima di afferrare la tazza) ed effetti (premere il pulsante di erogazione riempie la tazza). La pianificazione dei compiti ragiona su queste relazioni logiche per trovare un ordine valido.

La pianificazione dei compiti classica discende dalla ricerca sulla pianificazione nell'IA e usa rappresentazioni formali come il PDDL (Planning Domain Definition Language) per definire schemi di azione con precondizioni ed effetti. Pianificatori come Fast Downward e STRIPS esplorano lo spazio degli stati per trovare sequenze di azioni che trasformino lo stato iniziale in uno stato obiettivo. Questi metodi offrono garanzie formali (completezza, ottimalità), ma richiedono modelli di dominio scritti a mano.

Gli approcci moderni usano sempre più spesso i modelli linguistici di grandi dimensioni come pianificatori dei compiti. Dato un obiettivo in linguaggio naturale come "sistema il tavolo della cucina", un LLM genera un piano passo per passo attingendo alla propria conoscenza di senso comune su come funzionano gli oggetti e su quali azioni sono disponibili. Sistemi come SayCan (Google) ancorano i suggerimenti dell'LLM alle capacità effettive del robot, valutando ogni azione proposta rispetto alla libreria di abilità apprese del robot.

La frontiera della ricerca sulla pianificazione dei compiti è la pianificazione di compiti e movimenti (TAMP), che integra il ragionamento di alto livello sui compiti con la verifica della fattibilità geometrica e cinematica. Invece di pianificare compiti e movimenti in modo indipendente, la TAMP li alterna: quando il pianificatore dei compiti propone "prendi la tazza", il pianificatore del movimento verifica subito se è possibile una presa senza collisioni e, in caso contrario, il pianificatore dei compiti esplora sequenze di azioni alternative. Questa integrazione evita piani logicamente corretti ma fisicamente impossibili.

La pianificazione dei compiti diventa sempre più importante man mano che i robot affrontano compiti in più passaggi e su orizzonti più lunghi, in ambienti non strutturati dove la sequenza di azioni corretta non è predeterminata.

Perché è importante

La pianificazione dei compiti è ciò che distingue un robot capace di eseguire singole abilità da uno capace di raggiungere in autonomia obiettivi complessi in più passaggi. Senza pianificazione dei compiti, i robot richiedono una programmazione esplicita passo per passo per ogni nuovo scenario. Con essa, un robot a cui viene dato un obiettivo di alto livello può ragionare su come scomporlo in passaggi realizzabili, adattarsi quando un passaggio fallisce e trovare strategie alternative. Man mano che i robot entrano nelle case e in luoghi di lavoro non strutturati, dove i compiti sono vari e imprevedibili, la capacità di pianificare a livello dei compiti, invece di essere programmati rigidamente per routine fisse, diventa la capacità decisiva per un'autonomia pratica.

Applicazioni principali

  • Robotica domestica: pianificare sequenze per la preparazione dei pasti, la pulizia e il riordino, compiti che coinvolgono molti oggetti e passaggi
  • Logistica e magazzini: pianificare sequenze di prelievo, imballaggio e consegna in flussi di lavoro in più passaggi con vincoli di ordine e di tempi
  • Pianificazione dell'assemblaggio: stabilire l'ordine di assemblaggio dei pezzi tenendo conto di vincoli geometrici, utensili necessari e dipendenze tra gli elementi di fissaggio
  • Robotica di servizio: pianificare sequenze di interazione per l'assistenza sanitaria, l'ospitalità e il commercio al dettaglio
  • Coordinamento multi-robot: distribuire i sottocompiti tra una squadra di robot e ordinare le azioni per evitare conflitti
  • Risposta alle catastrofi: pianificare sequenze di ricerca, rimozione delle macerie ed estrazione delle vittime in ambienti dinamici e incerti

In pratica

Il sistema SayCan di Google mostra la moderna pianificazione dei compiti in robotica. Data un'istruzione in linguaggio naturale come "Ho rovesciato la mia Coca-Cola, puoi aiutarmi?", il sistema usa un modello linguistico di grandi dimensioni per generare le possibili azioni successive ("trova una spugna", "prendi la lattina", "vai al lavandino"). Ogni candidata riceve un punteggio in base a due fattori: la valutazione dell'LLM su quanto l'azione sia utile per l'obiettivo (punteggio linguistico) e una funzione di affordance appresa che stima se il robot può effettivamente eseguire quell'azione nel suo stato attuale (punteggio di grounding). Il prodotto di questi punteggi seleziona l'azione successiva. Il robot la esegue, osserva il risultato e il processo si ripete finché l'obiettivo non è raggiunto.

Idee sbagliate comuni

  • Pianificazione dei compiti e pianificazione del movimento sono la stessa cosa: la pianificazione dei compiti decide CHE COSA fare (sequenze logiche di azioni), la pianificazione del movimento decide COME muoversi (traiettorie senza collisioni); operano a livelli di astrazione diversi
  • Gli LLM hanno sostituito i pianificatori dei compiti classici: gli LLM offrono un ragionamento di senso comune flessibile ma non hanno garanzie formali; per le applicazioni critiche per la sicurezza, i pianificatori classici o gli approcci ibridi restano importanti
  • La pianificazione dei compiti richiede una conoscenza completa del mondo: i pianificatori moderni gestiscono l'incertezza con la ripianificazione, rami di contingenza e il rilevamento online per aggiornare lo stato del mondo durante l'esecuzione
  • I compiti semplici non hanno bisogno di pianificazione dei compiti: anche compiti apparentemente semplici come apparecchiare la tavola comportano vincoli di ordine (i piatti prima delle posate, liberare lo spazio prima di appoggiare) che traggono vantaggio da una pianificazione esplicita

Chi dovrebbe saperlo

  • Ingegneri robotici che costruiscono sistemi autonomi per compiti in più passaggi
  • Ricercatori di IA che integrano i modelli linguistici con l'esecuzione robotica
  • Ingegneri dell'automazione industriale che progettano flussi di produzione flessibili
  • Sviluppatori di robotica di servizio che creano assistenti domestici o sanitari
  • Dottorandi e studenti magistrali che studiano la pianificazione nell'IA e le sue applicazioni in robotica

Tecnologie correlate

  • PDDL
  • SayCan
  • Pianificatore Fast Downward
  • Pianificazione di compiti e movimenti (TAMP)
  • PDDLStream
  • Behavior tree
  • Pianificazione HTN

Progetti correlati

  • OpenMower: Open-source project converting commercial mowers into autonomous RTK-GPS guided robots
  • Nav2: ROS 2 navigation stack with path planning and obstacle avoidance for mobile robots
  • BehaviorTree.CPP: C++ behavior tree library for robot task planning, powering Nav2 and ROS 2 systems
  • Linorobot2: Low-cost open-source autonomous mobile robots built on ROS 2 with Nav2 navigation
  • PlanSys2: The PDDL-based task planning system for ROS 2 — symbolic AI planning on real robots
  • MiniHawk VTOL: 3D-printable VTOL aircraft that takes off as a tricopter and cruises as a fixed wing

Video

  • Big Change in How We Train Robots: Cleo Abram

Wikipedia

  • Pianificazione automatica

Questo sito richiede JavaScript. Attiva JavaScript per esplorare i nostri progetti di robotica open source.