verticale

Modellizzazione, simulazione e controllo di un robot a cavi sottoattuato piano

E’ stato analizzato un modello di robot a cavi verticale, dotato di 3 gradi di libertà ma attuato da soli due cavi. Si `e visto come studiarne la cinematica e l’importanza di conoscere le configurazioni geometrico-statiche di equilibrio ai fini della pianificazione del moto. Per lo studio della dinamica si `e seguito un approccio newtoniano, evidenziando degli aspetti peculiari dei robot sottoattuati; ad esempio `e stato evidenziato come in generale non esista una soluzione esatta del problema dinamico inverso. Il problema del controllo `e stato affrontato mettendo in luce le difficolt`a di intervenire sul moto delle 3 coordinate libere agendo sulle tensioni e le lunghezze dei cavi. In particolare si `e discusso di come sia possibile calcolare la posizione effettiva del robot integrando i dati provenienti dagli encoder con la lettura dell’inclinazione di un cavo.

Scarica il PDF Scarica il PDF
Aggiungi ai preferiti Aggiungi ai preferiti


Articoli tecnico scientifici o articoli contenenti case history
Tesi di Laurea, Università degli Studi di Padova, Anno Accademico 2012-2013

Pubblicato
da Alessia De Giosa
VerticaleSegui aziendaSegui




Settori: , , ,


Estratto del testo
Universit` a degli studi di Padova Dipartimento di Tecnica e Gestione dei Sistemi Industriali Corso di Laurea Magistrale in Ingegneria dell''Innovazione del Prodotto Tesi di laurea Modellizzazione, simulazione e controllo di un robot a cavi sottoattuato piano Relatore
Ing. Giovanni Boschetti Laureando Gianluca Fandella n' matr. 1035872 Anno Accedemico 2012/2013 Indice Premessa vii 1 Stato dell''arte 1 1.1 Robot a cavi . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1.1.1 Numero di cavi e classi di robot . . . . . . . . . . . . 2 1.1.2 Procedimento generale di analisi di un robot a cavi . 3 1.2 Pianificazione del moto e controllo . . . . . . . . . . . . . . . 13 1.3 Applicazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2 Finalit` a del lavoro 20 2.1 Obiettivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.2 Modello analizzato . . . . . . . . . . . . . . . . . . . . . . . 21 3 Analisi geometrico-statica e dinamica 24 3.1 Analisi geometrico-statica . . . . . . . . . . . . . . . . . . . 24 3.1.1 Analisi geometrico-statica inversa . . . . . . . . . . . 27 3.1.2 Analisi geometrico-statica diretta . . . . . . . . . . . 31 3.2 Analisi dinamica . . . . . . . . . . . . . . . . . . . . . . . . 33 3.2.1 Dinamica diretta . . . . . . . . . . . . . . . . . . . . 33 3.2.2 Analisi di velocit` a e di accelerazione . . . . . . . . . . 34 3.2.3 Equazione del moto . . . . . . . . . . . . . . . . . . . 36 3.2.4 Dinamica inversa . . . . . . . . . . . . . . . . . . . . 39 3.3 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 4 Controllo 41 4.1 Logica di controllo . . . . . . . . . . . . . . . . . . . . . . . 41 4.2 Retroazione . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 4.3 Simulatore del modello dinamico . . . . . . . . . . . . . . . . 48 4.3.1 Sistema attuato . . . . . . . . . . . . . . . . . . . . . 48 4.3.2 Evoluzione libera . . . . . . . . . . . . . . . . . . . . 49 i INDICE ii 4.4 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 5 Pianificazione della traiettoria 53 5.1 Calcolo delle tensioni dei cavi . . . . . . . . . . . . . . . . . 54 5.2 Legge di moto . . . . . . . . . . . . . . . . . . . . . . . . . . 56 5.3 Parametri di traiettoria . . . . . . . . . . . . . . . . . . . . . 58 5.4 Tensioni positive e limitate . . . . . . . . . . . . . . . . . . . 59 5.4.1 Condizioni quasistatiche . . . . . . . . . . . . . . . . 60 5.4.2 Tempo di minima percorrenza . . . . . . . . . . . . . 60 5.5 Condizioni di arresto . . . . . . . . . . . . . . . . . . . . . . 61 5.6 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 6 Simulazioni 64 6.1 Traiettoria rettilinea . . . . . . . . . . . . . . . . . . . . . . 66 6.1.1 Movimento verticale . . . . . . . . . . . . . . . . . . 66 6.1.2 Movimento orizzontale . . . . . . . . . . . . . . . . . 74 6.2 Traiettoria circolare . . . . . . . . . . . . . . . . . . . . . . . 79 6.2.1 Arco di cerchio . . . . . . . . . . . . . . . . . . . . . 79 6.2.2 Tre giri completi . . . . . . . . . . . . . . . . . . . . 85 6.3 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 7 Considerazioni finali 91 7.1 Conclusioni . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 7.2 Sviluppi futuri . . . . . . . . . . . . . . . . . . . . . . . . . . 92 Elenco delle figure 1.1 Robot pienamente attuati (in alto) e sottoattuati (in basso). (Fonte: Woernle, 2013) . . . . . . . . . . . . . . . . . . . . . 3 1.2 Schema di un robot a cavi generico . . . . . . . . . . . . . . 4 1.3 Sistema di riferimento dell''organo terminale in configurazione non ruotata (a) e in una configurazione generica (b) . . . . . 5 1.4 Cinematica diretta con organo terminale puntiforme: inter- sezione delle circonferenze formate dai cavi . . . . . . . . . . 6 1.5 Rappresentazione dell''avvolgimento del cavo sul rocchetto . 7 1.6 Forze e momenti agenti sull''organo terminale . . . . . . . . . 10 1.7 Coppie e momenti agenti sui rocchetti . . . . . . . . . . . . . 12 1.10 NeReBot (Universit` a di Padova, 2007) . . . . . . . . . . . . 18 1.11 Prototipo di robot per ricerca e soccorso (INRIA, 2010) . . . 18 2.1 Esempio di robot con cavi convergenti in un unico punto (sinistra) e in punti distinti (destra) . . . . . . . . . . . . . . 22 2.2 Schema del modello di robot verticale analizzato . . . . . . . 23 3.1 Relazioni geometriche espresse tramite vettori . . . . . . . . 25 3.2 Passaggio da bi a ri . . . . . . . . . . . . . . . . . . . . . . 26 3.3 Forze che agiscono sull''organo terminale . . . . . . . . . . . 27 4.1 Descrizione delle variabili del modello . . . . . . . . . . . . . 42 4.2 Schema di controllo . . . . . . . . . . . . . . . . . . . . . . . 43 4.3 Retroazione con θ simulata . . . . . . . . . . . . . . . . . . . 45 4.4 Schematizzazione dei vettori; r21, s2 e sd formano la diade analizzata. . . . . . . . . . . . . . . . . . . . . . . . . . . . 46 4.5 Retroazione con θ calcolata da misurazioni . . . . . . . . . . 48 4.6 Schema del simulatore del modello dinamico . . . . . . . . . 49 4.7 Schematizzazione del modello di evoluzione libera del sistema 51 iii ELENCO DELLE FIGURE iv 5.1 Rappresentazione di un percorso generico e della coordinata cuvilinea l(t) . . . . . . . . . . . . . . . . . . . . . . . . . . . 56 5.2 Legge con profilo di velocit` a trapezoidale . . . . . . . . . . . 57 5.3 Legge polinomiale . . . . . . . . . . . . . . . . . . . . . . . . 57 5.4 Andamento della coordinata θ nel tempo di percorrenza tfa rispetto alle corrispondenti posizioni statiche, e successive oscillazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 5.5 Andamento della coordinata θ nel tempo di percorrenza tfs rispetto alle corrispondenti posizioni statiche, e successive oscillazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63 6.1 Parametri geometrici del modello . . . . . . . . . . . . . . . 65 6.2 Rappresentazione delle due traiettorie rettilinee simulate . . 65 6.3 Rappresentazione dei tre casi analizzati . . . . . . . . . . . . 66 6.4 Andamento delle tensioni nel caso quasistatico, traiettoria verticale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70 6.5 Andamento delle coordinate z, z e θ per il tempo di percor- renza tfa, traiettoria verticale . . . . . . . . . . . . . . . . . 71 6.6 Andamento delle tensioni per il tempo di percorrenza tfa, traiettoria verticale . . . . . . . . . . . . . . . . . . . . . . . 72 6.7 Andamento delle coordinate x, z e θ per moto pianificato con tempo di percorrenza tfs. Traiettoria verticale . . . . . . . . 73 6.8 Andamento delle tensioni nel caso quasistatico, traiettoria orizzontale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 6.9 Andamento delle coordinate z, z e θ per il tempo di percor- renza tfa, traiettoria orizzontale . . . . . . . . . . . . . . . . 76 6.10 Andamento delle tensioni per il tempo di percorrenza tfa, traiettoria orizzontale . . . . . . . . . . . . . . . . . . . . . . 77 6.11 Andamento delle coordinate x, z e θ per moto pianificato con tempo di percorrenza tfs. Traiettoria orizzontale . . . . . . . 78 6.12 Traiettorie circolari simulate . . . . . . . . . . . . . . . . . . 79 6.13 Andamento delle tensioni nel caso quasistatico, arco di cerchio 81 6.14 Andamento delle coordinate z, z e θ per il tempo di percor- renza tfa, arco di cerchio . . . . . . . . . . . . . . . . . . . . 82 6.15 Andamento delle tensioni per il tempo di percorrenza tfa, arco di cerchio . . . . . . . . . . . . . . . . . . . . . . . . . . 83 6.16 Andamento delle coordinate x, z e θ per moto pianificato con tempo di percorrenza tfs. Arco di cerchio . . . . . . . . . . . 84 ELENCO DELLE FIGURE v 6.17 Andamento delle tensioni nel caso quasistatico. Traiettoria circolare: tre giri completi . . . . . . . . . . . . . . . . . . . 86 6.18 Andamento delle coordinate z, z e θ per il tempo di percor- renza tfa. Traiettoria circolare: tre giri completi . . . . . . . 87 6.19 Andamento delle tensioni per il tempo di percorrenza tfa. Traiettoria circolare: tre giri completi . . . . . . . . . . . . . 88 6.20 Andamento delle coordinate x, z e θ per moto pianificato con tempo di percorrenza tfs. Traiettoria circolare: tre giri completi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 Elenco delle tabelle 6.1 Parametri di simulazione . . . . . . . . . . . . . . . . . . . . 64 6.2 Riepilogo dei valori tf di percorrenza della traiettoria rettili- nea verticale e dei corrispondenti punti di equilibrio all''arresto 69 6.3 Riepilogo dei valori tf di percorrenza della traiettoria ret- tilinea orizzontale e dei corrispondenti punti di equilibrio all''arresto . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 6.4 Riepilogo dei valori tf di percorrenza della traiettoria ad arco di cerchio e dei corrispondenti punti di equilibrio all''arresto . 80 6.5 Riepilogo dei valori tf di percorrenza della traiettoria ad arco di cerchio e dei corrispondenti punti di equilibrio all''arresto . 85 vi Premessa In questo lavoro sar` a analizzato un modello di robot a cavi sottoattuato, cio` e un robot azionato da cavi del quale non possono essere controllati tutti i gradi di libert` a. Grazie alla capacit` a dei cavi di sollevare carichi pesanti e alla facilit` a di installazione, questo tipo di robot trova una applicazione nell''ambito cari- co/scarico delle merci, o nel trasporto di carichi. Inoltre la scarsa invasivit` a dei cavi e il peso contenuto della struttura lo rendono idoneo all''interazione con l''uomo, ad esempio in attrezzature per la preparazione atletica o per la riabilitazione. La natura sottoattuata di questo tipo di robot complica tuttavia la trat- tazione analitica, insieme al fatto che non ` e possibile avere un controllo completo di tutti i gradi di libert` a. L''obiettivo di questa tesi ` e indagare le problematiche specifiche per questa categoria di robot studiando un modello verticale a tre gradi di libert` a. Verr` a mostrato come sia possibile svilup- pare una tecnica di pianificazione e controllo che permetta di seguire delle traiettorie prestabilite, mantenendo sempre positive le tensioni nei cavi. I risultati saranno infine confermati mediante simulazioni. vii Capitolo 1 Stato dell''arte 1.1 Robot a cavi I robot a cavi sono una tipologia di robot paralleli che si ` e di'usa a partire dagli anni ''90, la cui peculiarit` a sta nel fatto che i link rigidi sono sosti- tuiti da dei cavi che vengono avvolti o svolti da dei motori, regolandone la lunghezza. Questo tipo di struttura conferisce al robot diversi vantaggi: ' Velocit`a elevate: le inerzie contenute della struttura permettono mo- vimenti molto rapidi. ' Spazio di lavoro esteso: potendo utilizzare cavi anche molto lunghi, `e possibile coprire uno spazio di lavoro molto grande. ' Trasportabilit`a: il peso contenuto del robot e la semplicit`a costruttiva lo rendono di facile trasporto e rapida installazione. A fronte di questi vantaggi tuttavia nascono delle complicazioni dovute al fatto che i cavi devono sempre essere tenuti in tensione, e pertanto bisogna verificare che questa condizione sia sempre rispettata per l''insieme di forze e coppie che agiscono sul robot [1]. Da questa limitazione ne deriva che per essere completamente vincolato, cio` e per mantenere l''equilibrio rispetto ad ogni coppia o forza esterna applicata (entro dei limiti ammissibili), il robot deve possedere un numero di cavi superiori ai suoi gradi di libert` a. Per questo si tende spesso a preferire delle soluzioni ridondanti, soprattutto nel caso di spostamento di carichi pesanti [2], in cui bisogna per` o prestare attenzione all''interferenza tra i cavi [3] e sapere calcolare la ripartizione del carico [4]. 1 CAPITOLO 1. STATO DELL''ARTE 2 1.1.1 Numero di cavi e classi di robot L''organo terminale possiede n gradi di libert` a; se ` e un oggetto puntiforme n corrisponde a 2 gradi di libert` a nel piano e a 3 gradi di libert` a nello spazio; se invece ` e un corpo rigido, n = 3 nel piano e n = 6 nello spazio. Poich´ e le tensioni dei cavi devono sempre essere mantenute positive, non ` e possibile applicare qualsiasi carico (forze e momenti) all''organo terminale. Si pu` o dimostrare [5]-[6] che ` e possibile una manipolazione completa di tutti gli n gradi di libert` a in presenza di N = n + 1 cavi se e solo se sono soddisfatte le seguenti condizioni: 1. I vettori composti dalle componenti cartesiane e dal braccio dei versori delle tensioni dei cavi rispetto al centro di massa dell''organo terminale sono linearmente indipendenti. 2. Chiamata S la matrice le cui colonne sono i vettori del punto 1, si verifica che rank(S) = n. Possono essere fatte le seguenti considerazioni: ' Se un robot ha N = n + 1 cavi, `e sempre possibile la manipolazione di tutti gli n gradi di libert` a entro un certo range di forze e momenti applicati. In questo caso si dice che il robot ` e pienamente attuato. Si noti che quanto enunciato vale per i robot con N = n+1 cavi, tuttavia ` e possibile che anche per robot con n gradi di libert` a esista un range di carichi esterni entro il quale vi ` e un pieno controllo del sistema. ' E'' possibile estendere il range di forze e momenti esterni che permet- tono una completa manipolazione del sistema aggiungendo ulteriori cavi. Questi robot sono chiamati ridondanti. ' Se un robot possiede un numero di cavi inferiore a n non `e possibile la manipolazione di tutti i gradi di libert` a. In questo caso si dice che il robot ` e sottoattuato. Si faccia riferimento alla figura 1.1: nei primi due casi ` e possibile controllare tutti i gradi di libert` a del sistema, mentre negli ultimi due questo non ` e possibile. Se invece la richiesta ` e pi` u stringente, cio´ e che il robot sia in grado di mantenere la posizione di equilibrio a fronte di un qualsiasi sistema di forze CAPITOLO 1. STATO DELL''ARTE 3 Figura 1.1: Robot pienamente attuati (in alto) e sottoattuati (in basso).
(Fonte: Woernle, 2013) e momenti esterni, si dice che esso ` e pienamente vincolato. In questo caso si ipotizza che il le tensioni sui cavi non abbiano limiti massimi. Se questa condizione non ` e verificata, il robot ` e sottovincolato. Queste tipologie di robot possono essere anche molto diverse le une dalle altre e presentare ciascuna la sua criticit` a di analisi o di controllo. Tutta- via ` e possibile individuare un canovaccio comune da seguire per l''analisi cinematica, statica e dinamica, che verr` a presentato di seguito; durante l''e- sposizione verranno considerati i diversi modi di procedere a seconda della tipologia di robot considerato, o, dove fosse troppo specifico introdurre una regola generale, verranno messe in luce le di'colt` a dell''analisi. 1.1.2 Procedimento generale di analisi di un robot a cavi Si consideri un robot a N cavi con n gradi di libert` a (fig. 1.2). Ciascun cavo ha una estremit` a che passa per un punto fisso a telaio Ai (ad esempio un passacavo) e una estremit` a Bi collegata all''organo termina- le. Quest''ultimo pu` o essere puntiforme, o in generale pu` o essere un corpo CAPITOLO 1. STATO DELL''ARTE 4 Ai x z y O G si xG ai Bi ri Ai+1 AN Bi+1 BN Figura 1.2: Schema di un robot a cavi generico rigido con centro di massa G. L''origine del sistema di riferimento assoluto pu` o essere posta in un punto fisso scelto a piacere, ad esempio su uno dei due punti a telaio Ai. La distanza tra il centro di massa dell''organo terminale dall''origine ` e espres- sa dal vettore xG. Le distanze Ai '' O sono espresse dai vettori ai. Anche i cavi possono essere rappresentati da dei vettori si = Bi '' Ai. Si consideri poi un sistema di riferimento mobile solidale con l''organo terminale e con origine sul centro di massa '' G x 'y'z' e un altro sistema di riferimento mobile con origine in G ma con gli assi orientati come nel sistema di riferimento assoluto: '' G x y z (fig. 1.3). Si possono esprimere rispetto a '' G x 'y'z' le posizioni relative tra i punti di aggancio dei cavi sull''organo terminale e il centro di massa: bi = Bi '' G. I vettori bi possono essere riportati quindi al sistema di riferimento '' G x y z e ribattezzati ri tramite la trasformazione: ri = R(α, β, γ)bi i = 1, ..., N (1.1) Dove R(α, β, γ) ` e una opportuna composizione di rotazioni elementari se- condo la notazione di Eulero o di Cardano. CAPITOLO 1. STATO DELL''ARTE 5 G Bi b i x' y' G Bi r i x y x' y' θ a) b) Figura 1.3: Sistema di riferimento dell''organo terminale in configurazione
non ruotata (a) e in una configurazione generica (b) Cinematica inversa di posizione L''analisi cinematica inversa di posizione ` e il calcolo pi` u semplice ed ` e pos- sibile per ogni tipologia di robot a cavi sopra citata. Nota la configurazione dell''organo terminale ` e possibile risalire alla lunghez- za dei cavi grazie alle relazioni vettoriali 'xG '' ri '' ai'2 = 'si'2 = L2 i i = 1, ..., N (1.2) Si noti che nel caso di organo terminale non puntiforme, xG esprime la traslazione del centro di massa rispetto al sistema di riferimento assoluto, mentre ri `e funzione della rotazione dell''organo terminale. Cinematica diretta di posizione ' Se il numero di cavi `e maggiore o uguale ai gradi di libert`a del sistema, (N ' n), note le lunghezze dei cavi `e possibile trovare la configurazio- ne dell''organo terminale mettendo a sistema n equazioni del tipo 1.2 esplicitate per n cavi a piacere. Nel caso di organo terminale punti- forme questo coincide con il punto di intersezione di pi` u circonferenze nel caso piano o di pi` u sfere nel caso spaziale i cui raggi sono i cavi. Se le soluzioni trovate sono pi` u di una, bisogna scegliere quella che rientra nello spazio di lavoro. Si prenda ad esempio un robot piano con organo terminale puntifor- me; il sistema di riferimento assoluto sia posto in A1, e il vettore a2 sia a2 = {a2x 0}T . La soluzione della cinematica diretta di posizione, CAPITOLO 1. STATO DELL''ARTE 6 scelti i cavi 1 e 2, ` e data dalle equazioni: x = a2x2 + L2 1 '' L 2
2 2a2x (1.3) y = ± '' L2 1 '' x 2 dove y verr` a scelto negativo se la struttura del robot si sviluppa per valori di y negativi (fig. 1.4). L1 L2 a2 x x y Figura 1.4: Cinematica diretta con organo terminale puntiforme: intersezione delle circonferenze formate dai cavi ' Se invece N < n, il metodo illustrato sopra non si pu`o pi`u applicare, e bisogna pertanto ricorrere a delle considerazioni geometrico-statiche ([7], [8], [9]) per determinare quale sia la configurazione statica cor- rispondente alle lunghezze dei cavi assegnate e alle forze esterne ap- plicate. In questo caso infatti, a delle lunghezze dei cavi assegnate corrispondono infinite configurazioni dell''organo terminale; tuttavia ` e possibile determinare quali di queste sono configurazioni di equilibrio statico, e quali sono stabili (per una trattazione completa sulle defini- zioni di punti di equilibrio si rimanda il lettore a [10]). Un approccio alternativo per risolvere il problema cinematico diretto in un robot sottovincolato ` e lo studio dei punti di equilibrio come pun- ti di minimo dell''energia potenziale del sistema [11]. E'' noto infatti che la variazione dell''energia potenziale ` e l''opposto del lavoro virtuale prodotto da tutte le forze che agiscono sull''organo terminale; attra- verso una formulazione energetica del problema (che richiede tuttavia degli algoritmi avanzati di risoluzione) ` e possibile quindi studiare la stabilit` a all''equilibrio. CAPITOLO 1. STATO DELL''ARTE 7 Cinematica inversa di velocit` a Quando si introduce la cinematica di velocit` a, non ` e tanto alla velocit` a di allungamento/accorciamento dei cavi a cui si ` e interessati, quanto alla velocit` a con cui ruotano dei rocchetti fissati ai motori che hanno il compito di avvolgere/svolgere i cavi (1.5). r ' β ''dL Figura 1.5: Rappresentazione dell''avvolgimento del cavo sul rocchetto Le coordinate di velocit` a sono positive nel caso in cui i cavi vengano avvolti. Pertanto si pu` o scrivere ' βi = '' ' Li r i = 1, ..., N (1.4) Integrando l''equazione 1.4 ` e possibile definire anche una coordinata di posizione dei rocchetti: βi = Li0 r '' Li r i = 1, ..., N (1.5) dove Li0 `e la lunghezza iniziale del cavo i-esimo e r `e il raggio del rocchetto sul quale si avvolge il cavo. E'' possibile esprimere le velocit` a ' βi in funzione delle velocit` a dell''organo terminale e risolvere cos`ı il problema della cinematica inversa di velocit` a. Si definiscono a tal fine i seguenti vettori: β = 
   β1 .. . βN 
   = 
   L10 r '' L1 r .. . LN0 r '' LN r 
   (1.6) ed un vettore composto dalle coordinate generalizzate dell''organo ter- CAPITOLO 1. STATO DELL''ARTE 8 minale: x = 
   x1 .. . xn 
   (1.7) E'' quindi possibile scrivere la relazione: ' β = ''β ''x ' x (1.8) dove ' x ` e composto dalle accelerazioni di ciascuna coordinata generaliz- zata, e la jacobiana J = ''β
