POLITECNICO DI MILANO Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica STUDIO E REALIZZAZIONE DI UN BRACCIO ROBOTICO ANTROPOMORFO E SOLUZIONE.

Slides:



Advertisements
Presentazioni simili
POLITECNICO DI MILANO Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica STUDIO E REALIZZAZIONE DI UN BRACCIO ROBOTICO ANTROPOMORFO E SOLUZIONE.
Advertisements

Virtualizzazione nell’INFN Andrea Chierici 11 Dicembre 2008.
Tesi di Laurea in Ingegneria Elettronica Progetto, caratterizzazione e realizzazione di un sintetizzatore di frequenza basato su un approssimatore in logica.
POLITECNICO DI MILANO FACOLTA’ DI INGEGNERIA SEDE DI CREMONA TESI DI DIPLOMA IN INGEGNERIA INFORMATICA RELATOREAUTORI Prof. Vittorio TrecordiDemicheli.
Dario Alliata StudenteRelatore Claudio Rolandi Corso di laureaModulo Anno accademico Ingegneria GestionaleProgetto di diploma - M settembre.
Elaborazione in tempo reale di immagini digitali attraverso tecniche fuzzy FACOLTA’ DI INGEGNERIA Tesi di Laurea in Ingegneria Elettronica Relatore Prof.
Elaborazione delle Immagini Operatori Puntuali Luigi Cinque
STATICA L’equilibrio dei corpi Per eventuali approfondimenti o chiarimenti contattare il Prof. Vincenzo De Leo –
“Progettazione ed implementazione di un sistema digitale di elaborazione vettoriale per trattamento dati di radar ottici a doppia modulazione di ampiezza”
Paganini Reto Marco Studente/iRelatore Ing. Furia Giovanni Corso di laureaCodice di progetto 2015/2016 Anno Ingegneria MeccanicaC Settembre 2016.
Mattia Giardini Studente/iRelatore Ing. Ivan Brugnetti Corso di laureaModulo 2015/2016 Anno Ingegneria meccanicaC09575-Progetto di diploma 2 Settembre.
VO-Neural Project e GRID Giovanni d’Angelo Dipartimento di Scienze Fisiche Università degli Studi di Napoli Federico II Martina Franca 12 – 23 Novembre.
A cura dell’Ing. Marco Buttolo
PIEZOELETTRICO MONTATO SU ELEMENTO ELASTICO ALLOGGIAMENTO CIRCUITO
Studente Relatore Controrelatore Committente Sara Cervone
Analisi e miglioramento del processo di manutenzione elicotteri
UNIVERSITÀ DEGLI STUDI DI ROMA
Protocollo di trasmissione tramite tecnologia Barryvox
Piattaforma per industrie stampaggio
Modellizzazione, Applicazione e Validazione del modello di Preisach nel progetto di un attuatore magnetico per il controllo d’assetto del satellite S.M.A.R.T.
Studente/i Relatore Correlatore Committente Yannick Charles
Messa in servizio della macchina EduCNC
Claudio Sergio Mattioni Mattia Munari
Uso di Unity per la Creazione di Giochi Educativi
Real-time 3D skeletal animation and mesh skinning
Cartesio – Back End Farine Antoine Giulietti Raffaello Libro Pietro
Le equazioni di II°Grado
EasyGraph Dynamic web-based dashboard
Algoritmi di stima con perdita di pacchetti in reti di sensori wireless: modellizzazione a catene di Markov, stima e stima distribuita Chiara Brighenti,
Pre-processing e rendering di mappe GIS per IoT platforms
Studente/i Relatore Correlatore Committente Christian Ortega
REX - Istruzioni tipo IKEA
Studente/i Relatore Correlatore Committente Pagano Pedro Daniel
STUDIO DI UNA TURBINA EOLICA INNOVATIVA
Microcontrollori e microprocessori
Analysis framework of distributed thread and malware data-sources
Real-time 3D reconstruction using multiple depth cameras
Utilizzo razionale di un vasto numero di ricevitori GPS
Aptar Graduate Program “Inspire Me” Engineering
LABORATORIO PROGETTUALE
Realtà virtuale immersiva e design review navale
Anno Accademico 2010 – 2011 Corso di Progettazione dei Sistemi di Controllo Prof. Luca Schenato Prof. Gianluigi Pillonetto Gottardo Giuseppe, matr
analizzatore di protocollo
Realizzazione del progetto di un ascensore
CONTROLLO DI UN ROBOT IN REMOTO MEDIANTE SISTEMA DI ACQUISIZIONE AD INFRAROSSI Relatore: Daniele Carnevale Tesista: Giuseppe Ferrò 18/09/2018.
MODULO 1 – Computer essentials
Caratteristiche e funzioni della scheda Arduino
Triennio di Meccatronica
Smart City.
Programmare.
Emergency Department Wait Time Prediction
nel processo decisionale
Dipartimento di Ingegneria Meccanica per L’Energetica (DIME)
ALMA MATER STUDIORUM – UNIVERSITA’ DI BOLOGNA
© 2007 SEI-Società Editrice Internazionale, Apogeo
APPROFONDIMENTI CON ESEMPI DI CAMPIONAMENTO E SUCCESSIVA RICOSTRUZIONE PER INTERPOLAZIONE LINEARE Nelle pagine che seguono sono riportati i risultati del.
La regolazione gerarchica della tensione
CORSO PER ALLENATORI DI PRIMO GRADO SECONDO LIVELLO GIOVANILE
Tecniche di Animazione dello sguardo “idle”: Personaggi in Movimento
Excel 3 - le funzioni.
Parti interne del computer
Studente/i Relatore Correlatore Committente Carlo Blumer
Il nuovo scratch desktop
Gli Indici di Produttività di Divisia
Algoritmi.
Presentazione del software SEMAFORO
Titolo presentazione sottotitolo
… una riflessione sulle possibili implicazioni
SLAMMER—Seismic Landslide Movement Modeled using Earthquake Records
ANALISI DI UNA MISSIONE SATELLITARE PER MONITORAGGIO AMBIENTALE
Transcript della presentazione:

