Architettura del sottosuolo

L’architettura del sottosotto è un’architettura robotica reattiva fortemente associata alla robotica basata sul comportamento, molto popolare negli anni ’80 e ’90. Il termine è stato introdotto da Rodney Brooks e colleghi nel 1986. Il sottoprodotto ha avuto ampia influenza nella robotica autonoma e altrove nell’IA in tempo reale.

Panoramica
L’architettura del sottosuolo è un’architettura di controllo che è stata proposta in opposizione all’IA tradizionale, o GOFAI. Invece di guidare il comportamento da rappresentazioni mentali simboliche del mondo, l’architettura della sussunzione accoppia le informazioni sensoriali alla selezione dell’azione in modo intimo e dal basso verso l’alto.

Lo fa scomponendo il comportamento completo in sotto-comportamenti. Questi sotto-comportamenti sono organizzati in una gerarchia di livelli. Ogni livello implementa un particolare livello di competenza comportamentale, e livelli più alti sono in grado di assorbire livelli inferiori (= integrare / combinare i livelli inferiori in un insieme più completo) al fine di creare comportamenti vitali. Ad esempio, il livello più basso di un robot potrebbe essere “evitare un oggetto”. Il secondo strato sarebbe “girovagare”, che scorre sotto il terzo livello “esplora il mondo”. Poiché un robot deve avere la capacità di “evitare oggetti” per “aggirarsi” efficacemente, l’architettura di sussunzione crea un sistema in cui gli strati superiori utilizzano le competenze di livello inferiore. Gli strati, che ricevono tutti informazioni sui sensori, lavorano in parallelo e generano uscite. Queste uscite possono essere comandi per attuatori o segnali che sopprimono o inibiscono altri livelli.

Proprietà

La fisicità
Gli agenti sono in qualche modo incorporati nell’ambiente, hanno un corpo con i loro sensori e attuatori e percepiscono e reagiscono ai cambiamenti nell’ambiente.

Situazione
Gli agenti fanno parte del loro ambiente reale con cui interagiscono. Questo influenza il comportamento dell’agente.

Intelligenza
L’intelligenza dell’agente è formata prevalentemente dalla collisione dell’agente con l’ambiente reale, le sue reazioni e stimoli.

Emergence The
l’intelligenza del sistema, nel suo insieme, sorge in un modo emergente, cioè l’interazione delle sue singole parti.

Nessuna rappresentazione di conoscenza esplicita
L’architettura di sottosviluppo non ha un modello esplicito del mondo. Ciò significa che il robot non ha una panoramica semplificata del mondo circostante. I benefici sono ovvi. Gli agenti non fanno previsioni sul mondo, quindi possono lavorare molto bene in un ambiente imprevedibile. Risparmia tempo per leggere e scrivere. Inoltre, salva il tempo dell’algoritmo utilizzato da questo modello. Ci saranno anche problemi con un modello mondiale che non deve corrispondere al mondo reale. Ma ha anche i suoi svantaggi. Il sistema è quindi puramente reattivo. Ciò significa che risponde solo a ciò che sta accadendo nel mondo. In altre parole, il mondo determina ciò che vuole fare.

Distribuzione
Il comportamento è distribuito tra automi finiti che svolgono varie attività. Di conseguenza, possono rispondere agli eventi competitivi nell’ambiente. Il comportamento totale è la somma approssimativa degli automi finiti. L’architettura del sottosistema è parallela e asincrona perché gli automi finiti operano indipendentemente l’uno dall’altro. Tutte le macchine finali sono costantemente in esecuzione e, poiché possono avere i propri tempi, non hanno bisogno di sincronizzazione.

stratificazione
L’architettura del sottosuolo consiste di strati in cui ciascuno implementa un determinato comportamento e consiste di uno o più automi finiti. L’architettura del sottosistema è considerata modulare poiché ogni automa finito svolge un compito indipendente. Ogni macchina finale ha un numero di linee di input e output. Le macchine finali sono processori che inviano messaggi a vicenda e sono in grado di memorizzare strutture di dati. I processori funzionano in modo asincrono e sono equamente mutuamente equivalenti. Monitorano i loro input e inviano report alle uscite. La macchina finale tiene sempre in considerazione l’ultimo messaggio ricevuto. Per questo motivo, il messaggio potrebbe andare perso se il nuovo messaggio arriva prima che sia stato elaborato il vecchio. Non vi è alcun controllo all’interno del livello e non vi è altra forma di comunicazione tra i processori, ovvero non esiste memoria condivisa. Ogni modulo si preoccupa solo del suo compito. Gli strati più alti hanno accesso ai sensori e influenzano il comportamento degli strati inferiori limitando gli input o sopprimendo le uscite di determinati automi finiti a livelli inferiori.
Questo è il meccanismo con cui gli strati superiori includono il ruolo degli strati inferiori.

