• Non ci sono risultati.

Controlarchitecturefornaturalmotioninsoftrobots TesidiLaurea UNIVERSIT`ADIPISALaureaMagistraleinIngegneriaRoboticaedell’Automazione

N/A
N/A
Protected

Academic year: 2021

Condividi "Controlarchitecturefornaturalmotioninsoftrobots TesidiLaurea UNIVERSIT`ADIPISALaureaMagistraleinIngegneriaRoboticaedell’Automazione"

Copied!
103
0
0

Testo completo

(1)

Laurea Magistrale in Ingegneria

Robotica e dell’Automazione

Tesi di Laurea

Control architecture for natural

motion in soft robots

Candidato:

Cosimo Della Santina Relatore:

Prof. Antonio Bicchi

Correlatore:

Prof. Carlo Alberto Avizzano

(2)

In soft robots fixed (SEA) or physically adjustable (VSA) compliant ele-ments are deliberately introduced in the robot structure, to obtain human-like behavior in terms of smooth movements, shock absorption, safety and performance improvements.

The human high performance relies not only on the muscular-scheletric “design”, but also on its effective control the central and peripheral nervous system (CNS and PNS respectively). On the other hand automatic con-trol theory requires substantial advancements to achieve acceptable perfor-mance in spite of the complexity of the nonlinear hard-to-model soft robots dynamics.

The majority of existing control approaches for soft robots have the strong drawback of requiring an accurate model identification process, that is hard to be accomplished and time consuming. Model-free algorithms are promising but still confined to specific tasks, such as the induction of stable cyclic motions or the damping control to suppress undesirable oscillations.

The aim of this work is to design a model-free control system that ensures natural movements in soft robots. Due to the similitudes between muscular-scheletric system and soft robots, we decided to develop a controller that can replicate some functionalities of the central nervous system: learning by rep-etition, after-effect on known and unknown trajectories and state covariation in tasks execution.

The control architecture is organized on two levels. The lower level of control performs dynamic inversion (i.e. it estimates a map that given the desired state space evolution, returns the necessary input) allowing to capital-ize information coming from standard iterative learning control techniques. The algorithm relies on a parametrization of the sub-space of the state evo-lutions, and on a discretization of the control space. The higher level of control deals with task execution, performing degree of freedom redundan-cy management through a model-predictive-control-like method. Finally an algorithm for high and low level merging in order to achieve task specific dynamic inversion is proposed. Simulations and experiments were performed on VSA with antagonistic mechanism (qbmoves), to show the effectiveness of the proposed control system.

(3)

Con soft robot si intendono sistemi robotici dove sono deliberatamente inseriti elementi flessibili ad impedenza fissa (SEA) o variabile (VSA), allo scopo di ottenere comportamenti analoghi a quelli degli esseri umani in termi-ni di regolarit´a dei movimenti, di assorbimento degli urti e del miglioramento della sicurezza e delle performance.

Le ottime performance umane sono possibili non solo grazie alle poten-zialit´a del sistema muscolo-scheletrico, ma anche grazie all’efficace controllo che il sistema nervoso centrale e periferico (CNS e PNS rispettivamente) met-tono in atto. D’altra parte la teoria dei controlli automatici richiede ancora sostanziali miglioramenti allo scopo di raggiungere performance accettabili nonostante la dinamica non lineare e difficile da modellare dei soft robot.

La maggior parte degli approcci per il controllo di sistemi soft hanno il grande svantaggio di richiedere un accurato processo di identificazione del modello, che ´e difficile da compiere, e richiede tempo. Gli algoritmi model-free sono promettenti ma ancora confinati all’utilizzo in task specifi-ci, come l’indurre movimenti ciclici stabili o lo smorzamento di oscillazioni indesiderate.

Lo scopo di questo lavoro ´e quello di progettare un sistema di controllo model-free, che assicuri movimenti naturali nei soft robot. Viste le similitudi-ni fra il sistema muscolo scheletrico e i soft robot abbiamo deciso di sviluppare un controllore che fosse in grado di replicare alcune delle funzionalit´a del sis-tema nervoso centrale: learning by repetition, aftereffect su traiettorie note ed ingote, e la covarianza degli stati nell’esecuzione dei task.

L’architettura di controllo ´e organizzata su due livelli. Il livello pi´u basso si occupa dell’inversione dinamica (i.e. stima una mappa che data l’evoluzione desiderata nello spazio di stato, restituisce l’input necessario) permettendo di capitalizzare le informazioni provenienti da un argomento standard iterative learning control. Il controllo di alto livello si occupa dell’esecuzione dei task, gestendo i gradi di libert´a tramite un algoritmo model-predictive-control-like. Infine ´e presentato un algoritmo che si occuma del merging dei due livelli di controllo allo scopo di ottenere un’inversione dinamica specifica per il tipo di task in esecuzione. Simulazioni ed esperimenti sono eseguiti su sistemi VSA di tipo antagonista (qbmoves), allo scopo di mostrare l’efficacia del sistema proposto.

(4)
(5)
(6)