POLITECNICO DI MILANO Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica STUDIO E REALIZZAZIONE DI UN BRACCIO ROBOTICO ANTROPOMORFO E SOLUZIONE DELLA CINEMATICA INVERSA MEDIANTE RETE NEURALE Relatore: Prof.ssa Giuseppina GINI Correlatore: Dott. Ing. Michele FOLGHERAITER Fortunato MARZAGALLI Claudio Sergio MATTIONI Anno Accademico 2002 – 2003 Buongiorno e benvenuti alla presentazione del nostro lavoro di tesi. Questo lavoro si inserisce nel contesto di un progetto, curato dall’ing. Michele Folgheraiter, avente lo scopo di creare un sistema di manipolazione robotico, con caratteristiche antropomorfe,controllato tramite un sistema di realtà virtuale. Cominciando il lavoro, circa sei mesi fa, ci eravamo posti alcuni obiettivi:

Gli Obiettivi Modello Rete neurale Progettazione Costruzione Training Applicazione Real time Per prima cosa, volevamo riuscire a progettare un braccio antropomorfo tramite MATLAB, per trovare una struttura che potesse essere realizzata fisicamente, per poi costruirlo in laboratorio, dotandolo di dispositivi che gli permettessero di essere controllato tramite computer. Inoltre volevamo progettare e allenare una rete neurale, perché potesse essere adatta a risolvere l’algoritmo di cinematica inversa, ed interfacciare i due dispositivi tramite un applicazione real time di controllo.

