Pianificazione del moto tra ostacoli

Documenti analoghi
Cinematica dei robot

Robotica: Errata corrige

Corso di Percezione Robotica Modulo B. Fondamenti di Robotica

Corso di Percezione Robotica (PRo) Modulo B. Fondamenti di Robotica

Robotica industriale. Richiami di statica del corpo rigido. Prof. Paolo Rocco

Cinematica differenziale inversa Statica

1 Cinematica del punto Componenti intrinseche di velocità e accelerazione Moto piano in coordinate polari... 5

Robotica - 01CFIDV, 02CFICY docente: prof. Basilio BONA tel. 7023

Corso di Robotica 1 Cinematica inversa

Vettori e geometria analitica in R 3 1 / 25

DIPARTIMENTO DI INGEGNERIA INDUSTRIALE E DELL'INFORMAZIONE anno accademico 2015/16 Registro lezioni del docente DE FALCO DOMENICO

PROGRAMMA EFFETTIVAMENTE SVOLTO

SCUOLA PRIMARIA MATEMATICA (Classe 1ª)

Un sistema di interazione uomo-robot per compiti di manipolazione mobile basato su realtà virtuale

di manipolatori seriali

Università degli Studi di Bergamo Valentino Birolini 2

EQUAZIONI DIFFERENZIALI

Concetti di punto materiale e corpo rigido

Meccanica dei Manipolatori. Corso di Robotica Prof. Davide Brugali Università degli Studi di Bergamo

Informatica Generale 1 - Esercitazioni Flowgraph, algebra di Boole e calcolo binario

Curricolo Verticale Scuola Secondaria di I Grado I. C. S. Via Libertà San Donato Milanese (MI) CLASSE PRIMA

Informatica Grafica. Un introduzione

STUDIO DELLA BIOMECCANICA DEL MOVIMENTO TRAMITE I SISTEMI OPTOELETTRONICI MARKLERLESS

1 Applicazioni lineari

UNIVERSITA DEGLI STUDI DI PAVIA REGISTRO. DELLE LEZIONI-ESERCITAZIONI- SEMINARI Anno accademico 2011/12

CURRICOLO DI MATEMATICA CLASSE PRIMA

Istituto Comprensivo

Rilevazione e isolamento

PROGRAMMA A.S. 2014/2015

Rappresentazione di Numeri Reali. Rappresentazione in virgola fissa (fixed-point) Rappresentazione in virgola fissa (fixed-point)

Programma di matematica Classe: II BL Docente: Alessandra Mancini Anno scolastico: 2015/2016

Introduzione. Michelangelo Laterza Principi di Statica e di Dinamica delle Strutture

Lezione 3: Le strutture cinematiche. Vari modi per fare un braccio

Programma di matematica classe Prima

Disegno di Macchine. corso per I anno della laurea in ing. meccanica Docente: ing. Francesca Campana

PIANO DI STUDIO DELLA DISCIPLINA MATEMATICA e COMPLEMENTI di MATEMATICA

Liceo Scientifico Mariano IV d'arborea Oristano. Anno Scolastico Classe 1^B sportivo. Programma svolto di MATEMATICA

Prerequisiti didattici

GEOMETRIA. Elementi geometrici

PROGRAMMAZIONE DI MATEMATICA 2016/2017

Controllo del moto e robotica industriale

Modello dinamico dei robot:

Teoria dei Sistemi e Controlli Automatici M

Operare con monomi e polinomi. Riconoscere utilizzare i prodotti notevoli. Risolvere espressioni letterali.

Alcune definizioni utili: - MECCANISMO: sistema meccanico composto da più corpi che hanno la possibilità di moto relativo tra di loro;

I sistemi manifatturieri

LICEO SCIENTIFICO - OPZIONE DELLE SCIENZE APPLICATE MATEMATICA

Bilanciamento di tempi e costi Progetti a risorse limitate Note bibliografiche

Prodotto scalare e prodotto vettoriale. Elisabetta Colombo

TRAGUARDI PER LO SVILUPPO DELLE COMPETENZE

How to compute the sun vector for path planning

Robotica educativa nell insegnamento del disegno tecnico

PROGRAMMA DI MATEMATICA CONTENUTI.

Programma di fisica. Classe 1^ sez. F A. S. 2015/2016. Docente: prof. ssa Laganà Filomena Donatella

MECCANICA DEI ROBOT E DELLE MACCHINE AUTOMATICHE LM Anno accademico (ing. M. Troncossi)

Generazione di Numeri Casuali- Parte 2

DESCRIZIONE DELLE ATTIVITÀ DEL CORSO

Didattica della Matematica per il triennio Geometria sintetica e geometria analitica

NAVIGAZIONE IN TEMPO REALE DI UN MANIPOLATORE ROBOTICO INDUSTRIALE IN PRESENZA DI OSTACOLI

