• Non ci sono risultati.

Sistemi per il Governo dei Robot

N/A
N/A
Protected

Academic year: 2021

Condividi "Sistemi per il Governo dei Robot"

Copied!
64
0
0

Testo completo

(1)

Sistemi per il Governo dei Robot

Silvia Rossi - Lezione 2

(2)

INTRODUZIONE

(3)

Precursori della robotica moderna

• Cybernetics

• Artificial Intelligence

• Robotics

1950 1960 1970 1980 1990 2000 2010

Telemanipulators

Manufacturing

AI Robotics

  Grey

Walter’s tortoise

 Dartmouth Conference

Braitenberg’s   Vehicles

    Behavior-Based Robots

AI Planning Tradition   Shakey (SRI)

HILARE (LAAS)

Telerobotics Stanford Cart

 Planetary rovers

(4)

Grey Walter’s Machine Speculatrix, or Tortoise (1953)

Sensori:

Fotocellula Contatto

Attuatori:

Ruote (rotazione) Ruote (lineare)

Comportamenti:

Ricerca della luce

Testa verso la luce debole

Movimento opposto alla direzione della luce forte

Gira e spingi (avoid)

(5)

Reazione-Feedback negativa

Il sistema è aperto allo scambio di informazione con l'ambiente esterno, cosicché il suo

comportamento è regolato dal continuo confronto tra lo stato in cui esso si trova e quello fissato

come parametro di riferimento;

Il sistema non deve allontanarsi mai troppo da quest'ultimo.

Esso è, quindi, in grado di autoregolarsi o autogovernarsi.

(6)

I veicoli di Braitenberg

Valentino Braitenberg riprese il

modello di Grey Walter tre decadi dopo la sua presentazione

(Braitenberg 1984).

Punto di vista del neuropsicologo, egli estese i principi del

comportamento dei circuiti analogici ad una serie di gedanken

experiments che portarono al progetto di una serie di veicoli.

Questi sistemi usano connessioni

inibitorie ed eccitatorie, accoppiando direttamente o in maniera incrociata i sensori ai motori.

Creò molti veicoli, incluso alcuni che immaginava potessero esibire

Valentino Braitenberg

Former Director  Max Plank Institute for Biological Cybernetics,

Germany

(7)

Precursori della robotica moderna

• Cybernetics

• Artificial Intelligence

• Robotics

  Grey

Walter’s tortoise

Braitenberg’s   Vehicles

    Behavior-Based Robots

 Dartmouth Conference

1950 1960 1970 1980 1990 2000 2010

AI Planning Tradition   Shakey (SRI)

HILARE (LAAS)

Telemanipulators

Stanford Cart  Planetary rovers

AI Robotics

Manufacturing

Telerobotics

(8)

Artificial Intelligence AI

Beginnings of AI: Dartmouth Summer Research Conference (1956)

Original topics studied:

Language Neural nets

Complexity theory Self-improvement

Marvin Minsky: an intelligent machine “would tend to build up within itself an abstract model of the

environment in which it is placed. If it were given a

problem it could first explore solutions within the internal abstract model of the environment and then attempt

(9)

AI

In order for machines to have intelligence, they will need to use the following:

Internal models of the world

Search through possible solutions

Planning and reasoning to solve problems Symbolic representation of information

Hierarchical system organization Sequential program execution

Focus: human-level intelligence

(10)

AI

Questo approccio dominò la ricerca robotica per i successivi trenta anni durante i quali la ricerca di AI sviluppò una forte dipendenza dall'uso della

rappresentazione della conoscenza e dai metodi di ragionamento deliberativi per la pianificazione

robotica.

L’organizzazione gerarchica della pianificazione era una delle correnti principali: Un piano è un qualunque processo gerarchico nell'organismo che può controllare l'ordine nel quale è compiuta una sequenza di operazioni. (Miller, Galanter, e

Pribram 1960 p.l6).

(11)

Distributed AI

Minsky nel suo libro “La Società della