Navigazione
L’abilità agente più importante basata sull’architettura di sussunzione è quella di muoversi nel mondo ed evitare di muovere e spostare oggetti. La navigazione è uno dei compiti principali che gli agenti devono svolgere e questo compito è estremamente reattivo (rispetto ad altri agenti cognitivi). La navigazione è per lo più eseguita in più livelli. Il modulo più basso evita gli oggetti (anche per quelli che appaiono all’improvviso) e il livello più alto guida l’agente in una determinata direzione e ignora gli ostacoli. Questa combinazione fornisce un modo semplice per spostarsi da A a B senza pianificazione del percorso esplicita.

Altro
Gli agenti operano in tempo reale e sono progettati principalmente per muoversi in un mondo reale, dinamico e complesso.

Motivi per l’origine
Uno dei motivi per la creazione dell’architettura della sussunzione era il fatto che gli autori volevano affrontare i seguenti requisiti e necessità per la creazione di robot mobili autonomi.

Molti obiettivi
Il robot può avere più obiettivi che sono in conflitto tra loro e devono essere affrontati in qualche modo. Ad esempio, un robot può provare a raggiungere un certo punto di fronte a lui e allo stesso tempo deve evitare gli ostacoli che stanno arrivando. Ha anche bisogno di arrivare in qualche posto nel più breve tempo possibile e allo stesso tempo deve risparmiare le proprie risorse energetiche. È quindi chiaro che l’importanza e la priorità degli obiettivi è relativa e dipendente dal contesto. Sicuramente è più importante tirare fuori i binari quando il treno va, prima di controllare le traversine della pista in quel momento. Il sistema di controllo deve dare la priorità agli obiettivi prioritari, ma allo stesso tempo è necessario raggiungere obiettivi di priorità ancora più bassi (quando il robot si sposta dalla pista – è anche importante assicurarsi che non perda la sua stabilità e non cada).

Più sensori
Il robot può avere più sensori (telecamere, sensori a infrarossi, sensori acustici, ecc.). Tutti i sensori potrebbero potenzialmente sbagliare. Inoltre, spesso non esiste una relazione analitica diretta tra i valori dei sensori e le quantità fisiche richieste. Alcuni sensori potrebbero sovrapporsi in quelle aree che misurano. Le letture incoerenti possono spesso verificarsi – a volte a causa di un guasto del sensore e talvolta a causa delle condizioni di misurazione – se il sensore viene utilizzato al di fuori del suo ambito. Spesso, le caratteristiche analitiche precise dell’ambito non sono disponibili. Il robot deve essere in grado di prendere la decisione in base alle condizioni di cui sopra.

Robustezza
Il robot deve essere robusto. Quando alcuni sensori falliscono, devono essere in grado di adattarsi e gestire affidandosi solo a quelli che funzionano. Quando l’ambiente cambia drasticamente, dovrebbe comunque essere in grado di ottenere un comportamento ragionevole – piuttosto che rimanere in stato di shock o in giro senza meta e senza senso. È anche appropriato se può continuare se si verificano errori sui suoi processori.

scalabilità
Quando più robot vengono aggiunti al robot, hanno bisogno di più capacità di elaborazione, altrimenti le loro capacità originali potrebbero essere disturbate nel tempo.

Obbiettivo
L’architettura del sussidio attacca il problema dell’intelligenza da una prospettiva significativamente diversa rispetto all’IA tradizionale. Deluso dalle esibizioni di Shakey, il robot e progetti simili ispirati alla rappresentazione della mente, Rodney Brooks ha iniziato a creare robot basati su una diversa idea di intelligenza, simile ai processi mentali inconsci. Invece di modellare aspetti dell’intelligenza umana tramite la manipolazione dei simboli, questo approccio è mirato all’interazione in tempo reale e alle risposte attuabili a un ambiente dinamico di laboratorio o ufficio.

L’obiettivo è stato informato da quattro idee chiave:

Collettività – Un’idea importante dell’intelligenza artificiale situata è che un robot dovrebbe essere in grado di reagire al suo ambiente entro una cornice temporale simile a quella umana. Brooks sostiene che il robot mobile situato non dovrebbe rappresentare il mondo attraverso una serie interna di simboli e quindi agire su questo modello. Al contrario, afferma che “il mondo è il suo miglior modello”, il che significa che è possibile utilizzare le corrette impostazioni percezione-azione per interagire direttamente con il mondo anziché modellarlo. Tuttavia, ogni modulo / comportamento modella ancora il mondo, ma a un livello molto basso, vicino ai segnali sensomotori. Questi semplici modelli utilizzano necessariamente ipotesi codificate sul mondo codificato negli algoritmi stessi, ma evitano l’uso della memoria per prevedere il comportamento del mondo, affidandosi il più possibile a un feedback sensoriale diretto.