Liceo Ginnasio Luigi Galvani Classe 3GHI (scientifica) PROGRAMMA di FISICA a.s. 2016/2017 Prof.ssa Paola Giacconi

Traguardi per lo sviluppo delle competenze. Obiettivi operativi. essenziali

Caveat. Sintesi di Immagini. Sintesi di Immagini. Rendering: Approccio Fisico

I FACOLTÀ DI INGEGNERIA - POLITECNICO DI BARI Corso di Laurea in Ingegneria Meccanica (corso A) A.A , Esercizi di Geometria analitica

Studio dei meccanismi mediante i quali il movimento viene controllato.

Per semplicità ci limitiamo al caso del moto in una o due dimensioni.

PROGRAMMA CONSUNTIVO

ISTITUTO SCOLASTICO COMPRENSIVO MINEO

LICEO STATALE G. MAZZINI A.S Programmazione di Dipartimento Disciplina Asse Matematica e Fisica Matematica Matematico

ISTITUTO COMPRENSIVO DI DONGO curricolo verticale per la scuola primaria Area di apprendimento: MATEMATICA

Appunti del corso di Informatica 1 (IN110 Fondamenti) 2 Algoritmi e diagrammi di flusso

algebra: insiemi numerici N e Q +, proprietà operazioni e calcolo linguaggio degli insiemi

Syllabus PEKIT CAD. Modulo Uno. Concetti di base

Architettura Software di un Sistema di Controllo per Multirotore

Programma di Robotica[LEGO EV3]

Modellazione Solida Feature Based Parametrico Associativa

Introduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software

Esercizi Riepilogativi Svolti. = 1 = Or(v, w)

SCIENZE MATEMATICHE. Finalità educative Area scientifico-tecnologica

AUTORI COSTANZO CATERINA DE LUCA ELISABETTA MACCHERONI FEDERICO MANCINI SARA MORETTI MARGHERITA

Grandezze angolari. Lineare Angolare Relazione x θ x = rθ. m I I = mr 2 F N N = rf sin θ 1 2 mv2 1

CURRICOLO MATEMATICA - CLASSE QUARTA-

Controllo del moto e robotica industriale

Classe Prima. Concetti topologici. Confronti Classificazioni Grafici. Confronti, ordinamenti e grandezze misurabili

La Rappresentazione dell Informazione

CURRICOLO DELLA SCUOLA SECONDARIA DI PRIMO GRADO DISCIPLINA: MATEMATICA CLASSE 1^

Esercitazioni di Meccanica Razionale

DEFINIZIONE Un vettore (libero) è un ente geometrico rappresentato da un segmento orientato caratterizzato da tre parametri:

Numero OBIETTIVI DI APPRENDIMENTO ABILITÀ CONTENUTI Scoprire e costruire la successione numerica entro la classe delle unità semplici.

R. Capone Analisi Matematica Integrali multipli

PIANO DI LAVORO DEL DOCENTE prof. DIMONOPOLI A.S. 2014/2015 CLASSE 2ALS MATERIA: MATEMATICA

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

PROGRAMMAZIONE ANNUALE DI MATEMATICA - SCUOLA PRIMARIA IST. COMP. DON MILANI CERNUSCO S/N -

Argomenti Capitolo 1 Richiami

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Calcolo Algebrico. Primo grado. ax 2 + bx + c = 0. Secondo grado. (a 0) Equazioni e disequazioni in una incognita e coefficienti reali: ax + b = 0

Progetto e Realizzazione di un Robot a Cinematica Parallela per Applicazioni Mediche

Analisi Numerica. Debora Botturi ALTAIR. Debora Botturi. Laboratorio di Sistemi e Segnali

Funzioni vettoriali di variabile scalare

Autorità per le Garanzie nelle Comunicazioni

Mediatori didattici. 1) Insiemi ed elementi di un insieme Rappresentazione degli insiemi Sottoinsiemi Operazioni con gli insiemi

Transcript:

Corso di Robotica 2 Pianificazione del moto tra ostacoli Introduzione Prof. Alessandro De Luca A. De Luca

Sistemi robotici KB2017 Dual arm UB Hand - II sistemi multi-articolati di corpi comandati nello spazio delle configurazioni (giunti) in azione nello spazio di lavoro (cartesiano) A. De Luca 2

Robot industriali in celle con ostacoli A. De Luca 3

Robot mobili in ambienti non strutturati LAMA robot Hilare 2 robot A. De Luca 4

Esempi di applicazioni ambito industriale programmazione robot set up di cella robotizzata progetto di part feeders progetto CAD di parti per lavorazione manifatturiera progetto del layout e intervento (servicing) su tubi, cavi, robotica mobile autonoma esplorazione planetaria sorveglianza scouting di uso militare animazione grafica di attori digitali in video games, film, immersione in ambienti virtuali pianificazione di operazioni chirurgiche robotizzate generazione di configurazioni e moti compatibili per complessi molecolari docking folding A. De Luca 5