''x ` e una matrice N ' n cos`ı definita: J = ''β ''x = 
     ''β1
''x1 ''β1
''x2 · · · ''β1 ''xn ''β2
''x1 ''β2
''x2 · · · ''β2 ''xn .. . .. . .. . .. . ''βN ''x1 ''βN ''x2 · · · ''βN ''xn 
     (1.9) Cinematica diretta di velocit` a A partire dalla relazione 1.8 si vuole passare ad una relazione inversa che esprime le velocit` a ' x in funzione di ' β. Tuttavia la jacobiana J (eq. 1.9) in generale non ` e una matrice invertibile (in generale non ` e neppure quadrata), pertanto bisogna ricorrere all''uso della matrice pseudoinversa J #. Qui di seguito la definizione di pseudoinversa [12]: Definizione 1.1 (Pseudoinversa). Una pseudoinversa di una matrice A '' Rm'n `e una matrice X = A# '' Rn'm che soddisfa le seguenti equazioni: A X A = A X A X = X (A X) T = A X (X A) T = X A Per determinare la pseudoinversa a partire dalla matrice A di partenza, si consideri la seguente proposizione: Proposizione 1.1. Data A '' Rm'n, se m < n e rank(A) = m, allora AAT ` e non singolare e vale: A # = AT (AAT )''1 (1.10) CAPITOLO 1. STATO DELL''ARTE 9 Se invece m > n e rank(A) = n, allora AT A ` e non singolare e vale: A # = (AT A)''1AT (1.11) Al fine di risolvere il problema cinematico diretto di velocit` a, si riporta qui un teorema importante sull''uso della pseudoinversa per la risoluzione di problemi lineari: Teorema 1.1 (Soluzioni del problema dei minimi quadrati). Per una equa- zione lineare di x '' Rn A x = y (1.12) dove A '' Rm'n e y '' Rm, la forma generale delle soluzioni del problema dei minimi quadrati ` e data da: x = A #y + (I '' A#A)z (1.13) dove z ` e un vettore arbitrario e I ` e una matrice identit` a. La soluzione che ha norma minima tra tutte le soluzioni possibili 1.13 ` e x = A #y (1.14) Tornando all''inversione della matrice jacobiana J , si pu` o a'ermare allora che la soluzione pi` u prossima alla soluzione del problema cinematico diretto di velocit` a ` e data da: ' x = J # ' β (1.15) Dove J # ` e cos`ı definito: ' Se N > n, allora J# = (JT J)''1JT ' Se N < n, allora J# = JT (JJT )''1 ' Se N = n e rank(J) = N, allora J# = J''1 Procedimento per ricavare la legge di moto E'' possibile delineare un procedimento standard per ricavare la legge di moto di un robot a cavi, utilizzando un approccio newtoniano (come in [13], [14]). Si scompone il robot in due parti: l''organo terminale, la cui posizione ` e espressa dalle coordinate x, e i rocchetti collegati ai motori su cui si avvolgono i cavi, la cui rotazione ` e espressa dalle componenti β. Si CAPITOLO 1. STATO DELL''ARTE 10 Ai x z y O G Bi Ai+1 AN ri ri+1 'i 'i+1 'N rN fext kext Figura 1.6: Forze e momenti agenti sull''organo terminale scrivono quindi le equazioni di equilibrio per l''organo terminale e i rocchetti, e infine si compongono per scrivere le equazioni del moto. ' Equilibrio organo terminale (fig. 1.6). Si scrivono le equazioni cardinali della dinamica per l''organo termi- nale. Nel caso l''organo terminale sia puntiforme, baster` a scrivere M ¨ x = f (1.16) dove M ` e la matrice di massa, ¨ x ` e il vettore accelerazione del centro di massa e f ` e un vettore che riassume la risultante delle tensioni dei cavi le forze esterne che agiscono. Se invece l''organo terminale ` e un corpo rigido, ` e necessario scrivere anche le equazioni relative all''equilibrio dei momenti rispetto al centro di massa: Ie ¨ ' = k (1.17) dove Ie `e la matrice dei momenti di inerzia, ¨ ' ` e un vettore che esprime le accelerazioni angolari del corpo e k ` e un vettore che riassume i momenti esterni applicati. Le equazioni 1.16 e 1.17 si possono unire in una notazione compatta, CAPITOLO 1. STATO DELL''ARTE 11 dove M combina la matrice di massa e dei momenti di inerzia, ¨ x ` e un vettore che contiene sia le componenti di accelerazione lineari che angolari, e f ` e un vettore che contiene sia le componenti delle forze che dei momenti esterni. In particolare f ` e composto da: f = ftens + fext + kext = M ¨ x (1.18) dove ftens sono le componenti cartesiane delle tensioni dei cavi, fext sono le forze esterne applicate, tra cui ad esempio la forza peso, e kext sono i momenti esterni applicati. Le forze e le coppie esterne possono essere espresse con un unico vettore, detto wrench: wext = fext + kext (1.19) E'' quindi possibile andare a scomporre l''e'etto delle tensioni in ter- mini di forze e momenti sull''organo terminale con la relazione: ftens = S ' (1.20) dove ' sono le tensioni dei cavi e S ` e la matrice di equilibrio statico che separa le componenti cartesiane delle tensioni. Le tensioni dei cavi ' agiscono lungo la direzione dei cavi e sono sempre di trazione. La matrice di equilibrio statico S ` e cos`ı formata: S = [ ''s1 ''s2 · · · ''sN s1 ' r1 s2 ' r2 · · · sN ' rN ] (1.21) dove si sono i vettori che collegano i punti Bi '' Ai e ri sono i vettori che collegano Bi '' G. ' Equilibrio rocchetti (fig. 1.7). Le coppie che agiscono sui rocchetti possono essere espresse tramite un vettore κ cos`ı definito: κ = 
     κ1 κ2 .. . κN 
     (1.22) CAPITOLO 1. STATO DELL''ARTE 12 Ji r βi κi ci ' βi 'i Figura 1.7: Coppie e momenti agenti sui rocchetti Per ciascun rocchetto, la coppia deve vincere l''inerzia, la componente di attrito viscoso di rotazione, e il momento esercitato dal cavo. Si pu` o quindi esprimere l''equilibrio alle rotazioni mediante la relazione: κ = Im ¨ β + Cm ' β + ' r (1.23) dove Im `e una matrice diagonale che contiene i momenti di inerzia dei motori, Cm `e una matrice diagonale con i coe'cienti di smorzamento, ' sono le tensioni dei cavi e r ` e il raggio del rocchetto. ' Composizione delle equazioni. Le equazioni 1.18 e 1.23 hanno in comu- ne il termine ' relativo alle tensioni, pertanto potranno essere unite in un''unica espressione che sar` a la legge di moto. Prima di unirle per` o ` e necessario esprimere anche 1.23 in funzione di x, ' x e ¨ x. A tal fine si richiama l''equazione 1.8: ' β = ''β ''x ' x che pu` o essere a sua volta derivata rispetto al tempo, ottenendo: ¨ β = d dt ''β ''x ' x + ''β ''x ¨ x (1.24) Si riscrive quindi l''equazione 1.23 nella forma: ' = 1 r ( κ '' Im ( d dt ''β ''x ' x + ''β ''x ¨ x ) '' Cm ''β ''x ' x ) (1.25) CAPITOLO 1. STATO DELL''ARTE 13 e andando a sostituire 1.25 in 1.18 si ottiene: rM ¨ x + SIm ''β ''x ¨ x + S ( Im d dt ''β ''x ' x + Cm ''β ''x ' x ) = + r (wext) Semplificando la notazione si giunge alla formulazione dell''equazione del moto: Meq(x)¨ x + N (x, ' x) = + r (wext) (1.26) Il termine Meq(x) `e la matrice di massa equivalente, e vale: Meq(x) = rM + SIm ''β ''x (1.27) mentre il termine N (x, ' x) contiene tutti i termini dinamici non lineari (attrito, Coriolis...): N (x, ' x) = S ( Im d dt ''β ''x + Cm ''β ''x ) ' x (1.28) 1.2 Pianificazione del moto e controllo Pianificare la traiettoria significa stabilire la modalit` a con cui il movimento dal punto iniziale al punto finale deve avvenire, ovvero con quali profili di posizione, velocit` a ed accelerazione. Una corretta pianificazione consente al sistema di controllo del moto in anello chiuso di inseguire correttamente la traiettoria, evitando il raggiungimento di condizioni limiti nelle tensioni dei cavi. L''obiettivo dell''azione di controllo ` e fare in modo che l''uscita del siste- ma segua l''ingresso a prescindere dai disturbi che in'uenzano il sistema dall''esterno e dalle variazioni parametriche interne al sistema stesso. Pianificazione del moto Quando si possiede il modello dinamico di un robot a cavi, ` e possibile espri- mere l''andamento nel tempo delle tensioni nei cavi, come espresso nella eq 1.25. Questo permette di scrivere delle disuguaglianze del tipo: 'min ' ' ' 'max (1.29) CAPITOLO 1. STATO DELL''ARTE 14 dove il simbolo ' indica che la disuguaglianza vale per ogni singola com- ponente, 'min `e il valore minimo di tensione accettabile nei cavi e 'max `e il limite massimo. Lo studio della pianificazione del moto indaga la possibilit` a muovere il robot lungo traiettorie che rendano verificata la relazione 1.29. La ricerca scientifica analizza questo problema da due aspetti diversi e complementari: ' Definizione spazio di lavoro. Si definisce innanzitutto per quali condi- zioni, considerato il robot in esame, ` e ammesso uno spazio di lavoro staticamente ammissibile (Static Equilibrium Workspace - SEW), cio` e esistono delle configurazioni in cui il robot, sottoposto alla sola for- za peso, ` e in grado di mantenere inalterata la propria configurazione, sostenuto dalle appropriate tensioni nei cavi [15]-[16]. E'' possibile restringere la definizione del SEW, definendo un nuovo spazio di lavo- ro che comprenda le configurazioni dell''organo terminale per le quali ` e possibile ottenere l''equilibrio statico del robot sottoposto alla sola forza di gravit` a usando un range limitato di tensioni nei cavi; questo set di configurazioni prende il nome di Statically-Feasible Workspace (SFW) [17]. Pi` u in generale ` e possibile trovare uno spazio di lavoro che comprende le posizioni di equilibrio statico di un robot sottoposto a uno specifico range di wrench esterni, mantendendo le tensioni dei cavi limitate, definito Wrench-Feasible Workspace (WFW) [1]. Non trova un equivalente nei robot seriali tradizionali invece la defi- nizione di spazio di lavoro dinamicamente ammissibile [18], cio` e una serie di configurazioni per le quali ` e possibile uno specifico equilibrio dinamico; in altre parole questo spazio di lavoro descrive le configu- razioni che l''organo terminale pu` o raggiungere durante il movimento, senza necessariamente che tali configurazioni vengano mantenute all''e- quilibrio. La ricerca in questo ambito mira a sviluppare delle tecniche di pianificazione del moto usando traiettorie non limitate allo spazio di lavoro statico [19]. ' Studio della traiettoria. Si cerca un tipo di traiettoria che consenta di rendere verificata la condizione 1.29 sulle tensioni, ottimizzando dei parametri come il tempo di percorrenza [20] o l''energia meccanica assorbita dagli attuatori [21]. E'' possibile minimizzare il tempo di percorrenza analizzando in ogni punto del percorso previsto la velo- CAPITOLO 1. STATO DELL''ARTE 15 cit` a e l''accelerazione massima consentite a'nch´ e le tensioni dei cavi rimangano limitate; il limite di questo approccio ` e la possibilit` a di definire un profilo di velocit` a non uniforme che pu` o indurre vibrazioni non previste sui cavi. Se insieme al tempo di percorrenza si considera anche l''energia assor- bita dai motori, ` e possibile minimizzare una funzione di costo definita come somma dei pesi attribuiti al tempo di percorrenza e all''energia meccanica. Nel caso di robot sottovincolati, la pianificazione della traiettoria si arricchisce di di'colt` a, perch´ e tali robot utilizzano la gravit` a per man- tenere i cavi in tensione e appaiono dei limiti ancora pi` u stringenti su velocit` a e accelerazioni massime che possono essere raggiunte lungo il percorso [22]. Un approccio utilizzato per la pianificazione del moto in questi casi ` e limitare la velocit` a e l''accelerazione massima ai valori pi` u stringenti lungo la traiettoria da e'ettuare. Diversi approcci sono stati sviluppati per trovare una strategia di con- trollo e'ciente e per caratterizzare lo spazio di lavoro in cui i cavi man- tengono le tensioni positive. In [15] vengono definite le condizioni per le quali un robot a cavi possa mantenere l''equilibrio statico, mentre in [23] vengono studiate delle geometrie in cui l''intero spazio di lavoro consenta di avere staticamente tensioni positive. Inoltre ` e stato analizzato uno spazio di lavoro per specifiche direzioni di moto e accelerazioni [18] e un metodo di distribuzione delle forze per evitare tensioni nulle o tensioni eccessive nei cavi [24]. In [25] si trova una trattazione sul controllo di robot a cavi iper- vincolati. Controllo Si ` e visto come la condizione sulla positivit` a e limitatezza delle tensioni nei cavi abbia portato a sviluppare delle nuove tecniche di pianificazione della traiettoria rispetto ai robot paralleli tradizionali. Allo stesso modo bisogna considerare che delle incertezze sulle propriet` a del robot modellizzato po- trebbero portare ad una evoluzione del sistema diversa da quella stimata, e quindi ad avere tensioni dei cavi che escono dal range fissato dalla relazione 1.29. E'' compito del controllo quindi assicurare che le tensioni dei cavi si manten- gano positive e limitate, correggendo eventuali errori nel modello dinamico. CAPITOLO 1. STATO DELL''ARTE 16 E'' possibile quindi utilizzare un sistema di controllo di tipo PID, inserendo nell''algoritmo dei termini correttivi che ''quantificano'' il grado di incertezza nelle matrici Meq(X), N (X, ' X) e S(X) viste nel capitolo 1.1.2 [26]. Un ramo nello sviluppo della ricerca sul controllo riguarda i robot sot- toattuati, come caso particolare dello studio dei sistemi sottoattuati ai quali ` e imposta una particolare traiettoria [27]. Poich´ e la posizione dell''organo terminale non ` e completamente determina- ta dalla lunghezza dei cavi, ` e possibile che si verifichino delle oscillazioni dell''organo terminale rispetto alla traiettoria prevista. E'' possibile quindi sviluppare uno schema di controllo che permetta alla piattaforma mobile di seguire una data traiettoria, grazie a un feedback che agisce smorzando le oscillazioni [28]. In [29] viene proposta una metodologia di controllo basata sull''idea di fa- re dondolare l''organo terminale lungo traiettorie punto-a-punto, di fatto sfruttando le oscillazioni del grado sottoattuato del sistema. 1.3 Applicazioni (a) Supporto fisico e movimentazione di
Skycam (Cone, Ottobre 1985) (b) Cablecam, versione commerciale di
Skycam (www.cablecam.com) Le prime applicazioni di robot a cavi risalgono alla fine degli anni ''80; ` e proprio di questi anni Skycam [30], un sistema di video-ripresa aerea lar- gamente utilizzato negli stadi (fig. 1.8b). In questa applicazione i cavi permettono una movimentazione rapida della telecamera e di coprire una superficie molto grande. I cavi o'rono un''ottima resistenza a trazione, e sono adatti per applica- zioni di sollevamento carichi. E'' per questo che fin dai primi anni ''90 sono CAPITOLO 1. STATO DELL''ARTE 17 stati sviluppati dei robot per la movimentazione di carichi pesanti [31] e nel settore delle costruzioni [2]. (a) Schematizzazione della struttura di
RoboCrane (Albus, Maggio 1992) (b) Foto del prototipo di RoboCrane al
NIST Il RoboCrane, sviluppato dall''American National Institute of Standards and Technology (NIST), ` e costituito da sei cavi che supportano una piat- taforma mobile. La struttura ` e costituita da un triangolo superiore, di cui ciascun vertice supporta due cavi, e da tre triangoli che fungono da supporto (fig. 1.9a). Oltre al sollevamento di carichi, il RoboCrane ` e stato utilizzato in altri settori, quali l''inspezione di aeroveicoli e la raccolta di rifiuti. L''assenza di link rigidi rende i robot a cavi meno ''invasivi'' dei robot seriali e paralleli tradizionali, e risultano quindi adatti all''interazione con l''uomo. Sono state sviluppate infatti delle applicazioni medicali nel campo della riabilitazione [32]-[33]. L''universit` a di Padova ha sviluppato nel 2007 NeReBot (NEuroREhabilita- tion roBOT), uno strumento di riabilitazione che permette la stimolazione dell''arto superiore semplicemente fissando l''avabraccio del paziente ad un supporto e a'dando la movimentazione a tre cavi di nylon (fig. 1.10). Un campo di applicazione in cui viene sfruttata la leggerezza, la traspor- tabilit` a e la facilit` a di installazione dei robot a cavi ` e quello della ricerca e soccorso [34], [35], [36]. Uno studio condotto in Francia al INRIA (Institut national de recherche en informatique et en automatique) presenta un prototipo di robot a cavi da utilizzare nelle operazioni di soccorso, che dispone di numerosi accorgimenti CAPITOLO 1. STATO DELL''ARTE 18 Figura 1.10: NeReBot (Universit` a di Padova, 2007) Figura 1.11: Prototipo di robot per ricerca e soccorso (INRIA, 2010) CAPITOLO 1. STATO DELL''ARTE 19 in termini di portabilit` a e 'essibilit` a dei punti di ancoraggio dei cavi al suo- lo e sulla piattaforma, nonch´ e di un sistema di controllo nel caso si utilizzi un numero di cavi inferiore ai gradi di libert` a (fig. 1.11). Il sistema ` e equi- paggiato anche di una telecamera termica per la localizzazione della vittima. (a) Schematizzazione della struttura del
telescopio FAST (b) Rendering 3D del telescopio FAST Una applicazione molto avanzata dei robot a cavi ` e la movimentazione del telescopio cinese Five-hundred-meter Aperture Spherical radio Telescope (FAST) [37]-[38]. Il FAST sar` a operativo entro il 2016, e diventer` a il pi` u grande radio telescopio a disco singolo mai costruito. Lo sviluppo di questo progetto richiede una modellazione molto avanzata, dal momento che le dimensioni del telescopio richiedono di considerare anche l''elasticit` a dei cavi e la loro massa (fig. 1.12a). Di conseguenza anche la pianificazione del moto e il controllo risultano molto pi` u complicati. Capitolo 2 Finalit` a del lavoro In questo capitolo verr` a esposto l''obiettivo di questa tesi, insieme al modello che sar` a analizzato e simulato. 2.1 Obiettivo Nel capitolo precedente sono state delineate le caratteristiche generali dei robot a cavi, e sono state confrontate diverse tipologie. Nell''esporre un procedimento generale di analisi sono state evidenziate le di'erenze tra lo studio di un robot pienamente vincolato e di un robot sottoattuato; in par- ticolare ` e per quest''ultima tipologia che sono state evidenziate le maggiori di'colt` a, sia per l''analisi cinematica che per il controllo. Questo lavoro intende approfondire questi aspetti peculiari dei robot sot- toattuati ; in particolare si vogliono evidenziare i seguenti: ' Problema dell''equilibrio statico. In un robot in cui il numero di cavi ` e inferiore ai gradi di libert` a, il problema cinematico diretto ammette infinite soluzioni. Tuttavia se le forze che agiscono sull''organo ter- minale sono in equilibrio statico, il robot assume una configurazione ben precisa. In questo lavoro si indagher` a se esiste, nel caso di un robot sottoattuato piano, una relazione tra la lunghezza dei cavi e la posizione di equilibrio che l''organo terminale assume sottoposto alla sua forza peso. ' Problema del controllo. Il fatto che i cavi attuati siano in numero inferiore rispetto ai gradi di libert` a del robot pone un limite sulla capacit` a di controllo del sistema. Questo significa che in un robot con N = 2 cavi e n = 3 gradi di libert` a, potranno essere controllati 20 CAPITOLO 2. FINALIT ` A DEL LAVORO 21 pienamente solo due movimenti, senza poter controllare il terzo. Si vuole approfondire se questo possa costituire un limite nell''impiego di questa tipologia di robot percorrendo traiettorie di tipo rettilineo o circolare, o se si possono comunque trovare delle tecniche di controllo per ottenere un movimento accettabile. ' Problema della pianificazione. Nel caso di robot non pienamente vin- colati ` e necessario pianificare accuratamente la traiettoria per assi- curarsi che durante il movimento i cavi mantengano sempre tensioni positive e limitate entro un valore minimo e un valore massimo. Que- sta analisi ` e ancora pi` u importante quando bisogna pianificare il moto di un robot sottoattuato: se un cavo diventa lasco infatti si perde il controllo su un ulteriore grado di libert` a, e il robot potrebbe assumere posizioni imprevedibili. Obiettivo di questo lavoro ` e quindi fornire una trattazione adeguata degli aspetti evidenziati sopra, analizzandoli in dettaglio su un modello di robot a cavi sottoattuato piano. 2.2 Modello analizzato Con il termine sottoattuato si indica che il numero di gradi di libert` a control- labili ` e inferiore ai gradi di libert` a del sistema; questa condizione si verifica sempre quando il numero di cavi ` e inferiore al numero di gradi di libert` a. Pur restringendo il campo, le tipologie di robot che sono comprese in questo insieme sono numerose; si possono quindi individuare: ' Robot che operano nello spazio oppure nel piano; in questo secondo caso il piano su cui operano ` e quello verticale, in modo che la forza peso mantenga i cavi in tensione. ' Organi terminali costituiti da un unico corpo (single-body) o da pi`u corpi (multi-body). ' Cavi che convergono in unico punto o in punti distinti (fig. 2.1). Nel primo caso l''organo terminale o il carico agganciato ad esso risulta essere un corpo sospeso vincolato in un solo punto. Nel secondo caso invece ciascun cavo funge da vincolo distinto per l''organo terminale. CAPITOLO 2. FINALIT ` A DEL LAVORO 22 Figura 2.1: Esempio di robot con cavi convergenti in un unico punto
(sinistra) e in punti distinti (destra) In questo lavoro verr` a analizzato un modello piano, con un organo ter- minale costituito da un unico corpo rigido assimilabile ad una piastra, soste- nuto da due cavi agganciati in due punti distinti (fig. 2.2). Qui di seguito ne ` e riportata una descrizione dettagliata, con le motivazioni delle scelte della geometria. ' Organo terminale 1 '. L''organo terminale `e modellizzabile come una piastra il cui centro di massa non coincide necessariamente con il ba- ricentro geometrico. Esso ` e dotato di massa m e momento di inerzia Ie. Questo organo terminale pu` o traslare nel piano di lavoro (in x e z) e pu` o ruotare attorno al suo baricentro (con un angolo di rotazione θ). ' Cavi 2 '. L''elasticit`a dei cavi `e considerata trascurabile, la loro massa ` e trascurabile. Ciascun cavo ` e agganciato per una estremit` a ad un punto dell''organo terminale Bi (i = 1, 2) e per l''altra estremit` a viene avvolto su un rocchetto, passando attraverso un passacavo fisso Ai (i = 1, 2) che ne assicura la posizione. La lunghezza varia a seconda della quantit` a di cavo che viene avvolta o svolta dai rocchetti. I cavi solo esercitare una forza di trazione entro un valore massimo tmax. ' Motori e rocchetti 3 '. Ciascun rocchetto pu`o ruotare per avvolgere e svolgere il cavo. Il moto di ciascun rocchetto ` e possibile grazie a un motore che pu` o ruotare sia in verso orario che antiorario. Il movimento dei motori ` e controllato in coppia. CAPITOLO 2. FINALIT ` A DEL LAVORO 23 A 1 A 2 B 1 B 2 z x 2 3 4 θ G 1 Figura 2.2: Schema del modello di robot verticale analizzato ' Passacavi 4 '. I passacavi sono dei punti fissati a telaio per i quali si forza il passaggio dei cavi. L''origine del sistema di riferimento assoluto ` e posizionata su uno dei due passacavi, e la loro posizione reciproca ` e un parametro che pu` o essere fissato a seconda della dimensione dello spazio di lavoro che si vuole ottenere. Nei capitoli che seguono verr` a analizzato cinematicamente e dinamica- mente (cap. 3) il modello sopra descritto, dopodich´ e verranno trattate le tematiche del controllo (cap. 4) e della pianificazione della traiettoria (cap. 5). Infine un capitolo dedicato alle simulazioni (cap. 6) mostrer` a i risultati ottenuti e fornir` a una validazione del modello. Capitolo 3 Analisi geometrico-statica e dinamica In questo capitolo verranno analizzate le relazioni che governano la cinema- tica e la dinamica di un robot con due cavi verticale a tre gradi di libert` a. Il modello considerato ` e costituito da un corpo rigido sostenuto da due ca- vi che vengono a loro volta avvolti da due motori (fig. 2.2), come visto precedentemente nella sezione 2.2. 3.1 Analisi geometrico-statica L''organo terminale, costituito da un corpo rigido di massa m e momento di inerzia Ie, possiede tre gradi di libert` a esprimibili tramite le coordinate x, z e θ. L''origine del sistema di riferimento ` e posta su uno dei due passacavi O ' A1, l''asse x `e orientato verso destra e l''asse z `e orientato verso il basso. L''organo terminale pu` o cambiare posizione grazie all''allungamento o all''accorciamento dei due cavi, che hanno lunghezza L1 e L2. La lunghezza dei cavi ` e controllata dal movimento di due rocchetti attuati, la cui rotazione ` e misurata dagli angoli β1 e β2. Le lunghezze dei cavi e gli angoli di rotazione dei rocchetti sono legati dalle seguenti relazioni: β1 = L10 r '' L1 r (3.1) β2 = L20 r '' L2 r dove L10 e L20 sono le lunghezze iniziali dei cavi e r `e il raggio dei rocchetti. Si possono esprimere le relazioni tra i diversi punti della geometria del modello mediante i seguenti vettori (fig. 3.1): 24 CAPITOLO 3. ANALISI GEOMETRICO-STATICA E DINAMICA 25 x z a2 A 1 A 2 B 1 B 2 G xG r1 r2 s1 s2 Figura 3.1: Relazioni geometriche espresse tramite vettori ' Il vettore xG collega l''origine del sistema di riferimento O con il centro di massa G. ' Il vettore a2 collega i due punti a telaio A1 e A2 corrispondenti ai due passacavi dei cavi collegati ai motori. ' Il vettore s1 collega A1 a B1, che `e il punto in cui il cavo si collega al corpo sospeso. Analogamente s2 collega A2 con B2, il punto di aggancio del secondo cavo. ' Il vettore r1 collega il centro di massa G con B1. r2 collega G con B2. Tutti i vettori citati sono espressi tramite le loro componenti cartesiane rispetto al sistema di riferimento Oxyz. E'' possibile per` o riportare il sistema di riferimento sul punto G e ruotarlo dell''angolo θ per potere esprimere le relazioni tra G e i punti B1 e B2 tramite i vettori b1 e b2 (fig. 3.2): bi = [ bi cos 'i ''bi sin 'i ] i = 1, 2 (3.2) dove bi `e la lunghezza del segmento G Bi e 'i `e l''angolo che si ottiene tramite una rotazione in verso antiorario dell''asse x fino a sovrapporsi al segmento G Bi. CAPITOLO 3. ANALISI GEOMETRICO-STATICA E DINAMICA 26 G r 1 r 2 z x G b 1 b 2 θ x' z' Figura 3.2: Passaggio da bi a ri I vettori ri e bi sono quindi legati da una rotazione attorno all''asse y dell''angolo θ. La matrice di rotazione che li lega ` e: R = 
  cos θ 0 sin θ 0 1 0 '' sin θ 0 cos θ 
  (3.3) Si possono esprimere i vettori ri in funzione di bi e dell''angolo di rota- zione θ tramite la relazione: ri = R bi (3.4) E'' evidente che il problema diretto dell''individuazione della posizione x z e θ a partire da L1 e L2 `e cinematicamente indeterminato: fissate le lunghezze dei cavi, ci sono infinite posizioni ammissibili di x z e θ. Tuttavia, riducendo l''indagine alle configurazioni di equilibrio che si possono ottenere staticamente, ` e possibile ridurre le soluzioni ad un numero finito. Questo sar` a definito problema geometrico-statico diretto. Il problema cinematico inverso invece ` e determinato conoscendo le tre coor- dinate spaziali; basta infatti risolvere le due equazioni 3.5 per ottenere le lughezze dei due cavi. L1 = '' 'xG + r1'2 (3.5) L2 = '' 'xG + r2 '' a2'2 E'' possibile trovarsi per` o nella condizione di conoscere solo x e z ma di non sapere il valore di θ. Anche in questo caso quindi si pu` o indagare se esiste una configurazione di equilibrio statico analizzando le forze agenti sull''organo terminale; si tratta del problema geometrico-statico inverso. CAPITOLO 3. ANALISI GEOMETRICO-STATICA E DINAMICA 27 Proprio per la sua importanza negli sviluppi di questo lavoro, cominceremo dalla trattazione di questo secondo caso. 3.1.1 Analisi geometrico-statica inversa x z A1 A2 B1 B2 G '1 '2 'f fext kext Figura 3.3: Forze che agiscono sull''organo terminale Si considerino le forze agenti sull''organo terminale (fig. 3.3): i cavi alle estremit` a esercitano delle forze di trazione '1 e '2, nel centro di massa agisce una forza generica fext, e viene applicata anche una coppia generica kext. In generale fext `e orientata di un angolo 'f calcolato in senso orario dall''asse x, ed ` e la risultante delle forze esterne agenti sull''organo terminale, tra cui bisogna contare anche la forza peso. Si possono scrivere quindi le equazioni cardinali della statica (con i momenti riferiti al polo O): '' s1x L1 '1 '' s2x L2 '2 + fext cos 'f = 0 '' s1z L1 '1 '' s2z L2 '2 + fext sin 'f = 0 '' a2 ' (x + r2) · j s2x L2 '2 '' x fext sin 'f + kext = 0 (3.6) CAPITOLO 3. ANALISI GEOMETRICO-STATICA E DINAMICA 28 Si possono riscrivere le equazioni 3.6 in forma matriciale: 
  x + r1x (x + r2x) '' a2x '' cos 'f z + r1z (z + r2z) '' a2z '' sin 'f 0 a2 ' (x + r2) · j x sin 'f '' kext fext 
  | {z } M
  '1 L1 '2 L2 fext 
  = 0 (3.7) Si chiama M la matrice dell''equazione 3.7. Si noti che nella matrice appare il termine kext
fext , in apparente contrasto con gli altri elementi presenti nella matrice, legati alla configurazione geometrica del sistema. Tuttavia si pu` o immaginare il sistema forza-coppia come un modo equivalente di rap- presentare una forza esterna agente sull''organo terminale, la cui retta di azione dista b = kext
fext dal centro di massa. Il termine b cos`ı definito, che corrisponde al termine presente nella matrice M ` e quindi anch''esso un pa- rametro geometrico. Si dimostra che ` e possibile raggiungere una posizione di equilibrio se e solo se rank(M ) ' 2 (3.8) dove 2 ` e il numero di cavi attuati [8]. Per rendere verificata l''eq. 3.8, bisogna imporre: det(M ) = 0 (3.9) Risolvendo di determinante, si perviene alla seguente proposizione [8]: p1 =x ( kext
fext A '' B + sin 'f C '' a2z D ) + x 2 (A + a 2z sin 'f ) + xz (E + F ) + z ( '' kext
fext E '' cos 'f C '' a2x D ) + z 2 a 2x cos 'f + kext
fext B '' C D = 0 (3.10) CAPITOLO 3. ANALISI GEOMETRICO-STATICA E DINAMICA 29 Dove A = r21z '' a2z B = r1x(r21z '' a2z) '' r1z(r21x '' a2x) C = a2zr2x + a2xr2z D = r1z cos 'f '' r1x sin 'f E = r21x '' a2x F = a2x sin 'f '' a2z cos 'f r21 i = r2i '' r1 i i = 1, 2. Riformuliamo quindi il problema geometrico-statico inverso: noti i valori di x e z ma non di θ, bisogna determinare le lunghezze dei cavi L1 e L2 che corrispondono ad una configurazione di equilibrio statico. Sostituendo x e z nella proposizione 3.10, si ottiene una equazione non lineare in sin θ e cos θ. Si possono quindi cercare delle soluzioni con un metodo iterativo nell''intervallo θ '' ['''/2 ; '/2], oltre al quale si avrebbe un incrocio dei cavi. Il valore ottenuto in tale intervallo ` e unico all''interno del piano di lavoro, e rappresenta il θeq cercato. I valori di L1 ed L2 si trovano quindi tramite le equazioni 3.5. Cenni di geometria proiettiva E'' possibile dare una spiegazione della interpretazione geometrica dell''equa- zione 3.9 facendo cenno a qualche concetto di geometria proiettiva [39]. Un punto generico p del piano pu` o essere espresso attraverso un vettore con 3 coordinate invece che due, ad esempio p = (x, y, 1) = (X, Y, W ), e qualsiasi vettore ottenuto scalando p di un parametro α ̸= 0 rappresenta il medesimo punto. La corrispondenza tra un punto cos`ı espresso e il punto della geometria euclidea ` e semplicemente x = X/W e y = Y /W . Il vantag- gio sta nel fatto che, se W = 0, ` e possibile esprimere un punto all''infinito. Allo stesso modo anche una retta di equazione ax + by + c = 0 pu` o essere espressa attraverso le sue componenti, cio` e r = (a, b, c). Si nota quindi che, se il punto p appartiene alla retta r si pu` o scrivere: aX + bY + cW = 0 (3.11) CAPITOLO 3. ANALISI GEOMETRICO-STATICA E DINAMICA 30 e pu` o essere espresso allo stesso modo come r T p = rT u = 0 (3.12) cio` e si pu` o considerare equivalentemente r una retta o un punto, e allo stes- so modo p un punto o una retta. Il punto p di intersezione tra due rette r1 = (a1, b1, c1) e r2 = (a2, b2, c2) ` e equivalente al prodotto vettoriale p = r1 ' r2 (3.13) ma l''equivalenza punto-retta evidenziata sopra permette di interpretare le due rette come punti e il punto come retta: se p1 = r1 e p2 = r2, allora r = p1 ' r2 (3.14) rappresenta la retta passante tra i due punti p1 e p2, e ha le stesse compo- nenti di p precedentemente calcolato. Infine, ci chiediamo quando tre punti p1, p2, p3 giacciano sulla stessa retta. Sappiamo da sopra che la retta che collega p1 e p2 `e r = p1 ' p2, e che p3 appartiene a r se p T
3 r = p T
3 (p1 ' p2) = 0 (3.15) o, pi` u brevemente, se il determinante della matrice che contiene i tre punti ` e 0 det( [ p1 p2 p3 ] ) = 0 (3.16) Allo stesso modo, per l''equivalenza punto-retta, tre rette si intersecano nel medesimo punto se det( [ r1 r2 r3 ] ) = 0 (3.17) Per dare una interpretazione geometrica alla condizione 3.9 si semplifichi il problema pensando che fext sia la sola forza peso dell''organo terminale (agente verso il basso) e che kext = 0. In questo caso si possono interpretare le colonne della matrice M come dei vettori che esprimono in coordinate omogenee le rette su cui agiscono rispettivamente la tensione '1, la tensione '2 e la forza peso. Da quanto illustrato sopra, annullare il determinante di CAPITOLO 3. ANALISI GEOMETRICO-STATICA E DINAMICA 31 M equivale quindi a imporre che le tre rette siano coincidenti in un punto: si avr` a quindi una configurazione di equilibrio statico quando le due rette su cui agiscono le tensioni si incontrano sulla retta su cui agisce la forza peso. Considerando invece un carico generico e una coppia esterna agenti sul- l''organo terminale, la terza colonna della matrice M ` e ancora una retta del piano proiettivo, e la condizione 3.9 si pu` o comunque interpretare come l''intersezione di tre rette in un unico punto. 3.1.2 Analisi geometrico-statica diretta Nel caso dell''analisi diretta si conoscono le lunghezze dei cavi L1 e L2, le forze esterne agenti sull''organo terminale, e si vogliono ricavare le coordinate x, z e θ di equilibrio. Nel caso agisca la sola forza peso (o una forza verticale applicata al centro di massa) si potrebbero determinare diversi punti di equilibrio [8], ma solo uno ` e stabile e corrisponde al punto in cui il sistema possiede la minima energia potenziale. Si pu` o intuire che questo punto coincide con la configurazione in cui z ` e minimo. Le equazioni 3.5 possono essere riscritte: (x + r1x) 2 + (z + r 1z ) 2 = L2 1 (x + r2x '' a2x)2 + (z + r2z '' a2z)2 = L2 2 (3.18) Sviluppando i conti e sostituendo i valori di r1 e r2 si ottiene: x 2 + z2 + 2x r 1x + 2z r1z + r 2 1x + r 2 1z = L 2
1 (3.19) x 2 + z2 + 2x(r 2x '' a2x) + 2z(r2z '' a2z) + r 2 2x + r 2 2z + a 2
2x + a 2
2z = L 2
2 (3.20) Sottraendo l''equazione 3.20 a 3.20 si ottiene la seguente: 2(a2x ''r21x)x + 2(a2z '' r21z)z + r2 1x + r 2 1z '' ((a2x '' r2x)2 + (a2z '' r2z)2) + L2 2 '' L 2
1 = 0 (3.21) da cui si pu` o esplicitare x in funzione di z e θ. Condensando la scrittura: x = c z + d (3.22) dove c e d sono funzioni di θ. Sostituendo l''eq. 3.22 in 3.20 si trova una CAPITOLO 3. ANALISI GEOMETRICO-STATICA E DINAMICA 32 equazione di secondo grado in z parametrica in θ, che pu` o essere scritta in forma compatta come: e z 2 + 2f z + g = 0 (3.23) che ammette due soluzioni che corrispondono a valori di z sopra e sotto il vettore a2. La soluzione che ci interessa `e z = ''f + '' f 2 '' eg e (3.24) dove e, f e g cambiano al variare di θ. Per quanto detto sopra, la posizione di equilibrio ` e da cercare dove z ` e minimo. Pertanto θeq di equilibrio sar` a l''angolo che soddisfa la relazione d z dθ = 0 (3.25) Si pu` o quindi risolvere l''equazione 3.25 tramite un metodo iterativo per tro- vare il valore θ cercato. Infine si determina z corrispondente e, sostituendo nell''equazione 3.22 si trova il valore x. Ricapitolando il procedimento: ' Si esprimono le lunghezze note dei cavi L1 e L2 rispetto a x, z e θ attraverso due equazioni. ' Dalle due equazioni si isolano x e z in funzione di θ ' Si trova il valore di θ che rende minima z e si calcola tale minimo. ' Si calcola il valore di x. L''approccio presentato tuttavia non si pu` o applicare nel caso in cui la forza esterna non sia verticale ('f ̸= '/2) o in cui sia presente una coppia esterna. In tal caso bisogna ricorrere ad un approccio pi` u generale in cui la variazione di energia potenziale, che si vuole imporre nulla per ricercare i punti di equilibrio, viene espressa come l''opposto del lavoro virtuale gene- rato dalle forze e le coppie esterne che agiscono sull''organo terminale. In altre parole: δL = fext · δG + '1 · δB1 + '2 · δB2 + kext · δθ = 0 (3.26) CAPITOLO 3. ANALISI GEOMETRICO-STATICA E DINAMICA 33 Se δx e δθ sono rispettivamente gli spostamenti virtuali del centro di massa dell''organo terminale e la rotazione virtuale, allora δG = δx δB1 = δx + δθ ' r1 δB2 = δx + δθ ' r2 E'' possibile quindi cercare le configurazioni di equilibrio analizzando dove l''espressione 3.26 si annulla e valutando quali tra le soluzioni trovate sono di equilibrio stabile. La trattazione di questo caso tuttavia esula dai limiti di questo lavoro, e potr` a essere oggetto di analisi future. 3.2 Analisi dinamica L''analisi dinamica ci porta nel cuore del robot ed ` e alla base del controllo e della simulazione. La trattazione verr` a sviluppata seguendo per lo pi` u un approccio tradizionale, facendo riferimento a lavori come [13], [14] e [22]; tuttavia verranno rimarcate le peculiarit` a di questo modello sottoattuato, che richiede una particolare attenzione nel considerare l''e'etto dell''angolo θ sull''andamento delle tensioni. 3.2.1 Dinamica diretta Obiettivo della dinamica diretta ` e, conoscendo le coppie κ1 e κ2 applicate ai motori, determinare il moto dell''organo terminale nelle sue coordinate x, z e θ. Per rendere la trattazione pi` u compatta e immediata, le coppie saranno espresse mediante il vettore κ κ = [ κ1 κ2 ] e le coordinate tramite il vettore x x = 
  x z θ 
  Gli angoli di rotazione dei rocchetti sono legati alle lunghezze dei cavi CAPITOLO 3. ANALISI GEOMETRICO-STATICA E DINAMICA 34 tramite le relazioni 3.1, e possono essere espressi tramite il vettore β β = [ β1 β2 ] = [ L10 r '' L1 r L20 r '' L2 r ] (3.27) 3.2.2 Analisi di velocit` a e di accelerazione Per lo sviluppo della trattazione ` e necessario potere esprimere le derivate ' β e ¨ β rispetto ai valori x (rispettivamente analisi di velocit` a inversa e analisi di accelerazione inversa). Si scrivono le componenti dei vettori s1 e s2 che uniscono i punti A1 con B1 e A2 con B2: s1x = x + r1x s1z = z + r1z s2x = x + r2x '' a2x s2z = z + r2z '' a2z dove si riportano per esteso: r1x = b1 cos θ cos '1 '' b1 sin θ sin '1 r1z = ''b1 sin θ cos '1 '' b1 cos θ sin '1 r2x = b2 cos θ cos '2 '' b2 sin θ sin '2 r2z = ''b2 sin θ cos '2 '' b2 cos θ sin '2 ` e possibile riscrivere l''eq. 3.5 come L1 = '' s2 1x + s 2 1z L2 = '' s2 2x + s 2 2z La derivata di eq. 3.27 rispetto al tempo ` e data da: ' β = ''β ''x ' x (3.28) L''equazione 3.28 lega quindi la velocit` a dell''organo terminale ' x con la velo- cit` a dei rocchetti ' β (analisi di velocit` a inversa). Il termine ''β
''x ` e la matrice jacobiana, le cui componenti sono le derivate parziali di β1 e β2 rispetto a x, z e θ: CAPITOLO 3. ANALISI GEOMETRICO-STATICA E DINAMICA 35 ''β1 ''x = '' s1x rL1 ''β1 ''z = '' s1z rL1 ''β1 ''θ = r1x s1z '' r1z s1x rL1 ''β2 ''x = '' xB rL2 ''β2 ''z = '' zB rL2 ''β2 ''θ = r2x s2z '' r2z s2x rL2 La derivata seconda rispetto al tempo di β si pu` o scrivere come: ¨ β = ''β ''x ¨ x + d dt ''β ''x ' x (3.29) ed esprime l''accelerazione dei rocchetti ¨ β in funzione della velocit` a ' x e dell''accelerazione ¨ x dell''organo terminale (analisi di accelerazione inversa). Il termine d dt ''β
''x ` e ottenuto derivando per il tempo ciascuna delle componente dello jacobiano visto sopra. Per snellire la notazione si possono battezzare i seguenti parametri: ' r1x = ''b1 sin θ cos '1 'θ '' b1 cos θ sin '1 'θ ' r1z = ''b1 cos θ cos '1 'θ + b1 sin θ sin '1 'θ ' r2x = ''b2 sin θ cos '2 'θ '' b2 cos θ sin '2 'θ ' r2z = ''b2 cos θ cos '2 'θ + b2 sin θ sin '2 'θ ' s1x = 'x + ' r1x ' s1z = 'z + ' r1z ' s2x = 'x + ' r2x ' s2z = 'z + ' r2z e pertanto si possono esprimere le componenti di d dt ''β
''x attraverso le seguenti relazioni: CAPITOLO 3. ANALISI GEOMETRICO-STATICA E DINAMICA 36 d dt ''β1 ''x = '' ' s1x rL1 + s1x(s1x ' s1x + s1z ' s1z) rL1 3/2 d dt ''β1 ''z = '' ' s1z rL1 + s1z(s1x ' s1x + s1z ' s1z) rL1 3/2 d dt ''β1 ''θ = '' ( ' s1x r1z '' s1z ' r1x + s1x ' r1z '' ' s1z r1x) rL1 + (s1x r1z '' s1z r1x)(s1x ' s1x + s1z ' s1z) rL1 3/2 d dt ''β2 ''x = '' ' s2x rL1 + s2x(s2x ' s2x + s2z ' s2z) rL2 3/2 d dt ''β2 ''z = '' ' s2z rL2 + s2z(s2x ' s2x + s2z ' s2z) rL2 3/2 d dt ''β2 ''θ = '' ( ' s2x r2z '' s2z ' r2x + s2x ' r2z '' ' s2z r2x) rL2 + (s2x r2z '' s2z r2x)(s2x ' s2x + s2z ' s2z) rL2 3/2 3.2.3 Equazione del moto E'' quindi possibile ricavare l''equazione del moto con il seguente procedi- mento: 1. Si scrivono le equazioni di equilibrio per l''asta; in forma matriciale si possono condensare le due equazioni di equilibrio alle traslazioni e l''equazione di equilibrio dei momenti: M ¨ x = ft + wext (3.30) dove M ` e la matrice di massa, che contiene la massa m e il momento di inerzia Ie dell''organo terminale M = 
  m 0 0 0 m 0 0 0 Ie 
  ft `e un vettore contenente la proiezione delle tensioni sugli assi carte- siani e il momento che esse generano sull''asta; wext `e un vettore detto CAPITOLO 3. ANALISI GEOMETRICO-STATICA E DINAMICA 37 wrench esterno, che sintetizza le forze e le coppie esterne applicate: wext = 
  fext cos 'f fext sin 'f kext 
  2. Si esprime ft in funzione delle tensioni agenti sui fili: ft = S' (3.31) dove ' ` e il vettore tensioni ' = [ '1 '2 ] e S ` e una matrice cos`ı definita: S = 
  '' cos θ1 '' cos θ2 '' sin θ1 '' sin θ2 br1 br2 
  (3.32) Nella matrice S appaiono gli angoli θ1 e θ2 che possono essere ricavati attraverso le relazioni: θ1 = atan2(s1z, s1x) θ2 = atan2(s2z, s2x) I valori b1 e b2 sono i bracci delle rette su cui agiscono le tensioni (il prolungamento dei cavi) rispetto al centro di massa dell''asta: br1 = b1 sin('1 + θ1 + θ) br2 = b2 sin('2 + θ2 + θ) 3. Si scrivono quindi le equazioni che descrivono la dinamica dei due motori. Le coppie che vengono erogate, espresse dal vettore κ, devono vincere l''inerzia, la componente smorzante e i momenti generati dalle tensioni: CAPITOLO 3. ANALISI GEOMETRICO-STATICA E DINAMICA 38 κ = Im ¨ β + Cm ' β + ' r (3.33) dove Im `e la matrice di inerzia dei motori e Cm `e la matrice dei coe'cienti di smorzamento. Si possono quindi isolare le tensioni: ' = 1 r (κ '' Im ¨β '' Cm ) (3.34) 4. Si uniscono quindi le equazioni 3.30, 3.31 e 3.34: m ¨ x = S ' + wext = S [ 1 r (κ '' Im ¨ β '' Cm ) ] + wext = S [ 1 r (κ '' Im( ''β ''x ¨ x + d dt ''β ''x ' x) '' Cm ''β ''x ' x) ] + wext Riordinando i termini si ottiene l''equazione del moto: Meq(x) ¨ x + N (x, ' x) = S κ + r wext (3.35) Dove Meq(x) = r m + S Im ''β ''x N (x, ' x) = S(Im d dt ''β ''x + Cm ''β ''x ) ' x Risolvendo l''equazione del moto ` e quindi possibile conoscere la posizio- ne dell''organo terminale x insieme alla sua velocit` a ' x e accelerazione ¨ x, avendo come dato in ingresso il vettore delle coppie κ. Le equazioni di dinamica diretta appena trovate costituiscono il modello del robot in analisi: implementando un codice che abbia in ingresso le coppie κ e i parametri relativi alla geometria e alle masse, ` e possibile simulare il comportamento del sistema. Tuttavia la dinamica diretta non ` e importante solo per le simulazioni: come vedremo potr` a essere impiegata per stimare CAPITOLO 3. ANALISI GEOMETRICO-STATICA E DINAMICA 39 l''andamento di θ da fornire al controllo come dato in retroazione (sezione 4.2) o durante la fase di pianificazione della traiettoria (sez. 5.1). 3.2.4 Dinamica inversa La dinamica inversa consiste nel calcolare il valore delle coppie ai motori κ note posizione, velocit` a e accelerazione dell''organo terminale. La soluzione non avviene per integrazione come nella dinamica inversa, ma direttamente si pu` o riscrivere l''equazione del moto 3.35 nella forma: κ = S # (M eq ¨ x + N '' r wext) (3.36) Si noti che poich´ e S non ` e invertibile (` e una matrice 3x2), bisogna ricorrere alla pseudoinversa S# S # = (ST S)''1 ST che pur fornendo una soluzione approssimata, garantisce che la κ trovata abbia norma minima tra tutte le soluzioni possibili. Per un approfondimento sulla definizione di pseudoinversa e sulle sue propriet` a, si veda la sezione 1.1.2 . La dinamica inversa ` e fondamentale durante la fase di controllo: come vedremo infatti nella sezione 4.1, la legge di controllo ` e generata a partire dall''equazione 3.36, ed ` e pertanto fondamentale avere un''ottima conoscenza dei parametri geometrici e inerziali per fornire al sistema un valore di coppia κ che generi un moto il pi` u vicino possibile a quello pianificato. 3.3 Conclusioni In questo capitolo ` e stata trattata l''analisi cinematica e dinamica del model- lo di robot a cavi studiato. E'' stato evidenziato il fatto che, se il problema cinematico inverso ` e sempre definito (nota la posizione dell''organo terminale sono definite le lunghezze dei cavi), il problema cinematico diretto ammette infinite soluzioni; ` e tuttavia possibile determinare quali posizioni assume il robot in condizioni di equilibrio geometrico-statico, note le lunghezze dei ca- vi. Similmente ` e stato definito il problema geometrico-statico inverso, che CAPITOLO 3. ANALISI GEOMETRICO-STATICA E DINAMICA 40 prevede di determinare l''inclinazione dell''organo terminale e le lunghezze dei cavi note le sole coordinate del centro di massa. Le equazioni del moto sono state ricavate mediante un approccio di tipo newtoniano, evidenziando le forze e le coppie agenti sull''organo terminale e sui motori che avvolgono i cavi. E'' stato definito quindi il problema dinami- co diretto (note le coppie applicate ai motori, conoscere l''andamento delle coordinate libere), e sono state fatte delle considerazioni su una soluzione approssimata del problema dinamico inverso. Capitolo 4 Controllo Il problema del controllo di un robot sottoattuato - seppure per un caso semplice come quello analizzato finora - si presenta come un tema complesso, con molti aspetti a cui prestare attenzione. Innanzitutto bisogna tenere in mente che il robot ha solo due attuatori mentre possiede tre gradi di libert` a: si potranno quindi controllare solo due delle tre coordinate libere. Una seconda complicazione ` e dovuta al fatto che gli attuatori agiscono sulle lunghezze dei cavi, che a loro volta in'uenzano tutte e tre le coordinate libere x, z e θ (fig. 4.1). Dalla semplice lettura degli encoder legati alle coordinate β1 e β2 dei rocchetti non sar` a possibile quindi passare alla e'ettiva posizione x, z, se non aggiungendo un sensore che legga l''inclinazione θ o stimando quest''ultima attraverso una simulazione. 4.1 Logica di controllo Si supponga che attraverso un pianificatore (come verr` a illustrato in seguito nella sezione 5) sia stata determinata la traiettoria di riferimento, espressa tramite il vettore xref (t) e le sue derivate ' xref (t) e ¨ xref (t). Si supponga inoltre di avere in retroazione una informazione completa sulla posizione attuale del robot, espressa tramite il vettore x; come vedremo in seguito questo vettore pu` o essere calcolato a partire da rilevazioni di tre sensori (2 encoder + sensore per la inclinazione) oppure stimato unendo i valori degli encoder a un valore stimato dell''angolo di inclinazione θ. Sottraendo x a xref si ottiene il vettore errore e, a cui si possono associare i guadagni propozionale Kp e derivativo Kd che saranno inseriti nella legge di controllo per ridurre l''errore stesso. Kp e Kd sono due matrici diago- nali i cui parametri sono scelti opportunamente per garantire la risposta 41 CAPITOLO 4. CONTROLLO 42 β1 β2 x z θ1 θ2 L1 L2 θ G Figura 4.1: Descrizione delle variabili del modello desiderata dal sistema di controllo e imponendo una risposta criticamente smorzata (Kd = 2 '' Kd). La legge di moto che ` e stata ricavata nel capitolo precedente (sez. 3.2.1) ` e qui riportata: Meq(x) ¨ x + N (x, ' x) = S(x) κ + r wext (4.1) dove Meq(x) `e la matrice di massa equivalente, N (x, ' x) racchiude i termini dinamici non lineari (smorzamento, forze di Coriolis), S(x) permette di esprimere le componenti cartesiane delle tensioni e gli e'etti sulle rotazioni, r ` e il raggio dei rocchetti e wext `e il vettore wrench esterno applicato. L''equazione 4.1 pu` o essere riscritta nella forma: S(x) κ = Meq(x) ¨ x + N (x, ' x) '' r wext (4.2) Si pu` o pensare quindi di utilizzare una legge di controllo apposita per andare a linearizzare il modello dinamico (come in [14]): S(x) κ = Meq(x) (¨ xref + Kd ' e + Kp e) + N (x, ' x) '' r wext (4.3) In questo modo, ricevendo in ingresso una coppia ricavata dall''equazione 4.3, il sistema risponde come se fosse costituito da tre oscillatori semplici, CAPITOLO 4. CONTROLLO 43 ottenuti combinando le equazioni 4.2 e 4.3: ¨ e + Kd ' e + Kp e = 0 (4.4) Il controllo riceve quindi in ingresso: ' L''errore e di posizione ' La posizione x e'ettiva ' La velocit`a 'x e'ettiva ' L''accelerazione ¨xref stimata e restituisce la coppia κ che deve essere erogata dagli attuatori (fig. 4.2). x e ' x ¨ x ref K p e + Kd ' e M eq(x) + + N (x, 'x) r wext + + '' S κ Calcolo coppia S# κ Controllo Figura 4.2: Schema di controllo Si noti che la legge di controllo 4.3 calcola il valore S(x) κ; per isolare κ bisognerebbe invertire la matrice S(x), ma non ` e possibile essendo questa una matrice 3 ' 2. Bisogna pertanto ricorrere alla pseudoinversa S#: S # = (ST S)''1 ST per isolare un valore della coppia κ che ` e il pi` u prossimo al valore e'ettivo che consente il moto desiderato. CAPITOLO 4. CONTROLLO 44 4.2 Retroazione Questa particolare legge di controllo richiede di sapere il valore della po- sizione e della velocit` a delle tre coordinate libere del robot, x, z e θ. La conoscenza di queste informazioni per` o ` e tutt''altro che scontata: se si vanno a leggere infatti solo i valori degli encoder sui motori, che restituiscono β1 e β2, la cinematica diretta per ottenere il vettore x fornisce infinite soluzioni; chiaramente la soluzione individuata nel capitolo 3.1.1 vale solo per l''equli- brio statico, e non ` e di aiuto in questo caso. Ci sono due possibilit` a per risolvere questo problema: 1. Stimare il valore di θ attraverso una simulazione (fig. 4.3). Si utilizza la coppia in ingresso fornita dal controllore per eseguire una simula- zione che fornisca il valore dell''inclinazione dell''asta θ; quindi si unisce questa informazione ai valori β letti dagli encoder. Si ripercorre qui parte della trattazione vista nella sezione 3.1.2; si pu` o legare legare β1 alla lunghezza del cavo L1 e β2 alla lunghezza L2. Ricordando le relazioni: s1x = x + r1x s1z = z + r1z s2x = x + r2x '' a2x s2z = z + r2z '' a2z dove si riportano per esteso: r1x = b1 cos θ cos '1 '' b1 sin θ sin '1 r1z = ''b1 sin θ cos '1 '' b1 cos θ sin '1 r2x = b2 cos θ cos '2 '' b2 sin θ sin '2 r2z = ''b2 sin θ cos '2 '' b2 cos θ sin '2 ` e possibile riscrivere le equazioni: L1 = '' s2 1x + s 2 1z (4.5) L2 = '' s2 2x + s 2 2z (4.6) CAPITOLO 4. CONTROLLO 45 che rappresentano le circonferenze descritte dai cavi tesi attorno ai punti fissi a telaio. Sottraendo 4.5 a 4.6 si ottiene una equazione dalla quale pu` o essere isolata x in funzione di z e θ: x = x(z, θ) (4.7) Sostituendo quindi l''eq. 4.7 nella 4.5, si ottiene una espressione di z in funzione di θ: z = z(θ) = z(θ, L1, L2) (4.8) Infine si sostituisce 4.8 in 4.7 per ottenere x = x(θ) = x(θ, L1, L2) (4.9) Quindi, ottenuto il valore di θ attraverso una simulazione del sistema (sez. 4.3.1) e note le lunghezze dei cavi L1 e L2 dagli angoli β1 e β2, ` e possibile determinare x e z attraverso le relazioni 4.8 e 4.9. Plant κ β1 β2 Simulatore θ Cinamatica diretta + θ x d dt 'x Figura 4.3: Retroazione con θ simulata 2. Il secondo modo di procedere consiste nell''inserire un sensore che per- metta di calcolare l''inclinazione θ (fig. 4.5). Sebbene sia possibile leggere direttamente l''inclinazione dell''asta, risulta tuttavia pi` u co- modo andare a leggere l''angolo di inclinazione dei cavi, che sono stati precedentemente chiamati θ1 e θ2. CAPITOLO 4. CONTROLLO 46 A 1 A 2 B 1 B 2 z x θ θ 1 θ 2 θ d s1 s2 sd r21 G Figura 4.4: Schematizzazione dei vettori; r21, s2 e sd formano la diade
analizzata. Si supponga di conoscere l''angolo θ1. Si vuole trovare quindi l''angolo θ attraverso la diade formata dai vettori r21 = r2 '' r1, s2 e sd che collega il punto A2 con B1 (fig. 4.4). Il modulo del vettore sd pu` o essere determinato come segue: ||sd|| = '' (a2x '' L1 cos θ1)2 + (a2z '' L1 sin θ1)2 (4.10) mentre l''angolo θD che sd forma rispetto all''asse x pu` o essere espresso come θD = atan2(a2z '' L1 sin θ1, a2x '' L1 cos θ1) (4.11) Per quando riguarda il modulo di r21 pu` o essere calcolato come segue. Si esplicitano prima le componenti r21x e r21z: r21x = b2 cos θ cos '2 '' b2 sin θ sin '2 '' b1 cos θ cos '1 + b1 sin θ sin '1 = cos θ(b2 cos '2 '' b1 cos '1) '' sin θ(b2 sin '2 '' b1 sin '1) = cos θ a '' sin θ b (4.12) CAPITOLO 4. CONTROLLO 47 r21z = ''b2 sin θ cos '2 '' b2 cos θ sin '2 + b1 sin θ cos '1 + b1 cos θ sin '1 = '' cos θ(b2 sin '2 '' b1 sin '1) '' sin θ(b2 cos '2 '' b1 cos '1) = '' cos θ b '' sin θ a (4.13) Si pu` o quindi calcolare il modulo di r21: ||r21|| = '' r2 21x + r 2 21z = '' a2 + b2 '' 2ab sin θ cos θ + 2ab sin θ cos θ = '' a2 + b2 = '' b2 1 + b 2 2 '' 2b1b2 cos('1 '' '2) (4.14) Da ora in poi si user` a la notazione sd = ||sd|| e r21 = ||r21||. Si pu` o quindi scrivere l''equazione di chiusura della diade: { L2 cos θ2 L2 sin θ2 } = { sd cos θD sd sin θD } + { r21 cos θ ''r21 sin θ } (4.15) Elevando al quadrato si ottiene: L 2
2 = s 2
d + r 2 21 + 2sd r21 cos θD cos θ '' 2sd r21 sin θD sin θ = s 2
d + r 2 21 + 2sd r21 cos(θD + θ) (4.16) da cui si ottiene cos(θd + θ) = L2 2 '' s 2
d '' r 2 21 2rd r21 (4.17) e si sceglie la soluzione positiva per il seno: sin(θd + θ) = '' 1 '' ( L2 2 '' s 2
d '' r 2 21 2rd r21 ) (4.18) CAPITOLO 4. CONTROLLO 48 Si trova infine l''angolo θ: θ = atan2(sin(θd + θ), cos(θd + θ)) '' θd (4.19) I valori di x e z derivano di conseguenza dalle relazioni: x = L1 cos θ1 '' r1x z = L2 sin θ1 '' r1z Plant κ β1 β2 Cinamatica diretta + θ x d dt 'x θ1 Calcolo θ θ Figura 4.5: Retroazione con θ calcolata da misurazioni 4.3 Simulatore del modello dinamico 4.3.1 Sistema attuato Il simulatore del modello dinamico accetta in ingresso le coppie κ e restitui- sce gli angoli β dei motori, il valore dell''angolo θ e la sua derivata rispetto al tempo. La lettura diretta del valore di θ ` e un vantaggio rispetto alla realt` a sperimentale, dove l''inclinazione dell''asta ` e calcolata indirettamente a partire dagli angoli θ1 o θ2 (si veda il paragrafo precedente 4.2). In particolare il simulatore calcola tramite dinamica diretta a partire da κ il vettore accelerazione ¨ x. Per successive integrazioni si ottengono ' x e x (che rientrano in retroazione nell''equazione della dinamica diretta); infine attraverso la cinematica inversa a partire da x si calcolano i valori di β, che corrispondono ai valori che sperimentalmente vengono letti dagli en- coder. E'' quindi possibile estrarre dai vettori x e ' x la componente θ e ' θ dell''inclinazione (si confronti lo schema in figura 4.6). CAPITOLO 4. CONTROLLO 49 κ Dinamica diretta ¨ x 'x x Cinematica inversa β ' θ θ R dt R dt Figura 4.6: Schema del simulatore del modello dinamico 4.3.2 Evoluzione libera E'' utile simulare anche l''evoluzione libera del sistema dinamico; si tratta di avere un modello che fornisca l''andamento delle coordinate x, z e θ e delle tensioni '1 e '2 qualora i motori siano fermi e di conseguenza le lunghezze dei cavi rimangano costanti. Questo modello ` e utile per simulare la risposta del sistema quando ` e sog- getto a una perturbazione dallo stato di equilibrio ad un istante iniziale: pu` o trattarsi di una posizione di partenza diversa dal punto di equilibrio statico, oppure una condizione di velocit` a/accelerazione iniziali non nulle. Queste condizioni si presentano anche quando si arresta il sistema dopo aver percorso una traiettoria pianificata: i motori si fermano, le lunghezze dei cavi rimangono costanti, tuttavia poich´ e non ` e possibile controllare tutte e tre le coordinate, il sistema potrebbe non trovarsi in una condizione di equilibrio; il modello dell''evoluzione libera simula quindi le oscillazioni del sistema intorno alla posizione di equilibrio a cui esso tende. Siano note le condizioni iniziali del sistema; in particolare si suppone di conoscere il vettore di posizione x e le sue derivate ' x e ¨ x. L''equilibrio dinamico dell''organo terminale ` e espresso come: M ¨ x = S(x)' + wext (4.20) Note le condizioni iniziali ` e possibile calcolare il valore iniziale della matrice S(x), definita in 3.32. Si scomponga ora l''equazione 4.20 in una parte riferita all''equilibrio alla CAPITOLO 4. CONTROLLO 50 traslazione e in una parte riferita all''equilibrio alle rotazioni: Mxz ¨ xG = Sxz' + fext (4.21) Ie ¨ θ = S T θ ' + kext (4.22) ¨ xG `e un vettore che contiene le accelerazioni delle coordinate xe z del centro di massa. Mxz `e una sottomatrice 2 ' 2 di M, sulla cui diagonale appare la massa m dell''organo terminale. La matrice S ` e stata divisa in una matrice Sxz composta dalle prime due righe di S, e in un vettore Sθ costituito dalla terza riga di S; Sxz contiene i termini che permettono di scomporre le tensioni ' nelle componenti cartesiane, mentre Sθ contiene i termini che permettono di esprimere gli e'etti che le tensioni ' hanno sulla rotazione dell''organo terminale. Si possono quindi ottenere i valori delle tensioni dalla 4.21: ' = S'' 1 xz (Mxz ¨ xG '' fext) (4.23) mentre dalla 4.22 si pu` o ricavare il valore dell''accelerazione ¨ θ: ¨ θ = ( ST θ ' + kext ) Ie (4.24) Integrando numericamente ¨ θ(t), si ottengono i valori della velocit` a ' θ(t) e della posizione θ(t) che il sistema assume all''istante temporale successivo. Questo valore di θ(t) dipende quindi dal sistema di forze che agisce sull''or- gano terminale e dalle condizioni iniziali. Poich´ e i motori sono fermi e i cavi mantengono una lunghezza fissa, se cambia il valore di θ(t), cambiano di conseguenza i valori di x(t) e di z(t): questi ` e possibile calcolarli grazie alle espressioni note dalle equazioni 4.8 e 4.9. Ugualmente ` e possibile legare all''andamento di θ(t) le derivate 'x(t), 'z(t) e ¨ x(t), ¨ z(t), andando a derivare le equazioni 4.8 e 4.9: 'x(t) = d (x(θ(t), L1, L2)) dt (4.25) 'z(t) = d (z(θ(t), L1, L2)) dt CAPITOLO 4. CONTROLLO 51 Calcolo
tensioni Calcolo ¨ θ '1 '2 'θ R dt R dt θ Calcolo x (θ, L1, L2) e z (θ, L1, L2) x Calcolo S f ext ¨ θ Calcolo ¨ x (θ, L1, L2) e ¨ z (θ, L1, L2) kext S xz Sθ Figura 4.7: Schematizzazione del modello di evoluzione libera del sistema ¨ x(t) = d ( 'x(θ(t), L1, L2)) dt (4.26) ¨ z(t) = d ( 'z(θ(t), L1, L2)) dt Con i nuovi valori di posizione x z e θ ` e possibile calcolare nuovamente la matrice S. I nuovi valori di accelerazione ¨ x e ¨ z vengono utilizzati quindi per calcolare le nuove tensioni ' . Ciclando come descritto ` e quindi possibile simulare l''andamento del sistema per un orizzonte temporale a scelta. L''algoritmo ` e schematizzato in figura 4.7. Si noti che il sistema simulato non ` e smorzato: volutamente non sono stati introdotti termini di smorzamento per non inserire ulteriori ipotesi nel modello. 4.4 Conclusioni In questo capitolo ` e stata studiata una logica di controllo che permetta di ridurre l''errore tra la posizione pianificata e quella e'ettiva, risultato del- l''evoluzione dinamica del robot. Il valore in retroazione, espresso mediante le coordinate libere x z e θ, non pu` o essere ottenuto dalla sola lettura della posizione dei motori, ma deve essere integrato con la lettura dell''inclinazio- CAPITOLO 4. CONTROLLO 52 ne dei cavi o con un dato fornito da un simulatore dinamico; nel primo caso l''accuratezza del valore di posizione e'ettivo dell''organo terminale dipende dall''accuratezza della strumentazione atta alla lettura dell''inclinazione dei cavi; nel secondo caso dipende dall''accuratezza del modello implementato dal simulatore. Infine sono stati presentati i due modelli con i quali viene simulata la rispo- sta dinamica del robot; il primo simula il comportamento del robot durante il moto, con i motori azionati; il secondo simula il caso in cui i motori siano fermi e le lunghezze dei cavi mantenute costanti. Capitolo 5 Pianificazione della traiettoria Si ponga come obiettivo del pianificatore la determinazione del tempo mini- mo di percorrenza di una data traiettoria, e delle caratteristiche del moto, che consentano di mantenere le tensioni nei cavi positive e limitate entro un valore minimo 'min e un valore massimo 'max. Nel caso del robot sottattuato considerato ` e possibile pianificare il moto solo per due coordinate, ad esempio x e z, mentre la terza, θ, ha una evoluzione che ` e conseguenza delle forze agenti sull''organo terminale (in parte dovute all''andamento di x e di z). Si vuole analizzare quindi l''evoluzione della terza coordinata per capire come condizionarne l''andamento intervenendo indirettamente sulle altre due. Lo studio della pianificazione della traiettoria si articola quindi in tre fasi: 1. Ricavare dalle equazioni della dinamica le espressioni che descrivono l''andamento delle tensioni rispetto alle coordinate di traiettoria. 2. Scegliere una legge di moto e descrivere il moto lungo il percorso attraverso una coordinata curvilinea. 3. Sviluppare un algoritmo che permetta di ottimizzare il tempo di per- correnza in base ai vincoli sulle tensioni o sulla terza coordinata non controllata. 53 CAPITOLO 5. PIANIFICAZIONE DELLA TRAIETTORIA 54 5.1 Calcolo delle tensioni dei cavi Facendo riferimento al modello descritto nel capitolo 3, le equazioni di equilibrio per l''organo terminale possono essere espresse come S ' + wext = M ¨ x (5.1) dove S ` e una matrice che in colonna presenta le componenti cartesiane e il braccio dei versori delle tensioni dei cavi rispetto al centro di massa, ed ` e funzione della posizione x: S = 
  '' cos θ1 '' cos θ2 '' sin θ1 '' sin θ2 br1 br2 
  M ` e la matrice di massa: M = 
  m 0 0 0 m 0 0 0 Ie 
  e wext `e il vettore wrench che riassume le forze e le coppie esterne agenti: wext = 
  fext cos 'f fext sin 'f kext 
  La dinamica diretta ` e definita: dati i valori delle tensioni ' = [ '1 '2 ] ` e possibile determinare univocamente le accelerazioni ¨ x. Non ` e vero invece il contrario: in generale, dati dei valori di accelerazione ¨ x = [ ¨ x ¨ z ¨ θ ] T , ` e possibile che non esistano delle tensioni ' in grado di generare esattamente quelle accelerazioni. Questo si giustifica ricordando che la soluzione della dinamica inversa non ` e esatta (sez. 3.2.4); in generale infatti la soluzione del problema dinamico inverso passa per il calcolo della pseudoinversa della matrice S, ed ` e pertanto approssimata. Nella pianificazione del movimento di questo robot sottoattuato non ` e possibile pianificare l''andamento di uno dei tre gradi di libert` a, ma ` e possi- bile studiarne l''evoluzione noto l''andamento delle altre due coordinate e le forze che agiscono. Ad esempio si pu` o scegliere di pianificare il moto di x(t) CAPITOLO 5. PIANIFICAZIONE DELLA TRAIETTORIA 55 e z(t) e ottenere θ(t) come conseguenza delle forze esterne che agiscono e delle tensioni dei cavi; si tenga conto che a loro volta le tensioni dipendono sia dall''andamento di x(t) e z(t) che di θ(t). Si divida l''equazione 5.1 nelle due equazioni che descrivono l''equilibrio dina- mico alle traslazioni e nell''equazione che descrive l''equilibrio dinamico alle rotazioni: [ '' cos θ1 '' cos θ2 '' sin θ1 '' sin θ2 ] [ '1 '2 ] + [ fext cos 'f fext sin 'f ] = [ m 0 0 m ] [ ¨ x ¨ z ] (5.2) [ br1 br2 ] [ '1 '2 ] + kext = Ie ¨ θ (5.3) Si supponga ora di pianificare ¨ x(t) e ¨ z(t); dalle equazioni 5.2 ` e possibile quindi ricavare l''andamento delle tensioni '1(t) e '2(t). Il valore dell''acce- lerazione ¨ θ si ottiene di conseguenza dalla eq. 5.3, note '1 e '2. Si faccia attenzione per` o che i termini che vengono premoltiplicati alle tensioni, ot- tenuti dividendo la matrice S iniziale, dipendono non solo dai valori di x e z, ma anche di θ, che non ` e noto a priori. E'' possibile ottenere comunque l''andamento delle tensioni e di ¨ θ a partire dallo stato iniziale, con il seguente procedimento: 1. Pianificato l''andamento di ¨ x e ¨ z, al tempo t = 0 = t0 si calcola la matrice S con i valori noti x(t0), z(t0), θ(t0). 2. Dalle equazioni 5.2 si trova '1(t0) e '2(t0). 3. Dall''equazione 5.3 si ricava ¨ θ(t0). 4. Si calcola quindi la velocit` a ' θ e il valore θ all''istante successivo '1 = t0 + dt. ' θ('1) = ' θ(t0) + ¨ θ(t0) dt θ('1) = θ(t0) + 'θ(t0) dt + 1 2 ¨ θ(t0) dt 2 5. Si ripete il procedimento fino a t = tf , dove tf `e il tempo totale di percorrenza della traiettoria. CAPITOLO 5. PIANIFICAZIONE DELLA TRAIETTORIA 56 5.2 Legge di moto Qualsiasi sia il tipo di percorso che si voglia pianificare (rettilineo, circolare, curvilineo), ` e importante scegliere con quale legge di moto lo si vuole per- correre. Per legge di moto si intende l''evoluzione nel tempo della coordinata curvilinea l(t), che rappresenta la posizione lungo la traiettoria in funzione del tempo, e assume il valore 0 nel punto iniziale e Lf nel punto finale. l(t) ` e quindi una lunghezza che esprime la porzione di traiettoria percorsa al tempo t (5.1). l (t) l (0) = 0 l (tf ) = Lf Figura 5.1: Rappresentazione di un percorso generico e della coordinata
cuvilinea l(t) Una delle pi` u frequentemente usate nella robotica industriale ` e la legge trapezoidale (fig. 5.2), cio` e una legge di moto che prevede una accelerazione in un tratto iniziale, il mantenimento costante della velocit` a in un secondo tratto, e la completa decelerazione fino all''arresto. Tuttavia, pur forte della sua semplicit` a, questa legge di moto mal si adatta alla pianificazione del movimento nei robot a cavi, perch´ e le discontinuit` a nel profilo di accelera- zione pu` o portare a dei bruschi cambiamenti di tensioni nei cavi e produrre vibrazioni indesiderate. In letteratura [20] ` e stata avanzata anche la possibilit` a di studiare un profilo di velocit` a ottimizzato per lo specifico percorso che si desidera se- guire; questo significa cercare in ciascun punto del percorso la massima accelerazione che consenta di mantenere le tensioni positive e limitate. Si ritiene per` o che per il robot che si sta analizzando sia da preferire un tipo di traiettoria pi` u semplice e che garantisca una discreta uniformit` a del moto. CAPITOLO 5. PIANIFICAZIONE DELLA TRAIETTORIA 57 t ' l tf 0 ta td tan β = ai ''tacc ''tdec tan α = as Figura 5.2: Legge con profilo di velocit` a trapezoidale Si propone pertanto utilizzare una legge di tipo polinomiale di quinto grado [17]-[40] per evitare discontinuit` a nelle accelerazioni, e conseguente- mente jerk limitato e continuo (esclusi gli estremi) (fig. 5.3). t ' l 0 tf tm = tf 2 ' lmax Figura 5.3: Legge polinomiale La coordinata curvilinea pu` o essere espressa come l(t) = b0 + b1 t + b2 t 2 + b 3 t 3 + b 4 t 4 + b 5 t 5 (5.4) Imponendo le condizioni di annullamento della velocit` a e dell''accelera- zione agli estremi della traiettoria, 'l(0) = 'l(tf ) = 0 e ¨l(0) = ¨l(tf ) = 0, si CAPITOLO 5. PIANIFICAZIONE DELLA TRAIETTORIA 58 ottengono i valori dei coe'cienti: b0 = b1 = b2 = 0 (5.5) b3 = 10 ( Lf t3 f ) b4 = ''15 ( Lf t4 f ) b5 = 6 ( Lf t5 f ) L''andamento della traiettoria ` e simmetrico: nella prima met` a della tra- iettoria l''accelerazione ` e sempre positiva, mentre nella seconda met` a ` e sem- pre negativa. In tm = tf 2 si ha la velocit` a massima: 'l max = 15 8 Lf tf (5.6) I massimi valori di accelerazione e decelerazione sono uguali in modulo e valgono: ¨ lmax = 10 '' 3 Lf t2 f (5.7) Un vantaggio nell''utilizzo di questo tipo di traiettoria ` e che i valori della velocit` a massima e della accelerazione massima sono funzione del tempo di percorrenza tf . 5.3 Parametri di traiettoria Nel robot considerato, per ogni valore di l(t) sono associati univocamente i valori di x(t) e z(t); l''andamento di θ(t) invece non dipende solo da l ma an- che dalle forze che insorgono durante il movimento. Questo risulta evidente dalle considerazioni fatte nella precedente sezione: sono le accelerazioni im- poste ¨ x(t) e ¨ z(t) che richiedono dei precisi valori delle tensioni '1(t) e '2(t), dai quali deriva l''accelerazione angolare ¨ θ(t) e quindi l''evoluzione di θ(t) lungo la traiettoria. Vi ` e correlazione tra l''andamento di θ(t) e l(t) solo nel caso in cui il robot faccia un movimento quasistatico, cio` e se il tempo tf di percorrenza della CAPITOLO 5. PIANIFICAZIONE DELLA TRAIETTORIA 59 traiettoria ` e su'cientemente grande per ipotizzare che in ogni punto siano rispettate le condizioni di equilibrio statico. In tal caso, il valore di θ non dipende dal tempo ma ` e funzione di x e z come visto nella sezione 3.1.1, e quindi ` e funzione di l. Non potere legare l''angolo θ alla coordinata l non costituisce un im- pedimento alla pianificazione del moto per quanto visto nella sezione 5.1, infatti ` e su'ciente poter pianificare l''andamento di ¨ x(t) e ¨ z(t) per stabilire l''andamento delle tensioni nei cavi. A tal fine si vuole legare ¨ x(t) e ¨ z(t) direttamente a ¨ l(t), cio` e l''accelerazione della coordinata curvilinea. Si osserva che si possono legare le accelerazioni del centro di massa alle accelerazioni 'l tramite la relazione: ' xG = [ 'x 'z ] = [ ''x ''l ''z ''l ] 'l = [ x' z' ] 'l = x' G 'l (5.8) Si deriva poi l''espressione delle accelerazioni: ¨ xG = [ ¨ x ¨ z ] = [ ''x ''l ''z ''l ] ¨ l + [ ''2x ''l2 ''2z ''l2 ] 'l2 = x' G ¨ l + x'' G 'l2 (5.9) Pertanto, calcolate per ogni punto della traiettoria le derivate parziali x' G e x '' G, basta definire l''andamento di l(t) per ricavare x(t), z(t) e le loro derivate rispetto al tempo. 5.4 Tensioni positive e limitate L''obiettivo che ci si pone ` e trovare il tempo minimo di esecuzione della legge di moto polinomiale tale da assicurare tensioni nei cavi sempre positive e limitate entro i valori 'min e 'max. Abbiamo visto come l''andamento l(t) dipenda direttamente da tf , perch´e i coe'cienti della legge polinomiale di quinto grado sono funzioni del tempo di percorrenza. Il tempo tf `e un para- metro chiave anche per l''andamento delle tensioni: '1 e '2 dipendono infatti dalle accelerazioni del centro di massa (funzioni di l(t), e quindi di tf ), e dalla posizione x, z, θ assunta dall''organo terminale in ogni punto. Se x(t) e z(t) sono chiaramente funzioni di tf , l''andamento di θ(t) ne `e in'uenzato in quanto ` e diretta conseguenza delle accelerazioni scelte per il centro di CAPITOLO 5. PIANIFICAZIONE DELLA TRAIETTORIA 60 massa (sez. 5.1). 5.4.1 Condizioni quasistatiche Se il percorso scelto ` e realizzabile staticamente, l''organo terminale potrebbe rimanere in ogni posizione a tempo infinito, ed ` e verificato per tutti i punti della traiettoria 'min ' ' ' 'max. Nel caso tf sia molto grande, il moto ` e quasistatico (θ(t) = θs(t)) e le tensioni '1 e '2 corrispondono in prima approssimazione alle tensioni che si ottengono in condizioni statiche lungo tutti i punti della traiettoria. Si vuole trovare qual ` e il minimo tempo tf di esecuzione della legge di moto polinomiale tale per cui l''evoluzione di θ(t) pu` o essere considerata quasistatica; si cerca cio` e il tempo tf tale per cui le forze che agiscono sul sistema producano un andamento di θ(t) la cui di'erenza, punto per punto, dal valore statico θs non sia mai pi` u grande di un valore δθ, scelto piccolo a piacere; in formule: tf | '' 0 ' t ' tf '' |θ(t) '' θs(t)| < δθ (5.10) Ribattezziamo tfq questo particolare tempo di esecuzione. Per trovare tfq si parte da un valore tf piccolo a piacere e si cerca di au- mentare il tempo di percorrenza al massimo, fermandosi quando risulta verificata la condizione 5.10. 5.4.2 Tempo di minima percorrenza Individuato un percorso realizzabile staticamente, lungo il quale le tensioni risultano positive e limitate, si osserva che ` e possibile diminuire il tempo esecuzione tf , modificando di conseguenza l''andamento delle tensioni '1(t) e '2(t) lungo la traiettoria; si cerca quindi di ridurre il tempo di percorrenza al massimo a partire dal valore tfq, verificando che le tensioni rimangano sempre positive e limitate. In formule, si cerca: tf | '' 0 ' t ' tf '' max('1(t), '2(t))| tf
0 < 'max min('1(t), '2(t)) | tf
0 > 'min (5.11) CAPITOLO 5. PIANIFICAZIONE DELLA TRAIETTORIA 61 Ogni volta che si riduce il tempo di percorrenza tf , si ricalcolano gli andamenti di l(t), ¨ x(t), ¨ z(t), ¨ θ(t) e quindi le tensioni '1(t) e '2(t); fintan- toch´ e le tensioni rimangono lungo tutta la traiettoria entro i limiti imposti, ` e possibile dimiuire ulteriormente tf . Procedendo in questo modo si trova il tf minimo che consente di mantenere le tensioni entro il range ammissibile. Questo valore tf viene ribattezzato tfa. Raggiunto il punto xf e zf `e possibile pianificare nuovamente il movimen- to del robot lungo una traiettoria diversa, senza raggiungere un arresto completo. 5.5 Condizioni di arresto Si supponga invece che al termine del percorso si voglia arrestare il robot. I motori vengono fermati e le lunghezze dei cavi non possono pi` u variare. Al tempo t = tfa il sistema si trova nello stato descritto in seguito (fig. 5.4): ' x(tfa) e z(tfa) corrispondono alle posizioni pianificate xf e zf di fine percorso; θ(tfa) invece assume posizioni che in generale si discostano da quella di equilibrio statico θs. ' Le velocit`a 'x e 'z si annullano come conseguenza della legge polinomiale imposta, mentre in generale ' θ(tfa) `e diversa da zero. ' Le lunghezze dei cavi L1 e L2 si trovano, tramite cinematica indiretta, dai valori xf , zf e θ(tfa) (eq. 3.5). θ s t θ t f a 0 0 Figura 5.4: Andamento della coordinata θ nel tempo di percorrenza tfa
rispetto alle corrispondenti posizioni statiche, e successive oscillazioni Se θ(tfa) `e lontano da θs associato ai valori xf e zf , il sistema dopo una serie di oscillazioni tender` a ad assestarsi in un punto di equilibrio diverso da xf e zf : questo si spiega con il fatto che le le lunghezze dei cavi al tempo tfa CAPITOLO 5. PIANIFICAZIONE DELLA TRAIETTORIA 62 non coincidono a quelle al tempo tfq del caso quasistatico; come visto nella sezione 3.1.2, a lunghezze di cavi diverse corrispondono punti di equilibrio geometrico-statico diversi, e il punto di equilibrio associato alle lunghezze dei cavi al tempo tfa `e diverso da quello della configurazione quasistatica al tempo tfq. Inoltre l''ampiezza delle oscillazioni attorno al punto di equilibrio aumenta se il valore di ' θ(tf ) `e diverso da zero. E'' in teoria possibile ridurre l''entit` a del fenomeno oscillatorio, o comun- que riuscire a far coincidere il punto di equilibrio con il punto di arresto pianificato, agendo ancora una volta sul tempo tf . Si ` e visto come modificando il tempo di esecuzione tf si intervenga sulle forze agenti sull''organo terminale e come questo in'uenzi l''andamento della coordinata θ(t). Se il modello dinamico con cui si calcola l''andamento delle tensioni dei cavi e di θ ` e aderente alla realt` a, ` e possibile cercare qual ` e il tem- po tf che consenta di ottenere un angolo θ(tf ) prossimo al corrispondente valore statico θs per le medesime x(tf ) e z(tf ). In formule, si cerca tf | |θ(tf) '' θs(tf)| < δθ (5.12) Dove δθ ` e un valore piccolo a piacere. Questo valore di tf sar` a compreso tra il valore minimo di percorrenza tfa e il valore di percorrenza con moto quasistatico tfq: tfa < tf < tfq. Analogamente, nello stesso intervallo si cerca un tempo tf che produca un sistema di forze che induca la velocit` a ' θ(tf ) essere prossima a zero: tf | 'θ(tf) '' 'θs(tf) < δ 'θ (5.13) dove δ ' θ ` e un valore di velocit` a angolare piccolo a piacere. Unendo le condizioni 5.12 e 5.13 ` e possibile ottenere il valore tfs che consente non solo di rispettare la condizione sulla positivit` a e limitatezza delle tensioni, ma che permette un arresto nel punto pianificato, limitando il fenomeno oscillatorio (fig. 5.5). CAPITOLO 5. PIANIFICAZIONE DELLA TRAIETTORIA 63 θ s t θ t f s 0 0 Figura 5.5: Andamento della coordinata θ nel tempo di percorrenza tfs
rispetto alle corrispondenti posizioni statiche, e successive oscillazioni 5.6 Conclusioni In questo capitolo ` e stato a'rontato il problema della pianificazione della traiettoria. Si ` e evidenziato ancora una volta come la natura sottoattuata del sistema ponga un limite sul numero di parametri che possono essere pianificati; ` e stata mostrata una soluzione in cui viene pianificato il moto delle sole coordinate x e z, mentre l''evoluzione di θ resta subordinata alla distrubuzione delle forze sull''organo terminale durante il movimento. E'' stata quindi adottata una legge di moto di tipo polinomiale e si ` e studiato qual ` e il tempo minimo per percorrere un dato percorso garantendo che le tensioni nei cavi rimangano sempre positive e limitate. Sono state indagate infine le condizioni che permettono un arresto del robot a fine traiettoria, contenendo le oscillazioni dovute al grado di libert` a non controllato. Capitolo 6 Simulazioni L''obiettivo delle simulazioni ` e studiare il comportamento del robot, sot- toposto a carichi diversi e lungo percorsi diversi. Per ogni simulazione si traccer` a l''andamento delle tensioni e si analizzeranno eventuali scostamenti dalla traiettoria prevista; verr` a analizzata inoltre l''entit` a delle oscillazioni all''arresto del robot nel punto finale di una traiettoria. In tutte le simulazioni verr` a mantenuta costante la geometria, dati i para- metri riassunti in tabella 6.1. Si andr` a invece a modificare di caso in caso il valore della forza esterna applicata al centro di massa fext e della coppia esterna kext. Parametro Valore Unit` a a2x 1.0 m b1 0.1 m b2 0.1 m '1 5/6 ' rad '2 '/6 rad r 0.04 m Im 0.7 · 10''4 kg · m2 cm 0.4 · 10''4 N · m · s m 2 kg Ie 6.65 · 10''3 kg · m2 tmin 2 N tmax 200 N Tabella 6.1: Parametri di simulazione 64 CAPITOLO 6. SIMULAZIONI 65 A1 A2 B1 B2 z x G a2 x r Momento di inerzia: I m Costante di smorzamento viscoso: c m b1 b2 '2 '1 θ G b1 b2 Massa: m Momento di inerzia: I e Figura 6.1: Parametri geometrici del modello x0 = 0.4 m z0 = 0.3 m xf = 0.4 m zf = 0.8 m x z x z x0 = 0.25 m z0 = 0.5 m xf = 0.75 m zf = 0.5 m Figura 6.2: Rappresentazione delle due traiettorie rettilinee simulate CAPITOLO 6. SIMULAZIONI 66 6.1 Traiettoria rettilinea Si vuole simulare il movimento del robot lungo una traiettoria rettilinea. Si presentano in seguito due casi (6.2): 1. Movimento verticale, da x0 = 0.4 m z0 = 0.3 m a xf = 0.4 m zf = 0.8 m. 2. Movimento orizzontale, da x0 = 0.25 m z0 = 0.5 m a xf = 0.75 m zf = 0.5 m. Tutti e due i casi hanno una lunghezza di percorso Lf = 0.5 m. 6.1.1 Movimento verticale m g fext fext kext A) B) C) Figura 6.3: Rappresentazione dei tre casi analizzati Si conducono in parallelo le simulazioni per tre casi (6.3): ' Caso A: L''organo terminale `e sottoposto alla sola forza peso: fext = 2 · 9.81 = 19.62 N. ' Caso B: All''organo terminale `e agganciato un carico di 50 N in corri- spondenza del baricentro. Di conseguenza fext = 69.62 N . ' Caso C : All''organo terminale `e agganciato un carico di 50 N sbilan- ciato. Al baricentro ` e applicato quindi un carico equivalente fext = 69.62 N e una coppia kext = 1 N · m. Si seguono i seguenti step: ' Si calcolano i tempi di percorrenza minimi tfq per cui il movimento pu` o essere considerato quasistatico (si veda sez. 5.4.1). CAPITOLO 6. SIMULAZIONI 67 Il moto ` e quasistatico se, in ogni punto della traiettoria, il robot sa- rebbe in grado di mantenere la posizione raggiunta per un tempo in- definito. E'' possibile pertanto calcolare per ogni valore di x e z della traiettoria il corrispondente valore di equilibrio θs che il robot assu- merebbe se fosse staticamente fermo in quel punto; scelto un tempo di percorrenza della traiettoria tf si verifica in ogni punto quanto il reale andamento dell''angolo θ si discosta dal valore statico. Si sce- glie un valore δθ di scostamento e si cerca qual ` e il minimo tempo di percorrenza tfq che garantisca che in ogni punto della traiettoria sia verificata la condizione: tfq | '' 0 ' t ' tfq '' |θ(t) '' θs(t)| < δθ (6.1) E'' stato scelto per le simulazioni un valore δθ = 0.002 rad (0.11'). In figura 6.4 sono messe a confronto le tensioni dei cavi nei tre casi nel caso di moto quasistatico. ' Si usa l''algoritmo di pianificazione visto in sezione 5.4.2 per trovare il tempo minimo di esecuzione tfa della legge di moto polinomiale tale da assicurare tensioni nei cavi sempre positive e limitate entro i valori tmin e tmax. Si ipotizza che il punto di arrivo non sia un punto di arresto, ma che successivamente il robot si muova verso un secondo punto lungo una nuova traiettoria. Infatti al tempo tfa la velocit` a ' θ(tfa) sar` a in genera- le diversa da zero, e la posizione θ(tfa) sar` a diversa dal corrispondente valore di equilibrio statico; se si volesse arrestare l''organo terminale proprio al tempo tfa seguirebbe un moto oscillatorio consistente, at- torno a un punto di equilibrio diverso dal punto di arresto pianificato. In figura 6.5 si pu` o confrontare l''andamento delle coodinate x z e θ nei tre casi; in figura 6.6 ` e riportato l''andamento delle tensioni. ' Al fine di ridurre il fenomeno oscillatorio che potrebbe intervenire al- l''arresto del sistema, si pongono le condizioni viste nella sezione 5.5 sul raggiungimento del punto di equilibrio e sul valore della velocit` a ' θ(tf ). In particolare si cerca il tempo di percorrenza tfs che soddisfi la con- dizione: CAPITOLO 6. SIMULAZIONI 68 |θ(tf) '' θs(tf)| < δθ & 'θ(tf) '' 'θs(tf) < δ 'θ (6.2) Si impongono δθ = 0.002 rad e δ ' θ = 0.2 rad/s. In figura 6.7 ` e riportato l''andamento delle coordinate x, z e θ pianificando la traiettoria con un tempo di percorrenza tfs. I risultati delle simulazioni sono riassunti in tabella 6.2. I dati riportati sono i seguenti: ' Tempi di percorrenza della traiettoria tfq, tfa e tfs. ' Posizione finale θ(tf): nel caso quasistatico, θ(tfq) `e prossimo al valore all''equilibrio, come nel caso di pianificazione per l''arresto θ(tfs); nel caso di movimento rapido, θ(tfa) in generale `e diverso dal valore di equilibrio. ' Velocit`a angolare finale ' θ(tf ); nel caso quasistatico ' θ(tfq) tende a zero; nel caso di pianificazione per l''arresto ' θ(tfs) `e molto piccolo. Nel caso di movimento rapido, ' θ(tfa) assume valori non trascurabili. ' Posizione di equilibrio xeq, zeq e θeq corrispondendi alle lunghezze dei cavi al tempo tf , ottenuto mediante analisi geometrico-statica diretta (sez. 3.1.2): ` e la posizione di equilibrio a cui tenderebbe il robot nel caso di arresto completo a fine traiettoria. Nel caso di moto quasistati- co la posizione di equilibrio ` e prossima alla configurazione del sistema al tempo tfq; nel caso di pianificazione nel tempo di percorrenza tfs, il punto di equilibrio statico viene stimato per verificare che il sistema assuma la posizione corretta all''arresto del robot. Nel caso di movi- mento rapido questo dato eviedenzia come la pianificazione con il solo vincolo di tensioni ammissibili non sia adatta per prevedere l''arresto del sistema, ma solo per la pianificazione del passaggio per un punto di transito. Dalla lettura dei dati emergono le seguenti osservazioni: ' Il caso B fa registrare dei tempi di percorrenza della traiettoria pi`u bassi, poich´ e la forza esterna applicata gioca a stabilizzare il movi- mento. Si consideri infatti che il moto avviene in verticale e verso il basso: i cavi non sono in grado di spingere l''organo terminale verso il basso, pertanto l''accelerazione in discesa ` e limitata; la presenza di una CAPITOLO 6. SIMULAZIONI 69 Moto quasistatico # tfq [s] θ(tf ) [rad] ' θ(tf ) [rad/s] xeq [m] zeq [m] θeq [rad] A 1.05 -0.1791 0.0015 0.4000 0.8000 -0.1790 B 0.60 -0.1788 0.0003 0.4000 0.8000 -0.1790 C 3.35 -0.0569 0.0006 0.4000 0.8000 -0.0568 Tensioni ammissibili # tfa [s] θ(tf ) [rad] ' θ(tf ) [rad/s] xeq [m] zeq [m] θeq [rad] A 0.60 -0.1892 -0.3261 0.3990 0.8000 -0.1808 B 0.30 -0.1793 -0.9070 0.4000 0.8000 -0.1790 C 0.30 0.1536 -12.7211 0.4235 0.7890 -0.0179 Oscillazioni limitate # tfs [s] θ(tf ) [rad] ' θ(tf ) [rad/s] xeq [m] zeq [m] θeq [rad] A 0.75 -0.1796 0.1198 0.3999 0.8000 -0.1792 B 0.50 -0.1799 -0.0180 0.3999 0.8000 -0.1792 C 0.75 -0.0551 0.1850 0.4002 0.8000 -0.0566 Tabella 6.2: Riepilogo dei valori tf di percorrenza della traiettoria rettilinea
verticale e dei corrispondenti punti di equilibrio all''arresto forza verticale esterna permette invece che i cavi restino in tensione anche in presenza di accelerazioni elevate. ' Il caso C come prevedibile presenta il tempo di percorrenza quasi- statico tfq pi` u elevato a causa dell''e'etto destabilizzante della coppia esterna. Nel caso studiato tuttavia la presenza della coppia esterna non in'uenza in modo importante il raggiungimento delle tensioni li- mite, come si pu` o vedere dal tempo tfa, uguale al caso B ; vengono in'uenzate tuttavia le configurazioni finali θ(tfa) e 'θ(tfa) che si di- scostano molto dalle condizioni quasistatiche; ` e necessario un tempo maggiore tfs per stabilizzare la posizione dell''organo terminale in caso di totale arresto del moto. CAPITOLO 6. SIMULAZIONI 70 0 0.2 0.4 0.6 0.8 1 1.2 1.4 2 4 6 8 10 12 14 16 18 20 tempo [s] tensioni [N] ' 1 ' 2 ' min (a) Caso A 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0 10 20 30 40 50 60 70 tempo [s] tensioni [N] ' 1 ' 2 ' min (b) Caso B 0 0.5 1 1.5 2 2.5 3 3.5 0 10 20 30 40 50 60 70 tempo [s] tensioni [N] ' 1 ' 2 ' min (c) Caso C Figura 6.4: Andamento delle tensioni nel caso quasistatico, traiettoria
verticale CAPITOLO 6. SIMULAZIONI 71 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 ''0.2 ''0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 tempo [s] x [m] z [m]
θ s [rad] θ [rad] (a) Caso A 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 ''0.2 ''0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 tempo [s] x [m] z [m]
θ s [rad] θ [rad] (b) Caso B 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 ''0.6 ''0.4 ''0.2 0 0.2 0.4 0.6 0.8 tempo [s] x [m]
z [m]
θ s [rad] θ [rad] (c) Caso C Figura 6.5: Andamento delle coordinate z, z e θ per il tempo di percorrenza
tfa, traiettoria verticale CAPITOLO 6. SIMULAZIONI 72 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0 5 10 15 20 25 tempo [s] tensioni [N] ' 1 ' 2 ' min (a) Caso A 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0 10 20 30 40 50 60 70 80 90 tempo [s] tensioni [N] ' 1 ' 2 ' min (b) Caso B 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0 10 20 30 40 50 60 70 80 90 tempo [s] tensioni [N] ' 1 ' 2 ' min (c) Caso C Figura 6.6: Andamento delle tensioni per il tempo di percorrenza tfa,
traiettoria verticale CAPITOLO 6. SIMULAZIONI 73 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 ''0.4 ''0.2 0 0.2 0.4 0.6 0.8 1 tempo [s] coordinate x [m] z [m]
θ [rad] (a) Caso A 0 0.1 0.2 0.3 0.4 0.5 ''0.4 ''0.2 0 0.2 0.4 0.6 0.8 1 tempo [s] coordinate x [m] z [m]
θ [rad] (b) Caso B 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 ''0.4 ''0.2 0 0.2 0.4 0.6 0.8 1 tempo [s] coordinate x [m] z [m]
θ [rad] (c) Caso C Figura 6.7: Andamento delle coordinate x, z e θ per moto pianificato con
tempo di percorrenza tfs. Traiettoria verticale CAPITOLO 6. SIMULAZIONI 74 6.1.2 Movimento orizzontale Si procede come nel caso visto per il movimento verticale, distinguendo i tre casi: A in cui l''organo terminale ` e sottoposto alla sola forza peso, B in cui ` e applicata una forza verticale esterna fext = 50 N al centro di massa e C in cui ` e presente anche una coppia esterna kext = 1 N · m. I risultati delle simulazioni sono riassunti in tabella 6.3. La figura 6.8 riassume l''andamento delle tensioni nei casi quasistatici. In figura 6.9 ` e diagrammato l''andamento delle coordinate x, z e θ quando il moto ` e pianificato in tfa, e in figura 6.10 sono riportati gli andamenti delle tensioni. Infine in figura 6.11 ` e diagrammata l''evoluzione del sistema nel caso il robot venga arrestato dopo un tempo tfs. Moto quasistatico # tfq [s] θ(tf ) [rad] ' θ(tf ) [rad/s] xeq [m] zeq [m] θeq [rad] A 7.60 0.3814 0.0008 0.7500 0.5000 0.3812 B 4.05 0.3815 0.0009 0.7500 0.5000 0.3812 C 4.05 0.4778 0.0015 0.7500 0.5000 0.4777 Tensioni ammissibili # tfa [s] θ(tf ) [rad] ' θ(tf ) [rad/s] xeq [m] zeq [m] θeq [rad] A 0.50 0.3530 -0.5658 0.7485 0.5000 0.3784 B 0.25 0.4794 4.4208 0.7553 0.5007 0.3918 C 0.25 0.5123 6.4285 0.7519 0.4989 0.4746 Oscillazioni limitate # tfs [s] θ(tf ) [rad] ' θ(tf ) [rad/s] xeq [m] zeq [m] θeq [rad] A 2.95 0.3829 -0.0630 0.7501 0.5000 0.3814 B 1.10 0.3803 -0.1462 0.7500 0.5000 0.3812 C 1.10 0.4783 -0.1359 0.7500 0.5000 0.4776 Tabella 6.3: Riepilogo dei valori tf di percorrenza della traiettoria rettilinea
orizzontale e dei corrispondenti punti di equilibrio all''arresto Analizzando i risultati si osserva: ' Non c''`e sostanziale di'erenza tra il caso B in cui il carico `e applicato al centro di massa e il caso C in cui il carico ` e sbilanciato, se non per l''orientazione θeq di equilibrio finale. ' Il carico esterno applicato ha un e'etto stabilizzante sul robot e per- mette di sfruttare accelerazioni maggiori prima di scendere sotto al limite minimo delle tensioni tmin. CAPITOLO 6. SIMULAZIONI 75 0 1 2 3 4 5 6 7 8 2 4 6 8 10 12 14 16 18 tempo [s] tensioni [N] ' 1 ' 2 ' min (a) Caso A 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 0 10 20 30 40 50 60 tempo [s] tensioni [N] ' 1 ' 2 ' min (b) Caso B 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 0 10 20 30 40 50 60 tempo [s] tensioni [N] ' 1 ' 2 ' min (c) Caso C Figura 6.8: Andamento delle tensioni nel caso quasistatico, traiettoria
orizzontale CAPITOLO 6. SIMULAZIONI 76 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5 ''0.4 ''0.2 0 0.2 0.4 0.6 0.8 1 tempo [s] x [m] z [m]
θ s [rad] θ [rad] (a) Caso A 0 0.05 0.1 0.15 0.2 0.25 ''0.6 ''0.4 ''0.2 0 0.2 0.4 0.6 0.8 tempo [s] x [m] z [m]
θ s [rad] θ [rad] (b) Caso B 0 0.05 0.1 0.15 0.2 0.25 ''0.4 ''0.2 0 0.2 0.4 0.6 0.8 1 tempo [s] x [m] z [m]
θ s [rad] θ [rad] (c) Caso C Figura 6.9: Andamento delle coordinate z, z e θ per il tempo di percorrenza
tfa, traiettoria orizzontale CAPITOLO 6. SIMULAZIONI 77 0 0.1 0.2 0.3 0.4 0.5 0 5 10 15 20 25 30 tempo [s] tensioni [N] ' 1 ' 2 ' min (a) Caso A 0 0.05 0.1 0.15 0.2 0.25 0 20 40 60 80 100 120 tempo [s] tensioni [N] ' 1 ' 2 ' min (b) Caso B 0 0.05 0.1 0.15 0.2 0.25 0 20 40 60 80 100 120 tempo [s] tensioni [N] ' 1 ' 2 ' min (c) Caso C Figura 6.10: Andamento delle tensioni per il tempo di percorrenza tfa,
traiettoria orizzontale CAPITOLO 6. SIMULAZIONI 78 0 0.5 1 1.5 2 2.5 3 ''0.4 ''0.2 0 0.2 0.4 0.6 0.8 1 tempo [s] coordinate x [m] z [m]
θ [rad] (a) Caso A 0 0.2 0.4 0.6 0.8 1 1.2 1.4 ''0.4 ''0.2 0 0.2 0.4 0.6 0.8 1 tempo [s] coordinate x [m]
z [m]
θ [rad] (b) Caso B 0 0.2 0.4 0.6 0.8 1 1.2 1.4 ''0.4 ''0.2 0 0.2 0.4 0.6 0.8 1 tempo [s] coordinate x [m]
z [m]
θ [rad] (c) Caso C Figura 6.11: Andamento delle coordinate x, z e θ per moto pianificato con
tempo di percorrenza tfs. Traiettoria orizzontale CAPITOLO 6. SIMULAZIONI 79 6.2 Traiettoria circolare Si vuole simulare il movimento del robot lungo una traiettoria circolare. Si ` e scelto come centro della traiettoria il punto x = 0.4 m e z = 0.5 m; il raggio ` e R = 0.1 m. Si studiano quindi due casi (fig. 6.12): 1. Arco di cerchio: il robot e'ettua una mezza circonferenza, partendo dal punto x0 = 0.5 m z0 = 0.5 m e procedendo in verso antiorario fino al punto xf = 0.3 m zf = 0.5 m. 2. Tre giri completi: il robot e'ettua 3 giri completi in verso antiorario, partendo e arrivando nel punto x = 0.5 m e z = 0.5 m. R x 0 = 0.5 m z 0 = 0.5 m xf = 0.3 m zf = 0.5 m x z R x 0 ' xf = 0.5 m z 0 ' zf = 0.5 m x z '3 Figura 6.12: Traiettorie circolari simulate 6.2.1 Arco di cerchio Come nel caso della traiettoria rettilinea, si studia la risposta del sistema nei tre casi: ' Caso A: piattaforma mobile soggetta alla sola forza perso. ' Caso B: fext = 50 N, verticale verso il basso. ' Caso C : Oltre a fext agisce una coppia kext = 1 N: `e assimilabile ad un carico sbilanciato rispetto al centro di massa. Si procede quindi con il calcolare il tempo di percorrenza della traiettoria tfq che assicura un movimento quasistatico. Dopodich´e si prova a ridurre il tempo di percorrenza al minimo, fino a trovare il valore tfa, purch´e siano CAPITOLO 6. SIMULAZIONI 80 rispettati i limiti sulle tensioni dei cavi. Infine si calcola qual ` e il tempo di percorrenza ottimale tfq per ottenere un arresto del robot nel giusto punto di equilibrio ed evitando oscillazioni eccessive. I risultati delle simulazioni sono riportati in tabella 6.4. In figura 6.13 sono riportate le tensioni nel caso quasistatico. Vengono ri- portati poi i diagrammi degli andamenti delle coordinate x, z e θ nel tempo di percorrenza tfa (fig. 6.14); il corrispondente grafico delle tensioni (fig. 6.15) mostra un andamento sempre positivo e limitato entro i valori di ten- sione limite. Infine ` e diagrammata l''evoluzione delle coordinate nel tempo di percorrenza tfq insieme al movimento oscillatorio che ne segue (fig. 6.20). Anche in questo caso viene evidenziato come la presenza di un carico abbia un e'etto stabilizzante sul movimento del robot, mentre non si evi- denziano peggioramenti delle prestazioni nel caso di carico sbilanciato. Moto quasistatico # tfq [s] θ(tf ) [rad] ' θ(tf ) [rad/s] xeq [m] zeq [m] θeq [rad] A 5.30 -0.2910 0.0001 0.3000 0.5000 -0.2910 B 2.85 -0.2910 0.0001 0.3000 0.5000 0.2910 C 2.95 -0.1947 -0.0009 0.3000 0.5000 -0.1947 Tensioni ammissibili # tfa [s] θ(tf ) [rad] ' θ(tf ) [rad/s] xeq [m] zeq [m] θeq [rad] A 0.85 -0.1998 0.5060 0.3044 0.5006 -0.2838 B 0.45 -0.1984 1.0673 0.3045 0.5006 -0.2835 C 0.45 -0.0946 -1.6857 0.3044 0.5010 -0.1844 Oscillazioni limitate # tfs [s] θ(tf ) [rad] ' θ(tf ) [rad/s] xeq [m] zeq [m] θeq [rad] A 1.30 -0.2913 0.0645 0.3000 0.5000 -0.2910 B 0.70 -0.2907 0.1079 0.3000 0.5000 -0.2910 C 0.70 -0.1954 0.1078 0.3000 0.5000 -0.1947 Tabella 6.4: Riepilogo dei valori tf di percorrenza della traiettoria ad arco
di cerchio e dei corrispondenti punti di equilibrio all''arresto CAPITOLO 6. SIMULAZIONI 81 0 1 2 3 4 5 6 2 4 6 8 10 12 14 16 18 tempo [s] tensioni [N] ' 1 ' 2 ' min (a) Caso A 0 0.5 1 1.5 2 2.5 3 0 10 20 30 40 50 60 tempo [s] tensioni [N] ' 1 ' 2 ' min (b) Caso B 0 0.5 1 1.5 2 2.5 3 0 10 20 30 40 50 60 tempo [s] tensioni [N] ' 1 ' 2 ' min (c) Caso C Figura 6.13: Andamento delle tensioni nel caso quasistatico, arco di cerchio CAPITOLO 6. SIMULAZIONI 82 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 ''0.4 ''0.3 ''0.2 ''0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 tempo [s] x [m] z [m]
θ s [rad] θ [rad] (a) Caso A 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 ''0.4 ''0.3 ''0.2 ''0.1 0 0.1 0.2 0.3 0.4 0.5 tempo [s] x [m] z [m]
θ s [rad] θ [rad] (b) Caso B 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 ''0.4 ''0.3 ''0.2 ''0.1 0 0.1 0.2 0.3 0.4 0.5 tempo [s] x [m] z [m]
θ s [rad] θ [rad] (c) Caso C Figura 6.14: Andamento delle coordinate z, z e θ per il tempo di percorrenza
tfa, arco di cerchio CAPITOLO 6. SIMULAZIONI 83 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 2 4 6 8 10 12 14 16 18 20 tempo [s] tensioni [N] ' 1 ' 2 ' min (a) Caso A 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0 10 20 30 40 50 60 70 80 tempo [s] tensioni [N] ' 1 ' 2 ' min (b) Caso B 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0 10 20 30 40 50 60 70 80 tempo [s] tensioni [N] ' 1 ' 2 ' min (c) Caso C Figura 6.15: Andamento delle tensioni per il tempo di percorrenza tfa, arco
di cerchio CAPITOLO 6. SIMULAZIONI 84 0 0.2 0.4 0.6 0.8 1 1.2 1.4 ''0.4 ''0.2 0 0.2 0.4 0.6 0.8 1 tempo [s] coordinate x [m]
z [m]
θ [rad] (a) Caso A 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 ''0.4 ''0.2 0 0.2 0.4 0.6 0.8 1 tempo [s] coordinate x [m]
z [m]
θ [rad] (b) Caso B 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 ''0.4 ''0.2 0 0.2 0.4 0.6 0.8 1 tempo [s] coordinate x [m]
z [m]
θ [rad] (c) Caso C Figura 6.16: Andamento delle coordinate x, z e θ per moto pianificato con
tempo di percorrenza tfs. Arco di cerchio CAPITOLO 6. SIMULAZIONI 85 6.2.2 Tre giri completi Vengono simulati i casi (A) organo terminale sottoposto alla forza peso, (B ) carico esterno applicato, (C ) carico esterno sbilanciato applicato. Anche in questo caso si procede a calcolare i tempi di perorrenza tfq, tfa e tfs e a simulare l''evoluzione delle coordinate e delle tensioni. I risultati sono riassunti in tabella 6.5. Si osserva che nel caso si pianifichi il moto nel tempo di percorrenza tfa, l''evoluzione di θ(t) presenta delle oscillazioni molto ampie e di fatto pu` o rendere l''impiego del robot pericoloso o compromettere l''esecuzione di spe- cifici task. Risulta preferibile pertanto pianificare il moto scegliendo sempre un tempo di percorrenza pi` u basso, come nella soluzione evidenziata nel caso tfq. Moto quasistatico # tfq [s] θ(tf ) [rad] ' θ(tf ) [rad/s] xeq [m] zeq [m] θeq [rad] A 25.00 0.0000 0.0000 0.5000 0.5000 0.0000 B 15.00 0.0000 0.0000 0.5000 0.5000 0.0000 C 18.00 0.0924 0.0000 0.5000 0.5000 0.0924 Tensioni ammissibili # tfa [s] θ(tf ) [rad] ' θ(tf ) [rad/s] xeq [m] zeq [m] θeq [rad] A 4.85 -0.0662 -1.9874 0.4972 0.5003 -0.0037 B 2.40 0.0146 7.3900 0.5006 0.5000 0.0008 C 2.40 0.4053 0.6697 0.5126 0.5051 0.1170 Oscillazioni limitate # tfs [s] θ(tf ) [rad] ' θ(tf ) [rad/s] xeq [m] zeq [m] θeq [rad] A 5.70 -0.0005 0.1681 0.5000 0.5000 0.0000 B 3.65 -0.0003 0.1939 0.5000 0.5000 0.0000 C 3.85 0.0915 -0.0739 0.5000 0.5000 0.0918 Tabella 6.5: Riepilogo dei valori tf di percorrenza della traiettoria ad arco
di cerchio e dei corrispondenti punti di equilibrio all''arresto CAPITOLO 6. SIMULAZIONI 86 0 5 10 15 20 25 30 2 4 6 8 10 12 14 16 18 tempo [s] tensioni [N] ' 1 ' 2 ' min (a) Caso A 0 2 4 6 8 10 12 14 16 0 10 20 30 40 50 60 tempo [s] tensioni [N] ' 1 ' 2 ' min (b) Caso B 0 2 4 6 8 10 12 14 16 18 0 10 20 30 40 50 60 tempo [s] tensioni [N] ' 1 ' 2 ' min (c) Caso C Figura 6.17: Andamento delle tensioni nel caso quasistatico. Traiettoria
circolare: tre giri completi CAPITOLO 6. SIMULAZIONI 87 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 ''0.3 ''0.2 ''0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 tempo [s] x [m] z [m]
θ s [rad] θ [rad] (a) Caso A 0 0.5 1 1.5 2 2.5 ''0.4 ''0.3 ''0.2 ''0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 tempo [s] x [m] z [m]
θ s [rad] θ [rad] (b) Caso B 0 0.5 1 1.5 2 2.5 ''0.3 ''0.2 ''0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 tempo [s] x [m] z [m]
θ s [rad] θ [rad] (c) Caso C Figura 6.18: Andamento delle coordinate z, z e θ per il tempo di percorrenza
tfa. Traiettoria circolare: tre giri completi CAPITOLO 6. SIMULAZIONI 88 0 1 2 3 4 5 0 5 10 15 20 25 tempo [s] tensioni [N] ' 1 ' 2 ' min (a) Caso A 0 0.5 1 1.5 2 2.5 0 10 20 30 40 50 60 70 80 90 tempo [s] tensioni [N] ' 1 ' 2 ' min (b) Caso B 0 0.5 1 1.5 2 2.5 0 10 20 30 40 50 60 70 80 90 tempo [s] tensioni [N] ' 1 ' 2 ' min (c) Caso C Figura 6.19: Andamento delle tensioni per il tempo di percorrenza tfa.
Traiettoria circolare: tre giri completi CAPITOLO 6. SIMULAZIONI 89 0 1 2 3 4 5 6 ''0.4 ''0.2 0 0.2 0.4 0.6 0.8 1 tempo [s] coordinate x [m]
z [m]
θ [rad] (a) Caso A 0 0.5 1 1.5 2 2.5 3 3.5 4 ''0.4 ''0.2 0 0.2 0.4 0.6 0.8 1 tempo [s] coordinate x [m]
z [m]
θ [rad] (b) Caso B 0 0.5 1 1.5 2 2.5 3 3.5 4 ''0.4 ''0.2 0 0.2 0.4 0.6 0.8 1 tempo [s] coordinate x [m]
z [m]
θ [rad] (c) Caso C Figura 6.20: Andamento delle coordinate x, z e θ per moto pianificato con
tempo di percorrenza tfs. Traiettoria circolare: tre giri completi CAPITOLO 6. SIMULAZIONI 90 6.3 Conclusioni Sono state condotte delle simulazioni del modello dinamico presentato nei capitoli precedenti per studiarne il comportamento lungo diverse traiettorie e la risposta a carichi diversi. Si ` e prima verificato, pianificando dei movimenti quasistatici, che le tra- iettorie fossero realizzabili staticamente, cio` e che in ogni punto percorso il robot fosse in grado di mantenere una posizione di equilibrio per un tempo indefinito. Si ` e poi cercato il minor tempo di percorrenza ci ciascuna traiettoria a'nch´ e le tensioni dei cavi rimanessero positive e limitate, mostrando gli e'etti che si ottengono variando il carico applicato. In generale la pianificazione con il solo vincolo sulle tensioni produce una evoluzione della coordinata non controllata che mal si adatta all''arresto completo del robot. Si ` e quindi analizzata la risposta del sistema aumen- tando il tempo di percorrenza, per ottenere nel punto finale della traiettoria delle condizioni quanto pi` u prossime all''equilibrio geometrico-statico. In generale si ` e evidenziato l''e'etto stabilizzante di un carico esterno appli- cato, in quanto permette di aumentare le tensioni nei cavi e di conseguenza permette movimenti pi` u rapidi senza scendere sotto il limite di tensione minimo. Capitolo 7 Considerazioni finali 7.1 Conclusioni E'' stato analizzato un modello di robot a cavi verticale, dotato di 3 gradi di libert` a ma attuato da soli due cavi. Si ` e visto come ` e possibile studiarne la cinematica e l''importanza di conoscere le configurazioni geometrico-statiche di equilibrio ai fini della pianificazione del moto. Per lo studio della dina- mica si ` e seguito un approccio newtoniano, come comune in letteratura, evidenziando degli aspetti peculiari dei robot sottoattuati; ad esempio ` e stato evidenziato come in generale non esista una soluzione esatta del pro- blema dinamico inverso. Il problema del controllo ` e stato a'rontato mettendo in luce le di'colt` a di intervenire sul moto delle 3 coordinate libere agendo sulle tensioni e le lun- ghezze dei cavi. In particolare si ` e discusso di come sia possibile calcolare la posizione e'ettiva del robot integrando i dati provenienti dagli encoder con la lettura dell''inclinazione di un cavo, o con un feedback proveniente da un simulatore dinamico. E'' stata oggetto di studio anche la pianificazione del moto, possibile solo per due gradi di libert` a, che deve assicurare che i cavi mantengano sempre tensioni positive e limitate; sono state analizzate le condizioni per permet- tere un arresto del movimento del robot attorno ad un punto di equilibrio desiderato. Infine sono state presentate delle simulazioni del sistema lungo traiettorie rettilinee e circolari, applicando gli algoritmi di pianificazione del moto per diversi tipi di carico applicati; i risultati vengono letti da un simulatore di- namico. 91 CAPITOLO 7. CONSIDERAZIONI FINALI 92 7.2 Sviluppi futuri Lo studio sui robot sottoattuati presenta numerosi percorsi di sviluppo fu- turi. L''analisi cinematica e dinamica di un robot verticale studiata in questo la- voro pu` o essere estesa al caso di robot sottoattuati che si muovono nello spazio. In particolare ` e interessante approfondire lo studio dell''equilibrio geometrico-statico di un robot sottoposto a un wrench esterno anche nel caso spaziale; questo permetterebbe di definire se un generico percorso ` e staticamente realizzabile, cio` e se in ogni punto di passaggio il robot sarebbe in grado di mantenere la posizione indefinitamente. La definizione di un percorso staticamente realizzabile permetterebbe quindi l''estensione dell''al- goritmo di pianificazione. Un altro campo di studio riguarda la sicurezza dei robot a cavi. Po- trebbero essere studiati i vantaggi o gli svantaggi dell''impiego di un robot sottoattuato in termini di a'dabilit` a e possibilit` a di danni accidentali a co- se o persone. Pu` o essere studiato anche il caso in cui la rottura accidentale di uno o pi` u cavi di un robot completamente attuato possa portare a una configurazione sottoattuata, e come sia possibile, sfruttando lo studio qui condotto, prevedere una traiettoria di arresto in sicurezza o permettere un utilizzo seppur limitato del robot. Pu` o essere studiato inoltre come sia possibile sfruttare la natura sottoat- tuata del robot studiato, e di conseguenza il minor numero di cavi richiesto, per applicazioni in cui sono fondamentali la trasportabilit` a e la facilit` a di installazione, come nelle operazioni di ricerca e soccorso. Bibliografia [1] P. Bosscher, A.T. Riechel, and I. Ebert-Upho'. Wrench-feasible workspace generation for cable-driven robots. IEEE Transactions on Robotics, 22(5):890''902, 2006. [2] T. Higuchi, A. Ming, and J. Jiang-yu. Application of muti-dimensional wire cranes in construction. In Proceedings of the 5th International Symposium on Robotics in Construction (ISRC''88), 1988. [3] J-P. Merlet. Analysis of the in'uence of wires interference on the workspace of wire robots. In J. Lenar' ci' c and C. Galletti, editors, On Advances in Robot Kinematics, pages 211''218. Springer Netherlands, 2004. [4] C. Gosselin and M. Grenier. On the determination of the force distribu- tion in overconstrained cable-driven parallel mechanisms. Meccanica, 46(1):3''15, 2011. [5] V.-D. Nguyen. Constructing force-closure grasps in 3d. In Robotics and Automation. Proceedings. 1987 IEEE International Conference on, volume 4, pages 240''245, 1987. [6] Y. Shen, H. Osumi, and T. Arai. Manipulability measures for multi- wire driven parallel mechanisms. In Industrial Technology, 1994., Proceedings of the IEEE International Conference on, pages 550''554, 1994. [7] Q. Jiang and V. Kumar. The direct kinematics of objects suspended from cables. In Proceedings of the ASME 2010 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference, 2010. 93 BIBLIOGRAFIA 94 [8] M. Carricato and J.P. Merlet. Stability analysis of underconstrai- ned cable-driven parallel robots. IEEE Transactions on Robotics, 29(1):288''296, 2013. [9] Alessandro Berti, Jean-Pierre Merlet, and Marco Carricato. Solving the direct geometrico-static problem of 3-3 cable-driven parallel ro- bots by interval analysis: Preliminary results. In Tobias Bruckmann and Andreas Pott, editors, Cable-Driven Parallel Robots, volume 12 of Mechanisms and Machine Science, pages 251''268. Springer Berlin Heidelberg, 2013. [10] R. Kelly, V.S. Davila, V. Santib´ a' nez, and A. Lor´ıa. Control of Ro- bot Manipulators in Joint Space. Advanced Textbooks in Control and Signal Processing. Springer, 2006. [11] Jean-Fran¸cois Collard and Philippe Cardou. Computing the lowest equilibrium pose of a cable-suspended rigid body. Optimization and Engineering, 14(3):457''476, 2013. [12] Y. Nakamura. Advanced robotics: redundancy and optimization. Addison-Wesley series in electrical and computer engineering: Control engineering. Addison-Wesley Longman, Incorporated, 1991. [13] P. Gallina, A. Rossi, and R.L. Williams II. Planar cable-direct- driven robots, part ii: Dynamics and control. In ASME. DECT2001 ASME Design Engineering Technical Conference. Pittsburgh: ASME Publisher, volume 2, pages 1241''1247, 2001. [14] Alberto Trevisani, Paolo Gallina, and II Williams, RobertL. Cable- direct-driven robot (cddr) with passive scara support: Theory and simulation. Journal of Intelligent and Robotic Systems, 46(1):73''94, 2006. [15] Rodney G. Roberts, Todd Graham, and Thomas Lippitt. On the inver- se kinematics, statics, and fault tolerance of cable-suspended robots. Journal of Robotic Systems, 15(10):581''597, 1998. [16] A.T. Riechel and I. Ebert-Upho'. Force-feasible workspace analysis for underconstrained, point-mass cable robots. In IEEE International Conference on Robotics and Automation, volume 5, pages 4956''4962, 2004. BIBLIOGRAFIA 95 [17] A. Trevisani. Planning of dynamically feasible trajectories for trans- lational, planar, and underconstrained cable-driven robots. Journal of Systems Science and Complexity, 26:695''717, 2013. [18] G. Barrette and C. Gosselin. Determination of the dynamic workspa- ce of cable-driven planar parallel mechanisms. Journal of Mechanical Design, 2(127):242''248, 2005. [19] Cl´ ement Gosselin. Global planning of dynamically feasible trajecto- ries for three-dof spatial cable-suspended parallel robots. In Tobias Bruckmann and Andreas Pott, editors, Cable-Driven Parallel Robots, volume 12 of Mechanisms and Machine Science, pages 3''22. Springer Berlin Heidelberg. [20] S. Behzadipour and A. Khajepour. Time-optimal trajectory plan- ning in cable-based manipulators. Robotics, IEEE Transactions on, 22(3):559''563, 2006. [21] Mahdi Bamdad. Time-energy optimal trajectory planning of cable- suspended manipulators. In Tobias Bruckmann and Andreas Pott, editors, Cable-Driven Parallel Robots, volume 12 of Mechanisms and Machine Science, pages 41''51. Springer Berlin Heidelberg. [22] A. Trevisani. Underconstrained planar cable-direct-driven robots: A trajectory planning method ensuring positive and bounded cable tensions. Mechatronics, 20(1):113''127, 2010. [23] R. L. Williams II and P. Gallina. Planar cable-direct-driven robots, part i: Kinematics and statics. In 2001 ASME Design Technical Conference, 2001. [24] Wei-Jung Shiang, D. Cannon, and J. Gorman. Optimal force distri- bution applied to a robotic crane with 'exible cables. In Robotics and Automation, 2000. Proceedings. ICRA ''00. IEEE International Conference on, volume 2, pages 1948''1954, 2000. [25] So-Ryeok Oh and S.K. Agrawal. Cable suspended planar robots with redundant cables: controllers with positive tensions. Robotics, IEEE Transactions on, 21(3):457''465, 2005. [26] Mohammad A. Khosravi and Hamid D. Taghirad. Experimental per- formance of robust pid controller on a planar cable robot. In Tobias BIBLIOGRAFIA 96 Bruckmann and Andreas Pott, editors, Cable-Driven Parallel Robo- ts, volume 12 of Mechanisms and Machine Science, pages 337''352. Springer Berlin Heidelberg. [27] Wojciech Blajer and Krzysztof Ko lodziejczyk. Control of underactua- ted mechanical systems with servo-constraints. Nonlinear Dynamics, 50(4):781''791, 2007. [28] Christoph Woernle. Trajectory tracking for a three-cable suspension manipulator by nonlinear feedforward and linear feedback control. In Tobias Bruckmann and Andreas Pott, editors, Cable-Driven Parallel Robots, volume 12 of Mechanisms and Machine Science, pages 371''386. Springer Berlin Heidelberg. [29] C. Gosselin, S. Lefran¸cois, and N. Zoso. Underactuated cable-driven ro- bots: Machine, control and suspended bodies. In J.J. Clark J. K¨ ovecses J. Angeles, B. Boulet and K. Siddiqi, editors, Brain, Body and Machi- ne, volume 83 of Advances in Intelligent and Soft Computing, pages 311''323. Springer Berlin Heidelberg, 2010. [30] L. L. Cone. Skycam: An aerial robotic camera system. Byte, 10(10):122''132, 1985. [31] J.S. Albus, R. Bostelman, and N.G. Dagalakis. The nist robocrane. J. Field Robotics, 10(5):709''724, 1993. [32] G. Rosati, P. Gallina, and S. Masiero. Design, implementation and clinical tests of a wire-based robot for neurorehabilitation. IEEE Transactions on Neural Systems and Rehabilitation Engineering, 15(4):560''569, 2007. [33] D. Surdilovic, Jinyu Zhang, and R. Bernhardt. String-man: Wire-robot technology for safe, 'exible and human-friendly gait rehabilitation. In Rehabilitation Robotics, 2007. ICORR 2007. IEEE 10th International Conference on, pages 446''453, 2007. [34] S. Tadokor, R. Verhoeven, M. Hiller, and T. Takamori. A portable pa- rallel manipulator for search and rescue at large-scale urban earthqua- kes and an identification algorithm for the installation in unstructured environments. In IEEE/RSJ International Conference on Intelligent Robots and Systems, volume 2, pages 1222''1227, 1999. BIBLIOGRAFIA 97 [35] P. Bosscher, R.L. Williams, and Melissa Tummino. A concept for ra- pidly deployable cable robot search and rescue systems. In Proceedings of ASME IDETC/CIE, 2005. [36] J-P Merlet and D. Daney. A portable, modular parallel wire crane for rescue operations. In Robotics and Automation (ICRA), 2010 IEEE International Conference on, pages 2834''2839, 2010. [37] B. Peng, R. Nan, Y. Su, Y. Qiu, L. Zhu, and W. Zhu. Five-hundred- meter aperture spherical telescope project. Astrophysics and Space Science, 278(1-2):219''224, 2001. [38] Y.X. Su, B.Y. Duan, R.D. Nan, and B. Peng. Development of a large parallel-cable manipulator for the feed-supporting system of a next-generation large radio telescope. Journal of Robotic Systems, 18(11):633''643, 2001. [39] Stan Birchfield. An introduction to projective geometry (for computer vision). Unpublished note, Stanford university, 1998. [40] A. Trevisani. Experimental validation of a trajectory planning ap- proach avoiding cable slackness and excessive tension in underconstrai- ned translational planar cable-driven robots. In T. Bruckmann and A. Pott, editors, Cable-Driven Parallel Robots, volume 12 of Mecha- nisms and Machine Science, pages 23''39. Springer Berlin Heidelberg, 2013.


© Eiom - All rights Reserved     P.IVA 00850640186