Mente” (Minsky 1986) indicò i sistemi multiagenti come la base per ogni intelligenza, affermando

che anche se ogni agente è molto semplice,

attraverso l’interazione coordinata e concertata tra semplici agenti, può emergere una intelligenza

estremamente complessa.

Behaviors individuali possono essere spesso visti come agenti indipendenti nella robotica behavior- based, collegandoli così alla DAI.

(12)

Shakey

SRI 1960

Uno dei primo robot mobili Sensori

Tv camera

optical range finders bump sensor

Ambiente

Ufficio con oggetti colorati dalle forme definite

Pianificatore STRIPS

(13)

Shakey

(14)

Hilare

LAAS-CNRS 1970

Sensors: Video camera, 14 sonar, laser range finder

Three wheels: two drive, one caster

Weight: 400 kg

World: smooth floors, office environment

Planning: Conducted in multi- level geometric

representational space

Use: for experimentation for

(15)

Stanford Cart

1970

Sensors: Stereo vision used for navigation

Speed: Very slow, moving at about 1 meter per 10-15 minutes

Full run: 5 hours

Obstacles: added to internal map as enclosing spheres

Search: Used graph search algorithm to find shortest path Accomplishments: Successfully navigated complex 20-meter

courses, visually avoiding obstacles

(16)

CMU Rover

1980

Follow-on to Stanford Cart Sensors: Camera mounted on pan/tilt – Infrared and sonar sensors

Actuators: Three

independently powered/

steered wheels

Accomplishments: Set stage for upcoming

behavior-based robotics

(17)

Planning-based approach

Il pianificatore: genera lo stato da raggiungere ed il piano per raggiungere tale stato a partire dalla

configurazione attuale Bisogna rappresentare:

Azioni Stati Goal Piani

Uso della logica del primo ordine e theorem proving

(18)

Challenges

Assunzione di mondo chiuso Frame problem

(19)

Precursori della robotica moderna

• Cybernetics

• Artificial Intelligence

• Robotics

  Grey

Walter’s

tortoise Braitenberg’s

  Vehicles    

                                   Behavior-Based Robots

 Dartmouth Conference

1950 1960 1970 1980 1990 2000 2010

AI Planning Tradition

         Shakey (SRI)

HILARE (LAAS)

Telemanipulators

Stanford Cart  Planetary rovers

AI Robotics

Manufacturing

Telerobotics

(20)

Reazione alla AI Classica

Brooks (1987) sostenne che:

"Pianificare è solo un modo di evitare di immaginare cosa fare dopo."

“Gli elefanti non giocano a scacchi”

Enfasi su:

Sensing e Acting nell’ambiente

Grossi miglioramenti nella meccanica per la robotica e nell’hardware dei sensori

hanno reso poi possibile verificare le ipotesi della comunità behavior-based.

Rodney Brooks, MIT, with Cog

(21)

Roomba

Software scritto nel 1980!

Hardware troppo caro.

(22)

Precursori della robotica moderna

• Cybernetics

• Artificial Intelligence

• Robotics

  Grey

Walter’s tortoise

Braitenberg’s   Vehicles    

                               Behavior-Based Robots

 Dartmouth Conference

AI Planning Tradition    

         Shakey (SRI)

HILARE (LAAS)

Telemanipulators

Stanford Cart

     Planetary rovers

AI Robotics

Manufacturing

Telerobotics

(23)

Telemanipulators, teleoperation, and telerobotics

Teleoperation: human operator controls robot remotely through

mechanical or electronic linkages

Operator and robot:

Leader/follower relationship

Human leads, robot mimics human

behaviors

Telepresence

Teleoperation

(24)

Space Robotics

Sojourner robot:

Part of PathFinder Mars Mission

Very successful robot

Explored MARS from July 5 – Sept. 27,1997

Fully teleoperated

Sojourner Robot on Mars

(25)

CURRENT ROBOTS ON MARS: OPPORTUNITY AND SPIRIT