Obiettivi della pianificazione del moto determinare strategie di moto cammini geometrici privi di collisioni eventualmente, con contatti desiderati traiettorie temporali sequenze di comandi di moto sensor-based per realizzare compiti di alto livello spostare il robot fino ad un goal senza collisioni assemblare parti per ottenere un oggetto finale costruire una mappa dell ambiente localizzare un target nell ambiente A. De Luca 6

Assemblaggio disposizione iniziale e finale di oggetti descrizione geometrica sequenza di relazioni spaziali primitive di moto A. De Luca 7

Problema generale di pianificazione determinare (se esiste) un cammino privo di collisioni per un oggetto rigido o articolato (il robot) tra ostacoli (statici o dinamici) nell ambiente input geometria del robot e degli ostacoli cinematica del robot (gradi di libertà) configurazione iniziale e finale del robot output sequenza continua di configurazioni ammissibili che connette quella iniziale con quella finale A. De Luca 8

Problema del piano mover singolo corpo rigido tridimensionale (nella formulazione originale, da spostare senza alzare = in 2D) A. De Luca 9

Robot articolati corpo articolato con vari gradi di libertà (qui 5) A. De Luca 10

Robot mobili start ostacoli dinamici goal ostacoli statici singolo corpo con mobilità ristretta (WMR) a causa dei vincoli anolonomi (puro rotolamento delle ruote) A. De Luca 11

Problemi multi-robot 2 Pioneer 1 Nomad XR-400 2 Hilare con manipolatore a bordo 5 robot in moto simultaneo A. De Luca 12

Casi particolari di pianificazione robot 3R sotto-attuato (terzo giunto passivo) robot iper-ridondante A. De Luca 13

Il problema base N.B. locazione = posa = posizione + orientamento A. De Luca 14

Due possibili istanze A B 1 B 2 B 3 robot A rettangolare q=3 ostacoli robot A L-shaped q=2 ostacoli spazio di lavoro W = R 2 A. De Luca 15

Estensioni al problema base ostacoli mobili robot multipli oggetti spostabili (assemblaggio) oggetti deformabili (limp materials) vincoli anolonomi vincoli dinamici vincoli di stabilità pianificazione ottima diversi criteri informazioni da sensori costruzione di mappa/modello ricerca/inseguimento di oggetti ispezione incertezze nel modello nell esecuzione (controllo) nella percezione sensoriale moti sensorless integrazione di pianificazione e controllo integrazione con task planning di alto livello A. De Luca 16

Spazio delle configurazioni (C-Space) idea rappresentare il robot come un punto (configurazione del robot) in uno spazio opportuno (spazio delle configurazioni del robot o C-space) e determinare le immagini degli ostacoli in questo spazio (C-ostacoli) pianificazione del cammino di un punto A. De Luca 17

