La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Robot IMI e sistema di controllo industriale basato su OpenDSP Tutorial Nicola SMALDONE 16/09/2018 Robot IMI Tutorial.

Presentazioni simili


Presentazione sul tema: "Robot IMI e sistema di controllo industriale basato su OpenDSP Tutorial Nicola SMALDONE 16/09/2018 Robot IMI Tutorial."— Transcript della presentazione:

1 Robot IMI e sistema di controllo industriale basato su OpenDSP Tutorial
Nicola SMALDONE 16/09/2018 Robot IMI Tutorial

2 Il manipolatore planare IMI
Comando e resolver Fine corsa Braccio elbow Motore dell’asse 2 Braccio base Motore dell’asse 1 16/09/2018 Robot IMI Tutorial

3 Il manipolatore planare IMI (2)
x2 Cinematica diretta: y1 y2 x1 y0 Cinematica inversa: x0 Posizione di Home: bracci allineati lungo l’asse x (1 = 2 = 0) Limiti angolari: ±2.15 rad Sul manipolatore reale i sistemi di riferimento sono posizionati diversamente a causa del fatto che il verso di rotazione considerato positivo dal controllo è quello orario; questo implica che l’asse Z sia entrante “nel pavimento” e che l’asse Y sia orientato nel verso opposto. Ovviamente le equazioni cinematiche rimangono le stesse indipendentemente dall’orientamento dei riferimenti. 16/09/2018 Robot IMI Tutorial

4 L’azionamento NSK Segnali di comando analogico dal DSP
Comunicazione seriale con il PC Segnali digitali di abilitazione 16/09/2018 Robot IMI Tutorial

5 Il modello per il controllo
L’insieme di “manipolatore” ed “azionamento” possono essere modellati con uno schema a blocchi: u [mV]  [Nm]  [rad] Dinamica del robot C Azionamenti e motori K Gc u [mV]  [rad] F(•)  [Nm] 16/09/2018 Robot IMI Tutorial

6 La configurazione di controllo
Collegamento EPP Il rack OpenDSP (C) CN2, CN3, finecorsa Il manipolatore Il PC host RS-232C 16/09/2018 Robot IMI Tutorial

7 Come partire I passi necessari per avviare l’ambiente di simulazione e gestione del manipolatore sono i seguenti, partendo da “tutto spento”: Attivare l’interruttore generale del manipolatore Accendere il PC ed entrare in Windows con “Ok” Accendere il controllore Avviare Matlab Posizionarsi nella propria cartella di lavoro con il comando >> robind(N) con N numero della squadra Il comando >> robind(N) aggiunge per la sessione Matlab corrente il path delle sottocartelle delle relativa squadra in cui si troverà una copia di tutti i sorgenti del software di gestione, nonché tutti i dati salvati nel corso degli esperimenti. La singola squadra potrà così intervenire eventualmente modificando tutto ciò che ritiene opportuno nelle proprie sottocartelle e queste modifiche si rifletteranno esclusivamente sul proprio ambiente. 16/09/2018 Robot IMI Tutorial

8 Come partire (2) Accendere gli azionamenti mediante le due levette poste sul frontale del rack che li contiene Dare il comando >> imiconsole in Matlab La console di gestione si aprirà e sarà richiesta l’esecuzione della procedura di Homing, da eseguire sempre all’avvio. ATTENZIONE: il manipolatore comincerà a muoversi autonomamente dopo un ulteriore avviso; tenersi fuori dallo spazio di lavoro!! 16/09/2018 Robot IMI Tutorial

9 Arresto di emergenza Se il controllo è instabile occorrerà bloccare
il manipolatore con il tasto di emergenza Premere il tastino di Reset del controllore per riportare le uscite dello stesso in uno stato noto: i led verde e rosso dei pannelli frontali si spengono. Sganciare poi il tasto di emergenza con una leggera rotazione oraria. Chiudere la IMIConsole e rifare la procedura di partenza dando ancora il comando >> imiconsole Attenzione: non sganciare assolutamente il tasto di emergenza finché non si è “resettato” il controllore come descritto sopra!! 16/09/2018 Robot IMI Tutorial

10 Le GUIs (Graphical User Interfaces)
Tool di gestione principale Tool di pianificazione delle traiettorie Tool di esecuzione delle traiettorie 16/09/2018 Robot IMI Tutorial

11 La console di gestione Procedura di azzeramento encoder
Compilazione dell’algoritmo di controllo Caricamento nel DSP dell’algoritmo di controllo Abilitazione del controllo. ATTENZIONE: se l’algoritmo di controllo non funziona, il manipolatore potrebbe sbracciare violentemente! Prima di abilitare, tenere una mano sul pulsante rosso di emergenza! All’avvio il software di gestione “azzera” il controllore e carica un algoritmo di controllo di base necessario per eseguire le prime inizializzazioni e comunque sufficiente per eseguire qualsiasi tipo di movimentazione. L’algoritmo è basato su un controllo PD realizzato direttamente nel discreto ottenuto con reazione sull’errore di posizionamento e sulla sua derivata calcolata come rapporto incrementale. Una copia del file sorgente (IMI_PD_basic.c) ed il relativo eseguibile (IMI_PD_basic.hex) si trovano nella cartella di lavoro. 16/09/2018 Robot IMI Tutorial

