Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione...

37
Robotica Lezione 8

Transcript of Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione...

Page 1: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Robotica

Lezione 8

Page 2: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Robot Autonomo

Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per muoversi sicura in modo significativo e propositivo.

Page 3: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Aree di Riferimento

Cibernetica

Etologia

Psicologia Cognitiva

Intelligenza Artificiale

Robotica

Page 4: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Controllo ReattivoIl controllo reattivo è una tecnica di controllo basata sul forte accoppiamento percezione azione, tipicamente in ambito di comportamento motorio, per produrre risposte temporizzate in ambienti dinamici non strutturati

I comportamenti sono i mattoni elementari per costruire le azioni dei robot.La generazione della risposta non utilizza in nessun modo rappresentazione esplicita della conoscenza.Le basi del comportamenti sono spesso di origine animale.Dal punto di vista della realizzazione software i sistemi reattivi sono intrinsecamente modulari.

Page 5: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Paradigma Implementativo

• Implementazione vincolata/guidata dall'Etologia• Implementazione basata sull'attività situata• Implementazione guidata dai risultati sperimentali

Page 6: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Expressione dei Comportamenti

Comportamento Risposta

• Notazione Funzionale

Stimolo

(s) = r

• Diagrammi Stimolo-Risposta (SR)

• Automi a Stati Finiti (FSA)

Page 7: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Codifica dei Comportamenti

Costruzione della mappa dall'insieme degli stimoli all'insieme delle risposte motorie.

• Un comportamento è esprimibile con una tripla (S, R, ) dove con S si denota l'insieme di tutti gli stimoli interpretabili, R denota lo spazio delle possibili risposte mentre denota la mappa : S->R.Codifica discretaCodifica funzionale continua

Page 8: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Composizione dei Comportamenti

• Coordinazione fra Comportamenti– Metodi Competitivi– Metodi Cooperativi

Page 9: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Architetture Behavior-Based

L'architettura di un robot è una metodologia per il progetto e la realizzazione altamente specifica di singoli robot, a partire da una collezione di singole parti di software, che fungono da blocchi costituenti .

Page 10: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Criteri di Valutazione I

• secondo Arkin– Supporto al parallelismo– Adattabilità all'hardware– Adattabilità alla nicchia– Supporto della modularità– Robustezza– Rapidità di sviluppo– Flessibilità runtime– Efficienza delle prestazioni

Page 11: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Criteri di Valutazione II

• secondo Laird– Generalità– Versatilità– Razionalità– Programmabilità– Capacità di apprendere– Scalabilità– Flessibilità– Efficienza– Aderenza biologica

Page 12: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Esempio di Architetture Behavior-Based

• Esplorazione (foraging)L'obiettivo è quello di far muovere il robot lontano dalla posizione di riposo alla ricerca di oggetti attrattori.– Wander– Acquire– Retrieve

Page 13: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Architetture Reattive

Architettura di Sussunzione (Brooks)1. Modello AFSM2. Si tratta di un'architettura a livelli che impiega

strategie di arbitraggio su una base AFSM.– Coordinazion: inibizione e soppressione1. Pro

1. Adattabilita' all'hardware2. Supporto per il parallelismo3. Adattabilità alla nicchia

2. Contro1. Flessibilità runtime2. Supporto della modularità

Page 14: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Architetture Schema-based

• Lo schema (Arkin) è l'unità base del comportamento a partire dalla quale vengono costruite le azioni complesse; consiste della conoscenza di come agire e percepire assieme al processo computazionale che li determina.

Gli schemi motori sono architetture software dinamiche e reattive, cooperative e non gerarchiche.

Page 15: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Schemi Motori

Coordinazione: somma vettorialePro

• Supporto per il parallelismo• Flessibilità runtime• Rapidità di sviluppo• Supporto della modularità

Contro• Adattabilità alla nicchia• Adattabilità all'hardware

Page 16: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Khepera

• Simulatoriwww.cyberbotics.com

diwww.epfl.ch/lami/team /michel/khep-sim

Page 17: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Pioneer

Robot mobile con due ruote motrici, pilotate in DC con scheda motore e micro 68HC11

Page 18: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Ghenghis

Robot mobile su 8 gambe controllate con una rete neurale

Page 19: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Architettura di Sussunzione

Caratteristiche Generali– Impiego diretto dell'hardware (microcontroller)– Il controllo è implementato con reti di moduli

sensoriali ed attuativi capaci di eseguire un compito ben specificato (comportamenti)

– Realizzato con automi AFSM

Page 20: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Struttura del Robot Allen

Livello 0– Controlla l'avanzamento del robot evitando

le collisioni

Page 21: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Struttura del Robot Allen

Livello 1– Capacità di muoversi attorno senza una

meta precisa

Page 22: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Struttura del Robot AllenLivello 2– Capacità di muoversi attorno senza una

meta precisa

Page 23: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Classificazione delle Architetture

Si basa sulle caratteristiche di pianificazione e di rappresentazione

Rappresentazione

Piano

Brooks

Anderson

Agre

Connell

Kaelbling & Rosenschein

Kaelbling I

Kaelbling II 3S

Arkin

AuRA

PaytonSchoppers

RAP

Georgeff & Lansky

Maes

Page 24: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Brooks

Architettura di sussunzione

Page 25: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Connell

Generalizzazione dell'architettura di Brooks

Page 26: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Anderson & Donath

I compartamenti sono librerie di comportamenti primitivi attivabili su suggerimento di stimoli ambientali

Page 27: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Kaelbling & Rosenschein

Decomposizione Percezione-Azione

Page 28: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Kaelbling I

Introduzione dei comportamenti mediatore

Page 29: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Kaelbling II

Esegue un passo di pianificazione per volta

Page 30: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Architettura 3S

Dovuta a Connell: evolve dalla reattiva pura

Page 31: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Arkin

Introduzione del ciclo percezione-azione e degli schemi motori

Page 32: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Architettura AuRAnavigazione in un'ampia gamma di domini

aggiunta di nuove strategie motorie e percettive

uso di conoscenza di alto livello

Sopravvivenza in ambienti ostili

Page 33: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Payton

I comportamenti sono unità di decisione

Page 34: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Schoppers

Piani Universali

Page 35: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Architettura RAP

Pianificatore reattivo dovuto a Firby

Page 36: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Georgeff & Lansky

Ragionamento Procedurale

Page 37: Robotica Lezione 8. Robot Autonomo Un robot autonomo è una macchina capace di estrarre informazione dall'ambiente ed usare la conoscenza del mondo per.

Maes

I moduli di competenza sono collegati in una rete attraverso tre tipi di legami: successor link, predecessor link e conflicter link