La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Comportamento dinamico di manipolatori interagenti con l'ambiente

Presentazioni simili


Presentazione sul tema: "Comportamento dinamico di manipolatori interagenti con l'ambiente"— Transcript della presentazione:

1 Comportamento dinamico di manipolatori interagenti con l'ambiente
Dottorato in Meccanica Applicata XX Ciclo – II anno di corso Comportamento dinamico di manipolatori interagenti con l'ambiente Dottorando: Nicola Pedrocchi Buongiorno a tutti, sono Nicola Pedrocchi, sono iscritto al XX ciclo di dottorato ed Il progetto di ricerca che sto seguendo ha come argomento il comportamento dinamico di manipolatori industriali intragenti con l’ambiente Il progetto è svolto in collaborazione con L’ITIA-CNR con sede a Milano Tutor: prof. Giovanni Legnani Progetto svolto in collaborazione con ITIA-CNR (sede di Milano) 23/10/2006 Università degli Studi di Brescia

2 Controllo di Manipolatori (1)
Moto nello Spazio Libero Posizione – Velocità – Accelerazione Traiettoria CONOSCENZA ASSOLUTA ???? Moto in Interazione con l’Ambiente Direzioni in cui il moto è vincolato; Direzioni di moto libero; Modellazione dell’interazione Robot-Ambiente. Ambiente DESTRUTTURATO End-effector Pezzo da contornare n t L’aspetto centrale di un software di controllo è quello legato agli algoritmi di controllo veri e propri e alla loro gestione. Nelle applicazioni di controllo tradizionali (tipicamente quelle industriali) controllare un manipolatore significa muoverlo all’interno del suo spazio di lavoro controllandone le grandezze cinematiche quali posizione, velocità,….traiettoria. In alcune applicazioni può però non essere sufficiente questo approccio, come nel caso in cui il manipolatore debba entrare in contatto con oggetti posti all’interno della propria area di lavoro ma dei quali non sia nota con esattezza posizione e forma. In tal caso bisogna tenere conto della forza e dell’energia che i due sistemi si scambiano, onde evitare eccessivo carico alle strutture meccaniche. È un po’ come se il manipolatore fosse cieco ma, grazie al tatto, fosse messo in grado di quantificare la forza con la quale sta entrando in contatto con l’ostacolo e attraverso queste informazioni determinare, ad esempio, come seguire tutto il profilo dello stesso al fine di capire di che oggetto si tratti e di come esso è disposto all’interno dello spazio di lavoro stesso. Questi tipi di controllo più avanzati, applicati prevalentemente nell’ambito della ricerca, sono detti controlli in interazione con l’ambiente. TASK FRAME (De Schutter- Mason) 23/10/2006 Università degli Studi di Brescia

3 Controllo di Manipolatori (2)
Moto in Interazione Avvicinamento all’ostacolo Movimento nello spazio libero Moto in Interazione effettivo Posizione; Velocità; Traiettoria; Model Based/ Non Model Based ... Allontanamento dall’ostacolo Impedenza; Cedevolezza Forza; Ibrido (forza/posizione) Impliciti/Espliciti Model Based/ Non Model Based Adattatvi L’idea di software versatile e indirizzato verso applicazioni di ricerca deve rendere possibile la gestione sia degli aspetti di controllo tradizionali nello spazio libero sia di quelli più avanzati in interazione con l’ambiente. È necessario tenere in considerazione inoltre tutte le possibili varianti intermedie in cui oltre a dover controllare in interazione è necessario controllare anche in traiettoria, come ad esempio nelle fasi di avvicinamento all’ostacolo. Durante queste fasi, oltre a controllare la direzione e la velocità con la quale ci si sta approcciando allo stesso, è necessario “prepararsi” al contatto atraverso i sensori di forza in modo da limitare, al momento del contatto la forza scambiata fra i due sistemi. L’implementazione degli algoritmi deve essere pensata in modo da garantire la possibilità di effettuare transizioni in run-time tra queste quattro modalità generali di controllo, garantendo che tutto avvenga in sicurezza, allo scopo dovrà quindi essere implementato un arbitro in grado di gestire queste transizioni. Ogni specifico algoritmo deve essre inoltre dotato delle strutture necessarie al corretto svolgimento dello stesso e Oltre ai casi estremi di controllo nello spazio libero e controllo in interazione con l’ambiente esistono anche le modalità ibride: Prima di entrare in contatto con l’oggetto e avviare il controllo in interazione ci deve essere la fase di avvicinamento: essa deve essere opportunamente regolamentato onde evitare collisione violenta e quindi già prevedere un controllo in interazione unito ad un controllo in traiettoria per definire la direzione di avvicinamento all’oggetto. In modo analogo per l’altra fase di transizione che è quella di allontanamento, anche se in questo caso generalmente il contributo di interazione è solitamente meno importante Le transizioni tra un modo di controllare ed un altro sono quelle che consentono di gestire movimentazioni complesse e la loro gestione è quindi molto importante nella definizione del software da realizzare. 23/10/2006 Università degli Studi di Brescia

