FUS-Robotica Architetture Robotiche I requisiti di sistema Reattività all’ambiente Comportamento Intelligente Ridondanza sensoriale Espandibilità Global Reasoning Programmabilità Flessibilità Gestione di obiettivi multipli Modularità Adattabilità Robustezza Architetture FUS-Robotica Si tratta della capacità del sistema di reagire ad improvvisi stimoli imposti dall’ambiente e tenere conto dei vincoli temporali nell’esecuzione dei task che gli sono assegnati. Reattività all’ambiente Per dare meglio l’idea ciò vuol dire: - Un’adeguata struttura software per la gestione degli eventi; -Una adeguata rapidità di esecuzione dei sistemi di calcolo -Una efficace dotazione sensoriale, in grado di avvertire tempestivamente le modifiche ambientali FUS-Robotica Si tratta della capacità di applicare regole di senso comune nell’adottare compromessi tra richieste contrastanti. Dal punto di vista umano ciò equivale a mostrare il cosiddetto comportamento intelligente. Comportamento Intelligente Per quanto riguarda l’applicazione di tale comportamento al sistema robotico ciò implica l’adozione di algoritmi ispirati a logiche “fuzzy” anche se l’algebra di questa specifica disciplina non viene esplicitamente adottata. Si ricorda qui che la logica Fuzzy può essere considerata sotto certi aspetti come una generalizzazione dell’algebra booleana in cui le variabili (per semplificare molto) non sono costrette ad assumere solo valori binari, ma possono avere stati positivi, negativi, centrali o anche indefiniti. FUS-Robotica Ridondanza sensoriale Molto spesso, come avviene anche nell’uomo, la sensoristica disponibile presenta limitazioni di vario tipo, dalla velocità nel fornire i dati necessari, alla precisione dei dati forniti, alla portata in termini di distanza, alla vulnerabilità ai disturbi ambientali. A questi problemi il sistema può spesso porre rimedio tramite una intelligente gestione di più sensori che possono superare uno le limitazioni dell’altro. L’azione conseguente che deve essere compiuta viene chiamata “fusione sensoriale”. FUS-Robotica La capacità della macchina di eseguire funzioni di tipo sufficientemente variato attraverso l’impiego di istruzioni di alto livello. Programmabilità Linguaggi di alto livello vengono spesso chiamati “pseudo-naturali” in riferimento a quelli che per definizione sono i linguaggi naturali, ossia quelli impiegati dall’uomo. I linguaggi naturali sono generalmente caratterizzati dalla presenza intrinseca di condizioni di equivocità e di indecidibilità che l’uomo risolve normalmente attraverso l’analisi contestuale estesa a tutti gli input sensoriali (es: analisi del linguaggio del corpo, analisi dei contenuti semantici legati al tono di voce, ecc…) FUS-Robotica Nel caso di robot mobili situazioni che richiedono azioni concorrenti e conflittuali sono praticamente inevitabili. Gestione di obiettivi multipli Il sistema di controllo della macchina deve perciò includere procedure per adempiere a queste situazioni che implicano obiettivi multipli. In pratica si tratta di algoritmi che identifichino priorità e capacità di sequenzializzazioni delle azioni. FUS-Robotica La macchina deve essere progettata per gestire al meglio situazioni in cui gli input sensoriali risultino imperfetti, in cui vi siano condizioni operative inaspettate e rotture moderate di sistemi interni. Robustezza Esempio banale: il programma che gestisce la temperatura massima del motore potrebbe fermare la macchina nel caso questa risulti troppo elevata o imporre una riduzione delle prestazioni prima che questo stato venga raggiunto, garantendo però una funzionalità degrata e assicurando in alcuni casi la sicurezza della macchina e di quanto la circonda. FUS-Robotica Poiché le condizioni del “mondo” possono cambiare rapidamente il sistema deve essere in grado di adattarsi ad esse. Adattabilità Ciò si differenzia dalla robustezza che implica di poter perseguire lo stesso obiettivo “nonostante” il cambiamento o l’errore mentre l’adattabilità implica la possibilità di poter modificare almeno l’obiettivo immediato e, in qualche caso, anche quello generale se perseguirlo porta a gravi conseguenze. L’adattabilità, inoltre, non implica necessariamente un comportamento intelligente anche se ovviamente se ne giova. FUS-Robotica Modularità Si tratta, come molte delle caratteristiche sin qui illustrate, di una tecnica di progettazione comune a molti sistmei informatici e non solamente ai robot. Implica che una corretta architettura robotico si giova di un sistema di controllo realizzata in piccoli “moduli” che possono essere progettati, realizzati e testati separatamente e le cui interfacce siano perfettamente note e progettate anch’esse in modo che l’interfacciamento con gli FUS-Robotica Chi lavora con i robot (o con qualsiasi altra struttura innovativa) sa come i dispositivi sperimentali non siano mai finiti. Flessibilità Il controllo di un tale sistema pertanto richiede una impostazione flessibile al fine di poter sperimentare le diverse soluzioni senza dover ricominciare ogni volta il progetto. FUS-Robotica Le architetture di controllo classiche Essenzialmente possono essere riportate tutte a due tipi base: gerarchiche centralizzate Inoltre possono essere basate o meno su agenti cognitivi, nel qual caso sono classificate come architetture cognitive Le architetture più classiche sono le seguenti: SUBSUMPTION NASREM LAAS TCA FUS-Robotica NASREM Di questo modello esistono molte varianti a seconda di correzioni basati su modelli reattivi di comportamento che richiedono l’aggiunta di flussi informativi a livelli più bassi (in particolare algoritmi che consentano una reazione immediata dal dato sensoriale sul sistema attuatore) L’architettura originale di James S. Albus, denominata NASREM per Nasa Standard REference Model FUS-Robotica LAAS Local Area Augmentation System Concepita al LAAS, “Laboratoire d’Analyse et d’Architecture des Systemes” del CNRS francese in Tolosa ha influenzato molti progetti europei. Anche alcune architetture di sistemi mobili ENEA si sono ispirate a questo modello. Mission Planner Task Planner Mission Supervisor Task Supervisor FUS-Robotica TCA Task Control Architecture Una architettura basata su classico concetto del controllo centrale dove viene conservato un elenco delle operazioni da fare e da dove viene ceduto il controllo, nella implementazione più semplice, ad ognuna di esse in modo sequenziale. Il Controllo Centrale definisce il tempo di ciclo complessivo – una specie di cuore pulsante del sistema Actuators Arm planner Footfall planner Arm monitor Controller FUS-Robotica SUBSUMPTION L’architettura “subsumption” o Brooksiana (da Brooks che l’aveva concepita) si basa sul concetto che più che ideare agenti complessi che operino in un mondo semplice è preferibile usare agenti semplici che si adattino ad un mondo complesso. FUS-Robotica SUBSUMPTION La sua implementazione segue il concetto di usare una serie di agenti (task) reattivi che esibiscano un comportamento molto semplice. Qualora la risposta reattiva (o riflessiva) più immediata si riveli insufficiente un agente (anch’esso semplice) di livello superiore fornisce alla risposta modifiche comportamentali. In realtà non esiste uno stadio di valutazione di adeguatezza o meno della risposta: gli agenti vengono tutti attivati sempre, ma quelli di livello superiore forniscono risposte che influenzano quelle inferiori (sussunzione) solo se gli input sensoriali riescono ad eccitarli. Il comportamento complesso, in questo contesto, viene esibito solo in seguito all’attivazione di molti agenti di livello sempre più alto che aggiungono la loro risposta a quello più basso. FUS-Robotica Le Architetture Sensoriali e lo sviluppo di sensori per la robotica in ENEA Lo sviluppo di sistemi sensoriali dedicati vede la partecipazione di varie unita’ che hanno applicato gli sviluppi in modo sinergico a piu’ di un’applicazione, e per cui l’aspetto della robotica e’ stato comunque centrale. I casi applicativi su cui faremo qualche flash si riferiscono a: I sistemi mobili per l’Antartide RAS SARA I sensori per la fusione IVVS FUS-Robotica RAS – Robot Antartico di Superficie Sistema sviluppato per svolgere attivita’ di ricerca in Antartide. E’ stato usato qui come esempio per la sua ridondanza nel sistema sensoriale, legata alla necessita’ di garantire la percezione dell’ambiente anche in condizioni di forte ostilita’ e quando molti sensori possono risultare “blind” o almeno insufficienti Visione artificiale FUS-Robotica Sensori d’ambiente Alto Livello Data Base del Mondo Attuatori (cingoli) Sistema reattivo GPS RTK Radar mmw Laser RF SX Laser RF DX Odometria Velocimetria ottica Struttura NASREM-Like adottata per il RAS le varie funzionalita’ sono ancora in via di implementazione FUS-Robotica I Costituenti principali (3) 1) Modulo Attivo – Sorgente Laser e Rivelatore. 2) Modulo Passivo – Ottiche di lancio e di ricezione. (2) 3) Fibra di lancio – Monomodale, Ø 5 µm, lunghezza ≥ 20 m. 4) Fibra ricevente – Multimodale, Ø 600 µm, lunghezza ~2 m ≥ 20 m (fascio coerente multimodale). (4) (1) FUS-Robotica Immagine in luce reale Precisioni ottenibili: tra 10-5 e 10-4 Risoluzioni angolari dell’ordine di un millesimo di grado. Sono stati ottenuti risultati anche piu’ adatte alle esigenze dei sistemi robotici mobili che per la navigazione richiedono misure molto rapide e precisioni limitate Immagine in distanza Tramite misura di fase IVVS – In Vessel Viewing System Schema operativo del sensore laser range finder sviluppato dalla Sezione di Ingegneria Elettrica ed Elettronica della Unita’ Fusione nel corso della collaborazione con la Sezione LAS di FIS FUS-Robotica IVVS – In Vessel Viewing System Prototipo del sistema di scansione 3D sviluppato per l’esame del vessel dei reattori a fusione. La progettazione meccanica e l’automazione sono state condotte interamente dalla UTS fusione FUS-Robotica Velocimetro laser Immagini Time-resolved (vedi immagine sotto) vengono ottenute per sovrapposizione delle speckle che appaiono su un asse di riferimento (rosso in figura) su immagini prese in tempi diversi (plot inferiore). L’integrita’ del pattern viene persa dopo un certo spostamento (e quindi dopo un certo numero di frames a seconda della velocita’) in funzione di diversi fattori. Tra questi: la velocita’, l’ottica usata, la natura della superficie e le caratteristiche del fascio laser. Il procedimento di analisi pero’ mantiene bene identificabili le caratteristiche del moto. FUS-Robotica Direction of pattern movement Velocimetro laser Photo of the laboratory set-up FUS-Robotica Risultati di laboratorio Il diagramma 3D mostra l’andamento del massimo di σ2 in funzione della variabile φ della trasformata di Radon (direzione di proiezione) e della direzione del moto. Le equazioni dell’algoritmo consentono di ricavare il valore delle componenti x e y della velocita’ con grande precisione. Circa 1.9 cm/sec FUS-Robotica FUS-Robotica The End Si ringraziano per le informazioni ed i contributi Dati al Workshop ed a questa presentazione: l’unita’ l’unita’ l’unita’ la Dir. Centrale l’unita’ FIS-LAS FUS-ING FUS-MAG INFO MAT-COMP E tutti i presenti per essere intervenuti Altre risorse FUS-Robotica FUS-Robotica Intelligenza nelle architetture Praticamente tutte le architetture presentate nelle proiezioni precedenti permettono l’inserimento di elementi di intelligenza con l’eccezione di quella sussuntiva che si pone come obiettivo la realizzazione di controlli a semplicità massima (ma anche in questo caso esistono delle varianti che ne correggono le principali mancanza). Vale quindi la pena di dare una rapida occhiata a cosa vuol dire aggiungere intelligenza ad un sistema robotico e a cosa è una architettura cognitiva. FUS-Robotica Le architetture di controllo cognitive Non esiste una “teoria integrata delle architetture cognitive: vi sono invece un certo numero di osservazioni e risultati sperimentali che hanno rilevanza nella loro investigazione. In particolare risultati che provengono di settori della Intelligenza Artificiale, delle Scienze Cognitive e della Psicologia Cognitiva sonon stati direttamente impiegati per il progetto, lo sviluppo e l’analisi di architetture cognitive. Le ipotesi di lavoro adottate si basano in generale su congetture e molte di esse si sono rivelate contraddittorie l’una rispetto all’altra. FUS-Robotica Le architetture di controllo Cognitive - II Allen Newell, nella sua Unified Theories of Cognition definisce l’intelligenza come l’abilità con cui una entità si avvicina ad essere un “sistema basato sulla conoscenza”. Il livello più alto di intelligenza viene, in questo contesto, definito come la capacità di un sistema di portare tutta la conoscenza di cui dispone nella procedura di soluzione di un problema (ossia raggiungere scopi). Alla luce di questa definizione di intelligenza, l’Intelligenza Artificiale è semplicemente l’operazione di sistemi non-naturali che utilizzano una base di conoscenza per raggiungere scopi. Ovvero: un tentativo di fare un sistema artificiale che cerca di fare al meglio ciò che gli esseri umani sanno fare ancora meglio. FUS-Robotica Le architetture di controllo Cognitive - III Il ragionamento, nella sua forma a noi nota, è essenzialmente un processo di manipolazione simbolica, così che queste entità vengono assunte come base per la realizzazione di sistemi intelligenti. Poichè il simbolo è una rappresentazione puramente teorica esso viene accoppiato al “Token”, ossia alla sua istanziazione fisica. Questi ultimi possono essere manipolati al fine di produrre una informazione di più alto livello definita come informazione “distale” a sua volta codificabile simbolicamente portando ad un sistema descrivibile con grafi. FUS-Robotica Le architetture di controllo Cognitive - IV Un sistema simbolico deve perciò possedere i seguenti requisiti Memoria per contenere le informazini simboliche distali Simboli per garantire pattern (sequenze) da accoppiare o per puntare alle informazioni Operationi per manipolare i simboli Interpretazione per consentire di specificare operazioni tramtie i simboli, Risorse adeguate: •sufficiente memoria, •componibilità (di vari simboli), •interpretabilità (perché le strutture simboliche siano in grado di codificare qualsiasi ragionevole insieme di operazioni). FUS-Robotica Architettura EPIC L’esempio dell’uomo FUS-Robotica Altre architetture di controllo basate su sistemi cognitivi ATLANTIS Theo Prodigy ICARUS Adaptive Intelligent Systems (AIS) A Meta-reasoning Architecture for 'X' (MAX) Homer Soar Teton RALPH-MEA Entropy Reduction Engine