Incarnazione – Brooks sostiene che la costruzione di un agente incarnato realizza due cose. Il primo è che costringe il progettista a testare e creare un sistema di controllo fisico integrato, non modelli teorici o robot simulati che potrebbero non funzionare nel mondo fisico. Il secondo è che può risolvere il problema del grounding dei simboli, una questione filosofica che incontrano molte IA tradizionali, accoppiando direttamente i dati sensoriali a azioni significative. “I motivi del mondo regrediscono” e la relazione interna degli strati comportamentali è direttamente radicata nel mondo che il robot percepisce.

Intelligenza – Guardando al progresso evolutivo, Brooks sostiene che lo sviluppo delle abilità percettive e motorie è una base necessaria per l’intelligenza umana. Inoltre, rifiutando le rappresentazioni top-down come un punto di partenza valido per l’intelligenza artificiale, sembra che “l’intelligenza sia determinata dalla dinamica dell’interazione con il mondo”.

Emergenza – Convenzionalmente, i singoli moduli non sono considerati intelligenti da soli. È l’interazione di tali moduli, valutata osservando l’agente e il suo ambiente, che di solito è considerato intelligente (o meno). “L’intelligenza”, quindi, “è negli occhi dell’osservatore”.

Le idee delineate sopra fanno ancora parte di un dibattito in corso sulla natura dell’intelligenza e su come dovrebbero essere promossi i progressi della robotica e dell’intelligenza artificiale.

Strati e macchine a stati finiti aumentati
Ogni livello è costituito da un set di processori che sono macchine a stati finiti aumentati (AFSM), mentre l’aumento viene aggiunto alle variabili di istanza per contenere strutture di dati programmabili. Un livello è un modulo ed è responsabile di un singolo obiettivo comportamentale, come “girovagare”. Non esiste un controllo centrale all’interno o tra questi moduli comportamentali. Tutti gli AFSM ricevono in modo continuo e asincrono l’input dai relativi sensori e inviano l’uscita agli attuatori (o altri AFSM). I segnali di input che non vengono letti quando viene consegnato uno nuovo finiscono per essere scartati. Questi segnali scartati sono comuni e sono utili per le prestazioni perché consentono al sistema di funzionare in tempo reale gestendo le informazioni più immediate.

Poiché non esiste un controllo centrale, gli AFSM comunicano tra loro tramite segnali di inibizione e di soppressione. I segnali di inibizione bloccano i segnali dal raggiungimento di attuatori o AFSM e i segnali di soppressione bloccano o sostituiscono gli ingressi ai livelli o ai relativi AFSM. Questo sistema di comunicazione AFSM è il modo in cui gli strati più alti ne riassumono quelli più bassi, nonché il modo in cui l’architettura si occupa dell’arbitrato prioritario e della selezione delle azioni in generale.

Lo sviluppo dei livelli segue una progressione intuitiva. Prima viene creato, testato e sottoposto a debug il livello più basso. Una volta che il livello più basso è in esecuzione, uno crea e allega il secondo livello con le appropriate connessioni di soppressione e inibizione al primo strato. Dopo il test e il debug del comportamento combinato, questo processo può essere ripetuto per (teoricamente) qualsiasi numero di moduli comportamentali.

caratteristiche
Riconoscendo quanto sopra, gli autori hanno deciso di seguire la procedura che costituisce la base dell’architettura della sussunzione. Hanno affrontato il problema di creare il robot verticalmente in base alle manifestazioni esterne desiderate del sistema di controllo piuttosto che l’operazione del robot interno. Quindi hanno definito i cosiddetti livelli di competenza. Il livello di competenza è la specifica del livello richiesto di comportamento del robot rispetto a tutti gli ambienti in cui si sta muovendo. Un livello più alto di competenza significa un livello più specifico di comportamento. L’idea principale dei livelli di competenza è che è possibile creare livelli del sistema di controllo corrispondenti a un determinato livello di competenza e aggiungere semplicemente un nuovo livello a un set esistente.

R. Brooks e il suo team hanno definito i seguenti livelli di competenza nel 1986:

Evitare il contatto con oggetti (non importa se sono in movimento o fermi)
1. Sveglia senza meta senza scontrarsi con gli oggetti
2. “Esplora” il mondo cercando i luoghi a portata di mano
3. Costruisci una mappa dell’ambiente e pianifica il tuo viaggio da un luogo all’altro
4. Registrare le modifiche in ambienti statici
5. Considerare il mondo in termini di oggetti identificabili ed eseguire i compiti associati a questi oggetti
6. Formulare e attuare piani che richiedano un cambiamento nello stato del mondo in un modo desiderabile
7. Considera il comportamento degli oggetti nel mondo e modifica di conseguenza