Ringrazio mia madre e mio padre, i miei nonni, Simona, Marco, Giammy, Fra, Alessio, Pietro, e tutti gli amici veri. Ringrazio il Prof. Bicchi, e in generale tutti coloro che in un modo o nell’altro nella mia vita sono riusciti a trasmettermi la passione per l’apprendere. Ringrazio tutti i ragazzi del laboratorio, Manuel, Manolo, Giamma, Matteo, Alessandro, Giorgio, Simone eccetera eccetera. E ringrazio le tante persone che sicuramente avr`o dimenticato o omesso, che se no questi ringraziamenti sarebbero diventati pi´u lunghi della tesi, ma che sono state fondamentali.

(7)

1 Introduzione 4

1.1 Scopo del lavoro e precisazioni . . . 4

1.1.1 Scopo del lavoro . . . 4

1.1.2 Precisazione . . . 4

1.1.3 Motori come muscoli: soft robot . . . 6

1.2 Piano del lavoro . . . 9

2 Motor Control 10 2.1 Definizione . . . 10

2.2 Problemi risolti dal CNS . . . 11

2.2.1 Problema dell’abbondanza di gradi di libert´a 11 2.2.2 Dinamica non lineare ed incerta . . . 13

2.3 Struttura gerarchica di controllo . . . 14

2.4 Breve tassonomia delle teorie esistenti . . . 17

2.4.1 Approccio controllistico . . . 17

2.4.2 Approccio ad hoc . . . 18

2.5 Apprendimento ed inversione dinamica . . . 19

2.5.1 Feedforward e Feedback . . . 19

2.5.2 Adattamento a campi di forze ignote . . . 20

2.5.3 Mirror-image aftereffect . . . 21

2.5.4 Teorie . . . 23

2.6 Modi e sinergie . . . 25

2.7 Uncluntrolled Manifold . . . 26

(8)

3 Architettura di controllo 28

4 Iterative Learning Control 31

4.1 Introduzione . . . 31

4.2 Tecniche di controllo ILC . . . 33

4.2.1 Espressione generale . . . 33

4.2.2 ILC e feedback . . . 35

4.2.3 PID-ILC . . . 37

4.2.4 ILC e sistemi con grado relativo maggiore di 1 . . . 39

4.2.5 Convergenza monotonica . . . 42

4.2.6 ILC e robot . . . 43

4.3 Un esempio simulativo: controllo di un RR . . . . 45

4.3.1 Definizione del sistema e del controllore . . 45

4.3.2 Simulazioni . . . 49

5 Low Level Control 57 5.1 Introduzione su inversione della dinamica . . . 58

5.1.1 nozioni generali . . . 58

5.1.2 Modelli inversi nel controllo . . . 59

5.2 Ottenere un modello inversio . . . 60

5.2.1 Modello inverso dal modello diretto . . . . 60

5.2.2 Stima del modello . . . 61

5.2.3 Stima del modello inverso . . . 62

5.3 Controllo di basso livello . . . 63

5.3.1 ILC e inversione dimanica . . . 63

5.3.2 Generalizzazione dell’ILC tramite riduzione delle traiettorie di interesse . . . 65

5.4 Simulazioni . . . 70

5.4.1 Aftereffect su traiettorie sconosciute . . . . 70

5.4.2 Performance in termini di controllo . . . . 73

5.5 Risultati sperimentali . . . 73 5.5.1 Interpretazione in termini di motor control 76

(9)

6 High Level Control 78 6.1 Definizione di task e controllore . . . 78 6.2 Simulazioni . . . 85 6.3 High level control e sinergie . . . 86

(10)

Introduzione

1.1

Scopo del lavoro e precisazioni

1.1.1 Scopo del lavoro

L’aspirazione di questo lavoro di tesi ´e quella di sviluppare un sistema di controllo che permetta di organizzare alcune teorie provenienti dall’ambito del controllo motorio (motor control o MC in seguito), all’interno di un’unica architettura in grado di replicare alcune caratteristiche proprio della gestione del sistema muscolo-scheletrico da parte del sistema nervoso centrale (CNS di seguito), che permetta di controllare un sistema non lineare con dinamica ignota, come i sistemi basati su qbmoves, nello spirito della Natural Motion Initiative a.

1.1.2 Precisazione

A tale scopo ´e necessario fare una precisazione. Mark Latash, uno dei padri fondatori della teoria moderna del controllo mo-torio, nel suo Funamentals of motor control [40] afferma:

“So, engineering and control theory will not help us understand how the structures within the body interact among

aNatural Motion Initiative website: naturalmotioninitiative.org

(11)

Figura 1.1: Rappresentazione grafica interazione robotica e controllo motorio

themselves and with the environment to bring about purposeful, coordinated movements. ”

Essendo questa una tesi di laurea in Ingegneria Robotica e dell’Automazione non si intende pretendere di presentare nuovi risultati nel campo del motor control. Nonostante ci´o si pensa che la teoria del controllo e la robotica abbiano un ruolo impor-tante da giocare nel campo del controllo motorio, come illustrato graficamente in figura 1.1.

Il corpo umano ´e un sistema complesso, incerto e non lineare, con ricche ridondanze. Nonostante ci´o gli umani rimangono im-battuti da parte di robot (con dinamica nota, e appositamente progettata) in termini di qualit´a dei movimenti. C’´e quindi molto da imparare da come il CNS gestisce il corpo umano, al fine di ottenere robot pi´u performanti (freccia blu in figura).

D’altro canto si ritiene che l’analogia fra gli argomenti trattati sia tale che, la teoria del controllo e la robotica possano fornire

(12)

un utile framework per la falsificazione delle teorie in ambito di controllo motorio (e.g. CN di convergenza), e un linguag-gio matematico sufficientemente standardizzato (freccia rossa in figura).

In definitiva lo scopo di questo questo lavoro ´e quello di ot-tenere un algoritmo di controllo che funzioni bene da un punto di vista ingegneristico, traendo spunto dalle teorie di motor con-trol, ovvero seguendo la freccia blu, e al contempo cercando in-trodure alcune idee che possa dare dei contributi anche nell’altra direzione.

1.1.3 Motori come muscoli: soft robot

Le performance umane fanno la differenza in vari task della vita reale (e.g. in figura 1.2).

Alcuni esempi sono:

• Aprire e penetrare in varchi in mura e tetti (alta potenza di picco)

• Sostenere ore di operazioni (alta efficienza) • Lavorare in scenari a rischio (alta robustezza)

Questi task sono ottenuti dal corpo umano anche grazie al-la possibilit´a di modificare l’impedenza delle articolazioni, co-contraendo i muscoli agonista e antagonista. Tale co-contrazione permette di ottenere comportamenti soft o forti nelle artico-lazioni.

Storicamente i primi attuatori in grado di generare un com-portamento soft che sono stati sviluppati sono i SEA (compli-ance fissa passiva).

Un’importante evolluzione ci fu con l’introduzione di attua-tori con impedenza variabile (stiffness,damping), chiamati VSA.

(13)

Figura 1.2: Vari uomini occupati in vari task critici.

Esistono varie architetture meccaniche di robot soft [60], ma in tutti i casi presentano un comportamento complesso, non lineare, e difficile da modellare.

Esempi sono:

• cCub [59], che implementa un meccanismo a compliant pas-siva nei principali giunti delle gambe, e VPDA [36] un at-tuatore a damping variabile basato su attrito semi attivo, entrambi sviluppati a IIT;

• Il sistema braccio-mano del DLR [28], che comprende tre diverse tipologie di VSA, rispettivamente nel braccio, nel polso e nella mano;

• I VSA-CubeBot (qbmoves nell’ultima versione) [12], svilup-pati al Centro Piaggio, sono servo VSA modulari, che im-plementano un meccanismo antagonista-agonista.

(14)

I VSA-CubeBot sono utilizzati in questo lavoro come test-bed per l’algoritmo proposto.

Figura 1.3: Evoluzione delle tecnologie dell’attuazione soft.

Negli esseri umani il corpo ed il cervello costituiscono in sin-ergia un unico sistema molto efficace. Al contrario i sistemi qbmoves non hanno una simile unione efficace con un sistema di controllo. A causa della loro complessa dinamica, non lineare e difficile da modellare, il controllo dei sistemi basati su qbmoves ´

e un operazione stimolante ed impegnativa.

La maggior parte delle tecniche di controllo model based es-istenti per soft robot hanno il forte svantaggio di richiede un accurato processo di modellazione e di identificazione, che ´e complesso da ottenere e richiede molto tempo per essere ese-guito. In [45] ´e affrontato l’utilizzo della feedback linearization su una particolare architettura di variable stiffness actuator. In [26] ´e affrontato il problema di scegliere gli input al fine di mas-simizzare la velocit´a del link ad una data posizione finale. In [9] ´e proposto un framework per l’ottimizzazione simulatanea di coppia e stiffness, incorporando vincoli realistici.

D’altra parte gli algoritmi model-free sono promettenti ma ancora confinati a task specifici, come ad esempio l’induzione [37] o lo smorzamento [46] di oscillazioni.

Lo scopo di questo lavoro ´e quello di progettare un algoritmo model-free in grado di controllare sistemi non lineare ed ingnoti, come i sistemi basati su qbmove. L’idea su cui ci si basa ´e quella,

(15)

come gi´a detto nella sezione precedente, di prendere ispirazione da come il sistema nervoso contrale (di seguito CNS), gestisca il sistema muscoloscheletrico in accordo con lo stato dell’arte del controllo motorio.

1.2

Piano del lavoro

Per prima cosa verrano introdotti i concetti base del control-lo motorio, capitocontrol-lo 2. Nel capitocontrol-lo 3 sar´a introdotta l’architet-tura di controllo proposta in questo lavoro, la quale aspira a mi-mare varie caratteristiche descritte nel precedente capitolo. Nel capitolo 4 viene compiuta un´ıntroduzione operativa all’Iterative Learning Control. Nel capitolo 5 verr´a introdotto il sistema di controllo di basso livello e ne verr´a descritto il comportamento sia da un punto di vista di controllo sia da un punto di vista di controllo motorio. Nel capitolo 6 verr´a analogamente introdotto il controllo di alto livello e descritte le corrispondenti caratteris-tiche. Infine in 7 verranno tratte le conclusioni su questo lavoro di tesi, e verranno proposte delle evoluzioni possibili futuri.

(16)

Motor Control: Problemi ed

Opportunit´

a

2.1

Definizione

M. Latash da la seguente definizione di controllo motorio: “[Motor Control] can be defined as an area of science exploring

how the nervous system interacts with the rest of the body and the environment in order to produce purposeful, coordinated

movements” [40]

Si tratta di un campo fortemente multidisciplinare, dove si trovano lavori scritti da fisici, ingegneri e medici. Le disci-pline conivolte sono infatti molte: la meccanica, la biomeccanica, la matematica, la fisica, le scienze cognitive, le neuroscienze e molto altro.

Il controllo motorio consta anche di una parte legata alla gestione dell’informazione sovrabbondante e rumorosa prove-niente dalla “sensoristica”. Di seguito ci si concentrer´a esclusiva-mente sull’aspetto del controllo, immaginando di avere gi´a a dis-posizione un’informazione completa, per quanto eventualmente rumorosa o differita, dello stato del sistema.

Il Motor Control ha trovato anche importanti applicazioni nella cura delle malattie legate al sistema motorio (e.g. disturbi

(17)

legati all’ingoio e alla deglutizione in [41], problemi legati alle capacit´a di coordinazione in pazienti che avevano subito un at-tacco di cuore [15]). Anche di questo aspetto non si parler´a ulteriormente di seguito.

Un buon testo introduttivo, abbastanza completo per quan-to riguarda la descrizioni delle teorie esistenti, ma non molquan-to oggettivo nella loro valutazione, ´e [40].

2.2

Problemi risolti dal CNS

Come gi´a detto il sistema nervoso centrale ´e in grado di ot-tenere performance spesso imbattute in termini di controllo del movimenti. I due principali problemi che esso deve risolvere nel far ci´o sono:

• Problema dei gradi di libert´a.

• Non linearit´a ed incertezza del sistema controllato.

Nelle seguenti sottosezioni entrambi i problemi verrano de-scritti approfonditamente.

2.2.1 Problema dell’abbondanza di gradi di libert´a Problema della ridondanza dei gradi di libert´a, detto anche semplicemente “benedizione dell’abbondanza di gradi di libert´a”, secondo la visione “positiva” espressa in [39], ´e ben noto nel campo della teoria del controllo motorio, e gi´a Bernstein [5] lo descriveva cos´ı:

”It is clear that the basic difficulties for co-ordination consist precisely in the extreme abundance of degrees of freedom, with which the [nervous] centre is not at first in a position to deal”

(18)

Figura 2.1: Muscoli nella mano e nell’avamburaccio

Il corpo umano ´e ridondante su ogni livello livello. Le tipolo-gie di ridondanza si possono sostanzialmente riassumere in:

• Ridondanza Anatomica: Il corpo umano ´e caratterizzato da una struttura altamente ridondante. Il numero di giunti ´e spesso maggiore dei gradi di libert´a strettamente necessari ai task eseguiti, e il numero di muscoli ´e molto maggiore del numero di giunti (e.g.: mano e avambraccio in figura 2.1). • Ridondanza Cinematica: Lo stesso task spesso pu´o essere

ottenuto tramite famiglie infinite traiettorie differenti. • Ridondanza Neurofisiologica: I muscoli consistono in

centi-naia di unit´a motorie, le quali a loro volta vengono attivate da motoneuroni, che possono compiere spike a differenti frequenze (migliaia di incognite).

Il fabbro che colpisce l’incudine con il martello seguendo ogni volta una traiettoria leggermente diversa con l’ee, e radicalmente diversa nei giunti, mostrato in figura 2.2a, mette bene in risalto sia la ridondanza cinematica, sia quella anatomica.

(19)

Figura 2.2: Un fabbro che martella seguendo traiettorie differenti

2.2.2 Dinamica non lineare ed incerta

Il corpo umano ´e un sistema complesso: ogni sua componente ´

e strettamente connessa alle altre, con la presenza di veri e propri controllori embedded (e.g. i riflessi), tanto da poter difficlmente studiarne il comportamento separatamente.

Esso presenta caratteristiche non lineari su ogni livello, come riassume brevemente l’immagine 2.3.

Il sistema muscolo scheletrico inoltre ´e tempovariante.

Si pu´o poi immaginare che il sistema nervoso centrale utilizzi informazioni minime riguardo alla struttura del corpo stesso, in quanto gli esseri umani sono in grado di adattarsi a vere e proprie variazioni strutturali (e.g. amputazioni).

Come nel caso della ridondanza dei gradi di libert´a, anche per quanto riguarda la forte non linearti´a del corpo umano c’´e stata una rivalutazione in positivo, come ad esempio in [29], dove si esaltano le potenzialit´a espressive di questi sistemi nel generare comportamenti complessi con ingressi semplici.

(20)

Figura 2.3: Il corpo umano ´e fortomente non lineare su ogni livello

2.3

Struttura gerarchica di controllo

In [52] si legge:

“[...] with practice hand trajectories in the force field converged to a path very similar to that observed in free space. This indicate that for reaching movements, there was a kinematic

plan independent of dynamical conditions”

Al di l´a delle capacit´a di adattamento del CNS, di cui si parler´a pi´u approfonditamente nella sezione 2.5, questo estrat-to mette in luce in fatestrat-to largamente accettaestrat-to nella comunit´a scientifica [40]: il sistema muscolo-scheletrico ´e controllato da un sistema gerarchico, che compiendo astrazioni successive si occupa di risolvere localmente i problemi sopra esposti.

L’ipotesi di una suddivisione gerarchica del controllo ha in-oltre fondamento fisiologico, come brevemente descritto nell’im-magine 2.4.

Una prima classificazione, ancora considerata valida, venne proposta da Bernstein in [6]:

(21)

Figura 2.4: Il controllo motorio ´e fisiologicamente gerarchico

• Livello A In questo livello viene gestito il tono muscolare (l’attivazione).

1 La propriocezione ´e la principale sorgente di informazioni a questo livello (piena conoscenza della configurazione dei giunti e delle forze di interazione).

2 Ricopre un ruolo subordinato durate le azioni: nessun task ´e risolto solamente a questo livello.

• Livello B In questo livello grandi gruppi di muscoli sono attivati allo scopo di ottenere patter di movimento coordi-nati:

1 Relativamente pochi movimenti sono completamente controllati dal livello B. Esempi sono i body-centered task, ovvero task che dipendono solo dal corpo stesso e hanno la tendenza alla ripetibilit´a, come la danza.

(22)

2 Anche qua la principale sorgente di informazione ´e la propriocezione.

• Livello C Si occupa delle azioni da svolgere nel campo spaziale, ovvero nello spazio esterno accessibile, con pre-senza di campi di forze ecc. Ad esempio muovere una tazza da un punto all’altro.

– Livello C1 Si occupa di definire una specifica per com-piere un task. Ad esempio una particolare maniera di trasmortare una tazza di the.

– Livello C2 Si occupa principalmente di formulare un task allo scopo di ottenere un particolare risultato fi-nale.

• Livello D Si occupa delle azioni con un significato, come ad esempio organizzare una sere di azioni allo scopo di servire una tazza di the nella maniera corretta.

• Livello E Si occupa delle attivit´a che sono associate alla trasmissione di un’informazione. Ad esempio utilizzare il linguaggio per chiedere una tazza di the.

I livelli dal C2 all’E riguardano compiti di alto livello, che da un punto di vista ingegeristico sono tipicamente affrontati di campi come l’intelligenza arificiale, la rappressentazione della conoscenza, la pianificazione.

In particolare il livello D potrebbe essere rappresentato in futuro tramite l’uso del controllo simbolico.

Tali argomenti non saranno affrontati ulteriormente in questo lavoro.

(23)

2.4

Breve tassonomia delle teorie esistenti

Di seguito verr´a compiuta una breve tassonomia delle teorie esistenti nell’ambito del motor control. Non si intende qua ef-fettuare una trattazione completa ma solo un’introduzione che permetta di orientarsi nello stato dell’arte.

La principale divisione fra le teorie ´e fra due scuole che spesso si contrappongono anche energicamente. Nonstante questo non sono da considerarsi due mondi inconciliabili e pu´o capitare di trovare lavori che attingano da entrambe le parti. L’aspirazione di questa tesi ´e quella di collocarsi in questa zona.

2.4.1 Approccio controllistico

Questa scuola prevede l’utilizzo di teorie prese dalla teoria del controllo al fine di spiegare o descrivere i meccanismi che regolano il controllo motorio. Si immagina quindi che il cor-po sia l’impianto da controllare, e che il CNS, mescolando op-portunamente feedback e feedforward (sezione 2.5.1), funga da controllore.

La distinzione fra i due verbi “spiegare” e “descrivere” ´e fon-damentale, e nasconde due possibili interpretazioni delle teorie legate a questa scuola: da una parte alcuni studiosi affermano l’esistenza di meccanismi neurali che implementano esattamente le leggi di controllo o gli osservatori che vengono proposti; dall’al-tra si considerano tali teorie in maniera meramente descrittiva, alla stessa maniera in cui non si immagina che una pietra, ro-tolando, utilizzi le leggi del corpo rigido per calcolare la sua trai-ettoria (esempio comunemente utilizzato dai detrattori di questa scuola).

Teorie comprese in questo ramo sono:

• Viene sostenuta la presenza di Modelli Interni all’inter-no del cervello. Tali modelli dovrebbero essere in grado di

(24)

prevedere la reazione del sistema in seguito agli input, sia a scopo pianificatorio, sia a scopo di controllo, tramite strut-ture analoghe al predittore di Smith. Viene poi ipotizzata la presenza di modelli interni inversi, in grado di generare l’evoluzione del controllo da imporre, fornita l’evoluzione desiderata. Il controllo che viene in questo modo ottenuto ´

e in forza. Alcuni articoli rilevanti sono [64, 33, 63, 57]. • il Controllo Ottimo, viene utilizzare al fine di risolvere

il problema della ridondanza, immaginando che il CNS ot-timizzi dei funzionali di costo. Sono state identificati vari indici, ed uno che ha riscosso nel tempo molto successo ´e stato il minimum jerk, strappo in italiano, ovvero la nor-ma quadro della derivata dell’accelerazione. ´E possibile di-mostrare che traiettorie a minimo jerk sono sempre esprimi-bili come spline di polinomi di quinto grado. Alcuni articoli rilevanti sull’argomento sono [8, 62, 22, 21]. D’altro canto languiscono funzioni di costo che siano in grado di spiegare ogni possibile movimento, e spesso si ricorre a funzionali ad hoc.

Esponenti di spicco di questa scuola sono: M. I. Jordan, M. Kawato, S. Mussa-Ivaldi, E. Todorov e R. Shadmehr.

2.4.2 Approccio ad hoc

Questa scuola prevede la derivazione di teorie ad hoc per il controllo motorio.

Teorie comprese in questo ramo sono:

• La teoria delle sinergie ´e descritta nella sezione2.6.

• Con l’equilibrium point hypotesis si sostiene che ogni giunto sia gestito tramite due valori caratteristici, il riferi-mento astratto e la cedevolezza (o stiffness). Il controllo che

(25)

viene in questo modo ottenuto ´e, una volta fissata la cede-volezza, sostanzialmente in posizione. Il sistema si porter´a in un punto di equilibrio corrispondente al riferimento as-tratto nel caso in cui non vi siano forze esterne (grazie ad un meccanismo di retroazione di basso livello implementa-to dai moimplementa-toneuroni), oppure in una posizione naturalmente emergente dalla posizione desiderata, la stiffness e l’entit´a delle forze esterne. In questa maniera il problema della gen-erazione delle forze ´e risolto in maniera piuttosto semplice come emergente dall’equilibrio ottenuto. Resta comunque aperto il problema di come generare la corretta evoluzione del riferimento e della stiffness. Alcuni articoli rilevanti sull’argomento sono [20, 38].

• L’Uncontrolled Manifold ´e descritto nella sezione 2.7. Esponenti di spicco di questa scuola sono: S. Jaric, A. Feld-man, M. Latash, G. Shoner.

2.5

Apprendimento ed inversione dinamica

2.5.1 Feedforward e Feedback

Il CNS utilizza un’opportuna miscela di feedback e feedfor-ward durante le azioni.

Il controllo in feedback fa uso delle informazioni proveni-enti dalla sensoristica al fine di portare il sistema sullo sta-to desiderasta-to. Come accennasta-to precedentemente l’informazione proveniente dai sensori ´e in genere rumorosa. Inoltre le linee di trasmissione nervosa sono affette da ritardi non trascurabili. Questi due fattori rendono non banale l’utilizzo di tale tipologia di controllo.

(26)

Il controllo in feedforward (appreso o preesistente) invece ´e costruito a partire dalle conoscenze a priori che si hanno sul sistema.

In [23, 24] viene descritto il processo di learning associato ad una distribuzione inaspettata di massa all’interno di un oggetto. In particolare si mette in risalto come il CNS agisca tramite un controllo anticipatorio, ovvero in feedforward, quando ´e confi-dente del comportamento dinamico del sistema, e vada a rein-trodurre il feedback nel momento in cui il comportamento reale si discosta da quello previsto.

Ci sono per´o prove evidenti di come il feedback, in una certa misura, venga mantenuto anche in azioni automatiche, come accendere un fiammifero.

2.5.2 Adattamento a campi di forze ignote

Il sistema nervoso centrale ´e, come gi´a rimarcato, in grado di controllare a piacimento lo stato del sistema muscoloscheletrico in maniera anticipatoria. Esso ´e inoltre in grado di adattarsi a cambiamenti dinamici della struttura, siano essi dovuti alla nat-urale tempovarianza del corpo, siano essi dovuti a campi ignoti di forze esterne.

Allo scopo di studiare le capacit´a di adattamento del CNS vengono utilizzate delle interfacce aptiche in grado di imporre campi di forza a piacere, sulla mano o sul braccio del soggetto (e.g. figura 2.5). Tipicamente il feedback, cos´ı come i target da raggiungere, vengono forniti tramite uno schermo.

Il processo che viene seguito da questo tipo di esperimenti [52] ´e riassunto in figura 2.6b:

1 Al soggetto viene richiesto di compiere una serie di movi-menti (e.g. di raggiungere con la mano una serie di punti nello spazio).

(27)

Figura 2.5: Esempio di interfaccia aptica basata su delta robot.

2 Viene inaspettatamente introdotto un campo di forze ster-no. Il soggetto risponder´a con traiettorie deformate, ma riuscir´a comunque a raggiungere i punti richiesti tramite l’uso del feedback.

3 Al soggetto viene richiesto di ripetere il task un certo nu-mero di volte. Il risultato ´e un’adattamento completo del soggetto al campo di forze, permettendo cos´ı di osservare traiettorie analoghe a quelle iniziali.

2.5.3 Mirror-image aftereffect

All’inversione dinamica di campi di forze ´e associato un effetto chiamato Mirror-image aftereffect [35].

Una volta compiuto il learning descritto nella sezione 2.5.2 il campo di forze viene tolto, e al soggetto viene chiesto di compiere il solito task.

(28)

Figura 2.6: Struttura di un tipico esperimento di adattamento a campi di forza esterni. A sinistra vi sono le traiettorie non perturbate dell’end effector, a destra quelle perturbate. Il campo introdotto e l’evoluzione dell’indice di correlazione fra traiettorie imparate ed pre-perturbazione si trovano a fianco delle rispettive frecce.

(29)

Figura 2.7: Traiettorie pre e post learning, di un soggetto posto su di una piattaforma rotanto o ferma.

Il movimento che ne risulta ´e speculare a quello che si osserva in seguito all’inserimento del campo di forze.

In figura 2.7 c ´e mostrato il fenomeno nel caso di traiettoria perturbata da una pedana rotante.

Questo comportamento mostra come l’azione di controllo gen-erata sia largamente anticipatoria.

Un fenomeno interessante [25] ´e sinteticamente mostrato in figura 2.8 d: l’aftereffect ´e presente anche su traiettorie su cui non si ´e fatta esperienza diretta, e tanto pi´u presente tanto pi´u si ´e vicini alle traiettorie su cui si ´e fatto esperienza.

Questo implica che il CNS compia qualche tipo di predizione sulle traiettorie non apprese.

2.5.4 Teorie

La teoria dei modelli interni afferma che esistano dei mecca-nismi neurali in grado di simulare la risposta del sistema moto-rio. Questi modelli interno sono in grado di spiegare tutti e tre gli aspetti precedentemente osservati, come dimostrato in [64].

cImmagine presa da [35].

(30)

Figura 2.8: Dopo l’introduzione del campo di forze si fa compiere al soggetto il learning delle traiettorie 3 e 5. Tolto il campo l’aftereffect ´e presente anche sulle traiettorie 1,2,4,6,7 su cui non si ´e fatta esperienza.

(31)

Figura 2.9: Schema di modello interno del cervelletto.

Il sistema nervoso centrale ´e considerato in grado di regredire questi modelli dall’esperienza, includendo in essi anche disturbi esterni come i campi di forze.

Al contrario l’apprendimento locale per rinforzo permette di spiegare soltanto i primi due effetti. Per quanto riguarda l’ap-prendimento locale ´e interessante considerare la similitudine del-la legge derivata in [19], con le torie di Iterative Learning Control che verrano descritte nel capitolo 4.

2.6

Modi e sinergie

Per modo si intende un set di variabili che mostrano cambia-menti correlati nel tempo o al variare di parametri legati al task. In letteratura si trova spesso la parola sinergia come sinonimo di modo [58, 40].

La moderna definizione di sinergia, data in [40], ´e:

“[...] a hypothetical neural mechanism that ensures task-specific co-variation of elemental variables providing for desired

(32)

stability properties of an important output (performance) variable”

Le sinergie sono apprese, al contrario dei riflessi, e sono or-ganizzate in una maniera dipendente dai task. Le sinergie, come risulta evidente dalla definizione, sono strutturate per una particolare azione, e non sono determinate in maniera generale. Si pensi all’esempio del martellatore gi´a descritto prima in questo capitolo. I muscoli del braccio sono accoppiati in una maniera tale che l’errore e le variabilit´a in un muscolo siano automaticamente compensati dall’azione dell’altro muscolo.

2.7

Uncluntrolled Manifold

Si definisce Uncontrolled Manifold, o UCM il manifold (spesso considerato in realt´a per linearizzazione uno spazio) nello spazio di stato dove un task ´e compiuto con successo [51]. Ad esempio se il task ´e quello di stringere un oggetto con una certa forza ¯F con due dita, e le variabili considerate sono le forze esercitate dalle dita F1 e F2, l’UCM ´e la retta F1 + F2 = ¯F .

Secondo la Uncluntrolled Manifold hypothesis il sistema ner-voso centrale non elima i gradi di libert´a ridondanti come affer-mato dalle ipotesi che si basano sul controllo ottimo, ma al con-trario li usa tutti al fine di ottenere performance flessibili e sta-bili. Il sistema nervoso dunque centrale utilizza tale abbondanza di gradi di libert´a invece di restringerla [39].

Questa teoria si sposa natuarlmente con la definizione di sin-ergia sopra data, e permette anzi di quantificarla. Definita Vgood

come la varianza lungo l’UCM e Vbad come varianza nella

di-rezione ortogonale, si dir´a che una sinergia stabilizzante il task esiste se Vgood > Vbad, che non esiste altrimenti (figura 2.10).

(33)
(34)

Architettura di controllo: Dal

Controllo Motorio al Controllo

dei Movimenti

I sistemi robotici a cedevolezza variabile presentano problemi analoghi a quelli che il sistema nervoso centrale si trova a dover risolvere.

• Dinamica ignota e non lineare. Le caratteristiche che ren-dono tali questi sistemi sono varie:

– ´E noto come i sistemi robotici siano intrinsecamente non linari.

– Gli attuatori cedevoli presentano una dinamica non linare e di difficile modellazione, tanto pi´u se a cede-volezza variabile.

– Inoltre gli attuatori che si basano su un meccanismo agonista-antagonista presentano un comportamento di-namico analogo ai muscoli umani (stesso comportamen-to all’equilibrio in termini di posizione e stiffness). • Problema dei gradi di libert´a: i sistemi a cedevolezza

vari-abile, come gli altri sistemi robotici, presentano sia

(35)

danza anatomica, sia cinematica. Presentano inoltre una ridondanza aggiuntiva nella gestione della stiffess.

Dunque un modo per risolvere il problema del controllo dei sistemi a cedevolezza variabile potrebbe essere quello di utiliz-zare le informazioni riguardanti come il sistema nervoso centrale gestisce il corpo umano.

Come ampiamente descritto nel capitolo 2, capire come fun-zioni il sistema nervoso centrale ´e ancora un problema aperto, in cui non esistono teorie univoche. Dunque piuttosto che provare a replicare una struttura sconosciuta, in questo lavoro si discuter´a come replicare le funzionalit´a del sistema nervoso centrale, per cui esistono dati oggettivi, largamente accettati.

Questo lavoro verr´a fatto sia per il problema delle non lin-earit ˜A˘a ignote (inversione dinamica), sia per quanto riguarda il problema dei gradi di libert´a.

Il sistema di controllo proposto presenta una struttura orga-nizzata su due livelli come mostrato in figura 3.1:

• Controllo di basso livello (low level control o LL in seguito): si occupa di invertire la dinamica del sistema. Si basa su una combinazione di iterative learning control e tecniche di regressione. Si suppone che il sistema abbia tanti ingressi indipendenti quante sono le variabili che si intendono con-trollare. Si suppone di aver completo accesso a tali variabili. Questo livello verr´a descritto nella sezione 5.

• Controllo di alto livello (high level control o HL di seguito): si basa sul modello semplificato e noto che risulta dal con-trollo di basso livello e si occupa di gestire l’abbondanza di gradi di libert´a nell’esecuzione di task ridondanti. La fun-zione h(x) ´e la funzione di uscita e seleziona le variabili di interesse del task. Si suppone di avere accesso sia alle vari-abili di stato di interesse, sia alle uscite effettive y. Questo livello verr´a descritto nella sezione 6.

(36)

Il sistema segue quindi un approccio bottom-up, ovvero per mascheramenti successivi, secondo la filosofia descritta in [18].

Figura 3.1: Struttura di controllo. u ´e la variabile di controllo di basso livello, π ´e la variabile di controllo del sistema di alto livello, ref ´e il riferimento nello spazio dei giunti, x ´e il vettore dello stato, y ´e il vettore di uscita, h(·) ´e la funzione di uscita.

(37)

Iterative Learning Control:

Una Breve Introduzione

Operativa

4.1

Introduzione

In molte applicazioni pratiche ´e richiesto di sviluppare un controllore con l’obiettivo di far inseguire ad un sistema dinam-ico una precisa traiettoria traiettoria ripetutamente (e.g. bracci meccanici in catene di produzione industriale). Tale applicazioni vengono comunemente riferite con il termine batch.

La maggior parte delle tecniche esistenti prevede lo svilup-po di un sistema di controllo che permetta di ottenere perfor-mance tanto migliori tanto maggiore ´e la conoscenza del sistema da controllare, senza trarre beneficio dall’informazione ottenuta dall’esecutione del task sul sistema reale.

L’Iterative Learning Control (da qua in poi ILC) ´e una tec-nica di controllo in feed forward che permette di utilizzare tale informazione, introducendo nell’algoritmo di controllo la dimen-sione tempo-discreta dell’iterazione del task, andando a chiudere il loop in questa dimensione temporale.

Ecco alcune definizioni di ILC prese da articoli che hanno

(38)

contribuito allo sviluppo di tale tecnica:

• ”[...] recursive online control method that relies on less calculation and requires less a priori knowledge about the system dynamics. The idea is to apply a simple algorithm repetitively to an unknown plant, until perfect tracking is achieved” [3]

• ”The main idea behind ILC is to iteratively find an input sequence such that the output of the system is as close as possible to a desired output. Although ILC is directly associated with control, it is important to note that the end result is that the system has been inverted” [42]

Come per ogni branca della teoria del controllo, esistono moltissime varianti dell’ILC, anche molto diverse fra loro. In queste pagine si accenner´a solo ad una piccola parte di esse, concentrando l’attenzione principalmente su risultati per sistemi dinamici non lineari, con necessit´a minima di conoscenza delle caratteristiche del sistema.

Per avere un’ottica pi´u completa sulle tecniche descritte in queste pagine si consiglia:

• Libri:

– [66] ´e un testo completo, che parla sia delle basi del-l’ILC, sia di tecniche ILC non lineari. Fa spesso rifer-imento ai sistemi non lineari. Ha alcuni difetti: si riferisce in larga parte a sistemi SISO, e a sistemi con grado relativo nullo o unitario.

– In [2] sono descritti gli aspetti fondamentali dell’ILC, con particolare approfondimento per quanto riguarda i temi della robustezza e della convergenza monotonica. Di particolare interesse l’appendice A, dove ´e riporta-ta una ricca riporta-tassonomia della letteratura riguardante l’ILC.

(39)

– In [65] gli autori presentano vari esempi di applicazione dell’ILC.

• Survey:

– In [10] l’ILC ´e introdotto in termini di sue rappresen-tazioni, propriet´a di stabilit´a, performance e robustez-za. Si sofferma poi su varie tecniche di design (Arimo-to, Plant inversion, H∞, Quadratically optimal design).

Tutto questo nel caso lineare.

– In [61] l’ILC ´e brevemente introdotto e messo a confron-to con altre tecniche simili e meno note(RC e R2R). – In [1] ´e riportata sotto forma di survey l’appendice di

[2](si veda sopra).

4.2

Tecniche di controllo ILC

4.2.1 Espressione generale

Sia preso in esame un sistema dinamico: (

˙x = f (x, t, u) y = h(x, t, u)

Siano dati una finestra temporale [0, tf], un segnale di

rifer-imento yref definito su tale finestra, una dimensione temporale

aggiuntiva discreta necessaria a rappresentare il susseguirsi delle prove.

Con ui´e indicato l’intero segnale di ingresso, definito su [0, tf],

utilizzato nell’i-esima iterazione. Analogamente con yi ´e indicato

il segnale in uscita al sistema dinamico nell’i-esima iterazione. Sono generalmente contemplati anche segnali di disturbo, purch´e siano presenti ed eguali ad ogni iterazione. Per semplicit´a di seguito non verranno riportati.

(40)

Lo scopo delle tecniche ILC ´e la progettazione di una legge di aggiornamento dell’ingresso ui tale che:

lim

i→∞yi(t) = yref(t) ∀t ∈ [0, tf]

Le leggi di aggiornamento possono essere riassunte nella seguente forma

ui+1(t) = QILC(ui(t)) + r(t, i) (4.1)

QILC(ui(t)) ´e alle volte chiamata forgetting factor, mentre

r(t, i) updating law [61]. Il termine QILC(ui(t)) si trova spesso

anche sotto il nome, a mio avviso fuorviante, di componente feedforward.

Due scelte ragionevoli per QILC(ui(t)) sono:

• Combinazione convessa: QILC(ui(t)) = P k=0...iαkuk(t) con P k=0...iαk = 1.

• Finestra simmetrica di integrazione (per semplicit´a t ∈ N): QILC(ui(t)) = α0ui(t) + P k=1...rαk(ui(t − k) + ui(t + k)) con α0 + 2 P k=1...rαk = 1

L’utilizzo di tali leggi permette di rafforzare la robustezza dell’algoritmo a incertezze ad alte frequenze, ma tipicamente implica un errore a regime non nullo.

In seguito ci si concentrer´a principalmente sull’updating law, quindi dove non diversamente specificato QILC(ui(t)) = ui(t).

Osservando l’espressione 4.1 risulta chiaro essa non rappre-senti altro che un controllo FeedBack, nella dimensione tempo-rale delle iterazioni invece che in quella del tempo di esecuzione.

(41)

Figura 4.1: Possibili combinazioni FeedBack/ILC

4.2.2 ILC e feedback

L’ILC ´e una tecnica pensata per agire, nel tempo, in puro feedforward. Questo per´o non esclude affatto che essa possa essere usata in sinergia con altre tecniche in ciclo chiuso.

Ci sono fondamentalmente due modi di inserire l’ILC in un ciclo chiuso (figura 4.1):

(a) L’ILC viene applicato sul sistema gi´a controllato in feed-back. Si parla in questo caso di architettura seriale. Si tratta di un approccio fortemente consigliato nel caso in cui il sistema in ciclo aperto non sia stabile.

Questo approccio rientra a pieno nelle normali tecniche di controllo ILC vedendo il sistema in ciclo chiuso come il sistema da controllare, ed il riferimento come un disturbo uguale ad ogni iterazione.

(42)

(b) L’ILC viene sommato all’azione di controllo dovuta al ciclo chiuso. Si parla in questo caso di architettura parallela. Questa versione rappresenta il classico schema di control-lo Feedback/Feedforward. E per´´ o impossibile ricondurre questa architettura direttamente ai normali algoritmi ILC, ed ´e quindi richiesta una trattazione a parte.

In [31] ´e presentato un algoritmo ILC che ricalca questa ar-chitettura, con un generico controllore non lineare dinamico CF B, ed ´e mostrata una condizione di convergenza che non

dipende dal ciclo chiuso (si veda la sezione 4.2.4, equazione 4.3).

Gli algoritmi ILC on-line, descritti in parte in sezione 4.2.3, sono una variante su questa architettura.

Un’altra variante sul tema ´e introdotta in [14, 56, 13], dove il feedforward ´e ottenuto sommando una componente ILC ed una componente adattiva. Si parla in questo caso di Adaptive Iterative Learning Control. Non verr´a ulterior-mente affrontata questa tecnica in questo lavoro.

Si noti come, nel caso in cui il controllore sia lineare, non ci sia sostanzialmente nessuna differenza fra i due schemi.

In [11] entrambe le architetture vengono utilizzate per con-trollare un microscopio a forza atomica. Per tutti i segnali di riferimento presi in considerazione l’architettura parallela pre-senta prestazioni migliori rispetto a quella seriale, al costo di un maggior tempo di convergenza.

C’´e un’altra importante differenza fra le due tecniche: a regime il controllo in ciclo chiuso nel caso parallelo viene completamente escluso, a meno di disturbi inaspettati, mentre nel caso seriale continua ad essere utilizzato.

Infine l’utilizzo di un anello di controllo in feedback ha un ulteriore vantaggio: impedisce al sistema di allontanarsi troppo da una sua eventuale zona di linearizzazione, facendo s´ı che un

(43)

algoritmo ILC per sistemi lineari eventualmente tempovarianti (vedi dopo) possa convergere anche su sistemi non lineari.

4.2.3 PID-ILC

Arimoto, nel 1984, propose il primo algoritmo ILC, con up-dating law r(i, t) = Γ ˙ek(t). Dato un sistema dinamico lineare la

condizione di convergenza per questa legge ´e: ||I − CBΓ|| < 1

Per estensione spesso si parla di ILC Arimoto per tutti quegli algoritmi ILC in cui l’aggiornamento dell’azione di controllo ´e ot-tenuta come combinazione lineare dell’errore, della sua derivata, e del suo integrale.

Di seguito si parler´a brevemente di alcuni degli algoritmi di questo tipo proposti in letteratura. Si ´e prediletto i risultati per sistemi MIMO non lineari.

In [53] si prendono in esame i sistemi nella forma: (

˙x = f (x, t) + B(t)u y = C(t)xk(t)

Ovvero non lineari nella dinamica ma con funzioni di ingresso e di uscita lineari.

L’updating law proposta ´e:

r(i, t) = ILCP ID(t, i) + P ID(t, i + 1) (4.2)

Dove      ILCP ID(t, i) = PO(t)ei(t) + IO(t) Rt 0 ei(τ ) dτ + DO(t) ˙ei(t)

P ID(t, i + 1) = PC(t)ei+1(t) + IC(t)

Rt

0 ei+1(τ ) dτ + DC(t) ˙ei+1(t) = ...

(44)

Si tratta quindi di un utilizzo combinato di feedback e feed-forward ILC, entrambi di tipo PID. Si faccia per´o attenzione al fatto che la componente feedback di un passo contribuisce anche ai passi successivi, venendo assegnata ad ui.

Per questo motivo in letteratura si parla di componente off-line (ILCP ID(t, i)) e on-line (P ID(t, i + 1)).

La condizione sufficiente di convergenza del metodo ´e:

ρ([I + DC(t)C(t)B(t)]−1[I − DO(t)C(t)B(t)]) < 1 ∀t ∈ [0, tf]

Dunque, a costo di scegliere DC sufficientemente grande,

l’al-goritmo converger´a.

In [67] sono presi in considerazione due casi simili. La fun-zione di uscita ´e supposta qualsiasi y = h(x, t), e la legge di aggiornamento ´e puramente derivativa off-line:

r(i, t) = K(t) ˙ei(t)

Questa volta la condizione sufficiente di convergenza ´e: ∃γ t.c. : ∂h(x, t) ∂x < γ ∀(x, t) ∈ R n × [0, t f] sup (x,t)∈Rn×[0,t f] ||I − ∂h(x, t) ∂x B(t)K(t)|| < 1 Viene poi presa in esame la legge on-line derivativa:

r(i, t) = K(t) ˙ei+1(t)

Che ha condizione di convergenza: ∃γ t.c. : ∂h(x, t) ∂x < γ ∀(x, t) ∈ R n × [0, t f] sup (x,t)∈Rn×[0,t f] ||(I + ∂h(x, t) ∂x B(t)K(t)) −1|| < 1

(45)

4.2.4 ILC e sistemi con grado relativo maggiore di 1 Le tecniche fino ad ora viste assicurano la convergenza di sistemi dinamici con grado relativo nullo o unitario.

Un sistema dinamico Lagrangiano in cui si possano supporre note le velocit´a ha grado relativo pari ad 1 e dunque le tecniche fino ad ora viste sono in gran parte utilizzabili senza problemi.

Nel caso pi´u comune in cui si possano conoscere solo le po-sizioni (e.g. tramite encoder ai giunti) il sistema diviene di grado relativo 2.

Infine nell’ambito della soft-robotics, dove spesso due link sono accoppiati tramite una molla, l’ordine del sistema sale addirittura a 3.

Quindi sono richieste tecniche ILC con criteri di convergenza pi´u generali.

In [31] ´e proposta una tecnica, gi´a accennata nella sezione 4.2.2 per quanto riguarda la sua indipendenza da generici con-trolli in feedback. Nel medesimo articolo ´e riportato un esempio simulativo di un RR controllato con tale tecnica.

La legge di aggiornamento ´e la seguente:

r(i, t) = K(t)      1e(r1) i (t) 2e(r2) i (t) ... me(rm) i (t)      (4.3)

Dove je(k)i (t) ´e la derivata k-esima, della j-esima componente dell’errore, all’i-esima iterazione, e dove rj ´e il grado relativo

della j-esima uscita.

In sostanza ´e necessario derivare l’errore un numero sufficiente di volte a far apparire l’uscita, per poter sperare nella conver-genza. Questo ´e valido in questa tecnica, ma lo ´e pure per le tecniche di ordine minore.

(46)

Dunque nel caso di robot con sensori di posizione si dovran-no utilizzare le derivate seconde, e nel caso di accoppiamento tramite molle si dovranno usare le derivate terze.

La condizione di convergenza ´e di nuovo in una forma molto simile alle precedenti:

sup (x,t)∈Rn×[0,t f] ||I − K(t)J(x(t))|| < 1 Dove {J (x(t))}i,j = LgjL ri−1 f hi(x(t)).

Un approccio diverso allo studio del problema pu´o permettere di ottenere risultati di convergenza pi´u comprensivi. Si tratta del Super-Vector ILC framework (da qua in poi SVILC). Per scrivere quanto segue si ´e fatto riferimento a [2].

Questa tecnica ha il difetto di essere riferita tipicamente a sistemi lineari e tempo-discreti. Per un sistema di questo tipo, di grado relativo m, si pu´o scrivere(in trasformata Z):

Y (z) = G(z)U (z) = (hmz−m+ hm+1z−(m+1) + ...)U (z)

I parametri hi sono detti coefficienti di Markov della risposta

impulsiva. A questo punto risulta possibile includere esplicita-mente la dimensione temporale delle iterazioni all’interno del sistema, tramite l’introduzione dei seguenti supervettori:

Uk = (uk(0), uk(1), ..., uk(N − 1))

Yk = (yk(m), yk(m + 1), ..., yk(m + (N − 1)))

Yd = (yd(m), yd(m + 1), ..., yd(m + (N − 1)))

Ek = Yd− Yk

Il sistema dinamico lineare a questo punto viene ad avere la seguente forma:

(47)

Con H =        hm 0 0 ... 0 hm+1 hm 0 ... 0 hm+2 hm+1 hm ... 0 ... ... ... . . . ... hm+N −1 hm+N −2 hm+N −3 ... hm       

Dove la dimensione temporale ´e scomparsa, e il sistema di-namico si ´e trasformato in un sistema tempo discreto algebrico, nelle iterazioni, con tanti ingressi (uscite) quanti erano gli in-gressi (le uscite) originali per il numero di campioni. Questa tecnica viene riferita in letteratura sotto il nome di lifting.

Si pu´o dimostrare, utilizzando questa notazione, che utiliz-zando un ILC puramente derivativo, una condizione sufficiente per la convergenza monotonica (si veda sezione 4.2.5) ´e:

||I − HΓ|| < 1

Dove Γ ´e la matrice diagonale a blocchi, con blocchi tutti uguali pari alla matrice di retroazione ILC.

Non causalit´a

In questa sezione si ´e fatto riferimento ad algoritmi che richiedono l’uso di derivate dell’errore (esatte), anche superiori alla pri-ma. L’utilizzo di tali operatori non causali non ´e tipicamente possibile, se non in maniera approssimata.

Nell’ILC (non on-line) invece questo ´e possibile teoricamente in maniera esatta per tutto l’errore escluso un intorno piccolo a piacere di (tf, e(tf)), che comunque pu´o essere ottenuto per

con-tinuit´a. Questo poich´e al momento dell’elaborazione del nuovo segnale di controllo ´e disponibile tutta la precedente evoluzione dello stato.

(48)

Da un punto di vista pratico questo si concretizza nella pos-sibilit´a di utilizzo di tecniche di derivazione e filtraggio off-line non causali.

Questo ´e senza dubbio uno dei pi´u grandi vantaggi del con-trollo ILC.

Virtual output function

Nella sezione precedente ´e stata descritta la possibilit´a di derivare perfettamente segnali in ambito ILC.

Questa considerazione ha una conseguenza interessante quan-do una porzione dello stato del sistema ´e la derivata di un’altra parte, come accade nei sistemi lagrangiani.

In questi casi dalla conoscenza di una sola porzione dello sta-to ´e possibile conoscerne la totalit´a in maniera esatta tramite derivazione off-line.

Quindi la funzione di uscita effetiva pu´o essere sostituita da una virtuale che tenga in considerazione l’informazione aumen-tata.

4.2.5 Convergenza monotonica

Quasi tutti i risultati dati in queste pagine sono relativi a condizioni di convergenza al limite. Non vi ´e quindi nessuna garanzia che vieti all’errore di crescere, anche molto, prima di scendere e convergere.

Questo pu´o portare a svariati problemi, quali:

• L’allontanamento dalla traiettoria di riferimento rende fal-laci eventuali linearizzazioni.

• Il sistema pu´o porsi in stati che da un punto di vista pratico equivalgono alla divergenza.

(49)

• Risulta difficoltoso definire delle euristiche per la scelta dei valori di learning.

Tale effetto pu´o essere mitigato tramite una combinazione ILC-feedback, come descritto in sezione 4.2.2.

´

E parte della ricerca in ILC lo studio di condizioni per la monotona convergenza (MC), ove alla condizione al limite ´e aggiunta la condizione sulla monotonica decrescenza dell’errore.

4.2.6 ILC e robot

La robotica ´e un campo naturale di applicazione per l’ILC. Spesso infatti i manipolatori industriali devono compiere solo un numero molto ristretto di task, e lo devono fare in maniera ripetuta.

La maggior parte delle tecniche esistenti per´o non sono di immediata applicazione nel campo. Come gi´a accennato, nelle pagine precedenti si ´e presentato alcune tecniche ILC, concen-trandoci su tecniche che potessero essere usate, con semplicit´a, su sistemi dinamici non lineari.

Esistono per´o studi nei quali sono sviluppate tecniche ILC ad hoc, per i sistemi robotici.

E il caso di [7], dove ´e proposta una tecnica che permette di controllare un manipolatore (in realt´a pi´u in generale un sistema Lagrangiano) di cui la dinamica sia completamente sconosciuta. Tale tecnica ´e poi applicata con successo, in simulazione, su un RR.

L’idea di base ´e quella di chiudere suo sistema un loop lineare di questo tipo:

uf b = r − K ¨q − L ˙q − P q

Ottenendo la dinamica:

(50)

Per poi considerare come approssimazione: K ¨q + L ˙q + P q = r

Che ´e completamente nota. Il difetto pi´u evidente di questa approssimazione ´e l’impossibilit´a di conoscere run-time ¨q. Gli autori risolvono la questione suggerendo l’uso di un passa alto per effettuare una derivazione approssimata.

Viene presa come prima azione di controllo quella calcolata dal modello:

u1 = K ¨qd+ L ˙qd+ P qd

L’evoluzione effettiva risulter´a differente da quella reale e il controllo in retroazione generer´a un’azione correttiva. Tale azione all’iesimo passo sar´a:

∆ui = −(K ¨ei+ L ˙ei+ P ei)

L’azione in feedforward al passo successivo ´e scelta come:

ui = u1 + i

X

k=1

∆uk (4.4)

Questa tecnica di utilizzo molto semplice, presenta una con-dizione di convergenza piuttosto complessa, che qua non ´e ripor-tata. La tecnica di controllo ´e in realt´a un caso particolare della 4.2, e pertanto ´e possibile fare riferimento a quella legge.

In [16, 30, 34] si tenta di risolvere il problema del control-lo di manipolatori robotici flessibili. Si tratta di un problema molto complesso da risolvere, essendo modellabile con preci-sione soltanto con un sistema dinamico non lineare a dimenpreci-sione infinita.

In [65] viene presentato un esempio di derivazione della cine-matica inversa di un robot utilizzando l’ILC.

(51)

Figura 4.2: Schematizzazione RR con specifica dei parametri

Infine in [55, 54] si applica la gi´a citata tecnica dell’Iterative Adaptive Control ad alcuni sistemi robotici.

Ognuna di queste tecniche fa uso di una parte di conoscenza della struttura e/o della dinamica del robot.

4.3

Un esempio simulativo: controllo di un

RR

4.3.1 Definizione del sistema e del controllore

In questa sezione le tecniche descritte precedentemente sono utilizzate per controllare un manipolatore RR completamente attuato, con misura degli angoli.

La sua dinamica ha la seguente forma. B(q)¨q + C(q, ˙q) ˙q + G(q) = τ

(52)

⇓        ˙x = " xn+1...2n −B−1(x1..n)(C(x)xn+1,...,2n + G(x1..n)) # + " 0 B−1(x1..n) # τ y = h I 0 i x

La matrice di inerzia ´e (i parametri sono in figura 4.2):

B(x1..n) =  (m1 + m2)a21 + m2a22 + 2m2a1a2cx2 m2a 2 2 + m2a1a2cx2 m2a22 + m2a1a2cx2 m2a 2 2 

La matrice di coriolis e il vettore del potenziale sono:

C(x) =  −2m2a1a2x4 m2a1a2x3sx2 −m2a1a2x4sx2 0  + µI G(x1...n) = 0 0 

Al fine di testare le capacit´a di adattibilit´a del sistema le matrici verrano modificate in:

Cnew(x) = C(x) + βI Gnew(x1...n) =

−ka2

1sq1

0 

Dove la variazione Cnew(x) equivale a porre l’RR in un

flu-ido (l’effetto dissipativo cresce), e la variazione di Gnew(x1...n)

dipende dall’inserimento di una molla connessa fra la fine del link 1 e la posizione in cui la fine del link 1 si trova quando q1 = 0.

Come descritto nella sottosezione 4.2.4 l’output function pu´o essere aumentata usano la derivazione off-line, ottenendo:

     ˙x = " xn+1...2n −B(x1..n)−1(C(x)xn+1,...,2n + G(x1..n)) # + " 0 B−1(x1..n) # τ y = x

(53)

Esistono uscite con grado relativo pari ad 1, quindi pu´o es-sere una scelta ragionevole quella di usare la learning rule 4.2, poich´e ha una condizione sufficente di convergenza piuttosto comprensiva.

I sistemi presi in considerazione in tale tecnica sono lineari tempo varianti. Nonostante ci´o ´e possibile immaginare di uti-lizzare questa condizione di convergenza su sistema linearizzato intorno alla traiettoria desiderata, e.g. [47]. Nell’esempio preso in esame ´e necessaria un’approssimazione meno forte: solo la funzione di ingresso deve essere linearizzata. Questo ´e ottenuto semplicemente sostituendo B−1(x1..n) con B−1(ref (t)).

La condizione 4.2.3 viene quindi riscritta con le matrici defi-nite sopra: ρ([I +DC(t)  0 B(ref (t))−1  ]−1[I −DO(t)  0 B(ref (t))−1  ]) < 1 ∀t ∈ [0, tf]

DC(t) deve avere la forma

 ¯

DC 0 poich´e la velocit´a non sono

disponibili a run-time. ρ([I − DO(t)  0 B−1(ref (t))  ]) < 1 ∀t ∈ [0, tf]

Dunque la componente on-line dell’ILC ´e inutile, almeno sec-ondo questa condizione di convergenza, allo scopo di ottenere la convergenza. Come gi´a detto nella sezione 4.2.2 il feedback ´

e comunque fondamentale per migliorare le performance, e per mantenere ragionevole l’ipotesi di linearizzazione.

Esprimendo DO(t) come DO1 DO2, ´e possibile ottenere una

condizione pi´u sintetica:

ρ([I − DO2(t)B−1(ref (t))]) < 1 ∀t ∈ [0, tf]

Dove risulta chiaro come gli unici parametri coinvolti nella convergenza siano DO2(t).

(54)

Assumendo che i valori del riferimento possano vivere in tutto lo spazio di stato feasible, la condizione diventa la seguente:

ρ([I − DO2(t)B−1(x1...n)]) < 1 ∀x1...n ∈ Rn

Ci´o equivale a dire che tutti gli autivalori di D2O(t)B−1(x1...n)

debbano stare nel cerchio unitario centrato in 1. Una possibile scelta per D2O(t) potrebbe essere:

D2O(t) := αIn×n

Da cui:

ρ([I − αB−1(x1...n)]) < 1 ∀x1...n ∈ Rn

B(x1...n) ´e definita positiva (come dimostrato in [27]),

quin-di anche B−1(x1...n) lo ´e. Questo implica che gli autovalori di

B−1(x1...n) si trovino tutti sul semipiano positivo, e dunque che

esista un α non nullo che contragga il piano sufficentemente da porli tutti nel cerchio unitario centrato in 1, verificando la condizione di convergenza.

D’altra parte ´e ragionevole pensare che un valore di α pi´u grande permetta una convergenza pi´u veloce. Dunque sar´a nec-essario un trad off.

L’euristica utilizzata in questa implementazione ´e semplice-mente quella i ridurre α se l’errore totale supera una certa soglia, resettando poi la fase di learning.

Riassumendo la learning rule ´e:

ui+1(t) = ui(t) + p1 0 d1 0 α 0 0 p2 0 d2 0 α    qd(t) − qi+1(t) ˙ qd(t) − ˙qi+1(t) ¨ qd(t) − ¨qi(t)  

Volendo introdurre una componente on-line, per i motivi de-scritti in precedenza, sono introdotti i parametri p11, p21, p12, p22, d11, d21, d12, d22.

(55)

Figura 4.3: Schema generale, con il generatore di riferimenti, il controllore in rosso, e il sistema in grigio

L’algoritmo di controllo diventa:

ui+1(t) = ui(t) + p1 1 0 d11 0 α 0 0 p12 0 d12 0 α    qd(t) − qi(t) ˙ qd(t) − ˙qi(t) ¨ qd(t) − ¨qi(t)  + ... ... +p 2 1 0 d21 0 0 p22 0 d22  qd(t) − qi+1(t) ˙ qd(t) − ˙qi+1(t)  (4.5) In figura 4.3 lo schema simulink.

4.3.2 Simulazioni

Di seguito si presentano alcune simulazioni al fine di espli-care le performance e il funzionamento degli algoritmi ILC. Nelle simulazioni sono utilizzati i parametri.

(56)

                                   a1 = 0.5m a2 = 0.5m m1 = 4Kg m2 = 2Kg µ = 1N s β = 9N s k = 10Nm p11 = 6 p21 = 4 p12 = 8 p22 = 2 d11 = 10 d21 = 4 d12 = 10 d22 = 1 α = 1.5 ´

E inoltre considerato un ingente ritardo di 0.1sec, sia prima che dopo il controllore. Inoltre l’ILC ´e implementato in maniera discreta, considerando il segnale di controllo campionato con 100 samplers.

Gli input di riferimento consierati sono lunghi 5sec, e con-sistono di:

• Due rampe saturate su entrambi i giunti, con tempo di salita pari a 1sec e angolo finale pari a π2.

• Una sinusoide sull’angolo q1, con ampiezza 1rad e frequenza

2rad/s, e un riferimento costantemente nullo sull’angolo q2.

Entrambi i segnali sono pretrattati, derivandoli prima, facen-do passare tale dericata tramite un LP (4 poli in −100), ed infine integrato nuovamente. In questo modo si ´e sicuri che i segnali siano sufficientemente derivabili, e quindi feasible per l’algoritmo.

I risultati della prima iterazione (nessun feedforward pre-sente) sono presentati in figura 4.4, sulla destra le evoluzioni associate al riferimento a rampa a sinistra, quelle associate al riferimento sinusoidale a destra.

(57)

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 −0.5 0 0.5 1 1.5 2 2.5 time[sec] angles[rad] ref1 ref2 q1 q2 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 time[sec] angles[rad] ref1 ref2 q1 q2

Figura 4.4: Evoluzione degli angoli alla prima iterazione per entrambi i segnali di riferimento. 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 time[sec] angles[rad] ref1 ref2 q1 q2 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 −1 −0.5 0 0.5 1 1.5 time[sec] angles[rad] ref1 ref2 q1 q2

Figura 4.5: Evoluzione degli angoli alla decima iterazione per entrambi i segnali di riferimento.

(58)

0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 time[sec] angles[rad] ref1 ref2 q1 q2 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 time[sec] angles[rad] ref1 ref2 q1 q2

Figura 4.6: Evoluzione degli angoli alla 50 − esima iterazione per entrambi i segnali di riferimento. 0.5 1 1.5 2 2.5 3 3.5 4 4.5 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 time[sec] angles[rad] ref1 ref2 q1 q2 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 time[sec] angles[rad] ref1 ref2 q1 q2

Figura 4.7: Evoluzione degli angoli alla 100 − esima iterazione per entrambi i segnali di riferimento.

(59)

0 20 40 60 80 100 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 Errors evolution time[sec] qerr [rad] err1 err 2

Figura 4.8: Evoluzione dell’errore assoluto per entrambi gli angoli al variare delle iterazioni, per i riferimenti a rampa.

Dopo 10 prove le performance sono fortemente aumentate (figura 4.5). Alla 50 − esima iterazione le evoluzioni sono molto buone (figure 4.6), e dopo 100 gli inseguimenti sono perfetti (figure 4.7).

Per i segnali a rampa la somma delle norme degli errori ´e circa 3.06 rad sec, che risulta ridotta a 0.78 rad sec (un fattore circa 4) dopo 10 iterazioni, e diventa 0.09 rad sec all’iterazione 50 − esima e 0.06 rad sec all’iterazione 100 − esima (un fattore 34 e 51 rispettivamete).

Analogamente i valori degli errori saranno rispettivamente 4.21 rad sec, 1.75 rad sec, 0.21 rad sec, 0.06 rad sec (con dei fattori di riduzione pari a 2.5, 20, 70).

In entrambi i casi tali valori sono estratti dalle evoluzioni rappresentate in figura 4.8 e 4.9.

Le figure 4.10 e 4.11 dimostrano come il feedback sia cru-ciale al fine di ridurre gli errori e ottenere stabilit´a nella singola iterazione.

(60)

0 20 40 60 80 100 0 0.5 1 1.5 2 2.5 Errors evolution time[sec] qerr [rad] err 1 err2

Figura 4.9: Evoluzione dell’errore assoluto per entrambi gli angoli al variare delle iterazioni, per i riferimenti sinusoidali.

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 −0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 time[sec] angles[rad] ref1 ref2 q1 q2 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 −0.2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 time[sec] angles[rad] ref1 ref2 q1 q2

Figura 4.10: Comparazione delle evoluzioni degli angoli con (sinistra) e senza (destra) il feedback loop, nel momento in cui appare una variazione inaspettata della viscosit´a

(61)

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 −0.5 0 0.5 1 1.5 2 2.5 3 time[sec] angles[rad] ref1 ref2 q1 q2 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 5 −1 0 1 2 3 4 5 6 time[sec] angles[rad] ref1 ref2 q1 q2

Figura 4.11: Comparazione delle evoluzioni degli angoli con (sinistra) e senza (destra) il feedback loop, nel momento in cui appare una variazione inaspettata di G(x) 0 20 40 60 80 100 0 0.5 1 1.5 2 2.5 3 3.5 4 Errors evolution time[sec] qerr [rad] err1 err 2

Figura 4.12: Evoluzione dell’errore assoluto al variare delle iterazioni, per en-trambi gli angoli, per il riferimento a rampa, con inserimento della variazione della viscosit´a alla 51 − esima iterazione

(62)

0 20 40 60 80 100 0 0.5 1 1.5 2 2.5 3 3.5 4 Errors evolution time[sec] qerr [rad] err1 err 2

Figura 4.13: Evoluzione dell’errore assoluto al variare delle iterazioni, per entram-bi gli angoli, per il riferimento a rampa, con inserimento della variazione di G(x) alla 51 − esima iterazione

Le figure 4.12 e 4.13 mostrano le riduzioni delle norme degli errori al variare delle iterazioni, quando viene introdotta un’al-terazione della dinamica (all’iun’al-terazione 51 − esima). Risulta chiaro come le performace possano essere velocemente recuper-ate.

(63)

Low Level Control: Sub-Task

Based Model Inversion

Lo scopo di questo livello di controllo ´e quello di compiere l’in-versione della dinamica del sistema ignoto non lineare, ovvero si intende ottenere: indipendenza maggiore possibile dalla strut-tura del sistema, con conseguente capacit ˜A˘a di adattare il con-trollore a variazioni di tale struttura, e mascheramento della di-namica al livello superiore del controllo. La scelta di utilizzare il feedforward al fine di migliorare le prestazioni, invece, non ´e im-posta ma risulter´a naturale dalle successive considerazione. Tale scelta risulta preferibile ad una soluzione puramente in anello chiuso anche perch´e i sistemi robotici basati su qbmoves, come il corpo umano, presentano un ritardo non trascurabile nell’anello di controllo.

Tale livello di controllo prevedere una retroazione nello spazio dei giunti.

Le tre caratteristiche peculiari che il sistema nervoso cen-trale presenta nell’aprendimento di nuovi movimenti, e che siamo interessati a riprodurre, sono:

(i) Learning by repetition.

(ii) Aftereffect su traiettorie di cui si ´e fatto esperienza. 57

(64)

Figura 5.1: Schema generale di controllo con evidenziato il controllo di basso livello. u ´e la variabile di controllo di basso livello, π ´e la variabile di controllo di alto livello, ref ´e il riferimento nello spazio dei task, x ´e il vettore di stato, y ´e il vettore di uscita, h(·) ´e la funzione di uscita.

(iii) Aftereffect su traiettorie su cui non si ´e fatta esperienza. Esse sono gi´a state descritte nel dettaglio nel capitolo 2. Come gi´a descritto, la teoria dei modelli interni permette di spiegare tutti e tre gli effetti.

Dal punto di vista del controllo dei robot questa possibilit´a verr´a affrontata nella sezione 5.2

5.1

Introduzione su inversione della dinamica

5.1.1 nozioni generali

Figura

Figura 1.1: Rappresentazione grafica interazione robotica e controllo motorio
Figura 2.1: Muscoli nella mano e nell’avamburaccio
Figura 2.3: Il corpo umano ´ e fortomente non lineare su ogni livello
Figura 2.4: Il controllo motorio ´ e fisiologicamente gerarchico
+7

Riferimenti

Documenti correlati

Nel Capitolo 2 sono analizzati i motori piezoelettrici a partire dallo stato dell’arte, proseguendo con un’accurata descrizione delle caratteristiche salienti; viene fatto, nella

Charpentier, Louis 1997, Les metamorphoses de l'action positive : des human rights aux ressources humaines European University Institute DOI: 10.2870/52662... Charpentier, Louis

• Category 1 is composed of the regions in which the changes in ranking positions are negligible. • Category 2 contains the regions in which the ranking

D’Ascoli, Silvia 2008, Sentencing in International Criminal Law: The approach of the two UN ad hoc Tribunals and future perspectives for the International Criminal Court

Determinare i parametri del controllore proporzionale e proporzionale- integrale mediante il metodo di Cohen-Coon ipotizzando che si abbia un disturbo a gradino sulla portata

calcolo dell’ISE (o altro indice di performance) ... confronto dell’ISE col suo

L’asse di derotazione di campo (derotatore) non esiste nelle montature equatoriali (in cui l’asse di ascensione retta è allineato con l’asse polare terrestre), ma deve

Nella UO Riabilitazione Polifunzionale della casa di Cura “Ancelle della Carità” di Cremona, sono state ap- prontate alcune carte di monitoraggio (CDM).. La pri- ma è