ROVER

(26)

INTRODUZIONE

(27)

3 modalità principali

Unmanned Ground Vehicles

dal 1967 (Corsa allo spazio)

Unmanned Aereal Vehicles

dalla guerra del Vietnam (70)

Unmanned Marine Vehicles

dal 1960

(28)

Unmanned Ground Vehicles

Tre categorie:

Mobile

Humanoid/animal Motes

Esempi:

DARPA Grand Challenge Nasa MER

Roomba

Sony Asimo

(29)

Aerial

Tre categorie:

Fixed wing VTOL

Micri aerial vehicle (MAV)

(30)

Underwater

Categorie:

Remotely operated vehicles (ROVs) Autonomous underwater vehicles

(31)

Per quale uso?

Dirty, Dungerous and Dull tasks

Soldati Industriali Cleaning Sminatori

Controllori industriali Nucleari

(32)

Per quale uso?

Robot al WTC...

piccoli

senza ossigeno

Perdita 1/2 dell’attenzione per ogni livello di protezione indossato

Sorveglianza

Medical Robots

(33)

Assistenza

Anziani, bambini

Riabilitazione e terapia Esoscheletri

(34)

Ulteriori distinzioni

taglia;

materiali con cui sono fatti;

modo con il quale sono tenuti insieme;

attuatori che usano (motori e trasmissioni);

tipi di sistemi sensoriali che possiedono;

sistemi di computer on-board;

sistemi di locomozione.

Questo corso si concentra sugli aspetti di performance e di comportamento robotico e del progetto delle architetture che permettono al robot di fare ciò che desideriamo.

(35)

Where Are We Now?

General Research Trends

Telesystems, fully autonomous moving to adjustable autonomy Vision becoming common

Learning is being discussed

(36)
(37)

Future of Robot Platforms

No more “trash can” robots Shape-shifting/polymorphic Legged/Humanoid

Honda

Cog, Robonaut have no legs…

Issues

Proprioception

Gait/posture control

Dynamic vs. static balance, fast feedback loops

(38)

Robot Platforms

Wheelchairs

Appropriate user interface/

locus of control

Interactive with humans

Kismet, emotions, “teaming”

(39)

Robot Applications

Education

Lego Mindstorms

MIT Media Lab (Mitch

Resnick)/6.270 course (Fred Martin)

K’nex

marketed for boys, working alone, despite efforts of MIT Media Lab

“robots, dinosaurs, space” and

“smash up”

(40)

Entertainment

Pets

Sony dogs: Aibo Cheaper knockoffs

Hugo deGare’s cat (for elderly)

Poor reception; NYT article on why kids don’t play with them after a few days

iRobot My Real Baby

Software was easy, cheap sensing (~$0.01 a piece) was hard

Animatronics

Disney animation

Robots for special effects

(41)

Consumer Applications

Consumer/business applications

Service sector

So boring people don’t even come back to pick up paychecks

Hospital orderly

Helpmate (bankrupt)

Janitorial

Lawn maintenance

Home

Security bots

iRobot, Probotics

(42)

Military, Law Enforcement Apps

Army: Future Combat Systems by 2012

Lightweight, rapid deployment== no people

Vehicles are heavy because of armor, comfort for people

Air Force

Unmanned Combat Aerial Vehicle High altitude endurance UAVs

Bots are lethal, but must have human permission to fire, even in “survival” situations

Remember Darkspot?

(43)

INTRODUZIONE

(44)

The Big Picture

AI has converged on a canonical operational architecture after years of exploration

Choice for algorithms, coordination functions, etc.

Historical development is of interest because it helps identify legacy code and to see barriers that led to the convengerce

Operational architectures have advantages S/W engineering principles of abstraction, modularity

Semiformal design specification and completeness-checklist to remember all the pieces

Can reveal (some) fundamental vulnerabilities

(45)

Organizzazione del software

Lo stile complessivo di design e organizzazione del software è chiamato “Architettura”