Gli autori hanno prima creato un sistema di controllo robot completo che raggiunge le competenze a livello zero e accuratamente esaminato. Un altro livello ha nominato il primo livello del sistema di controllo. È in grado di gestire i dati dallo zero layer del sistema ed è inoltre consentito inserire dati nelle interfacce interne a livello zero, che limitano il normale bitrate. Il principio è che il livello zero continua a girare e non sa nulla del livello su di esso a volte interferendo con i percorsi dei dati. Questo livello è in grado di raggiungere le competenze di primo livello con l’aiuto dello zero layer. Lo stesso processo viene ripetuto per raggiungere un livello superiore di competenza. Al momento è stato creato il primo strato, una parte funzionante del sistema di controllo è già disponibile. Ulteriori livelli possono essere aggiunti in seguito e il sistema non può essere modificato. Gli autori sostengono che questa architettura porta naturalmente a risolvere i problemi dei robot mobili che sono stati tracciati all’inizio di questa sezione come segue.

Molti obiettivi
I singoli livelli possono lavorare contemporaneamente su obiettivi individuali. Il meccanismo di soppressione quindi media le azioni che vengono prese in considerazione. Il vantaggio è che potrebbe non esserci una decisione preliminare su quale obiettivo prendere.
Sensori multipli
Tutti i sensori potrebbero non far parte di una rappresentazione centrale. Solo una lettura del sensore può essere aggiunta alla rappresentazione centrale, che viene identificata come estremamente affidabile. Allo stesso tempo, tuttavia, i valori del sensore possono essere utilizzati dal robot. Altri livelli possono elaborare e utilizzare i risultati per raggiungere i propri obiettivi, indipendentemente da come vengono trattati i diversi livelli.
Robustezza
L’esistenza di più sensori ovviamente aumenta la robustezza del sistema quando i loro risultati possono essere ragionevolmente utilizzati. C’è un’altra fonte di robustezza nell’architettura di sussunzione. Gli strati inferiori che sono stati ben provati continuano a funzionare anche se vengono aggiunti strati più alti. Poiché uno strato più alto può solo sopprimere gli output di livello inferiore interferendo attivamente con dati alternativi, e nei casi in cui non può produrre risultati in modo appropriato, i livelli inferiori produrranno comunque risultati ragionevoli, anche a un livello inferiore di competenza.
Estensibilità
Un modo ovvio per gestire la scalabilità è lasciare che ogni nuovo layer venga eseguito sul proprio processore.

robot
Di seguito è riportato un piccolo elenco di robot che utilizzano l’architettura di sussunzione.

Allen (robot)
Herbert, un robot per la raccolta di bibite
Genghis, un robusto camminatore esapodale
Quanto sopra sono descritti in dettaglio insieme ad altri robot in Elefanti Non giocare a scacchi.

Punti di forza e di debolezza
I principali vantaggi dell’architettura sono:

l’enfasi sullo sviluppo iterativo e sul test dei sistemi in tempo reale nel loro dominio di destinazione;
l’enfasi sulla connessione di una percezione limitata, specifica per il compito, direttamente alle azioni espresse che lo richiedono; e
l’enfasi sul controllo distributivo e parallelo, integrando così i sistemi di percezione, controllo e azione in modo simile agli animali.

I principali svantaggi dell’architettura sono:

la difficoltà di progettare una selezione di azioni adattabili attraverso un sistema altamente distribuito di inibizione e soppressione;
la mancanza di una grande memoria e di una rappresentazione simbolica, che sembra limitare l’architettura alla comprensione del linguaggio;

Quando è stata sviluppata l’architettura di sussunzione, la nuova impostazione e l’approccio dell’architettura di sussunzione hanno permesso di avere successo in molti domini importanti in cui l’IA tradizionale aveva fallito, cioè l’interazione in tempo reale con un ambiente dinamico. La mancanza di memoria di grandi dimensioni, rappresentazioni simboliche e controllo centrale, tuttavia, lo pone in una posizione di svantaggio nell’apprendimento di azioni complesse, mappatura approfondita e comprensione del linguaggio.

Estensione
Nel 1989, Brooks ha sviluppato un’architettura di sussunzione, principalmente nel campo della limitazione degli input e della soppressione degli output tramite automi finiti. Nel 1991 Brooks si avvicinò con l’implementazione del sistema ormonale. I singoli strati dovrebbero essere soppressi o limitati dalla presenza o dall’assenza dell’ormone. Nel 1992 Mataric si avvicina all’idea di un’architettura basata sul comportamento. Questa architettura dovrebbe affrontare la mancanza di una rappresentazione esplicita del mondo senza perdere robustezza e reattività.