Come agisce un robot in un “open and uncertain world”?

0

Come può un robot prendere delle decisioni sulle azioni da intraprendere quando opera in un “open and uncertain world”, cioè quando le informazioni che ha a disposizione non sono complete? Questa è una delle domande a cui gli studiosi di Intelligenza Artificiale cercano di rispondere.

Due sono le idee da cui partire per cercare di risolvere il problema:

  • La conoscenza del robot può essere organizzata su tre livelli che in ordine crescente sono: Instance Knowledge, Commonsense Knowledge e Diagnostic Knowledge. (I livelli superiori possono agire su quelli inferiori).
  • Il robot deve essere a conoscenza degli effetti delle sue azioni e trarne assumptions (assumo che X sia vero) e epistemic effects (credo X perché l’ho visto).

Combinando i livelli di conoscenza con gli effetti della conoscenza si possono risolvere molti problemi nel campo della robotica legati all’esecuzione di attività in condizioni di incertezza o in mondi aperti.

Il punto successivo è progettare un’architettura robotica (cioè il framework software e hardware per controllare il robot) adeguata ad acquisire una rappresentazione del mondo che permetta di pianificare azionied eseguire ragionamenti. Questo tenendo conto che gli eventi si verificano rapidamente e simultaneamente in ognuno dei sensori del robot.

Un possibile approccio per controllare il flusso di informazioni è quello di utilizzare un Blackboard System (cioè un’architettura dove la conoscenza di base, la blackboard, viene aggiornata continuamente da diverse fonti di conoscenze specifiche, come ad esempio dalle informazioni provenienti dai vari sensori).

Questo sistema è organizzato in tre livelli architettonici (indipendenti dai tre livelli di conoscenza) che in ordine crescente sono:

  • Competence Layer, dove si hanno i processi relativi a una abilità specifica (vista, sensori di posizione, ecc) che condividono tra loro le informazioni attraverso una lavagna di lavoro
  • Belief Layer, dove le informazioni trasmesse dallo strato precedente e provenienti da diverse competenze si legano (formando una Mappa Relazionale) e sono temporaneamente stabili
  • Deliberative Layer, dove i legami realizzati nel Belief Layer creano un insieme di simboli che descrivono lo stato delle cose e permettono al robot di fare una pianificazione sulla base della quale prendere delle decisioni

Layer KnowledgeImmaginiamo allora di avere un robot programmato per accedere ad un edificio con il compito di ritrovare un determinato oggetto all’interno dello stesso. Assumiamo quindi che:

  • Il robot sia dotato di un sistema di visione per rilevare oggetti e persone, di un laser e di una depth camera per mappare lo spazio, e di ovvi mezzi locomotori.
  • Il robot sarà in oltre in grado di acquisire informazioni sugli oggetti e i luoghi, dialogando con le persone.

Gli viene quindi fornita un mappa iniziale dove sono indicate le zone libere dell’edificio e quelle che presentano ostacoli. Su questa mappa non ci sono tutte le possibili indicazioni, sarà il robot a completarla pian piano visitando i vari luoghi. Le conoscenze iniziali (mappa) vengono quindi integrate con nuove conoscenze (nuove aree scoperte dal robot) andando così a formare il Belief Layer, punto d’inizio della pianificazione.
Screenshot 2016-02-17 09.36.04Nell’immagine a destra è riportata la mappa base, arricchita dalle informazioni raccolte dal robot dopo l’esplorazione dello spazio.

Una volta completata la mappa al robot vengono date alcune indicazioni sull’oggetto che si desidera cercare ed lascionado a lui il compito di pianificare come trovarlo. Si trova quindi nella condizione di ragionare su due entità che ancora non esistono nella sua mappa relazionale: l’oggetto e il luogo in cui si trova. Deve perciò realizzare una pianificazione open-world, cioè essere pronto all’evenienza che durante l’esecuzione del piano potrebbero avvenire cose non previste, che lo porteranno a conoscenza di nuove entità (non necessariamente collegate al suo compito).

Allora aggiunge delle estensioni alla mappa relazionale iniziale, facendo delle assunzioni basate sulla instance knowledge (se sto cercando una forchetta e so che c’è una cucina quello sarà il primo posto dove la cercherò). Ogni volta che il robot fa qualche azione la mappa relazionale cambia e se non si è assolto il compito previsto si ha una nuova pianificazione che appunto tiene conto degli effetti dell’azione del robot.

La figura mostra una mappa relazionale realizzata per la ricerca di una rivista all’interno di un ufficio.

Relational map

Il robot potrebbe dichiarare di aver fallito se non si sono verificate le osservazioni attese (non c’è una forchetta in cucina come dovrebbe essere), cioè se non c’è stata corrispondenza tra aspettative ed esperienza. Tuttavia il robot si pone l’obiettivo di capire perché ci sono state queste sorprese in modo da saper come affrontare un’analoga situazione futura

A questo punto si rende necessario formulare delle nuove ipotesi attraverso la diagnostic knowledge per modificare il piano e giungere a un risultato positivo.

In conclusione il robot procede per tentativi, andando a salvare le nuove informazioni e utilizzandole nella mappa relazionale per trarne altre informazioni in base ai legami tra le stesse arrivando quindi ad eseguire il compito assegnatogli.

Qui il video realizzato dai ricercatori che hanno scritto l’articolo di riferimento che mostra il loro robot Dora mentre esplora lo spazio e pianifica le azioni.

Reference:MarcHanheide∗,1, MoritzGöbelbecker, GrahamS.Horn, AndrzejPronobis, KristofferSjöö, AlperAydemir, PatricJensfelt, CharlesGretton, RichardDearden, MiroslavJanicek, HendrikZender, Geert-JanKruijff, NickHawes, JeremyL.Wyatt (2015) Robot task planning and explanation in open and uncertain worlds 

Share.

About Author

Leave A Reply