Fornisce il modo di organizzare un sistema di controllo. In più fornisce una struttura, impone vincoli sul modo di risolvere problemi di controllo [Mataric]

Descrive un insieme di componenti architetturali e come interagiscono tra di loro [Dean & Wellman]

(46)

Tipi di Architetture [Lewis]

Architettura Operazionale: descrive cosa il sistema fa ad alto livello, non come

Architettura di Sistema: descrive come un sistema lavora in termini di sottosistemi principali

Architettura Tecnica: descrive come un sistema lavora in termini di dettagli implementativi,

linguaggio

(47)

Good Software Engineering

Astrazione

Ignorare i dettagli permette di pensare all’organizzazione generale Descrizione semiformale

Modularità

Alta coesione (possibilità di sostituire diversi algoritmi per produrre gli stessi risultati)

Basso accoppiamento Supporto per testing

Generalità

Non ri-inventare niente

(48)

I paradigmi per il controllo dei robot

Nessun paradigma ha validità assoluta: alcuni

problemi si affrontano meglio con certi paradigmi piuttosto che con altri

Scegliere il paradigma giusto per affrontare un

problema rende spesso più semplice giungere alla migliore soluzione possibile

Tradizionalmente

Gerarchico Reattivo Ibrido

(49)

I paradigmi per il controllo dei robot

I tre paradigmi differiscono per il modo in cui le principali funzioni primitive di un robot sono

organizzate

Percezione (SENSE) Pianificazione (PLAN)

Azione/Attuazione (ACT)

(50)

SENSE ACT

I paradigmi per il controllo dei robot

PLAN

(51)

I paradigmi per il controllo dei robot

ROBOT

PRIMITIVES SENSE

PLAN

ACT

INPUT

Sensor data

Information (sensed or cognitive) Sensed

OUTPUT

Sensed

information Directives

Actuator information or commands directives

(52)

I paradigmi per il controllo dei robot

Gerarchico: S-P-A Reattivo: S-A

Ibrido: P, S-A

SENSE ACT

PLAN

(53)

Il Paradigma Gerarchico

Gerarchico: S-P-A

SENSE world ACT

PLAN

(54)

Il Paradigma Gerarchico

ROBOT

PRIMITIVES SENSE

PLAN

ACT

INPUT

Sensor data

Information (sensed or cognitive) Sensed

information or directives

OUTPUT

Sensed

information Directives

Actuator commands

(55)

Gerarchico: AI Classico

La cognizione è utilizzata per interpretare la percezione e per pianificare le azioni degli attuatori.

Il modulo percezione genera una descrizione del mondo, utilizzata dal modulo cognizione che

produce una sequenza di azioni per il modulo azione.

(56)

Gerarchico: AI Classico

Nelle architetture gerarchiche la percezione viene utilizzata per stabilire e mantenere una

corrispondenza tra il modello interno del mondo (o mappa) e il mondo esterno.

Tipicamente il modello del mondo contiene:

una rappresentazione a priori dell’ambiente in cui il robot opera l’informazione sensoriale percepita

altre informazioni necessarie per l’esecuzione del compito

La rappresentazione del mondo viene modificata ogni volta che il robot percepisce l’ambiente e il piano delle azioni viene stabilito sulla base di tale rappresentazione

(57)

Gerarchico: AI Classico

Suddivisione e distribuzione logica e funzionale dei compiti

Suddivisione orizzontale e sequenziale della catena di informazioni elaborate dal sistema centralizzato

Controllo Motori

Pianificazione

Modellazione Esecuzione

Percezione

Sensori Attuatori

(58)

Gerarchico: AI Classico

Generalmente, il modulo Pianificatore è strutturato su tre livelli:

Strategico Tattico Esecutivo

Il livello più alto o strategico genera una strategia in base al compito che il robot deve eseguire

Il livello intermedio o tattico genera i comandi

interpretando istruzioni provenienti dal livello più alto o livello strategico