Gli Obiettivi Modello Rete neurale Progettazione Costruzione Training Applicazione Real time La fase di progettazione, eseguita principalmente con Matlab, è servita per studiare le soluzioni migliori per la scelta dei componenti, e per verificare le prestazioni del modello elaborato.

Progettazione Antropomorfismo A differenza del braccio robotico PUMA, lanciato come esempio di manipolatore antropomorfo, volevamo ottenere un braccio che somigliasse a quello reale non solo per la mobilità, ma anche per la modalità di generazione del movimento. Niente motori elettrici sui giunti quindi, ma attuatori di McKibben. Il cosiddetto “muscolo” di McKibben è un attuatore pneumatico composto essenzialmente da un tubo di silicone, il quale viene inserito all’interno di un involucro cilindrico costituito da filo intrecciato. Quando la camera interna entra in pressione, il muscolo inizia ad espandersi. Questo causa l’apertura radiale del tessuto esterno, che grazie ad una azione a pantografo, costringe l’intero muscolo a contrarsi. Utilizzare questi attuatori significava però rispetto all’uso di motori elettrici, avere tutta una serie di complicazioni legate soprattutto all’ingombro e alla necessità di effettuare un controllo, sia in forza che in posizione, su ciascun attuatore.

Progettazione Antropomorfismo Numero attuatori Si è deciso quindi, in controtendenza rispetto alla scelta operata dalla SHADOW COMPANY, di modellizzare il minor numero possibile di muscoli. Da un analisi funzionale dei muscoli dell’arto superiore umano, ne sono stati individuati 7, sufficienti per compiere tutti i movimenti. In figura si possono quindi notare (su quello che sarà poi il modello completo) il pettorale, il deltoide e il dorsale che controllano la posizione dell’omero nel suo cono d’azione. Inseriti nella struttura del busto si trovano poi il sottoscapolare e il sopraspinato, che compongono la cosiddetta cuffia rotatoria, preposta a ruotare l’omero attorno al suo asse. infine lungo il braccio si possono notare bicipite e, seminascosto, il tricipite, che hanno la funzione di addurre e abdurre l’avambraccio.

Progettazione Antropomorfismo Numero attuatori Spazio di lavoro Abbiamo quindi verificato che la riduzione della quantità di muscoli non avesse ridotto anche lo spazio di lavoro. Tramite simulazioni in matlab ne abbiamo verificato quindi sia l’estensione che la forma. Siamo riusciti a darne una rappresentazione tramite il programma di grafica 3D RHINOCEROS, basandoci sullo studio dei vincoli geometrici imposti e sulla posizione dei muscoli. Come si può notare , lo spazio di lavoro è estremamente ampio. Imposti i vincoli di qualità del sistema che volevamo implementare,tramite la stesura del progetto, …

Gli Obiettivi Modello Rete neurale Progettazione Costruzione Training Interfacciamento Real time … si è passati alla realizzazione fisica, in laboratorio. Il punto centrale di questa fase, era trovare soluzioni ad hoc per le varie componenti progettate.

Costruzione Spalla Il primo punto critico è stata la modellazione della spalla. Secondo il progetto, essa avrebbe dovuto garantire tre gradi di libertà e un cono d’azione estremamente vasto. La realizzazione è passata attraverso tre modelli. Il primo presentava due grosse problematiche: da un lato sotto l’azione della terna deltoide – pettorale – dorsale tendeva ad uscire dalla sua sede; dall’altro, la stessa struttura di aggancio ne limitava i movimenti di rotazione attorno all’asse dell’omero Abbiamo formulato quindi una seconda ipotesi di progetto: Questo modello era realizzato ponendo una sfera (di diametro molto maggiore della precedente) tra due lastre di acciaio forate. Anche questa soluzione presentava due grosse problematiche: da un lato il cono d’azione del braccio risultava eccessivamente ridotto, dall’altro rendeva estremamente difficile controllare il terzo grado di libertà. La terza soluzione, ottenuta ponendo le due lastre come in figura, non solo risulta estremamente solida (anche grazie all’azione dei tre muscoli della spalla) e con un cono d’azione molto ampio, ma permette anche di gestire in maniera semplice il terzo grado di libertà. Infatti è bastato aggiungere (come si può vedere in figura) un attacco rotante perpendicolare all’asse dell’omero e ad esso ancorare i due tendini della coppia di muscoli rotatori. In questa maniera, per ogni posizione del braccio, i due muscoli hanno un azione puramente rotatoria attorno all’asse dell’omero.