4 Università degli Studi di Brescia
Focus del progetto Task: Assemblaggio Contornatura Lavorazioni superficiali Calibrazione Robot guidance ... Finalità: Studio del comportamento dinamico dei Robot Controllo basato sull’acquisizione e la stima delle forze al contatto Realizzazione di un SW di controllo Risultati I Anno Studio della teoria del controllo Identificazione nella teoria di De Schutter-Mason uno strumento efficacie e semplice per la formalizzazione dei task eseguibili da un Robot Studio delle applicazioni da eseguire Il focus del progetto come dice il titolo stesso è lo studio dei manipolatori industriali interagenti con l’ambiente Come primo aspetto precisiamo innanzitutto cosa si intende con la fraseologia “Manipolatore interagente con l’ambiente”. Si parla di interazione tra manipolatore ed ambiente quando la traiettoria o più in generale la movimentazione del manipolatore stesso è modificata o determinata ad ogni istante dallo scambio di forze tra manipolatore ed ambiente. I campi applicativi in cui si viene a verificare l’interazione tra robot ed ambiente sono molteplici e di varia natura. Solo per citare alcuni esempi abbiamo interazione robot ambiente nei casi di .. E molti altri che per brevità non sono stati inclusi nell’elenco Tutte queste applicazioni hanno in comune il fatto che dal punto di vista del manipolatore l’ambiente di lavoro è completamente o parzialmente de-strutturato Da qui l’esigenza di controllare il robot senza la possibilità di prevedere a priori la traiettoria che il manipolatore dovrà seguire. In questo ampio campo si è scelto di concentrare l’attenzione sulla realizzazione di un controllore che possa permettere una effettiva interazione tra robot e ambiente. Questo implica due fattori fondamentali: La possibilità di descrivere tutte le situazioni elencate attraverso un linguaggio coerente che permetta di formalizzarle e di trattarle in maniera uniforme La definizione di algoritmi di controllo che permettano l’effettiva realizzazione di ognuno di questi applicativi Per poter affrontare con successo i diversi compiti adottando lo stesso controllore, si è deciso di realizzare un nuovo controllore che deve essere innanzitutto multi-controllo, versatile ed USER-FRIENDLY Inoltre deve garantire una buona robustezza alla variabilità di un ambiente non del tutto strutturato. 23/10/2006 Università degli Studi di Brescia

5 Università degli Studi di Brescia
Software di Controllo ESIGENZE DI REAL-TIME Rispetto delle tempistiche – Temporizzazione – Sincronizzazione delle diverse operazioni ESIGENZE INFORMATICHE Astrazione del S.O. – Astrazione dell’HW utilizzato – Comunicazione CRITICITA’ INFORMATICHE TEORIA DEL CONTROLLO De Schutter - Sistemi Adattativi - Sistemi Model-based - Reti Neurali - ... ESIGENZE SPERIMENTALI Test su differenti Robot - Comparazione di algoritmi già sviluppati – Validazione di nuovi algoritmi – Implementazione di algoritmi avanzati La maggior flessibilità dei sistemi ad architettura aperta fa nascere, attorno agli anni ’80, numerosi progetti internazionali mirati a definire la struttura generale di un software di controllo attraverso l’identificazione di moduli funzionali dotati di interfacce standard in grado di garantire la comunicabilità trai i diversi moduli a prescindere dalla loro specifica implementazione interna. Da tutti i progetti presi in esame è stato possibile rilevare alcune costanti nei moduli definiti. Risultavano infatti sempre presenti: un modulo per l’interfaccia con l’utente, un coordinatore dei task di alto livello; le leggi di controllo di più basso livello per la gestione del controllo vero e proprio (queste ultime a loro volta si poggiano sui modelli matematici del manipolatore per la gestione di task complessi); che invia i comandi da impartire al gestore assi vengano riportati sulle uscute della scheda di controllo. PROGETTI INTERNAZIONALI OMAC - OSACA - OSEC - OROCOS CRITICITA’ APPPLICATIVE 23/10/2006 Università degli Studi di Brescia