12 La console di gestione Tool di pianificazione Tool di simulazione
Tool di movimentazione 16/09/2018 Robot IMI Tutorial Il tool ODSP Scope non è più attivo.

13 Il tool di pianificazione
Parametri di s Pianificazione punto-punto, cartesiana e in giunti Calcolo e salvataggio delle pianificazioni Pianificazione circolare La pianificazione dell’ascissa curvilinea “s” si basa sulla routine s_prof.m, mentre il passaggio ai riferimenti giunti è ottenuto tramite una delle tre routine imi_circ.m, imi_rett_p.m e imi_rett_q.m a seconda del tipo di pianificazione che si sta eseguendo. 16/09/2018 Robot IMI Tutorial

14 Il tool di pianificazione (2)
Nel caso di pianificazione cartesiana, punto-punto e circolare, sarà richiesto se pianificare il movimento con q2 < 0 o q2 > 0. Le due finestre che compariranno mostreranno rispettivamente: i grafici dell’andamento della variabile s (ascissa curvilinea) pianificata; gli andamenti delle traiettorie ottenute. Le traiettorie pianificate saranno salvate se è stato inserito un nome per il file nel relativo campo del tool. 16/09/2018 Robot IMI Tutorial

15 La pianificazione Punto-punto in giunti: Punto-punto in cartesiano:
Passo 1) T2 : matrice omogenea R: raggio : angolo Circolare: Passo 2) 16/09/2018 Robot IMI Tutorial

16 La pianificazione (2) Struttura dati prodotta da IMI Reference:
Q = s_maxvel:0.25 parametri di s, adimensionali s_maxacc:1.25 idem s_maxdec:1.00 idem s_alfa:0.85 [0  1] deltat: campionamento, in secondi steps:2502 lunghezza dei vettori time:[1x2502 double] tempo, in secondi joint:[2x2502 double] riferimenti dei giunti, in rad Esempio: >> plot(Q.time, Q.joint(1,:)); mostra il profilo di riferimento del primo giunto 16/09/2018 Robot IMI Tutorial

17 Il simulatore Generatore di riferimenti Controllore
Dinamica non lineare con attrito Anello di reazione 16/09/2018 Robot IMI Tutorial

18 Il simulatore (2) Limitazione di coppia Velocità Posizione
Dinamica con attrito 16/09/2018 Robot IMI Tutorial

19 Il tool di esecuzione Esecuzione dei movimenti Nome della traiettoria
Es.: d:\…\cerchio.mat Ritorno nella posizione di Home (q1=0, q2=0) Ricerca del file della traiettoria 16/09/2018 Il file delle traiettorie avrà sempre estensione .mat e sarà stato preventivamente pianificato e salvato secondo il formato visto (presumibilmente, ma non per forza, con il tool di pianificazione). Robot IMI Tutorial

20 Il tool di esecuzione (2)
Premendo il tasto di Start per eseguire il movimento avverrà un preposizionamento del manipolatore nel punto di partenza della traiettoria pianificata. Prima di eseguire il movimento viene richiesto se acquisire i dati della prova. Attenzione: dopo questa scelta il manipolatore comincerà a muoversi autonomamente!! Il movimento può essere eseguito in modo ciclico selezionando cyclic dal menu Mode; deselezionandolo durante l’esecuzione si termina la procedura. Il tasto Home riporta il manipolatore nella posizione di riposo. 16/09/2018 Robot IMI Tutorial

21 Acquisizione dati I dati acquisiti durante l’esecuzione delle traiettorie sono salvati nella cartella di lavoro con il nome nometraiettoria_data_ora.mat Per avere a disposizione i dati bisogna caricarli in Matlab con >> load nomefile.mat Nel workspace comparirà la matrice AcqData di dimensioni N  7: N è il numero di punti acquisiti; la prima colonna è il tempo; la seconda e la terza colonna sono le posizioni dei giunti; la quarta e la quinta colonna sono gli errori di posizione dei giunti; la sesta e la settima colonna sono le coppie di comando. Esempio: >> plot(AcqData(:,1),AcqData(:,6)); per disegnare l’andamento delle coppie di comando del primo giunto Una volta caricata l’acquisizione la cosa più comoda da fare è salvare i vari “pezzi” di AcqData in variabili dal nome più significativo; ad esempio: Tempo = AcqData(:,1); Posizione1 = AcqData(:,2); … 16/09/2018 Robot IMI Tutorial

22 Come terminare il lavoro
Chiudere la IMIConsole Spegnere gli azionamenti mediante le apposite levette Uscire da Matlab con il comando >> exit Spegnere il controllore 16/09/2018 Robot IMI Tutorial


Scaricare ppt "Robot IMI e sistema di controllo industriale basato su OpenDSP Tutorial Nicola SMALDONE 16/09/2018 Robot IMI Tutorial."

Presentazioni simili


Annunci Google