Robot IMI e sistema di controllo industriale basato
Robot IMI e sistema di controllo industriale basato su Open. DSP Tutorial Nicola SMALDONE 11/5/2020 Robot IMI Tutorial 1
Il manipolatore planare IMI Comando e resolver Fine corsa Braccio elbow Motore dell’asse 2 Braccio base Motore dell’asse 1 11/5/2020 Robot IMI Tutorial 2
x 2 Il manipolatore planare IMI (2) y 2 y 1 Cinematica diretta: x 1 y 0 Cinematica inversa: x 0 Posizione di Home: bracci allineati lungo l’asse x ( 1 = 2 = 0) Limiti angolari: ± 2. 15 rad 11/5/2020 Robot IMI Tutorial 3
L’azionamento NSK Segnali di comando analogico dal DSP Comunicazione seriale con il PC Segnali digitali di abilitazione 11/5/2020 Robot IMI Tutorial 4
Il modello per il controllo L’insieme di “manipolatore” ed “azionamento” possono essere modellati con uno schema a blocchi: [Nm] u [m. V] Azionamenti e motori C [Nm] Gc 11/5/2020 [rad] K [rad] Dinamica del robot u [m. V] F( • ) Robot IMI Tutorial 5
La configurazione di controllo Il rack Open. DSP (C) CN 2, CN 3, finecorsa Collegamento EPP Il manipolatore Il PC host RS-232 C 11/5/2020 Robot IMI Tutorial 6
Come partire I passi necessari per avviare l’ambiente di simulazione e gestione del manipolatore sono i seguenti, partendo da “tutto spento”: 1. Attivare l’interruttore generale del manipolatore 2. Accendere il PC ed entrare in Windows con “Ok” 3. Accendere il controllore 4. Avviare Matlab 5. Posizionarsi nella propria cartella di lavoro con il comando >> robind(N) con N numero della squadra 11/5/2020 Robot IMI Tutorial 7
Come partire (2) 6. Accendere gli azionamenti mediante le due levette poste sul frontale del rack che li contiene 7. 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!! 11/5/2020 Robot IMI Tutorial 8
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!! 11/5/2020 Robot IMI Tutorial 9
Le GUIs (Graphical User Interfaces) Tool di gestione principale Tool di pianificazione delle traiettorie Tool di esecuzione delle traiettorie 11/5/2020 Robot IMI Tutorial 10
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! 11/5/2020 Robot IMI Tutorial 11
La console di gestione Tool di pianificazione Tool di simulazione Tool di movimentazione 11/5/2020 Robot IMI Tutorial 12
Il tool di pianificazione Parametri di s Pianificazione punto-punto, cartesiana e in giunti Calcolo e salvataggio delle pianificazioni Pianificazione circolare 11/5/2020 Robot IMI Tutorial 13
Il tool di pianificazione (2) Nel caso di pianificazione cartesiana, punto-punto e circolare, sarà richiesto se pianificare il movimento con q 2 < 0 o q 2 > 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. 11/5/2020 Robot IMI Tutorial 14
La pianificazione Punto-punto in giunti: Punto-punto in cartesiano: Passo 1) : angolo Circolare: R: raggio T 2 : matrice omogenea Passo 2) 11/5/2020 Robot IMI Tutorial 15
La pianificazione (2) Struttura dati prodotta da IMI Reference: parametri di s, adimensionali s_maxacc: 1. 25 idem s_maxdec: 1. 00 idem s_alfa: 0. 85 [0 1] deltat: 0. 010 campionamento, in secondi steps: 2502 lunghezza dei vettori time: [1 x 2502 double] tempo, in secondi joint: [2 x 2502 double] riferimenti dei giunti, in rad Q = s_maxvel: 0. 25 Esempio: >> plot(Q. time, Q. joint(1, : )); mostra il profilo di riferimento del primo giunto 11/5/2020 Robot IMI Tutorial 16
Il simulatore Generatore di riferimenti Controllore Dinamica non lineare con attrito Anello di reazione 11/5/2020 Robot IMI Tutorial 17
Il simulatore (2) Limitazione di coppia Velocità Posizione Dinamica con attrito 11/5/2020 Robot IMI Tutorial 18
Il tool di esecuzione Esecuzione dei movimenti Nome della traiettoria Es. : d: …cerchio. mat Ritorno nella posizione di Home (q 1=0, q 2=0) Ricerca del file della traiettoria 11/5/2020 Robot IMI Tutorial 19
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. 11/5/2020 Robot IMI Tutorial 20
Acquisizione dati I dati acquisiti durante l’esecuzione delle traiettorie sono salvati nella cartella di lavoro con il nometraiettoria_data_ora. mat Per avere a disposizione i dati bisogna caricarli in Matlab con >> load nomefile. mat Nel workspace comparirà la matrice Acq. Data 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(Acq. Data(: , 1), Acq. Data(: , 6)); per disegnare l’andamento delle coppie di comando del primo giunto 11/5/2020 Robot IMI Tutorial 21
Come terminare il lavoro 1. Chiudere la IMIConsole 2. Spegnere gli azionamenti mediante le apposite levette 3. Uscire da Matlab con il comando >> exit 4. Spegnere il controllore 11/5/2020 Robot IMI Tutorial 22
- Slides: 22