Upload
others
View
7
Download
1
Embed Size (px)
Citation preview
Robotica 1 1
Corso di Robotica 1
Architetture di governo Programmazione
Prof. Alessandro De Luca
Architettura funzionale di governo
Modello di riferimento
S
S
S
S
M
M
M
M
D
D
D
D
sensori
Mem
oria globale
interfaccia
. . .
. . . .
.
.
attuatori
operatore
elaborazione sensori
modelli conoscenza
politiche decisione
livello compito
livello azioni
livello primitive
livello servo
Robotica 1 2
Modello di riferimento: Moduli Modello di riferimento
S
S
S
S
M
M
M
M
D
D
D
D
sensori
Mem
oria globale
interfaccia
. . .
. . . .
.
.
attuatori
operatore
elaborazione sensori
modelli conoscenza
politiche decisione
livello compito
livello azioni
livello primitive
livello servo
MODULI SENSORIALI acquisizione, elaborazione e integrazione dati sensoriali
Robotica 1 3
Modello di riferimento: Moduli Modello di riferimento
S
S
S
S
M
M
M
M
D
D
D
D
sensori
Mem
oria globale
interfaccia
. . .
. . . .
.
.
attuatori
operatore
elaborazione sensori
modelli conoscenza
politiche decisione
livello compito
livello azioni
livello primitive
livello servo
MODULI MODELLISTICI conoscenze a priori del
sistema robot + ambiente, aggiornate sulla base di
informazioni dai moduli sensoriali
Robotica 1 4
Modello di riferimento: Moduli Modello di riferimento
S
S
S
S
M
M
M
M
D
D
D
D
sensori
Mem
oria globale
interfaccia
. . .
. . . .
.
.
attuatori
operatore
elaborazione sensori
modelli conoscenza
politiche decisione
livello compito
livello azioni
livello primitive
livello servo
MODULI DECISIONALI • decomposizione (nel tempo e nello spazio) dei compiti in azioni di livello più basso • scelta ed elaborazione di strategie
Robotica 1 5
Modello di riferimento: Moduli Modello di riferimento
S
S
S
S
M
M
M
M
D
D
D
D
sensori
Mem
oria globale
interfaccia
. . .
. . . .
.
.
attuatori
operatore
elaborazione sensori
modelli conoscenza
politiche decisione
livello compito
livello azioni
livello primitive
livello servo
MEMORIA GLOBALE informazioni di interesse per
tutti i livelli (stime aggiornate stato sistema + ambiente)
Robotica 1 6
Modello di riferimento: Moduli Modello di riferimento
S
S
S
S
M
M
M
M
D
D
D
D
sensori
Mem
oria globale
interfaccia
. . .
. . . .
.
.
attuatori
operatore
elaborazione sensori
modelli conoscenza
politiche decisione
livello compito
livello azioni
livello primitive
livello servo
INTERFACCIA OPERATORE consente l’intervento
dell’operatore ad ogni livello della gerarchia funzionale
Robotica 1 7
Modello di riferimento: Livelli
Livello del compito: obiettivo del compito (specificato da operatore) analizzato e decomposto in azioni (basandosi su modelli di conoscenza di sistema robotico e ambiente)
Livello delle azioni: comandi simbolici tradotti in sequenze di configurazioni intermedie
Livello delle primitive: calcolo di traiettorie di riferimento per livello servo, scelta della strategia di controllo
Livello dei servo: realizzazione algoritmi di controllo, calcolo comandi di attuazione per servomotori
COM
PLESSITA’ INFO
VI
NCO
LI T
EMPO
RAL
I
Robotica 1 8
Un’architettura funzionale per robot industriali
M S
S M
D
D
D
telecamera
forza velocità posizione
comandi attuatori
azioni
primitive
servo
qdes qdes
. qdes
..
algoritmo di controllo
sistemi di riferimento punti percorso modi di interpolazione
richiesta
richiesta
dati
dati stato
stato
Robotica 1 9
Un’architettura funzionale per robot industriali
M S
S M
D
D
D
telecamera
comandi attuatori
azioni
primitive
servo
richiesta
richiesta
dati
dati stato
stato LIVELLO AZIONI • interprete comandi alto livello • decomposizione del compito affidata all’operatore
• mancano moduli sensoriali e modellistici (se non c’è una interazione multi-modale human-robot)
qdes qdes
. qdes
..
sistemi di riferimento punti percorso modi di interpolazione
forza velocità posizione
algoritmo di controllo
Robotica 1 10
Un’architettura funzionale per robot industriali
M S
S M
D
D
D
telecamera
forza vel pos
comandi attuatori
azioni
primitive
servo
algo di controllo
richiesta
richiesta
dati
dati stato
stato
forza qdes qdes
. qdes
..
sistemi di riferimento punti percorso modi di interpolazione
LIVELLO PRIMITIVE • S: (solo per interazione attiva con ambiente)
geometria dell’ambiente, stato interazione • M: cinematica diretta e inversa, modelli dinamici • D: decodifica comandi, generazione percorso, interpolazione
traiettoria, inversione cinematica, analisi stato servo, gestione emergenze
Robotica 1 11
algoritmo di controllo qdes qdes
. qdes
..
Un’architettura funzionale per robot industriali
M S
S M
D
D
D
telecamera
comandi attuatori
azioni
primitive
servo
Sist. Coord. Punti percorso Modalità interp.
richiesta
richiesta
dati
dati stato
stato
forza velocità posizione
LIVELLO SERVO • S: condizionamento segnali, stato interno manipolatore,
stato interazione con ambiente • M: cinematica diretta, Jacobiano, dinamica inversa • D: decodifica comandi, microinterpolazione, gestione errori,
legge di controllo digitale, interfaccia servo
Robotica 1 12
Interazione tra i moduli
attivazione orizzontale
(sequenziale)
attivazione verticale a richiesta
(subsumption)
plan changes to world
identify object
monitor changes
build map
explore
wander
avoid obstacles
perception
modeling
planning
task execution
motor control
sensors actuators
sensors actuators
Robotica 1 13
Architettura del LAAS
esempio alternativo del LAAS/CNRS di Toulouse
livello decisionale livello di sincronizzazione
della esecuzione livello funzionale (moduli) livello con logica di
interfacciamento livello fisico dei dispositivi
Robotica 1 14
Sviluppo delle architetture - 1
esemplificato per la navigazione di un robot mobile su ruote
sistema gerarchico localizzazione iniziale pianificazione off-line controllo del moto on-line possibilità eventuale di
acquisizione/aggiornamento del modello dell’ambiente (con scala temporale lenta)
Robotica 1 15
Sviluppo delle architetture - 2
sistema reattivo puro stima in linea dell’ambiente
locale (incognito) obiettivo globale di
posizionamento (goal) reazione locale per avere
“obstacle avoidance” + guida globale verso il goal
Robotica 1 16
Sviluppo delle architetture - 3
sistema ibrido SLAM = simultaneous
localization and mapping navigazione/esplorazione
sul modello corrente fusione di dati sensoriali controllo del moto on-line
Robotica 1 17
“Wheelchair” attuata e sensorizzata
Robotica 1 18
Cella per selezione di rifiuti domestici
versione semi-automatica Fraunhofer IPA, Stoccarda
Robotica 1 19
d
CCD cameraLaser beam
Reference line
Conveyor belt
X
Y
α h
Modulo sensoriale (nella versione automatica)
operatore +
touch-screen sostituito da
visione a luce strutturata +
sistema di localizzazione neuro-fuzzy
principio di funzionamento del sensore a luce strutturata
lavori della Dr.ssa Raffaella Mattone
Robotica 1 20
Interpretazione dati sensoriali
shadowcone
imperfectreflection
line projectedon a vertical surface
possibili cause di mancanza di informazione su una singola linea
Robotica 1 21
Interpretazione dati sensoriali
line 1
line 2
S 11
S 23S 22
S 12
S 21
S 13
O1object O2object
O3object
integrazione di dati ottenuti ad istanti di campionamento successivi
moto del conveyor
ordine di processamento
Robotica 1 22
Modulo decisionale
struttura del modulo di localizzazione e classificazione degli oggetti
Rule-Level I
Rule-Level II
1h 4h2h 3h ... vector of height samples
a1e1s 1a2e2s 2
list of “segments” in the sampled profile(start point, end point,
average height, ...)
zyx
objects geometric features(center point, average height,...)
Classification results
Robotica 1 23
Modulo modellistico
esempio di modello di oggetti sul nastro trasportatore
Robotica 1 24
Architettura funzionale cella IPA
calcolo h su ogni linea
modello corrente
oggetti su nastro localizzazione classificazione
presenza oggetto al
gripper
M S
S M
D
D
D
telecamera + laser
forza (gripper) velocità posizione
comandi attuatori
azioni
primitive
servo
pdes
richiesta
richiesta
dati
dati stato
stato sistemi di riferimento punti percorso modi di interpolazione
Robotica 1 25
Descrizione con diagrammi di flusso
posti (p1,…,p4) stati o blocchi funzionali:
attivi se c’è un “token” nel posto (es. p1 e p3)
transizioni (t1,…,t3) passaggi da uno stato a un
altro attivati da eventi: presenza di tokens sufficienti (almeno uno) in tutti i posti in ingresso a transizione; eventualmente temporizzate (es. t1, t3)
RETI DI PETRI
grafi orientati con due tipi di nodi
p1
p2 p3
t1 (T1)
t2 t3 (T3)
p4
Robotica 1 26
Diagramma di flusso cella IPA
p1: pick & place T1: tempo di pick & place p2: robot ready p3: nuovo pezzo su conveyor p4: attesa nuovo pezzo T3 (variabile aleatoria):
intervallo di tempo tra due pezzi successivi
p1
p2 p3
t1 (T1)
t2 t3 (T3)
p4
marcatura/condizione iniziale: robot pronto, attesa nuovo pezzo
Robotica 1 27
Architettura hardware
BUS
SISTEMA CINEMATICA DINAMICA
SERVO FORZA VISIONE
I/O
MEMORIA ESTERNA
TEACH PENDANT TASTIERA
CAMERA MONITOR sensore forza
trasduttori pos + vel
AMPLI POT
servomotori Robotica 1 28
Architettura hardware cella IPA
BUS
SISTEMA
SERVO FORZA
I/O
MEMORIA ESTERNA
TEACH PENDANT TASTIERA
CAMERA
MONITOR
sensore forza
trasduttori pos + vel
AMPLI POT
servomotori
VISIONE
CINEMATICA robot SCARA
Robotica 1 29
Architettura hardware con visione
Robot CPU Servo
CPU Power amplifiers
BUS VME
User interface modules
COMAU – C3G 9000 open
Robot COMAU SMART-3S
Board BIT 3
BUS AT
Board BIT 3
Control PC
Control - PC (RTAI-Linux)
Vision PC
MATROX GENESIS
MATROX GENESIS
Vision - PC
BUS AT
RS232 SONY XC 8500 CE
SONY XC 8500 CE
Board BIT 3
Robot CPU Servo
CPU Power amplifiers
BUS VME
User interface modules Board
BIT 3
R6AX R7AX
Robotica 1 30
Ambienti di programmazione per robot
sistema operativo in tempo reale modellazione del mondo controllo del moto lettura dati sensoriali interattività con sistema fisico rilevazione errori ripristino situazioni operative corrette struttura specifica del linguaggio
ambiente condizionato dal livello dell’architettura funzionale a cui è consentito l’accesso dell’operatore
Robotica 1 31
Programmazione per insegnamento
linguaggi di “prima generazione” programmazione ad insegnamento diretto (teaching-by-
showing) operatore guida robot (manualmente o tramite teach box) lungo
percorso desiderato (off-line!) posizioni di giunto campionate, interpolate e memorizzate per essere
ripetute in seguito (accesso a livello di primitive) generazione automatica del codice: non sono richieste capacità
particolari di programmazione
applicazioni: saldatura a punti, verniciatura, pallettizzazione esempi di linguaggi: T3 (Milacron), FUNKY (IBM)
Robotica 1 32
Programmazione orientata al robot
linguaggi di “seconda generazione”: programmazione strutturata con caratteristiche di linguaggio interpretativo (ambiente di programmazione interattivo)
integrazione di funzioni tipiche di linguaggi ad alto livello (ad es., condizionamento logico e cicli di attesa) sviluppando linguaggi strutturati ad hoc per robot (più frequente) sviluppando librerie specifiche per linguaggi standard (auspicabile)
accesso a livello di azioni applicazioni complesse dove il robot interagisce con altre
macchine all’interno di una cella di lavoro Esempi di linguaggi: VAL II (Unimation), AML (IBM), PDL 2
(Comau), KRL (Kuka)
Robotica 1 33
Linguaggio KRL (Kuka)
set di istruzioni
Robotica 1 34
Linguaggio KRL (Kuka)
tipiche primitive di moto
moto PTP (point-to-point,
lineare nei giunti)
moto LIN (lineare nel cartesiano)
moto CIRC (circolare nel cartesiano)
moto PTP (lineare negli angoli)
orientamento COST
orientamento organo terminale
Robotica 1 35
Linguaggio KRL (Kuka)
sistemi di coordinate (frames cartesiani) e jogging dei giunti
Robotica 1 36
Linguaggio KRL (Kuka)
teach pendant (interfaccia d’utente)
Robotica 1 37
Programmazione orientata al compito
linguaggi di “terza generazione” (di ricerca, non ancora disponibili sul mercato)
simile a object-oriented programming
compito specificato da istruzioni ad alto livello che realizzano azioni sulle parti presenti nella scena (sistemi esperti, intelligenza artificiale)
accesso a livello del compito
Robotica 1 38