Sistemi per il Governo dei Robot
Silvia Rossi - Lezione 2
INTRODUZIONE
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
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)
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.
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
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
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
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
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).
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.
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
Shakey
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
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
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
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
Challenges
Assunzione di mondo chiuso Frame problem
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
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
Roomba
Software scritto nel 1980!
Hardware troppo caro.
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
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
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
CURRENT ROBOTS ON MARS: OPPORTUNITY AND SPIRIT
ROVER
INTRODUZIONE
3 modalità principali
Unmanned Ground Vehicles
dal 1967 (Corsa allo spazio)
Unmanned Aereal Vehicles
dalla guerra del Vietnam (70)
Unmanned Marine Vehicles
dal 1960
Unmanned Ground Vehicles
Tre categorie:
Mobile
Humanoid/animal Motes
Esempi:
DARPA Grand Challenge Nasa MER
Roomba
Sony Asimo
Aerial
Tre categorie:
Fixed wing VTOL
Micri aerial vehicle (MAV)
Underwater
Categorie:
Remotely operated vehicles (ROVs) Autonomous underwater vehicles
Per quale uso?
Dirty, Dungerous and Dull tasks
Soldati Industriali Cleaning Sminatori
Controllori industriali Nucleari
Per quale uso?
Robot al WTC...
piccoli
senza ossigeno
Perdita 1/2 dell’attenzione per ogni livello di protezione indossato
Sorveglianza
Medical Robots
Assistenza
Anziani, bambini
Riabilitazione e terapia Esoscheletri
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.
Where Are We Now?
General Research Trends
Telesystems, fully autonomous moving to adjustable autonomy Vision becoming common
Learning is being discussed
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
Robot Platforms
Wheelchairs
Appropriate user interface/
locus of control
Interactive with humans
Kismet, emotions, “teaming”
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”
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
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
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?
INTRODUZIONE
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
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]
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
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
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
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)
SENSE ACT
I paradigmi per il controllo dei robot
PLAN
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
I paradigmi per il controllo dei robot
Gerarchico: S-P-A Reattivo: S-A
Ibrido: P, S-A
SENSE ACT
PLAN
Il Paradigma Gerarchico
Gerarchico: S-P-A
SENSE world ACT
PLAN
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
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.
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
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
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
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
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)…
Nested Hierarchical Controller
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
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
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