Il livello più basso o livello esecutivo riceve macro comandi generati dal livello intermedio e si occupa del controllo in

(59)

Gerarchico: AI Classico

             Strategic

 This level generates goals and strategies

   for achieving those goals which result in

     the achievement of an overall objective

               Tactical

This level generates the tactis by which a

          goal is to be achieved

            Executive

        This level execute the tactical plan

Cosa deve

   fare il

       robot

     Come

eseguire i   compiti

Esecuzione

          dei

  comandi

Architettura su tre livelli per il pianificatore del sistema

(60)

Gerarchico: AI Classico

Esempio per il task: “prendi la bottiglia dal frigorifero”

Livello strategico: vai in cucina, vai davanti al

frigorifero, apri al frigorifero, prendi la bottiglia…

Livello tattico:

Vai in cucina: muovi_base(X1,Y1); muovi_base(X2,Y2)…

Apri il frigorifero: muovi_braccio(P1), Apri_Mano()….

Livello esecutivo:

Muovi_base(X1,Y1); muovi_base(X2,Y2); muovi_braccio(P1)…

(61)

Nested Hierarchical Controller

(62)

Nested Hierarchical Controller

• Il modulo Mission Planner   riceve una missione da un   operatore umano (es.

  prendi la scatola nella   stanza accanto) e la   codifica in termini

comprensibili per gli altri moduli, inoltre ricava posizione e goal del robot dalla mappa

• Il modulo Navigator riceve queste informazioni e genera un cammino (traiettoria) dalla

  posizione corrente al goal

• Il modulo Pilot determina le azioni che gli attuatori devono compiere per seguire il cammino pianificato

(63)

Architetture Gerarchiche

Caratteristiche comuni:

Struttura gerarchica

Chiara divisione delle funzionalità

Comunicazione e controllo predeterminati

I livelli alti forniscono i sotto-goal per il livelli più bassi Ha bisogno di rappresentazione simbolica

Appropriate per ambienti strutturati e predicibili

(64)

Architetture Gerarchiche

Vantaggi

Funzionamento predicibile ovvero pianificazione a priori dei comportamenti Efficienza e stabilità del sistema

Svantaggi

Alta complessità computazionale dovuta principalmente alla modellazione dell’ambiente e al ragionamento

Poca adattabilità alle modifiche in tempo reale dell’ambiente o bassa reattività Basso parallelismo

Non incrementale

una mancanza di sensibilità in ambienti non strutturati e incerti dovuta sia ai requisiti di modellazione del mondo sia alle limitate vie di comunicazione;

la difficoltà nell’ingegnerizzare sistemi completi con competenze incrementali.

In questo caso, infatti, virtualmente l’intero sistema deve essere costruito

Riferimenti

Documenti correlati

La motivazione è che il problema dei minimi locali spesso sorge a causa di interazioni fra il behaviour di campo repulsivo di AVOID e gli altri behaviour, come quello del

If left-sensor is just right (0.33) and forward sensor is too far (0.33 for the ex.) then drive straight.. If left-sensor is too far (0.00) and forward sensor is too (0.00) far

Lo schema percettivo doveva usare la linea bianca per calcolare la differenza fra dove era il centroide della linea bianca e dove il robot avrebbe dovuto essere, mentre gli

Gli automi a stati finiti sono uno strumento utile per scrivere un programma di controllo coordinato di un behavior astratto e. quindi diventano un buon strumento di programmazione

• Define each of the following terms in one or two sentences: proprioception, exteroception, exproprioception,proximity sensor, logical sensor, false positive, false negative,

una conoscenza a priori del mondo quando è disponibile e stabile può essere usata per configurare o riconfigurare i behavior efficientemente modelli del mondo acquisiti

• P,S-A, deliberation uses global world models, reactive uses behavior-specific or

– Coverage (ex. Spread out to cover as much as possible) – Convergence (ex. Robots meet from different start positions) – Movement-to (ex. Doesn’t require agents to know about