C-space di un corpo rigido F W y z B i B 1 A z y F A O A a x q B 2 W = R N spazio di lavoro (N = 2,3) A oggetto mobile (robot) B 1, B 2,, B i oggetti rigidi fissi in W F A terna (frame) mobile ( pos(a) = costante = P a ) F A F W terna fissa (del mondo) ( pos(a) = f(p a, pos(o A ) ) F W F W O W x (nessun vincolo cinematico o dinamico sulla mobilità) una configurazione q di A: posizione e orientamento di F A rispetto a F W spazio delle configurazioni di A: lo spazio C di tutte le configurazioni di A A(q) sottoinsieme (compatto) di W occupato da A nella configurazione q a(q) posizione di un punto a A in W, quando A è nella configurazione q A. De Luca 18

Rappresentazione di C rappresentazione parametrica (minima) di una configurazione q in R M posizione di O A in F W : vettore in R N orientamento di F A rispetto a F W : matrice di rotazione NxN M = dim C M = N(N+1) parametri (sovrabbondante!) SO(N) = Special Orthogonal Group : matrici NxN, ortonormali, determinante +1 l orientamento può però essere descritto in modo minimale da N(N-1)/2 parametri N = 2 (rotazione 2D): N = 3 (rotazione 3D): 1 parametro (l angolo di rotazione intorno all asse normale al piano) 3 parametri (ad es., angoli di Eulero) una rappresentazione minimale però non è iniettiva (la stessa configurazione è rappresentata da differenti valori degli angoli) A. De Luca 19

Esempi di dimensioni di C poligono in R 2 C: R 2 x SO(2) R 6 dim C = 2 + 1 = 3 poliedro in R 3 C: R 3 x SO(3) R 12 dim C = 3 + 3 = 6 manipolatore in R 2 C (R 2 x SO(2))x x(r 2 x SO(2)) R 6M con M giunti dim C = 3M - #vincoli imposti dai giunti = 3M - 2M = M manipolatore in R 3 C (R 3 x SO(3))x x(r 3 x SO(3)) R 12M con M giunti dim C = 6M - #vincoli imposti dai giunti = 6M - 5M = M robot mobile in R 2 C (R 2 x SO(2)) x (R 2 x SO(2)) R 12 con 1 rimorchio dim C = 6 - #vincoli imposti dall aggancio = 6-2 = 4 A. De Luca 20

Località della rappresentazione rappresentare una configurazione come una lista di M parametri reali indipendenti corrisponde ad avere C = R (dim C) questa rappresentazione ha però validità solo locale esempio: manipolatore planare 2R R 2 è un toro (varietà topologica) rappresentazione locale C = {(q 1,q 2 ): q 1 [0,2π), q 2 [0,2π)} corrispondenza biunivoca solo locale rappresentazione topologicamente corretta A. De Luca 21

Metrica nel C-space per definire un cammino nel C-space è necessaria una nozione di continuità può essere introdotta specificando una funzione distanza d: C x C R la distanza ( 0) tra due configurazioni q e q deve andare a zero quando le regioni A(q) e A(q ) occupate dal corpo tendono a coincidere ad esempio d(q,q ) = max a A a(q) - a(q ) a fini algoritmici (locali), è meno oneroso usare d Eucl (q,q ) = q - q A. De Luca 22

Cammino in C un cammino in C da una configurazione q start ad una q goal è un applicazione continua τ : [0,1] C con τ(0) = q init, τ(1) = q goal se ogni coppia di configurazioni q start e q goal è connessa da un cammino C è connesso A è in moto libero in W in assenza di ostacoli, ogni cammino è ammissibile A. De Luca 23

C-ostacoli per definire un cammino privo di collisioni in C, occorre costruire le immagini degli ostacoli in C l immagine in C di ogni ostacolo B i in W è la regione CB i = {q C A(q) B i } C-ostacolo CB = i CB i regione dei C-ostacoli C free = C \ CB = {q C A(q) ( i CB i ) } q C free è una configurazione libera spazio libero delle configurazioni un cammino interamente C free è un cammino libero (semilibero se closure(c free ) ) problema base di pianificazione: generare un cammino libero tra due date configurazioni q start e q goal se appartengono alla stessa componente connessa di C free ; altrimenti, riportare un fallimento A. De Luca 24

Esempi di C-ostacoli robot puntiforme in R N C è una copia di W C-ostacoli sono copie degli ostacoli in W robot sferico (disco in R 2 ) o poliedrale (poligono in R 2 ) a orientamento costante in R N C è una copia di W C-ostacoli sono ottenuti per accrescimento degli ostacoli in W con la forma del robot (scorre sull ostacolo nell orientamento fissato) poligono generalizzato la frontiera è la curva descritta dall origine di F A cambia con la posizione di O A in A A. De Luca 25

Esempi di C-ostacoli ma cambia anche con l orientamento di A N.B. aumenta il numero di vertici! A. De Luca 26

Esempi di C-ostacoli robot poligonale libero di traslare e ruotare in R 2 C = R 2 x [0, 2π) C-ostacoli ottenuti per accrescimento composito (ripetuto per ogni valore dell orientamento del robot) variazione orientamento A. De Luca 27

Esempi di C-ostacoli robot 2R planare zona d ombra W = R 2 due tipi di C-ostacoli collisioni con ostacoli auto-collisioni CB 3 altre zone proibite sono causate dai fondo corsa ai giunti C CB 1 CB 2 A. De Luca 28

Esempi di C-ostacoli rappresentazione locale A. De Luca 29

Connessione di C-space C è connesso se un cammino tra tutte le coppie di configurazioni due cammini con gli stessi estremi sono omotopi se è possibile deformare con continuità uno nell altro C è semplicemente connesso se tutti i cammini tra due configurazioni sono omotopi tra loro altrimenti, C è molteplicemente connesso esempio: SO(3) è molteplicemente connesso, con due classi di cammini omotopi A. De Luca 30

Commenti finali per calcolare in modo esatto la regione dei C-ostacoli è necessario un modello algebrico degli ostacoli nello spazio di lavoro (dati disponibili in CAD) spesso sono convenienti approssimazioni o campionamenti la collisione tra robot (nella configurazione q) e ostacoli si valuta nello spazio di lavoro utilizzando eventualmente la cinematica diretta del robot articolato con algoritmi di collision check software efficienti: I-Collide (per poliedri convessi) o V-Collide non tutti i metodi di pianificazione richiedono la costruzione esplicita della regione dei C-ostacoli A. De Luca 31