6 Architettura Software Realizzato
Algoritmo = Finite State Machine Gestione singolo TASK Logica = Extended Finite State Machine Gestione transizione tasks CARATTERSITICHE PC - BASED Scritto in C++ Identificazione funzionale dei moduli SW Riconfigurabilità Sviluppato in QNX 4.25 e LINUX RTAI Astrazione dell’HW Parametrizzazione on-line del controllo 150 file, 42 cartelle, (ogni file è 100÷1000 righe di codice) Uomo: Interazioni Lente Ambiente: Interazioni Veloci Interfaccia (HMI) Logica di Gestione Algoritmi di Controllo Interfaccia Verso HW Interfaccia S.O. Generatore di Traiettorie Server I/O Board Processo di Controllo Supervisore Grazie Angelo, prima di presentare l’architettura del nostro software ricordiamo che l’obiettivo del progetto è quello di gestire diverse modalità di controllo e poter passare da una ad un’altra mantenendo il robot controllato. Altra priorità è quella di fornire una base valida per poter sviluppare nuovi algoritmi in interazione con l’ambiente interessanti dal punto di vista della ricerca universitaria e non solo. Ci si vuole anche svincolare dall’hardware del sistema presente per poter trasportare il software su più sistemi operativi e poter utilizzare facilmente schede I/O e manipolatori differenti. Appoggiandoci ai progetti internazionali, sono stati individuati i moduli del software di controllo: fondamentale è il blocco degli Algoritmi di controllo che si occupa di implementare le diverse modalità, preoccupandosi anke di gestire le caratteristiche cinematiche e dinamiche dei robot. A fianco a questo troviamo la Logica di Gestione: che gestisce le transizioni tra modalità in base alle indicazioni provenienti dall’utente. Servirà quindi un Interfaccia HMI, che deve poter gestire le interazioni a bassa priorità con l’operatore umano. E all’estremo opposto ci sarà l’Interfaccia verso HW: necessaria per le schede di acquisizione per la gestione degli azionamenti e dai sensori. Per rendere effettiva la portabilità è necessario definire anche un Interfaccia verso il S.O.: in modo da filtrare le chiamate di sistema che possono pervenire da uno qualsiasi dei moduli del software di controllo. 23/10/2006 Università degli Studi di Brescia

7 Università degli Studi di Brescia
Filmato SCARA Fasi del Controllo: Start; Azzeramento; Posizione ai giunti; Coordinate cartesiane; Interazione (Guidance). Vediamo ora un breve filmato per illustrare il funzionamento Dopo un algoritmo di start Viene creato l’algoritmo di azzerameto ed Il manipolatore viene mosso con velocità costante fino al raggiungimento dei fine corsa. Vengono memorizzate le posizioni di ZERO e l’algoritmo stesso comanda la creazione dell’algoritmo successivo in cui il Robot è controllato in posizione ai giunti. Portiamo il braccio all’interno dello spazio di lavoro e successivamente movimentiamo singolarmente i due giunti nel Joint space Ecco il Primo…facciamo muovere anche il secondo sempre attraverso l’uso di trjgen. Effettuiamo uno zoom sull’Hand effector dello Scara e tracciamo tracciamo la traiettoria di un movimento dei due giunti contemporaneamente. creiamo poi un algoritmo che lavora nel work space e comandiamo così le coordinate cartesiane x-y e torniamo al punto di partenza lungo una retta. Tornati al punto di partenza ci muoviamo singolarmente lungo i singoli assi. (X e y dell’WS). Infine verifichiamo l’algoritmo in interazione con l’ambiente realizzato…attraverso l’uso del sensore di forza riadattato a joistick è possibile applicare una forza ed essere “seguiti” dal manipolatore. Vediamo la mano che applica un afornza lungo l’asse x … la velocità sarà proporzionale alla forza applicata…(Per l’acquisizione delle forze e delle coppie sono stati sfruttati i canali analogici della scheda di controllo assi ed implementato la classe ForseSensor). Vediamo anche una movimentazione lungo lungo asse y ma il sensore di forza e quindi il manipolatore controllato con l’algoritmo di Gudance è sensibile lungo qualsiasi direzione. 23/10/2006 Università degli Studi di Brescia

8 Studio Sperimentale dell’interazione
Algoritmi di controllo avanzati: Gain Scheduling Modelli a coppia precalcolata/Dinamica inversa Sistemi adattativi per la compensazione dell’attrito Influenza dei ritardi sull’identificazione della direzione della superficie Definire le modalità per integrarli nel SW Acquisire competenza nella valutazione delle prestazioni di un manipolatore interagente con l’ambiente 23/10/2006 Università degli Studi di Brescia

9 Università degli Studi di Brescia
Crank Turning SISTEMA BASE DA CUI SI E’ PARTITI Compensazione attriti ai giunti Gain Scheduling Vmax = 16 cm/s Fmax = 58 N POSIZIONE LUNGHEZZA INCOGNITI OTTIMIZZAZIONE Affiniamento stima dell’angolo di contatto -> Vmax = 28 cm/s % Compensazione dinamica > Vmax = 50 cm/s % Affinamento della compensazione dinamica -> Alla velocità V = 16 cm/s la forza di contatto Fmax = 8 N con un – 86% Vmax = 67 cm/s +415 % 23/10/2006 Università degli Studi di Brescia