Costruzione Spalla Sistema sensoriale Meno complesso è stato invece ideare un sistema di sensori che permettessero il controllo dei movimenti del robot. A parte il sensore posto sul gomito, che è un semplice potenziometro angolare, maggiormente interessanti risultano essere i sensori utilizzati per il controllo in forza e in posizione posti sui muscoli. Per il controllo in forza, abbiamo usato dei flex sensors (posizionati come in figura), ossia dei sensori che misurano la propria flessione tramite il cambiamento della resistenza misurabile ai loro capi. Abbiamo sfruttato il fatto che l’accorciamento è costante lungo tutto il muscolo,per usare dei flex molto corti. Quando il muscolo si contrae, il flex si piega. Tarando opportunamente gli strumenti, si può risalire dal valore della resistenza del flex alla lunghezza del muscolo. Il sensore di forza invece è stato creato montando uno strain gage, ossia un sensore di deformazione, su un ponticello di metallo, ed è stato inserito sul tendine, come mostrato in figura.

Costruzione Spalla Sistema sensoriale Sistema valvolare 3 cm Un ultimo punto significativo riguarda la costruzione di un sistema di valvole che permetta di controllare singolarmente le pressioni dei muscoli. Il sistema di valvole, per mancanza di tempo, non è stato ancora realizzato. Esiste però al momento attuale un progetto, che prevede di utilizzare come componenti di base dei servomeccanismi da modellismo e dei micro rubinetti, ma a dire la verità, non si è ancora potuta sperimentare la reale applicabilità di tale soluzione. 3 cm

Gli Obiettivi Modello Rete neurale Progettazione Costruzione Training Applicazione Real time Per quanto riguarda la progettazione della rete neurale, per la soluzione del problema cinematico inverso, ci siamo proposti di ottenere le seguenti caratteristiche:….

La Progettazione Velocità di elaborazione Precisione dei risultati Adattabilità Flessibilità … innanzitutto ottenere un sistema con una velocità di elaborazione istantanea, condizione necessaria per un utilizzo in real-time, senza che questo potesse comportare un’eccessiva diminuzione della precisione dei risultati. Inoltre ci siamo proposti di ottenere un sistema in grado di adattarsi, se necessario, a nuove situazioni o a cambiamenti dei parametri fondamentali del robot in maniera sufficientemente flessibile.

Reti Neurali: perché Imitano funzionamento cervello biologico Garantiscono velocità ed adattabilità Approssimano funzioni matematiche anche complesse Proprio per raggiungere questi obiettivi è stato deciso di utilizzare una rete neurale per la soluzione del nostro problema. Oltre che a imitare il funzionamento del cervello biologico infatti, le reti neurali garantiscono per loro stessa natura velocità di calcolo ed adattabilità in quanto sono dei sistemi algebrici che approssimano funzioni matematiche anche di elevata complessità.

Strumenti Utilizzati Matlab 6.5 R13 Hardware e software Airlab NNTool Neural Network functions Simulink Neural Network blockset xPC Target Hardware e software Airlab Come principale strumento di lavoro abbiamo utilizzato l'ultima versione di Matlab; essa comprende numerosi tools che hanno facilitato il nostro compito. In particolare sono stati utilizzati NNTool, per la visione grafica e strutturale dell'architettura della rete, e funzioni già esistenti che implementano in linea generale alcuni algoritmi riguardanti le reti neurali. Per lo sviluppo dell'applicazione real-time è stato utilizzato il tool Simulink, in particolare la libreria sulle reti neurali ed xPC Target, oltre che hardware e software del laboratorio di robotica ed intelligenza artificiale.