10 Università degli Studi di Brescia
Conclusioni Progettato e sviluppato e testato un SW di controllo per Robot interagenti con l’ambiente Approfondita la teoria del controllo attraverso sperimentazione e simulazione di differenti task Identificato alcune caratteristiche fondamentali per i manipolaotri che interagiscono con l’ambiente Obiettivi III anno Consolidamento del SW e porting sotto LINUX RTAI Controllo di altri Robot (Cheope, PA10, Icomatic03...) Sperimentazione e validazione di alcuni algoritmi di controllo per robot interagenti con l’ambiente La gestione delle transizioni di modalità di controllo si è dimostrata valida e robusta. Il sistema si è inoltre dimostrato in grado di rispettare i vincoli real-time e gli obiettivi di riconfigurabilità. (Il progetto presente lascia anche aperte molte possibilità di sviluppare sistemi di controllo personalizzati.) E’ possibile sviluppare nuovi algoritmi (ad esempio in iterazione con l’ambiente (Peg into hole - Crank turning - Contour tracking) … senza dover rivedere la struttura dell’software a basso livello. E’ sufficiente rispettare i vincoli di implementazione dell’interfaccia. Con la stessa logica E’ possibile anche implementare architetture per nuovi Robot con cinematiche più complesse, come quelle parallele. Resta in sospeso l’implementazione della gestione delle emergenze legate al PLC perchè risultano strettamente legate allo specifico sistema hardware e quindi la definizione di un modulo dall’interfaccia è in generale difficile. Nel progetto di tesi non è stato possibile affrontare la generalizzazione vera e propria delle funzionalità legate al sistema operativo: sviluppi futuri potranno quindi vedere l’implementazione del modulo software di interfaccia generale. Infine lavorare anche al modulo supervisore, che in questo progetto di tesi non è stato definito in modo specifico, l’interfaccia grafica (HMI) per software più orientato all’utente. Noi avremmo concluso..ringraziamo la commissione e tutti i presenti per l’attenizione a noi concessa.. 23/10/2006 Università degli Studi di Brescia

11 Grazie per l’attenzione
Dottorato in Meccanica Applicata XX Ciclo – II anno di corso Grazie per l’attenzione Buongiorno a tutti, sono Nicola Pedrocchi, sono iscritto al XX ciclo di dottorato ed Il progetto di ricerca che sto seguendo ha come argomento il comportamento dinamico di manipolatori industriali intragenti con l’ambiente Il progetto è svolto in collaborazione con L’ITIA-CNR con sede a Milano 23/10/2006 Università degli Studi di Brescia

12 Implementazione Software
Interfaccia (HMI) Logica di Gestione Algoritmi di Controllo Interfaccia (Verso HW) CARATTERSITICHE Scritto in C++ Sviluppato in QNX 4.25 4 processi cooperanti Tempo ciclo del processo di << 1 ms Sincronizzazione processi data da un’interrupt delle schede di acquisizione Aggiornamento in run-time dei parametri di controllo (PID, etc. ) 150 file, 42 cartelle, (ogni file è 100÷1000 righe di codice) ... Supervisore Processo di Controllo Server I/O Board Generatore di Traiettorie Dallo schema generale dell’architettura sono stati individuati tre macro blocchi funzionali, ciascuno associato poi ad un processo indipendente. Tale scelta nasce dalla necessità separare le funzionalità non strettamente legate agli aspetti di calcolo dell’azione di controllo in modo che non interferiscano con esso. I tre processi sono: Il supervisore che raggruppa le funzionalità della Interfaccia uomo macchina e svilupperà l’intelligenza del software per suddividere i task di alto livello in un’opportuna successione di singoli algoritmi. Il Processo di controllo implementa, invece, le funzionalità di controllo vero e proprio. In realtà quest’ultimo è stato diviso in due processi infatti al Processo di controllo è stato aggiunto un generatore di traiettorie. Questo perché il calcolo di interpolazione per le traiettorie è oneroso e non sempre necessario. E’ quindi possibile attivarne l’esecuzione solo quando richiesto. Il Server IO BOARD infine realizza l’ Interfaccia verso HW. La nostra attenzione si e’ focalizzata sulla realizzazione del processo di controllo e del server I/O; il supervisore è stato realizzato solo come interfaccia utente ed il generatore interpola solamente traiettorie rettilinee. (o il supervisore e il generatore sono realizzati solo come appoggio per la fase di test) Supervisore: Interfaccia Utente e “Intelligenza” Processo di Controllo:......Gestione ed Esecuzione Algoritmi Generatore Traiettorie:....Esecuzione Calcoli di Interpolazione Server I/O Board: Gestione Schede di Acquisizione 23/10/2006 Università degli Studi di Brescia


Scaricare ppt "Comportamento dinamico di manipolatori interagenti con l'ambiente"

Presentazioni simili


Annunci Google