Soluzioni Progettuali Architettura rete neurale Feed-forward 3 strati e 47 neuroni Soluzione ottimale ottenuta sperimentalmente La nostra prima soluzione progettuale ha riguardato la scelta dell'architettura della rete neurale che meglio si adattasse al nostro problema. Sperimentalmente è stato visto che l'architettura feed-forward, a 3 strati e 47 neuroni, era la soluzione ottimale rispetto ad architetture di maggiore o minore complessità. Una maggiore complessità infatti richiedeva eccessive risorse fisiche e temporali ai calcolatori, mentre una minore complessità si dimostrava inadatta per il nostro problema, non permettendoci di raggiungere risultati soddisfacenti dal punto di vista dell'approssimazione. Come si può vedere in figura, lo strato d'ingresso e lo strato nascosto sono composti da 20 neuroni , mentre lo strato d'uscita è formato da 7 neuroni, in quanto 7 erano le lunghezze dei muscoli da controllare.

Gli Obiettivi Modello Rete neurale Progettazione Costruzione Training Applicazione Real time Dopo aver creato la rete neurale abbiamo focalizzato la nostra attenzione sull'addestramento della rete …

Fase Di Training Addestramento rete neurale Generazione dati di training Campionamento 3D uniforme Normalizzazione Addestramento rete neurale Algoritmo back-propagation 1000 epoche … la generazione dei dati per il training si è rivelato essere uno dei problemi più ardui da superare. Generare un elevato numero di dati infatti da un lato migliorava le prestazioni in termini di diminuzione dell'errore di approssimazione, dall'altro le peggiorava in termini di tempo e di risorse allocate. Dopo aver scelto come criterio per la generazione dei dati un campionamento uniforme dello spazio di lavoro del robot, il giusto compromesso è stato sperimentalmente trovato in un campionamento a passo 5 cm lungo ogni asse. Questo ha portato alla generazione di 1081 dati validi per il training. E'inoltre importante sottolineare che ogni neurone della rete creata riceve come input un range di valori fra 0 ed 1 e fornisce come output un range di valori fra -1 ed 1. Per questo è stato necessario compiere una normalizzazione dei dati di input e una denormalizzazione dei dati di target e degli output generati dalla rete in fase di simulazione. L'addestramento della rete è stato effettuato secondo l'algoritmo di apprendimento back-propagation con un numero di epoche pari a 1000, anche se si ottenevano già buoni risultati limitandosi a sole 50 epoche; come mostrato da questo grafico infatti, l'errore quadratico medio a 50 epoche è già dell'ordine di grandezza di 10^ -3 .

Soluzioni Progettuali Funzione Matlab per cinematica inversa Input coordinate x,y,z rete neurale Output lunghezze 7 muscoli Per quanto riguarda la funzione Matlab implementata per risolvere la cinematica inversa, abbiamo deciso che ricevesse come parametri d'ingresso sia le coordinate spaziali del punto dove si vuole posizionare il polso, sia la rete neurale da utilizzare, e fornisse come output le lunghezze dei 7 muscoli del braccio, come mostrato dal prompt Matlab in immagine.

Gli Obiettivi Modello Rete neurale Progettazione Costruzione Training Applicazione Real time Per quanto riguarda l'applicazione real-time,…

Applicazione Real time Modello Simulink Schema a blocchi rete neurale Interfacciamento xPC Target Scheda elettronica Problemi Robot non ultimato … abbiamo sviluppato uno schema a blocchi in Simulink della rete neurale per poterla utilizzare in un sistema di controllo reale. L'interfacciamento al robot avviene innanzitutto tramite xPC Target, che permette di simulare in real-time il modello creato in Simulink generando segnali di output digitali. Questi verranno acquisiti da una scheda elettronica che si preoccuperà di convertirli in valori di controllo per i muscoli del braccio. Purtroppo non è stato possibile completare l'applicazione ed effettuare la prova sperimentale del controllo real-time in quanto il braccio robotico non è stato ancora ultimato.

Conclusioni Il Braccio Robotico La Rete Neurale Lascio quindi la parola al mio collega per le conclusioni.

Obiettivi raggiunti Struttura Spazio di lavoro Sistema sensoriale Movimento (Michele ha detto di ampliarle), … i principali risultati ottenuti (per quanto riguarda il braccio robotico), si possono riassumere in: Aver realizzato una struttura in grado di sollevare pesi seppur modesti, e in grado di seguire senza danneggiamenti tutta la dinamica degli attuatori Aver ottenuto uno spazio di lavoro estremamente ampio Aver installato un sistema di sensori completo e in grado di gestire il robot Aver ottenuto un movimento fluido e estremamente simile al movimento umano. !!! Inserire video!!!

Sviluppi Futuri Cinematica inversa modello Sistema valvolare Dati training Rimane invece da realizzare il sistema di valvole che permetta la gestione delle pressioni dei muscoli, così come l’acquisizione sul campo dei dati di training per la rete neurale.

Conclusioni Il Braccio Robotico La Rete Neurale Passo la parola al mio collega.

Obiettivi raggiunti Pro Contro Velocità Approssimazione Adattabilità Valori di confine 10 ore per generare dati training 16 ore per allenare la rete I risultati ottenuti (di che cosa?) sono buoni in termini di velocità e abbastanza soddisfacenti per quanto riguarda l’approssimazione. Inoltre il sistema implementato risulta essere completamente adattabile, cosa che ha permesso lo sviluppo di un’applicazione per il controllo real-time del movimento del braccio. I problemi rilevanti riguardano principalmente il comportamento della rete neurale ai confini dello spazio di lavoro del braccio e la lentezza di elaborazione nel generare i dati di training e nell'addestrare la rete; queste 2 operazioni richiedono infatti rispettivamente 10 e 16 ore. Spiegheremo meglio ora i risultati presentati tramite l’utilizzo di alcuni grafici. GRAFICO 1 In questo grafico vediamo gli errori di approssimazione generati dalla rete per un set di valori esterni al training. I picchi del grafico corrispondono alle posizioni non valide generate dalla rete principalmente ai margini dello spazio di lavoro. Comunque, come possiamo vedere dal prossimo grafico, ... GRAFICO 2 ... queste posizioni non valide risultano essere solo il 12% dei 221 valori esterni testati, oltre che essere per la quasi totalità valori al confine dello spazio di lavoro, come detto in precedenza. Si può vedere inoltre come circa 190 valori presentino invece approssimazioni molto buone,inferiori ai 3cm. Questo fatto è visibile anche dal seguente istogramma... GRAFICO 3 ... GRAFICO 4 In questa visualizzazione 3D del modello virtuale del braccio invece possiamo apprezzare il minimo errore di posizionamento valido ottenuto, ovvero mezzo millimetro... GRAFICO 5 ... ed il massimo, ovvero 3,2 cm .

Sviluppi Futuri Applicazione real-time Nuovo training rete neurale Architettura rete neurale Gli sviluppi futuri del nostro lavoro sono senz'altro il completamento dell'applicazione real-time per il controllo del movimento del robot e l’esecuzione di un nuovo training della rete basato su dati reali. Inoltre, con lo sviluppo della tecnologia, sarà senz'altro possibile diminuire il tempo necessario per il training e progettare una rete di architettura più complessa, senza che questo comporti una diminuzione della velocità di elaborazione. (ampliare??) Vi ringraziamo per l'ascolto e siamo disponibili a domande.