83
Metodi di Controllo per Manipolatori Industriali Basilio Bona Dipartimento di Automatica e Informatica Politecnico di Torino [email protected] Internal Report: DAUIN/BB/2006/06.01 Vers. 12 marzo 2009

Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Metodi di Controlloper Manipolatori Industriali

Basilio BonaDipartimento di Automatica e Informatica

Politecnico di Torino

[email protected]

Internal Report: DAUIN/BB/2006/06.01

Vers. 12 marzo 2009

Page 2: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Pagina lasciata intenzionalmente vuota.

Page 3: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Capitolo 1

Controllo lineare di manipolatoririgidi

1.1 Introduzione

Scopo degli algoritmi e delle architetture di controllo dei manipolatori e quello di fornire ilsegnale di comando agli attuatori dei giunti per ottenere che la punta operativa del mani-polatore esegua il compito assegnato nello spazio cartesiano. Schematicamente si possonodefinire due tipi di compiti:

• Compiti senza interazione con l’ambiente circostante: si tratta cioe di muovere la puntaoperativa da un punto ad un altro dello spazio cartesiano o lungo traiettorie assegnate,rispettando vincoli di posizione, velocita ed accelerazione;

• Compiti che richiedono interazione con l’ambiente: si tratta solitamente di muoverenello spazio cartesiano la punta operativa lungo traiettorie assegnate e contemporanea-mente esercitare una forza e/o una coppia su oggetti o superfici definiti nello stessospazio.

Tali compiti vengono definiti ad un livello gerarchico superiore (pianificazione del compi-to o della traiettoria), ma la presenza di disturbi, errori di modello, perturbazioni additi-ve e/o parametriche, rende necessario un controllo in catena chiusa del moto del robot edeventualmente della forza esercitata sull’ambiente.

Tuttavia gli obbiettivi assegnati al robot possono rendere molto diversa la realizzazione diun controllo: ad esempio, sara maggiormente complesso eseguire un controllo continuo ditraiettoria, in presenza di vincoli sul percorso e con specifiche di precisione lungo la traiettoriastessa, piuttosto che realizzare un controllo di movimento punto-punto; cosı pure, un controllo

1

Page 4: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

di traiettoria senza interazione con l’ambiente ha una complessita minore di un controllocontemporaneo di posizione e forza, ecc.

La struttura meccanica puo rendere diversa l’architettura di controllo: uno schema di con-trollo valido per un manipolatore cartesiano non sara generalmente adottabile per un ma-nipolatore antropomorfo e viceversa; analogamente un robot la cui struttura meccanica eprogettata per compensare automaticamente la componente gravitazionale agente sui bracci,avra uno schema di controllo diverso da quello di un robot non equilibrato.

Inoltre il desiderio di migliorare le specifiche di precisione, velocita di risposta, ripetibilita,unite alla convinzione che nel futuro ci si debba spingere verso robot con strutture meccanichemeno rigide, ma dove gli errori di posizionamento dovuti all’elasticita dei giunti e dei bracci siacorretta via software, rende necessario adottare strategie ed architetture di controllo semprepiu complesse.

Giocano una parte fondamentale sull’analisi della struttura di controllo i progressi nel campodegli attuatori e dei sensori; ad esempio, l’adozione di motori in corrente continua (classicio brushless) collegati al giunto attraverso scatole di trasmissione (motoriduttori), permettedi ridurre fortemente gli effetti della dinamica nonlineare del manipolatore, ma introducefenomeni difficilmente modellabili, come le zone morte, l’attrito coulombiano e di primodistacco (oltreche quello viscoso) e l’elasticita. D’altro canto l’uso di motori ad azione diret-ta (direct-drive), elimina questi effetti indesiderati, ma riporta in primo piano le dinamichenonlineari.

Nel campo dei sensori, oltre ad utilizzare comunemente sensori interni per la misura dellaposizione e della velocita di ciascun giunto, si assiste ad un notevole sforzo di ricerca direttoall’affinamento di sensori “cartesiani”, in grado cioe di rilevare grandezze di posizione ed asset-to direttamente nello spazio di lavoro (come sensori di distanza, sensori di forza, telecamere,ecc.), e alla loro piu stretta integrazione con le architetture di controllo dei manipolatori.

Nel seguito verranno descritte le tecniche di controllo seguenti:

1. Controllo a giunti indipendenti.

2. Controllo di coppia calcolata e a dinamica inversa.

3. Controllo di forza e controllo ibrido (forza–posizione).

4. Controllo adattativo.

Nei successivi paragrafi verra descritta in dettaglio la tecnica di controllo a giunti indipendentie successivamente schemi di controllo piu sofisticati.

2

Page 5: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

1.2 Controllo a giunti indipendenti

L’architettura di controllo che si e venuta imponendo a partire dalle prime realizzazioni e chetrova tuttora una vasta applicazione industriale, tratta ogni singolo giunto come un sottosi-stema disaccoppiato indipendente, controllato mediante una retroazione locale, considerandocome disturbi gli effetti di accoppiamento non lineari presenti nella dinamica propria delrobot. Il controllo e sostanzialmente di tipo mono-variabile, con reti di compensazione clas-siche (PD o PID). La popolarita di questo schema e dovuta alla robustezza ed alla relativasemplicita e modularita dell’architettura, ben adatta ad essere realizzata su semplici schedededicate. Come esempio viene riportato lo schema adottato sul robot PUMA.

1.2.1 Schema di controllo del PUMA

Lo schema (vedi Figura 1.1) consta di un controllore centrale basato su un minicomputer(DEC LSI-11/02) e sei microprocessori di giunto Rockwell 6503, ciascuno con il proprioencoder sull’albero motore, un convertitore D/A, un amplificatore di corrente.

Terminale Floppy Box Accessori

DLV-11J

EPROMVAL

RAM

CPU

DRV-11 INTERFACCIA

�p AmplificatoreD/A Motore 1

ENCODER�p AmplificatoreD/A Motore 6

ENCODER

COMPUTER CONTROLLO BRACCIO

Riferimentiangolari

T=28 ms T=0.875 ms

T=0.875 ms

�1�6

Figura 1.1: Schema del controllore a giunti indipendenti del manipolatore PUMA.

I compiti del controllore centrale sono

• gestire l’interazione con l’utente e la schedulazione dei compiti in seguito ai comandidell’utente (linguaggio di controllo VAL). Comprende l’interprete dei comandi VAL el’interfaccia di controllo;

3

Page 6: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

• coordinare i compiti dei microprocessori di giunto.

• gestire le fasi di accensione e spegnimento, la calibrazione e le situazioni di errore edemergenza.

Nelle EPROM del controllore centrale sono codificate le seguenti funzioni

1. trasformazione di coordinate (cinematica diretta e inversa);

2. pianificazione di traiettoria interpolata ai giunti; vengono inviati ai giunti le coordinateincrementali ogni 28 ms;

3. riconoscimento dei messaggi dai microprocessori locali che informano se il movimentoincrementale e terminato;

4. interpolazione anticipata (di due istruzioni VAL) per eseguire le traiettorie continue egli eventuali raccordi tra traiettorie elementari (fly).

I controllori locali sono montati su una piastra con la propria EPROM ed il convertitoreD/A; la comunicazione con il LSI-11/02 avviene attraverso una scheda d’interfaccia che fungeanche da demultiplexer per i microprocessori locali; questa e a sua volta connessa con unascheda d’interfaccia parallela a 16 bit (DRV-11), collegata sul bus di comunicazione. Ilmicroprocessore ricava i segnali di errore al giunto e li invia al controllore dell’attuatore, cheha un proprio anello di retroazione in corrente.

Vi sono due anelli di retroazione per ciascun giunto:

• il piu esterno fornisce l’errore di posizione che viene aggiornato ogni 0.875 ms dal micro6503;

• il piu interno consiste in un compensatore analogico sulla velocita del motore.

Entrambi sono a parametri costanti e sintonizzati per non essere sottosmorzati in ognicondizione di carico e di velocita (secondo quanto si dira in seguito).

Il microprocessore locale svolge anche le seguenti funzioni:

1. ogni 28 ms riceve i riferimenti di traiettoria dal LSI-11/02 e calcola l’interpolazione trail valore attuale e il valore desiderato della coordinata giunto;

2. ogni 0.875 ms legge i registri che memorizzano i valori incrementali forniti dagli encodersull’albero motore;

3. aggiorna i segnali di errore angolare da dare in ingresso al controllore;

4

Page 7: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

4. converte il segnale errore in segnale di corrente utilizzando il convertitore D/A e lo inviaal servocomando analogico del motore.

Lo schema di controllo risulta essere un PD; la compensazione dell’effetto gravitazionale suibracci viene ottenuta con il controllo di velocita, portando tuttavia ad un errore di posizione.Lo svantaggio maggiore di questo schema sta nel valore costante dei parametri di progetto, chenon variano al variare del carico sui giunti e sulla necessita di compensare il carico costantedovuto alla gravita.

1.2.2 Modello matematico del controllore ai giunti

Per poter modellare la dinamica di un giunto e necessario modellare la dinamica del suoattuatore, a cui va poi aggiunta la dinamica propria del manipolatore, cosı come e statasviluppata in un capitolo precedente. In pratica la dinamica dovuta all’accoppiamento trai bracci e la dinamica non lineare (coppie centrifughe e di Coriolis) vengono considerate inquesto schema come disturbi additivi compensati dal controllore di giunto.

L’attuatore piu utilizzato negli schemi di controllo per robot relativamente leggeri e il motorea corrente continua, comandato in armatura.

Lo schema meccanico del motore in cc e illustrato in Figura 1.2, mentre lo schema elettro-meccanico e illustrato in Figura 1.3.

Il circuito di eccitazione, di solito alimentato indipendentemente dal circuito di armatura, ge-nera il campo magnetico, le cui linee di flusso si concatenano con gli avvolgimenti di armatura,mentre il circuito di armatura e alimentato a tensione o corrente variabile; l’interazione trail flusso di eccitazione e la corrente di armatura genera la potenza meccanica, come prodottodi coppia per velocita angolare. La variazione della tensione o della corrente di armaturapermette di comandare, nel modo che vedremo in seguito, queste due grandezze.

La relazione tra flusso magnetico generato φ e corrente di eccitazione presenta una caratte-ristica non lineare, con saturazione; la caratteristica viene linearizzata nell’intorno del puntodi lavoro. Se il motore e comandato in armatura, il flusso φ e costante, essendo costante ve

o ie.

Talora vengono usati motori con magneti permanenti al posto del circuito di eccitazione, maquasi mai su robot di una certa potenza, in quanto il flusso φ risulterebbe troppo basso. Undiscorso a parte meriterebbero i motori brushless, dove il circuito magnetico, che nei motoricc e posto sullo statore, viene localizzato sul rotore; si usano in tale caso magneti permanentirealizzati con materiali a base di terre rare, che possiedono un ottimo rapporto tra il campomagnetico prodotto e il peso. Tuttavia e necessario dotare il circuito di statore, che ora hail compito di creare il campo elettro-magnetico che trascina il rotore, di opportuni circuitielettronici di commutazione, che svolgono la stessa funzione svolta, nel classico motore a cc.,dal sistema di commutazione a spazzole.

5

Page 8: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Nel testo, per ragioni di spazio, ci occuperemo esclusivamente dei motori a corrente continuaclassici.

Figura 1.2: Schema meccanico del motore in cc che attua il giunto di un manipolatore.

1.2.3 Equazioni usate per descrivere il motore cc

Nella trattazione che segue si sta considerando l’i-esimo giunto del manipolatore, a cui eassociato l’i-esimo attuatore; tuttavia, per non appesantire la discussione, si tralascia diindicare il pedice i, tranne quando cio si rende necessario per una maggior chiarezza espositiva.

Circuito di eccitazione

Considerando linearizzata la caratteristica magnetica flusso-corrente, si ha

φ = Kφie

dove, essendo ie e Kφ costanti, risulta φ costante.

6

Page 9: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Figura 1.3: Schema elettromeccanico del motore in cc che attua il giunto di un manipolatore.

Circuito di armatura

Osservando lo schema in Figura 1.3, scriviamo

Ladiadt

= va −Raia − E

dove, detta ωm la velocita angolare dell’asse motore, si ha

E = kφω′m = Kωω′m

La corrente ia e legata alla coppia motrice τ ′m, generata nella trasformazione elettro-meccanica,dalla relazione

τ ′m = k′φia = Kτ ia

per cui

ia =τ ′mKτ

La potenza elettrica entrante vale Eia, la potenza meccanica uscente vale ω′mτ ′m; quindi, pergli inevitabili fenomeni di perdite deve risultare Eia ≥ ω′mτ ′m, quindi Kω ≥ Kτ e dunquek ≥ k′. In molti motori moderni la differenza percentuale tra k e k′ e dell’ordine di 1 · 10−4.

7

Page 10: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Equazioni di equilibrio delle coppie a monte del motoriduttore

La coppia τp persa nel motore per inerzie ed attriti (considerando semplicemente gli attritiviscosi) e composta di due termini:

τ ′p = Jmθm + βmθm = Jmω′m + βmω′m

e la coppia τ ′r resa disponibile al giunto a monte del motoriduttore vale dunque

τ ′r = τ ′m − τ ′p

Motoriduttore

Il motoriduttore e schematizzato in Figura 1.4 da due ruote dentate ideali di raggio ρ′ e ρ,rispettivamente dal lato motore e dal lato braccio, con numero di denti rispettivamente pari

a N ′ e N . Il numero di denti e proporzionale al raggio, per cui si haρ′

ρ=

N ′

N.

Le grandezze che compaiono dal lato motore (al primario) sono con apice ′ ; le grandezze checompaiono dal lato braccio (al secondario) sono indicate senza apice.

Figura 1.4: Schema del motoriduttore di giunto.

Si definisce rapporto di trasformazione il numero r = N/N ′ = ρ/ρ′. Tale rapporto puo esseremaggiore o minore di 1; di solito nei robot industriali si vuole che sia r > 1 e il valore assunto

8

Page 11: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

si scrive nella forma r:1; i motoriduttori comunemente utilizzati nella robotica industrialehanno rapporti che partono da 50:1 fino a raggiungere 200:1.

Poiche durante il moto gli archi sottesi dagli angoli θ′m e θm debbono essere uguali (vediFigura 1.4), si ha ρ′θ′m = ρθm e quindi anche ρ′ω′m = ρωm; da queste relazioni segue cheω′m = rωm, ovvero ωm = ω′m/r. Risulta che la velocita dal lato giunto e minore della velocitadal lato motore nel rapporto 1/r (da cui il nome di “scatole di riduzione” o “motoriduttori”).

Esistono altri tipi di motoriduttori, detti harmonic drives, basati su una ruota dentata flessibileche, guidata da un generatore armonico di forma elissoidale, ingaggia i denti di un ruota rigida.Si puo dire che questo tipo di motoriduttore presenta minor ingombro a parita di rapporto diriduzione, permette facilmente di scegliere se invertire o no il senso di rotazione del secondariorispetto al primario, ma introduce anche attriti e flessibilita, che sono difficilmente modellabilie producono problemi per l’accuratezza di posizionamento.

Questo tipo di motoriduttore non verra considerato in questa trattazione, dove si suppone laperfetta rigidita delle componenti meccaniche.

Assumendo un rendimento ideale unitario del motoriduttore (potenza entrante = potenzauscente):

ωmτr = ω′mτ ′r

si ricava la relazione tra le coppie, dove τr e la coppia resa al braccio a valle del motoriduttore;quindi, ricordando che ω′m = rωm, si puo ricavare la relazione

τr = rτ ′r (1.1)= r(τ ′m − τ ′p) (1.2)= r

[τ ′m − Jmω′m − βmω′m

](1.3)

= r[τ ′m − Jm(rωm)− βm(rωm)

](1.4)

= rτ ′m − r2(Jmωm + βmωm) (1.5)

espressa nelle velocita dei giunti.

Equazioni di equilibrio delle coppie a valle del motoriduttore

La coppia resa τr – “uscente” dal motoriduttore – e la componente i-esima del vettore coppia τche compare nell’equazione differenziale vettoriale che descrive la dinamica del manipolatore.Riscriviamo qui, per comodita, questa equazione

τ = H (q)q + C (q , q)q + B(q)q + g(q) + JTF e (1.6)

dove

• H (q)q sono le coppie inerziali del manipolatore;

9

Page 12: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

• C (q , q)q sono le coppie di Coriolis e centrifughe;

• B(q)q sono le coppie di attrito viscoso;

• g(q) sono le coppie gravitazionali;

• JTF e sono le coppie equivalenti ai giunti che equilibrano le forze (generalizzate) esterneche nascono dall’interazione della punta operativa con l’ambiente di lavoro (si intendonoapplicate dal manipolatore sull’ambiente).

L’elemento i-esimo dell’equazione vettoriale precedente, scritto con la simbologia usata inquesto capitolo, risulta essere

τri =n∑

j=1

Hij qj +n∑

j=1

n∑

k=1

hijkqj qk + gi + βbiqi + τfi (1.7)

dove si sono indicati rispettivamente con βbi l’i-esima componente della matrice diagonale Be con τfi l’i-esima componente del prodotto JTF e.

Sviluppando l’equazione e ricordando che le grandezze angolari a valle del motoriduttore sono

qi =θ′mi

ri; qi =

θ′mi

ri; qi =

θ′mi

ri

e che Hii e l’inerzia propria del braccio i-esimo, che chiameremo Jbi, avremo

τri =

n∑

j 6=i

Hij qj + Hiiqi

+

n∑

j=1

n∑

k=1

hijkqj qk + gi + βbiqi + τfi

= Hiiqi + βbiqi +n∑

j 6=i

Hij qj + τci + τgi + τfi

= Jbiω′mi

ri+ βbi

ω′mi

ri+ τMi + τci + τgi + τfi (1.8)

dove:

τMi =n∑

j 6=i

Hij qj

e la coppia dovuta agli effetti di massa e inerziali di accoppiamento,

τci =n∑

j=1

n∑

k=1

hijkqj qk

10

Page 13: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

e la coppia dovuta agli effetti centrifughi e di Coriolis, τgi = gi e la coppia dovuta aglieffetti gravitazionali e τfi e la coppia dovuta agli effetti di interazione con l’ambiente, definitaprecedentemente.

A questi puo essere aggiunto un termine aggiuntivo per tenere conto di eventuali errori dimodello e/o di misura.

Viene chiamata genericamente coppia di disturbo strutturato la somma

τdi = τMi + τci + τgi + τfi

In conclusione avremo

τri = Jbiqi + βbiqi + τdi (1.9)

in funzione della velocita dei giunti e

τri =Jbi

riω′mi +

βbi

riω′mi + τdi (1.10)

in funzione delle velocita dei motori.

Riportando le coppie a monte del motoriduttore e omettendo per semplicita il pedice i, avremo

τ ′r =1rτr =

1r2

(Jbω

′m + βbω

′m

)+

1rτd (1.11)

per cui, ricordando che

τ ′r = τ ′m − τ ′p = τ ′m − (Jmω′m + βmω′m

)

otterremo:

τ ′m = τ ′r + τ ′p =(

1r2

Jb + Jm

)ω′m +

(1r2

βb + βm

)ω′m +

1rτ ′d (1.12)

Avendo definito

τ ′d.=

1rτd

J ′t.=

(1r2

Jb + Jm

)

β′t.=

(1r2

βb + βm

),

possiamo finalmente scrivere

τ ′m = τ ′p + τ ′d = J ′tω′m + β′tω

′m + τ ′d (1.13)

11

Page 14: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Questa relazione ha un significato fisico molto interessante: essa rivela come a contribuirealla coppia τ ′p, dovuta all’inerzia totale J ′t e all’attrito viscoso totale β′t, sia prevalentementel’inerzia del motore Jm e l’attrito viscoso βm dello stesso. La parte di inerzia e attrito dovuti

al braccio sono ridotti in ragione di1r2

e si puo ragionevolmente dire che l’effetto di variazionedi inerzia dovuto alla configurazione dell’intera struttura robotica risulta assai poco influentesul modello di coppia del motore. Questo e dovuto esclusivamente all’introduzione dei moto-riduttori, che rivestono quindi grande importanza per garantire che semplici architetture dicontrollo assicurino comunque buone prestazioni, come vedremo meglio nel seguito.

Una relazione analoga alla (1.13) la possiamo scrivere esprimendo le grandezze sul lato deigiunti. Senza entrare nei dettagli, essa risultera alla fine:

τm = τp + τd = Jtq + βtq + τd (1.14)

conJt

.=(r2Jm + Jb

); βt

.=(r2βm + βb

)

Questa relazione mostra che l’inerzia equivalente dei giunti e prevalentemente quella deimotori che viene moltiplicata per r2.

Studi sperimentali da parte dei costruttori di robot affermano che con valori di r “normali”la percentuale dell’effetto inerziale dei bracci e Jb circa del 15% – 20% sul totale dell’inerziaJt.

1.2.4 Schemi a blocchi

Gli schemi a blocchi ed i controllori presentati in questa Sezione sono ben noti agli studenti deicorsi di Controlli Automatici, che hanno usato il motore in corrente continua come esempioper progettare vari tipi di reti di compensazione. La trattazione sara percio volutamente nonapprofondita, ma riportera solo le nozioni che si ritengono importanti per la comprensionedei metodi di controllo utilizzati dai costruttori di robot.

Per non appesantire la notazione useremo gli stessi simboli per indicare le grandezze dipen-denti dal tempo e le loro trasformate di Laplace, inoltre tralasciamo di indicare l’apice ′ perindicare le grandezze presenti sul lato motore dei motoriduttori.

Utilizzando le relazioni viste sopra e soprattutto la (1.14), che riportiamo per brevita diret-tamente in trasformate di Laplace:

(sJt + βt)ωm(s) = τm(s)− τd(s)

otteniamo gli schemi a blocchi in Figura 1.5, che rappresenta l’attuatore ed il carico in catenaaperta; l’anello di velocita con guadagno Kω e insito nella dinamica del motore cc.

12

Page 15: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

+

+

1

a aR sL+1

t tsJβ +

Kτ1

sav ai mτ

mω mθ

Figura 1.5: Schema a blocchi in catena aperta del motore cc.

La scelta di utilizzare la tensione di armatura va come variabile di comando e una praticacomune dei costruttori europei e giapponesi, mentre i costruttori nordamericani tendono adutilizzare la corrente d’armatura ia. Nel seguito sara considerato soltanto il primo caso.

L’induttanza del circuito di armatura e solitamente molto piccola e viene trascurata, per cuidalle equazioni semplificate, ponendo La ≈ 0,

va −Raia = Kωωm

ia =τm

otteniamova −Ra

τm

Kτ= Kωωm (1.15)

e dalle equazioni di equilibrio delle coppie

τm = τd + Jtωm + βtωm

ricaviamo

va − Ra

Kττd =

[Ra

KτJts +

(Kω +

Ra

Kτβt

)]ωm

Il termineK ′

ω = (Kω + Raβt/Kτ )

e poco diverso da Kω percheRaβt

Kτωm ¿ Kωωm

in quanto

Raia︸︷︷︸perdite arm.

coppia attrito︷ ︸︸ ︷βtωm

Kτ ia︸ ︷︷ ︸coppia τm

¿ Kωωm︸ ︷︷ ︸f.e.m. arm.

13

Page 16: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

In questa diseguaglianza notiamo che le perdite di armatura sono moltiplicate per una co-stante piccola (rapporto tra le coppie perse in attriti e coppia motrice generata) e che quindirisulteranno molto minori della forza elettromotrice di armatura; da cio segue che K ′

ω ≈ Kω;tuttavia, nel seguito, useremo sempre il simbolo K ′

ω.

Riordinando le espressioni precedenti, otteniamo(

RaJt

KτK ′ω

s + 1)

ωm =1

K ′ω

va − Ra

KτK ′ω

τd

PonendoT =

RaJt

KτK ′ω

,

si ottiene lo schema a blocchi illustrato in Figura 1.6 e le fdt ad anello aperto

+ ( )1

1K sTω′ +1

s

av

mω mθ

dK

Figura 1.6: Schema a blocchi in catena aperta semplificato del motore cc, con La = 0.

ωm(s)va(s)

= Gω(s) =1

K ′ω(1 + sT )

(1.16)

eωm(s)τd(s)

= Gd(s) = −KdGω(s) = − T

Jt(1 + sT )(1.17)

doveKd =

Ra

Kτ.

Il compensatore viene comunemente progettato con un anello di controllo di velocita ed unanello di controllo di posizione.

14

Page 17: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

1.2.5 Compensatore di velocita

Il controllo di velocita di solito consiste in un anello interno (spesso venduto con il motore)in cui il segnale di velocita viene misurato mediante una dinamo tachimetrica, un encoderoppure un resolver; il guadagno della tachimetrica e fissato dal costruttore e vale Kt. Incatena diretta si pone un amplificatore di tensione con guadagno KD (si veda Figura 1.7 eFigura 1.8 per le fdt ad anello aperto).

+( )G sω

1

s

av

mω mθ

dK

DK

tK

+rv e

Figura 1.7: Schema a blocchi con compensatore di velocita. Caso di guadagno Kt fissato dalcostruttore e KD fissato dal progettista.

Le fdt risultanti, considerando ωm(t) come uscita, sono:

ωm(s)vr(s)

= G′ω(s) =

αKD

K ′ω(1 + sαT )

eωm(s)τd(s)

= G′d(s) = − αKd

K ′ω(1 + sαT )

= −Kd

KDG′

ω(s) = − αT

Jt(1 + sαT )dove vr e la tensione nominale di riferimento e

α =K ′

ω

K ′ω + KDKt

< 1. (1.18)

La struttura della fdt G′ω(s) e la stessa di quella senza l’anello di retroazione, ossia Gω(s),

ma l’introduzione di quest’ultimo ha l’effetto di:

• ridurre la costante di tempo, in quanto αT < T ,

15

Page 18: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

+( )G sω′

1

s

rv

mω mθ

d

D

K

K

Figura 1.8: Schema a blocchi con compensatore di velocita. Funzioni di trasferimento adanello aperto.

• ridurre l’effetto della coppia τd sull’uscita,

• ridurre le eventuali non linearita dell’amplificatore KD,

• facilitare la sintonizzazione del guadagno totale, agendo sul valore di KD, essendo Kt

difficilmente variabile.

In Figura 1.9 e illustrato lo schema a blocchi nel caso in cui il guadagno Kt della tachimetricavenga considerato unitario.

+( )G sω

1

s

av

mω mθ

dK

DK

+rv e

Figura 1.9: Schema a blocchi con compensatore di velocita: caso con guadagno Kt unitarioe KD fissato dal progettista.

16

Page 19: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

1.2.6 Compensatore di posizione

Oltre all’anello di velocita si aggiunge anche un anello di posizione sull’angolo θm con gua-dagno KP (Figura 1.10).

+( )G sω

1

s

av

mω mθ

dK

DK

tK

+ePK

+rθ

Figura 1.10: Schema a blocchi con compensatore di posizione.

Le fdt risultano essere:θm(s)θr(s)

= G1(s) =K

s2 + s/αT + K(1.19)

eθm(s)τd(s)

= G2(s) = − 1Jt(s2 + s/αT + K)

(1.20)

doveK =

KDKP

TK ′ω

=KDKP Kτ

RaJt

e il guadagno ad anello aperto e θr e l’angolo nominale di riferimento.

La funzione di trasferimento e del second’ordine, con smorzamento

ζ =1

2αT√

K=

KτK′ω

2α√

RaKDKP Kτ· 1√

Jt

e frequenza naturale

ωn =√

K =√

KDKP Kτ

Ra· 1√

Jt

Lo smorzamento e la frequenza naturale dipendono in modo inversamente proporzionale dallaradice del momento d’inerzia Jt che puo variare nel tempo, perche funzione degli angoli qi;

ricordiamo infatti che Jt =(

1r2

Jb + Jm

)e Jb = Hii(q).

17

Page 20: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Si puo ovviare a questo problema calcolando il momento d’inerzia massimo Jt,max, quindiaggiustare i guadagni KD e KP in modo che in queste condizioni ζ sia tale da non dare alcunpicco nella risposta al gradino (ζ ≥ 0.707).

Un altro modo, piu complesso dal punto di vista computazionale, consiste nello stimare ilmomento d’inerzia Jt(q(t)) ad intervalli prefissati e quindi adattare KD e KP per avere leprestazioni desiderate (controllo gain-scheduling o controllo adattativo).

1.2.7 Prestazioni a regime

Definendo l’errore angolare come differenza tra valore di riferimento e valore misurato

e(t) = qr(t)− q(t) =1r

(θr(t)− θm(t)) =1r

(θr(t)−G1θr −G2τd)

avremo chere(s) = [1−G1(s)] θr −G2(s)τd

per cui a regime, per t →∞, supponendo ingresso a gradino θr(s) = 1/s e disturbo a gradinoτd(s) = τd/s, vale la relazione

e(s) =1

rJtKτd =

Ra

rKDKP Kττd =

Ra

r2KDKP Kτ

(τ ′d + τ ′e

)

Il termine τ ′e puo essere inteso come un disturbo additivo che modellizza tutti quei fenomeninon compresi negli altri termini (errore di modello trasformato in disturbo additivo, oppu-re disturbo di segnale); di solito esso viene caratterizzato in modo statistico oppure comeappartenente ad un insieme dato.

L’errore e(s) sarebbe nullo se limt→∞ τd = 0, mentre sappiamo che, dei termini che com-pongono τd, il termine gravitazionale τg e sempre non nullo (gli altri sono nulli in condizionistatiche, cioe per q = q = 0).

Per contrastare questa coppia di disturbo il controllore deve fornire una tensione di comandoche puo generarsi solo se esiste un errore angolare.

Un modo per eliminare questo errore e stimare l’effetto della gravita precalcolando la coppianecessaria a contrastarlo; questo metodo e complesso in quanto l’effetto della gravita varia alvariare degli angoli di tutti i giunti e non solo di quello considerato.

Piu semplicemente si puo aggiungere un compensatore integrale, con guadagno KI , in serieal compensatore PD presente, che diventerebbe cosı un compensatore PID. Un altro mododi eliminare l’effetto gravitazionale consiste nel progettare il manipolatore in modo che siabilanciato attraverso contrappesi oppure ricorrendo a bilanciamenti idraulici o pneumatici.

18

Page 21: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

1.2.8 Rete proporzionale-derivativa

Quando non si ha a disposizione la misura della velocita angolare, perche il sensore al giuntoe predisposto per fornire solo la posizione angolare, non e possibile adottare la soluzione cheprevede l’anello di velocita. Si puo allora introdurre una rete di compensazione proporzionale-derivativa (PD) nel tratto diretto dell’anello di posizione; lo schema di tale rete e riportatoin Figura 1.11, dove si e indicato con il simbolo K ′

D il guadagno della parte derivativa e conK ′

P il guadagno della parte proporzionale, per distinguerli dagli analoghi guadagni introdottiprecedentemente.

+( )G sω

1

s

av

mω mθ

dK

P DK sK′ ′+

+rv e

Figura 1.11: Schema a blocchi con compensatore dinamico sulla posizione misurata.

Dopo un certo numero di operazioni sui blocchi otteniamo

θm(s)θr(s)

= G3(s)

=sK ′

D + K ′P

s2TK ′ω + s(K ′

ω + K ′D) + K ′

P

=K ′

DKτ

RaJt

(s + K ′

P /K ′D

s2 + s/αT + K ′P Kτ/RaJt

)(1.21)

eθm(s)τd(s)

= G4(s) = − 1Jt

(1

s2 + s/αT + K ′P Kτ/RaJt

)(1.22)

dove α va calcolato dalla (1.18) avendo posto Kt := 1 e sostituendo K ′D al posto di KD.

Si osserva che le fdt G3(s) e G4(s) non sono molto diverse dalla forma delle precedenti G1(s)e G2(s). La novita piu importante sta nella nascita di uno zero in s = −K ′

P /K ′D nella G3(s).

Si potranno percio avere picchi rilevanti nella risposta a gradino e, conseguentemente, tempidi assestamento anche piuttosto lunghi.

19

Page 22: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Esaminiamo nel dettaglio il denominatore delle fdt G3(s) e G4(s):

s2 + s1

αT+

K ′P Kτ

RaJt

Risulta percio

ω2n =

K ′P Kτ

RaJt

e

2ζωn =1

αT=

Kτ (K ′ω + K ′

D)RaJt

da cui si ricavano

ζ =Kτ (K ′

ω + K ′D)

2√

RaK ′P Kτ

· 1√Jt

(1.23)

e

ωn =

√K ′

P Kτ

Ra· 1√

Jt(1.24)

Una rete simile a quella derivativa presentata in Figura 1.11, e schematizzata in Figura 1.12;si osserva una fusione degli schemi di Figura 1.10 e Figura 1.11, in quanto, pur avendo adisposizione la misura di ωm, si preferisce comunque inserire una rete PD nell’anello diretto,per aumentare i gradi di liberta del progetto.

+( )G sω

1

s

av

mω mθ

dK

DK

tK

+eP DK sK′ ′+

+rθ

Figura 1.12: Schema a blocchi con compensatore dinamico sulla posizione misurata eguadagno statico di velocita.

Possiamo paragonare gli schemi di Figure 1.10, 1.11 e 1.12, esplicitando nei tre casi il valoredella tensione di armatura va (avendo indicato, per semplicita, e(t) = θr(t)− θm(t)):

20

Page 23: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

• Retroazione di velocita e posizione (Figura 1.10):

va(t) = KDKP e(t)−KDKtωm(t)

• Retroazione di posizione e rete PD (Figura 1.11):

va(t) = K ′P e(t) + KDe(t)

• Retroazione di velocita e posizione e rete PD (Figura 1.12):

va(t) = KDK ′P e(t) + KDK ′

De(t)−KDKtωm(t)= KDK ′

P e(t) + KDK ′Dωr(t)−

(KDK ′

D + KDKt

)ωm(t)

= KDK ′P e(t) + KDK ′

Dωr(t)−KDK ′D

(1 + Kt/K ′

D

)ωm(t).

Il primo caso e riconducibile al secondo quando ωr = 0; lo schema e indicato quando si esegueun posizionamento punto-punto con velocita finale nulla.

Il terzo caso e una generalizzazione del secondo e permette al progettista una maggior libertadi progetto.

1.2.9 Considerazioni pratiche

In un’applicazione reale ci si allontana dal modello teorico a causa delle dinamiche “parassi-te”, cioe di quelle parti del processo che, pur essendo per loro natura descrivibili con equazionidifferenziali, vengono approssimate con semplici blocchi proporzionali. Caso tipico e il cir-cuito di armatura, dove l’induttanza La, essendo molto piccola, viene considerata nulla edil polo elettrico in s = −Ra/La viene mandato a −∞. Invece, in pratica, il valore assuntodall’induttanza puo assumere valori compresi da 0.1mH a 5 mH.

Altri casi di non corrispondenza tra modello e sistema reale hanno la loro origine nellapresenza di funzioni non lineari che vengono approssimate con blocchi lineari.

Nel seguito considereremo principalmente i seguenti casi di dinamiche parassite o non lineari:

• presenza sull’anello diretto di attuatori saturanti;

• presenza nella struttura meccanica di elasticita (soprattutto negli organi di trasmissionedel moto);

• presenza di attriti non lineari nei giunti;

• presenza nell’anello di compensazione di amplificatori di potenza con banda passantefinita.

21

Page 24: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Attuatori saturanti

La presenza di saturazioni nell’anello di retroazione viene modellata inserendo nell’anellodiretto un blocco non lineare che realizza la seguente funzione tra ingresso u(t) e uscita y(t)

y(t) =

smax se u(t) > umax

ku(t) se umin ≤ u(t) ≤ umax

smin se u(t) < umin

Flessibilita del giunto e strutturale

La presenza dei motoriduttori e di altri organi di trasmissione introduce un’elasticita struttu-rale con le conseguenti risonanze, sempre deleterie per l’affaticamento degli organi meccanicie della struttura.

Gli effetti di risonanza possono venire attenuati progettando opportunamente la banda pas-sante del sistema controllato. Sappiamo che questa non deve essere troppo bassa, cosa cherenderebbe la risposta del sistema piuttosto lenta, ma neppure troppo alta per non eccitareappunto le dinamiche elastiche trascurate.

Per non eccitare le frequenze di risonanza strutturali e opportuno che la banda passante, cheper semplicita uguagliamo alla pulsazione naturale ωn, non sia maggiore di 0.5ωr, dove ωr ela pulsazione di risonanza strutturale del manipolatore.

Quest’ultima dipende dal materiale impiegato e si ricava assumendo un semplice modellodinamico di sistema elastico, non smorzato e non forzato da coppie esterne:

Jtθm(t) + ktθm(t) = 0

dove kt e la costante di elasticita (rigidita) del giunto; quindi la pulsazione naturale delsistema vale

ωr =√

kt

Jt

La variazione del momento di inerzia del manipolatore influisce quindi anche sulla pulsazionedi risonanza strutturale e conseguentemente sulla specifica relativa alla banda di frequenzadel sistema controllato.

Se, con un momento d’inerzia noto J0, viene misurata la pulsazione di risonanza strutturaleω0, quella che si avrebbe per Jt si puo ricavare dalla relazione seguente:

ωr = ω0

√J0

Jt

Se, come richiesto, si pone ωn < 0.5ωr, avremo√

K ′P Kτ

RaJt< 0.5

√kt

Jt

22

Page 25: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

da cui si ricava un limite superiore al valore di K ′P ; ad esempio, nel caso di G3(s) data dalla

(1.21), da (1.24) avremo

√K ′

P < 0.5√

ktRa

Kτ→ K ′

P <ktRa

4Kτ

oppure √K ′

P < 0.5√

Ra

Kτω0

√J0 → K ′

P <RaJ0ω

20

4Kτ(1.25)

Un’indicazione sul limite di K ′D puo essere ottenuta da (1.23), ponendo ζ = 0.7 e sostituendo

al posto di K ′P il suo valore massimo ottenuto da (1.25), si puo calcolare il limite inferiore di

K ′D.

Attriti non lineari nei giunti

Tra gli effetti di attrito piu “fastidiosi” da compensare, si possono considerare gli attriticoulombiano e di primo distacco, che rendono la relazione tra velocita del giunto e la forzaresistente non lineare e discontinua nell’origine (velocita nulla); ne segue che la relazione traforza esercitata sul giunto e forza risultante presenta una banda morta.

La compensazione di tali effetti non lineari esula dalla presente trattazione, ma e comunqueimportante evidenziare che questi effetti, se non compensati, rendono impreciso il controllodi posizione di un manipolatore, specialmente a velocita molto basse, dove si puo osservarel’instaurazione di cicli limite.

Amplificatori di potenza

Nell’anello di regolazione il guadagno KD e realizzato con un amplificatore di potenza rea-le, con una banda passante limitata, che deve essere percio considerata, cosı come devonoessere considerate anche altre eventuali dinamiche “nascoste” nei guadagni degli anelli diregolazione.

23

Page 26: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Capitolo 2

Controllo non lineare dimanipolatori rigidi

Abbiamo visto nei paragrafi precedenti che l’architettura per il controllo a giunti indipendentipresuppone solamente la misura delle coordinate “locali” qi e qi. Questa tecnica ha percio ilvantaggio di essere molto semplice da realizzare e non troppo approssimata se, come spessoaccade, si utilizzano motoriduttori con alti valori di r e si limitano le velocita angolari, perridurre al minimo gli effetti di Coriolis e centrifughi, che sono considerati come disturbi.

Tuttavia questo metodo presenta alcuni svantaggi; si e visto infatti nel Paragrafo 1.2.3 chela coppia di disturbo e composta da quattro termini

τd(t) = τM (t) + τc(t) + τg(t) + τf (t)

Questo disturbo potrebbe essere compensato se si sfruttasse in qualche modo il fatto che essoe composto da termini che dipendono in modo noto dalla struttura geometrica e dinamicadel robot.

Su questo principio generale si basa un metodo — o meglio una classe di metodi — dicontrollo che prende il nome di metodo della dinamica inversa (inverse dynamics method), oalternativamente di metodo della coppia calcolata (computed torque method); questi metodisono cosı chiamati perche, partendo dalla conoscenza delle variabili giunto, ricavano il segnaledella coppia di ingresso dell’equazione differenziale del manipolatore (che e il tipico problemadinamico inverso).

A seconda delle variabili giunto utilizzate — variabili di riferimento oppure grandezze misu-rate — questi metodi sono rispettivamente di tipo feedforward o feedback. Nel seguito, dopol’impostazione generale del problema, analizzeremo brevemente entrambe le tecniche.

Il metodo della dinamica inversa appartiene alla classe piu generale dei metodi di controllonon lineare mediante linearizzazione globale ingresso–uscita.

24

Page 27: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

2.0.10 Equazioni dinamiche in presenza di attuatori

Per impostare formalmente il problema occorre riprendere l’espressione della coppia datain (1.6) ed includervi i termini di coppia che nascono dalla dinamica degli attuatori. Percomodita riportiamo tutte le grandezze al secondario dei motoriduttori, omettendo pero, perbrevita, il simbolo “′”:

H (q)q(t) + C (q , q)q(t) + B(q)q(t) + g(q) + JT(q)F e(t) = Rm(τm(t)− τ p(t)) (2.1)

dove F e e la forza generalizzata applicata dalla punta del manipolatore sull’ambiente esterno,Rm e la matrice diagonale dei rapporti di motoriduzione

Rm =

r1

. . .rn

mentre τm(t) e il vettore delle coppie motrici a monte dei motoriduttori, τp(t) e il vettoredelle coppie perse nel motore per inerzie ed attriti a monte dei motoriduttori.

Nel seguito eviteremo di indicare la dipendenza delle varie grandezze dal tempo t, salvoquando cio si rendera necessario per ragioni di chiarezza.

Poiche Rmτ p = Rm(Jmqm + Bmqm), qm = Rmq e qm = Rmq , risulta

Rmτ p = R2m(Jmq + Bmq)

dove Jm = diag(Jm,1, . . . , Jm,n) e Bm = diag(βm,1, . . . , βm,n). Dalle relazioni riportate nelParagrafo 1.2.3 si ricava anche

Rmτm = RmK ava −R2mKωq

dove le K a e Kω sono matrici diagonali di guadagni

K a =

. . .Kτ,i

Ra,i. . .

Kω =

. . .Kτ,iKω,i

Ra,i. . .

e va e il vettore delle tensioni di armatura degli attuatori.

25

Page 28: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

L’equazione (2.1) pertanto si riduce alla seguente

H (q)q+[C (q , q) + B(q)] q+g(q)+JTF e = RmK ava−R2mKωq−R2

m(Jmq+Bmq) (2.2)

ovvero, avendo indicato le coppie di comando con uc, dove si pone uc = RmK ava, si ha:[H (q) + R2

mJm

]q +

[C (q , q) + B(q) + R2

m (Bm + Kω)]q + g(q) + JTF e = uc (2.3)

Possiamo ora semplificare le notazioni nel modo seguente; avendo definito:

M (q) = H (q) + R2mJm

h(q , q) = [C (q , q) + B t(q)] q(t) + g(q)

e doveB t(q) = B(q) + R2

m (Bm + Kω)

si riscrive (2.3) comeM (q)q(t) + h(q , q) + JTF e = uc (2.4)

Spesso si fa l’ipotesi che, in mancanza delle forze F e scambiate con l’ambiente esterno, l’e-ventuale massa presente sulla punta operativa del manipolatore (dovuta alla presenza di unattrezzo o altro), sia conglobata nel termine gravitazionale g , per cui l’equazione precedentesi semplifica ulteriormente, diventando

M (q)q(t) + h(q , q) = uc (2.5)

2.0.11 Metodo della dinamica inversa

Il metodo della dinamica inversa consiste essenzialmente nel progettare il vettore di controllouc nel modo seguente

uc.= M (qr − v c) + h (2.6)

dove v c e un ulteriore vettore di accelerazioni di comando (da progettare), qr e l’accelerazionedi riferimento, mentre M e h rappresentano i valori “stimati” delle corrispondenti M (q)e h(q , q). I valori stimati possono essere eventualmente ottenuti o fissati dal progettistamediante una semplificazione di un modello dinamico piu complesso.

Sostituendo la (2.6) nella (2.5) si ottiene

M (q)q + h(q , q) = M (qr − v c) + h (2.7)

ovveroq = M (q)−1M (qr − v c)−M (q)−1∆h(q , q)

26

Page 29: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

ROBOTROBOTM

h

+

+

+

q�q

cu

cv

rq��

Figura 2.1: Schema a blocchi del controllo di dinamica inversa.

avendo posto ∆h = h − h . Lo schema a blocchi risultante e illustrato in Figura 2.1.

Sommando e sottraendo al secondo termine il vettore I (qr − v c) possiamo scrivere

q = (qr − v c) + E(q)(qr − v c)−M (q)−1∆h(q , q) (2.8)

doveE(q) =

(M (q)−1M − I

)(2.9)

Se indichiamo con

η(q , q , qr, v c) = E(q)(qr − v c)−M−1(q)∆h(q , q) (2.10)

il termine non lineare (che potremo chiamare “disturbo strutturato”), avremo finalmente l’e-spressione che lega l’accelerazione q al comando ausiliario v c e all’accelerazione di riferimentoqr:

q = (qr − v c) + η(q , q , qr, v c) (2.11)

Per l’impostazione generale del problema di controllo e utile porre il sistema in forma divariabili di stato.

2.0.12 Sistema in variabili di stato

Scegliendo come variabili di stato le posizioni e le velocita angolari del manipolatore

x (t) =[

x 1(t)x 2(t)

]=

[q(t)q(t)

]

possiamo scrivere, utilizzando la (2.11), l’equazione matriciale del sistema in presenza dicontrollo di dinamica inversa:

x = Ax + B(qr − v c) + Bη(q , q , qr, v c) (2.12)

27

Page 30: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

dove

A =[

0 I n

0 0

]B =

[0I n

]

e I n e la matrice identita (n× n).

Un altro modo per analizzare efficacemente le caratteristiche del controllo non lineare e quellodi descrivere la dinamica errore del manipolatore; se assumiamo che siano dati i riferimentidi posizione qr(t), di velocita qr(t) e di accelerazione qr(t), si puo definire l’errore e le suederivate nel modo seguente

e(t) = qr(t)− q(t)e(t) = qr(t)− q(t) (2.13)e(t) = qr(t)− q(t)

Avendo definito lo stato errore ε(t) come

ε(t) =[

ε1(t)ε2(t)

]=

[e(t)e(t)

]

si ha dalle (2.11) e (2.13) il sistema errore in variabili di stato:

ε = Aε + Bv c −Bη(q , q , qr, v c) (2.14)

Dalla (2.14) appare chiaro che il sistema presenta una nonlinearita determinata dall’iniezionedel disturbo strutturato η, che e definito a partire da alcune funzioni nonlineari di q , q e qr.Inoltre η e anche funzione di v c, il che rende assai piu complesso il progetto di controllo.

In generale l’approccio usato per controllare il sistema, cosı come risulta espresso dalle (2.12)o (2.14) e il seguente:

1. Progettare il comando v c come uscita di un controllore dinamico, descritto da unsistema con stato ausiliario ξ(t), di dimensioni 2n

ξ(t) = Fξ(t) + Gε(t)v c(t) = H ξ(t) + Lε(t) (2.15)

2. Verificare la stabilita del sistema controllato risultante. Non sempre si riesce a dimostra-re l’asintotica stabilita del sistema o dell’errore per qualunque traiettoria di riferimentoqr(t), qr(t) e qr(t); allora ci si “accontenta” di verificare altri tipi di stabilita, adesempio la stabilita ingresso–uscita (uscita limitata per ingresso limitato), oppure laproprieta di uniforme asintotica limitatezza dello stato.

La struttura del controllo che ne deriva e basata su due anelli:

28

Page 31: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

anello interno o inner loop, nonlineare, che ha lo scopo di linearizzare globalmente il sistemaingresso–uscita, producendo un sistema lineare, ma instabile;

anello esterno o outer loop, lineare, di solito di struttura semplice, tale da stabilizzare edisaccoppiare il sistema lineare ottenuto in precedenza.

Analizziamo ora in dettaglio due casi possibili: quello in cui si ha esatta cancellazione dellenon linearita e quello in cui la cancellazione sia soltanto approssimata.

2.1 Linearizzazione esatta

Si ha linearizzazione esatta se sono verificate le due condizioni seguenti

Condizione 1: M = M (q)

Condizione 2: h(q , q) = h ovvero ∆h(q , q) = 0

Queste due condizioni implicano che sia

E(q) = O ∀q(t)

e quindi, dalla (2.10),

η(q , q , qr, v c) = 0, ∀q(t), q(t), qr(t), v c(t), t

Dalla (2.8) otteniamo alloraq = qr − v c (2.16)

Si puo quindi dire che mediante la legge di controllo a dinamica inversa, quando vi sia esattaconoscenza dei termini dinamici del robot, il sistema non lineare di partenza viene ricondottoad un sistema lineare di ordine 2n formato da n doppi integratori.

Il termine di comando v c(t) puo essere progettato in vari modi; i piu comuni utilizzano unarete di compensazione PD oppure una rete PID.

2.1.1 Rete PD

Si pone come segnale di feedback dell’anello esterno

v c.= −KDe −KPe = −Kε (2.17)

conK = [KP KD]

29

Page 32: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

ovvero, ricordando la definizione del controllore (2.15), si progetta un semplice controllorelineare statico, con

F = G = H = 0L = −K

Sostituendo (2.17) in (2.16), otteniamo

qr − q + KDe + KPe = 0 (2.18)

ovveroe(t) + KDe(t) + KPe(t) = 0 (2.19)

che rappresenta un sistema errore, lineare e del second’ordine, in evoluzione libera a partiredalle condizioni iniziali e(0), e(0), e(0) (vedere in Figura 2.2 lo schema a blocchi relativo).

L’equazione di stato corrispondente e

ε = Acε (2.20)

con

Ac = A−BK =[

0 I n

−KP −KD

]

������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

ROBOTROBOTM

h

+

+

+

+

q�q

cu

cv

rq��

DK−

PK−

+

+

+

+

+

+

rq

rq� Inner Loop

Outer Loop

Figura 2.2: Schema a blocchi del controllo di dinamica inversa e rete di compensazione PD.

30

Page 33: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Con un’opportuna scelta delle matrici KP e KD, ad esempio entrambe diagonali, si puoavere il completo disaccoppiamento della dinamica errore ed i poli del sistema errore posti inmodo da ottenere le specifiche desiderate di banda e velocita di risposta.

In questo caso lo stato del sistema controllato e asintoticamente stabile e asintoticamenteconvergente alla traiettoria desiderata.

Questa tecnica di controllo assume in letteratura nomi diversi: oltre a metodo della dinamicainversa o metodo della coppia calcolata, possiamo trovare la denominazione inner-loop/outer-loop feedback oppure two-stage control, oppure ancora global linearization method, linearizingnonlinear control. Queste varie denominazioni mettono in luce la struttura, gia descritta, adoppio anello di controllo: quello interno, avente struttura non lineare, che ha lo scopo dilinearizzare globalmente e disaccoppiare il sistema; quello esterno, di tipo lineare, che ha loscopo di stabilizzare ed ottenere le specifiche desiderate per il sistema cosı ottenuto.

2.1.2 Rete PID

E noto che in un sistema di tipo zero un qualsiasi disturbo costante non puo essere perfetta-mente compensato da una rete PD. Nel caso di un robot, la coppia gravitazionale, qualoranon fosse perfettamente cancellata nel termine h , avrebbe le caratteristiche di un distur-bo additivo costante, per cui spesso si preferisce progettare v c come uscita di una rete dicompensazione PID

v c = −KPe −KDe −K I

∫edt (2.21)

Riprendendo il sistema (2.15), si vede che ora il controllore e una rete dinamica di ordine n,descritta da

ξ(t) = Gε(t)v c(t) = H ξ(t) + Lε(t)

conG = [I n 0]H = −K I

L = [−KP −KD]

Lo schema a blocchi corrispondente e dato in Figura 2.3.

Sostituendo (2.21) in (2.16), otteniamo

e(t) + KDe(t) + KPe(t) + K I

∫edt = 0

Passando alle trasformate di Laplace, si ha

(I s2 + KDs + KP + K I1s)e(s) = 0

31

Page 34: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

ROBOTROBOTM

h

+

+

+

+

q�q

cu

cv

rq��

DK−

PK−

+

+

+

+

+

+

rq

rq�

IK

s

+

Figura 2.3: Schema a blocchi del controllo di dinamica inversa e rete di compensazione PID.

Gli zeri del determinante della matrice

P(s) = I s3 + KDs2 + KP s + K I

ovvero i poli del sistema errore, sono facilmente specificabili progettando opportunamenteKP , KD e K I .

L’equazione di stato corrispondente risulta essere

ξε1

ε2

=

0 I n 00 0 I n

−K I −KP −KD

ξε1

ε2

2.1.3 Presenza di un disturbo di coppia non strutturato

Nell’equazione (2.5) non sono stati considerati altri effetti di coppia tranne che quelli strut-turati, cioe esattamente modellati dalle equazioni dinamiche rigide del manipolatore.

Il progettista dovra tuttavia prevedere in generale la presenza di un segnale additivo didisturbo, agente sul sistema e dovuto alle cause piu diverse, quali errori sui segnali di comando,coppie di disturbo non modellate, vibrazioni, incertezza sui parametri geometrici e dinamici,e altro.

32

Page 35: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

L’equazione (2.5) dovrebbe percio essere sostituita dalla seguente

M (q)q + h(q , q) = M (qr − v c) + h + d (2.22)

dove d e il vettore dei disturbi additivi di coppia.

In questo caso, indicando conw(t) = M−1(q)d(t)

il disturbo di accelerazione, si deve modificare il sistema in variabili di stato dell’errore nelmodo seguente:

ε = Aε + Bv c −Bw (2.23)

Scegliendo la rete di compensazione PD, avremo

(I s2 + KDs + KP )e(s) = −w(s)

mentre, scegliendo la rete di compensazione PID, avremo

(I s3 + KDs2 + KP s + K I)e(s) = −Iw(s)s

In entrambi i casi e necessario che il progettista definisca i guadagni KP , KD e K I tenendoconto della matrice di trasferimento P(s) tra disturbo w(s) e errore e(s), mediante le classichetecniche di progetto della sensitivita del sistema ad anello chiuso.

2.2 Linearizzazione approssimata

Supponiamo ora che le Condizioni 1 e 2 non siano verificate: il termine η non e piu nullo eil sistema errore si scrive ora come

ε = Aε + B(v c − η) (2.24)

e il disturbo strutturato η risulta

η = E(q)(qr − v c)−M−1(q)∆h(q , q)

Pertanto il sistema errore evolve in evoluzione forzata, con un termine forzante non lineareche dipende sia dalle variabili giunto, sia dal comando v c e quindi dagli errori ε.

Infatti si ottiene facilmente la relazione seguente

e = v c + E(q)v c −E(q)qr + M−1(q)∆h(q , q)

e si vede subito che rispetto al caso in cui si abbia linearizzazione esatta nascono due termini didisturbo: il primo, −E(q)qr+M−1(q)∆h(q , q), che dipende dal riferimento di accelerazionee dalle variabili giunto, il secondo, E(q)v c, che dipende dall’errore ε.

33

Page 36: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Ad esempio, se v c = −Kε segue che

η = E(q)(qr + Kε)−M−1(q)∆h(q , q) (2.25)

Il problema di inseguire la traiettoria di riferimento qr(t) e le sue derivate si trasforma dunquenel problema di stabilizzare il sistema non lineare a fronte dei due diversi disturbi.

Tuttavia il metodo della dinamica inversa e abbastanza robusto anche nel caso di linearizza-zione non esatta, per cui viene usato sia senza ulteriori modifiche, sia con l’aggiunta di untermine robustificante, come vedremo meglio in seguito.

Vediamo ora alcune proprieta di stabilita dei metodi piu comunemente usati, cioe la retePD con compensazione della gravita e il controllo a giunti indipendenti. Successivamenteesamineremo il metodo di controllo “robusto”.

2.2.1 Rete PD con compensazione della gravita

Questo e un caso particolare del metodo della dinamica inversa, ottenuto ponendo:

• M.= I

• h.= g(q)− qr

ovvero, nell’anello interno, compensiamo soltanto gli effetti dovuti alla gravita.

Scegliendo una rete di compensazione PD per il termine v c, sostituendo nelle espressioniprecedenti, si ha, alla fine, la legge di controllo globale

uc = KDe + KPe + g(q)

Sostituendo questa legge nell’equazione dinamica del manipolatore, si ottiene

M (q)q + C (q , q)q + B tq + g(q) = KDe + KPe + g(q)

ovveroM (q)q + C (q , q)q + B tq −KDe −KPe = 0 (2.26)

Supponendo ora che sia qr = 0, si ha

M (q)q + C (q , q)q + (KD + B t)q −KPe = 0 (2.27)

Questo schema, illustrato in Figura 2.4, e estremamente semplice da realizzare ed ha buoneproprieta di stabilita asintotica, come vedremo ora.

34

Page 37: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

ROBOTROBOT

( )g q

+q�q

cu

cv

DK−

PK−

+

+

+

+

+

rq

rq�

Outer Loop

Figura 2.4: Schema a blocchi della dinamica inversa, con rete PD e compensazione dellagravita.

Stabilita dello schema di controllo

Consideriamo la seguente funzione di Lyapunov candidata

V (x ) =12q ′M (q)q +

12e ′KPe

essa e sicuramente positiva, perche la matrice M e definita positiva per ogni q e KP vienescelta tale dal progettista.

Derivando la V (x ) e ricordando che M (q) = H (q) + R2mJm, con Jm costante, otteniamo

V (x ) = q ′M (q)q +12q ′H q − q ′KPe

ora, poiche occorre verificare che V (x ) sia definita negativa lungo le traiettorie del sistema(2.27), sostituiamo al posto di M (q)q la coppia che deriva da (2.27), ossia

M (q)q = KPe − (KD + B t)q −C (q , q)q

35

Page 38: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Ne deriva che

V (x ) = q ′(KPe − (KD + B t)q −C (q , q)q) +12q ′H q − q ′KPe

= q ′KPe − q ′KPe − q ′(KD + B t)q +12q ′(H − 2C (q , q))q

= −q ′(KD + B t)q

L’ultimo passaggio e reso possibile in quanto sappiamo che H − 2C e una matrice antisim-metrica (vedere il Capitolo 5), per cui V (x ) < 0 per ogni q 6= 0.

Tuttavia quella ottenuta e una forma quadratica in q soltanto, quindi V e solo semidefinitanegativa. Potrebbe infatti esistere un insieme di q 6= 0 tali che V (q , q) = 0; in questo casoabbiamo soltanto dimostrato la stabilita del sistema ma non la sua stabilita asintotica.

Per dimostrare l’asintotica stabilita dobbiamo richiamare il Teorema di LaSalle–Krasowski,che afferma quanto segue:

Teorema di LaSalle–Krasowski: Dato il sistema dinamico autonomo

x = f (x ) (2.28)

con punto di equilibrio x ,se:

• esiste una funzione V (x ) continua insieme alle sue derivate prime,

• V (x ) e definita positiva in x

• V (x ) e tale che V (x ) ≤ 0 in x

• l’insieme S = {x : V (x ) = 0} non contiene traiettorie perturbate, ossia traiettorie6= x .

allora: x e asintoticamente stabile.

In altri termini, il sistema dinamico (2.28) ha x come punto di equilibrio asintoticamentestabile se V (x ) non si annulla identicamente lungo una qualsiasi soluzione di (2.28), salvoche per la soluzione nulla, ovvero, se l’unica soluzione di (2.28) che soddisfa a V (x ) ≡ 0 e lasoluzione nulla oppure x .

Applichiamo il teorema al caso in esame: ipotizziamo la condizione V (x ) ≡ 0, essa implica

−q ′(KD + B t)q ≡ 0

quindi q ≡ 0 e conseguentemente q ≡ 0.

Consideriamo ora l’equazione dinamica del sistema controllato (2.27)

M (q)q + C (q , q)q + (KD + B t)q −KPe = 0

36

Page 39: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

sostituendo q = q ≡ 0, avremoKPe = 0

che implica e = 0 e quindi q = qr, ∀t

2.2.2 Controllo a giunti indipendenti

Questo e un caso particolare del metodo della dinamica inversa, ottenuto ponendo:

• M.= I

• h.= −qr

ovvero non si progetta alcun anello interno non lineare.

A parte queste assunzioni, non si ha una differenza rispetto al caso visto nel paragrafo pre-cedente, salvo il fatto che le matrici KD e KP sono diagonali, e quindi, come abbiamo vistoall’inizio del Capitolo, ciascun anello usa le coordinate locali (Figura 2.5).

������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

ROBOTROBOTq�q

c c= −u v

DK−

PK−

+

+

+

+

+

+

rq

rq�

Outer Loop

Figura 2.5: Schema a blocchi del controllo di dinamica inversa a “giunti indipendenti”. Lematrici KP e KD sono diagonali.

Per il resto gode delle buone proprieta di stabilita viste per il caso precedente, purche sicompensi in qualche modo la gravita.

37

Page 40: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Infatti la presenza del termine g(q), se non compensato, porta a scrivere

V = −q ′(KD + B t)q − q ′g(q)

e quindi, invece di avere KPe = 0, avremo KPe = g(q), il che implica che q(t) 6= qr(t).

Tuttavia, come accennato, compensando opportunamente il termine gravitazionale, ad esem-pio con l’introduzione di un termine integrale nella rete di compensazione, si ha la cancella-zione (o almeno la riduzione) dell’errore di posizione a regime.

2.2.3 Controllo di dinamica inversa in feedforward

Questo approccio, che chiamiamo semplicemente della coppia calcolata, consiste nel cerca-re di migliorare le approssimazioni introdotte in M e h dal metodo di controllo a giuntiindipendenti. Si pone allora:

M.= M (qr)

h.= h(qr, qr)

cioe si usa il modello “esatto” del robot (supponendo di conoscerlo), ma calcolandone i valorisulla base delle grandezze di riferimento, come in Figura 2.6. In questo modo, essendo legrandezze di riferimento di solito disponibili prima che il movimento abbia realmente luogo,si puo calcolare fuori linea la matrice M ed il vettore h .

L’errore di approssimazione sara presumibilmente minore che nel caso precedente, perche ilcompensatore PD o PID tendera comunque a portare q(t) → qr, q(t) → qr e q(t) → qr.Da un punto di vista operativo, questa tecnica equivale a cercare di cancellare i termini nonlineari mediante un segnale di compensazione “in avanti”.

La cancellazione puo anche essere parziale, ovvero si possono utilizzare modelli approssimatidella dinamica del robot. Valga per tutti il seguente esempio, in cui si pone

M :=

H 11(qr) + r2m,1Jm,1 0

. . .0 H nn(qr) + r2

m,nJm,n

h := R2m(Bm + Kω)qr + g(qr)

Cioe si considerano in M soltanto i termini “locali” della matrice d’inerzia del manipolatore,trascurandone i termini di “accoppiamento” e in h i termini gravitazionali, oltre, chiaramente,ai termini legati alla dinamica degli attuatori.

38

Page 41: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������

ROBOTROBOT( )rM q

( ),r rh q q�

+

+

+

+

q�q

cu

cv

rq��

DK−

PK−

+

+

+–

+–

rq

rq� Inner Loop

Outer Loop

Figura 2.6: Schema a blocchi del controllo di coppia calcolata e rete di compensazione PD.

2.3 Controllo robusto

Il progetto di un controllo “robusto” si basa sul fatto che se si conoscessero le stime deilimiti entro cui avvengono le variazioni dei parametri del sistema, si potrebbe progettare v c

in modo da garantire la stabilita del sistema (2.14) anche nel caso piu sfavorevole di η (2.24)(il cosiddetto “caso pessimo”).

Per garantire la proprieta di asintotica stabilita occorre introdurre alcune ipotesi restrittivesulle grandezze che determinano η e che quindi limitano quello che potrebbe essere il casopessimo.

Si introducono percio le seguenti ipotesi, che chiameremo “ipotesi di robustezza”:

Ipotesi R1:supt≥0

‖qr‖ ≤ Q1 < ∞

Ipotesi R2:‖E(q)‖ ≡

∥∥∥M−1(q)M − I∥∥∥ ≤ α < 1

per ogni q ∈ Rn.

39

Page 42: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Ipotesi R3:‖∆h(q , q)‖ ≤ φ(ε, t)

dove φ(ε, t) e una funzione nota e limitata in t.

L’ipotesi R1 risulta naturale dal punto di vista pratico, in quanto le accelerazioni ai giuntisono limitate in ampiezza o in “energia” (a seconda di come si sceglie la norma ‖·‖, che, disolito, viene considerata L2 o L∞). Si escludono in questo modo traiettorie con velocita agradino.

L’ipotesi R2 e abbastanza restrittiva e impone sostanzialmente che M sia una “buona” stimadi M (q), per ogni valore di q . Esiste tuttavia un modo semplice per scegliere M in mododa soddisfare il vincolo imposto: infatti, poiche M (q) e uniformemente definita positiva ∀q ,esisteranno sempre due costanti Mmin e Mmax tali che

Mmin ≤∥∥M−1(q)

∥∥ ≤ Mmax ∀q

Scegliendo dunque M in modo che soddisfi alla seguente espressione

M =2

Mmax + MminI

si ottiene che ∥∥∥M−1(q)M − I∥∥∥ ≤ α :=

Mmax −Mmin

Mmax + Mmin< 1

La scelta potra basarsi anche sulla conoscenza dei parametri inerziali dei manipolatori, masi dovra cercare di rendere α la minore possibile.

L’ipotesi R3 e la meno facilmente verificabile, tranne che in casi molto semplici, perche sitratta di trovare una funzione del tempo che limiti superiormente l’errore di stima delle coppie“non lineari”.

Se le tre ipotesi sono verificate, allora si puo progettare il controllo v c(t) nel modo seguente:

v c.= −KPe −KDe + ∆v

= −KP ε1 −KDε2 + ∆v

= −Kε + ∆v (2.29)

Questa legge di controllo e simile a quella data in (2.17), relativamente al caso di lineariz-zazione esatta, salvo l’aggiunta del termine ∆v che compensa gli effetti dell’incertezza dimodello.

Sostituendo questa espressione in (2.14), otteniamo

ε = Acε + B(∆v − η∆) (2.30)

40

Page 43: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

dove Ac = A − BK , e K e scelta in modo tale che Ac sia una matrice di Hurwitz1 (ossiaavente tutti gli autovalori con parte reale strettamente negativa), e

η∆ = η(v c) = E(q)(qr + Kε)−E(q)∆v −M−1(q)∆h(q , q) (2.31)

dove si nota che, per ∆v = 0, η∆ ≡ η definita in (2.25).

Il progetto del controllo definisce ∆v in modo che il sistema controllato (2.30) risulti asinto-ticamente stabile.

La legge di controllo risultante e di tipo discontinuo (viene omessa la dimostrazione che sipuo trovare sui testi indicati in Bibliografia, soprattutto in [20] e [30]):

∆v =

−ρ(ε, t) B ′Pε∥∥B ′Pε∥∥ se ‖B ′Pε‖ 6= 0

0 se ‖B ′Pε‖ = 0

(2.32)

Compaiono in (2.32) due termini, ρ(ε, t) e P , che necessitano di qualche spiegazione.

• Il termine ρ(ε, t) rappresenta una funzione continua, limitata in t, che soddisfa allediseguaglianze seguenti

‖∆v‖ < ρ(ε, t) (2.33)‖η∆‖ < ρ(ε, t)

questa funzione puo essere implicitamente definita usando le ipotesi di robustezza e le(2.31):

‖η∆‖ ≤ ∥∥Eqr + EKε−E∆v −M−1∆h∥∥

≤ αρ(ε, t) + αQ1 + α ‖K‖ · ‖ε‖+ Mmaxφ(ε, t)

Quindi, poiche dalla (2.33) risulta

ρ(ε, t) = αρ(ε, t) + αQ1 + α ‖K‖ · ‖ε‖+ Mmaxφ(ε, t)

risolvendo rispetto a ρ(ε, t) otteniamo

ρ(ε, t) =1

1− α[αQ1 + α ‖K‖ · ‖ε‖+ Mmaxφ(ε, t)] (2.34)

In questo modo qualsiasi scelta di ∆v soddisfa a (2.33).1si dice anche che “Ac e Hurwitz”.

41

Page 44: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

• Il termine P rappresenta una matrice (n× n) che soddisfa l’equazione di Lyapunov

A′cP + PAc = −Q (2.35)

dove Q e una matrice definita positiva. La soluzione dell’equazione (2.35) esiste sempreperche Ac e Hurwitz.

Lo schema di controllo (2.32) garantisce l’asintotica stabilita del sistema ad anello chiuso, maha l’inconveniente che la discontinuita di ∆v produce il caratteristico fenomeno di chattering;il chattering del segnale di comando consiste in un andamento temporale con frequenti di-scontinuita, e quindi con uno spettro che si estende ad alte frequenze. Questo comportamentopuo influire sulle dinamiche parassite trascurate dal modello (ad esempio, l’induttanza delcircuito d’armatura negli attuatori, l’elasticita della struttura e dei giunti, il comportamentoreale degli amplificatori, ecc.).

Per ovviare a questo inconveniente, certamente fastidioso in un controllore reale, e statasuggerita la seguente legge di controllo modificata

∆v =

−ρ(ε, t) B ′Pε∥∥B ′Pε∥∥ se ‖B ′Pε‖ ≥ ξ

−ρ(ε, t)B′Pεξ

se ‖B ′Pε‖ < ξ

(2.36)

dove ξ > 0 e una costante scelta dal progettista.

Si puo dimostrare che questa legge modificata, pur non garantendo l’asintotica stabilita a zerodello stato ε, garantisce pero la proprieta di uniforme limitazione per t → +∞, in ingleseuniformly ultimately bounded (UUB), di cui diamo la definizione.

Definizione: dato un sistema dinamico non lineare autonomo

x = f (x )

e date le condizioni iniziali x (t0) = x 0, una soluzione x (t) : [t0, +∞) 7→ Rn, si dice UUB inun insieme S, se esiste una costante non negativa T (x 0,S), tale che

x (t) ∈ S ∀t ≥ to + T (x 0,S)

ovvero, lo stato del sistema resta prima o poi “intrappolato” entro l’insieme S e vi rimane pert → ∞. Se S e una regione “piccola” intorno allo stato di equilibrio, la nozione di stabilitaUUB coincide praticamente con la stabilita asintotica.

42

Page 45: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Capitolo 3

Controllo di forza e di impedenza

Il capitolo e stato realizzato a cura della prof. Marina Indri del Politecnico di Torino.

3.1 Introduzione

Molti compiti svolti dai robot in ambiente industriale vengono realizzati con un puro controllodi posizione e velocita; in alcune situazioni e pero indispensabile il contatto della punta delmanipolatore con l’ambiente esterno, ad esempio quando la punta deve seguire il profilo diuna guida, in operazioni quali la fresatura, ed in generale ogni volta in cui e richiesta unavera e propria ‘manipolazione’.

Per svolgere tali compiti e necessario affiancare al controllo della posizione del manipolatoreanche il controllo delle forze di interazione che nascono fra la punta e le superfici esternedi contatto. In alcuni casi e sufficiente mantenere tali forze entro limiti che garantiscanoil contatto senza ledere la superficie esterna, mentre in altre circostanze l’assegnazione diuno specifico valore alla forza applicata rappresenta una delle specifiche fondamentali delcontrollo.

La necessita di controllare sia il movimento della punta sia le forze applicate riguarda molte-plici aree di applicazione, seppure con differenti gradi di importanza relativa dei due obiettividi controllo; fra le principali aree, sono senz’altro da ricordare quelle sotto elencate.

• Telemanipolazione. Nei sistemi robotici di tipo “master–slave”, l’utilizzo di anelli diretroazione di forza migliora la capacita dell’operatore umano di manipolare oggettiposti a distanza per mezzo del braccio robotico.

• Sistemi multi–robot. Quando due o piu bracci robotici collaborano al movimento e/oalla manipolazione di uno stesso oggetto, l’esecuzione del compito prestabilito e ga-rantita mediante un controllo di forza, che compensa eventuali piccoli errori relativi di

43

Page 46: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

posizione, evitando che l’oggetto possa essere danneggiato da pressioni eccessive o che,al contrario, sfugga alla presa dei manipolatori.

• Mani robotiche destre. Nelle mani robotiche il controllo del moto e quello di forzarivestono pari importanza nello svolgimento di qualunque compito di manipolazione dioggetti.

• Identificazione e riconoscimento di superfici. E possibile far sı che la punta del mani-polatore segua la superficie di un oggetto sconosciuto, combinando opportunamente leinformazioni provenienti da misure di posizione e da misure di forza, in modo da man-tenere il contatto della punta mentre viene realizzata la predizione in linea della formadell’oggetto.

L’interazione del manipolatore con l’ambiente implica l’insorgere di:

• vincoli cinematici, che limitano i gradi di liberta di movimento del robot;

• forze di contatto, che devono essere inserite nel modello dinamico del manipolatore, chepuo essere riscritto in forma compatta come:

M (q)q + h(q , q) + J ′F e = uc (3.1)

in cui q e il vettore delle coordinate giunto, M (q) e la matrice di inerzia, h(q , q)riassume il contributo delle coppie centrifughe, di Coriolis e di gravita, F e e il vettoredelle forze di contatto che la punta applica sull’ambiente esterno, uc e il vettore dellecoppie di comando generalizzate.

Un contatto indesiderato fra il manipolatore e l’ambiente esterno puo provocare forti solleci-tazioni alla struttura e risulta particolarmente critico quando viene utilizzata la tensione diarmatura come comando dei motori, che possono essere danneggiati. Puo essere utile quindiprevedere opportune misure di sicurezza per salvaguardare l’integrita della struttura e degliattuatori.

Nel seguito del Capitolo verranno illustrati alcuni algoritmi cosı raggruppabili:

• di controllo di forza, aventi come obbiettivo l’assegnazione di un valore desiderato diforza, applicata dal manipolatore su una superficie esterna in condizioni stazionarie; inparticolare verranno trattati:

– il controllo di rigidezza (stiffness control), realizzato mediante retroazione di posi-zione e velocita;

– il controllo di forza realizzato mediante retroazione di forza, con l’ausilio di sensoridi forza;

44

Page 47: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

• di controllo di impedenza, aventi come obbiettivo l’assegnazione di un comportamen-to dinamico desiderato al sistema costituito dal manipolatore e dall’ambiente esternocon cui interagisce; tale comportamento dinamico viene descritto da una opportunafunzione di “impedenza meccanica” desiderata;

• di controllo ibrido, aventi come obbiettivo l’inseguimento di traiettorie di posizione el’assegnazione di valori desiderati alla forza applicata lungo differenti gradi di liberta,compatibilmente con i vincoli cinematici imposti dall’ambiente esterno.

3.2 Vincoli cinematici

Il contatto tra il manipolatore ed una superficie esterna rigida implica l’insorgere di vin-coli, che comportano la perdita di un certo numero m di gradi di liberta di movimentoe contemporaneamente la possibilita di esercitare delle forze (o coppie) nelle medesime mdirezioni.

Non e possibile controllare contemporaneamente la posizione e la forza lungo un medesimogrado di liberta, essendo le due grandezze legate fra loro.

E opportuno introdurre un sistema di riferimento locale, detto compliance (o constraint)frame, variabile nel tempo, i cui assi cartesiani decompongono lo spazio di lavoro del mani-polatore, in direzioni lungo le quali puo essere applicato un puro controllo di posizione o diforza.

In tale sistema di riferimento locale si definiscono:

• vincoli naturali, che dipendono dalla geometria dell’ambiente;

• vincoli artificiali, che dipendono dal compito specifico del manipolatore.

Nel caso completo a sei gradi di liberta si avranno sei vincoli naturali e sei vincoli artificiali,ovvero una coppia di vincoli (uno naturale ed uno artificiale) per ogni grado di liberta.

¥ Esempio 3.2.1. Inserimento di un perno in un foro passante con velocita vd (vedi Figura3.1a).

vincoli naturali vincoli artificialivx = 0 fx = 0vy = 0 fy = 0fz = 0 vz = vd

ωx = 0 τx = 0ωy = 0 τy = 0τz = 0 ωz = 0

45

Page 48: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

¥ Esempio 3.2.2. Avvitamento di una vite (vedi Figura 3.1b).

vincoli naturali vincoli artificialivx = 0 fx = 0vy = 0 fy = 0fz = 0 vz = αωd

ωx = 0 τx = 0ωy = 0 τy = 0τz = 0 ωz = ωd

I vincoli naturali sono gli stessi dell’esempio precedente, mentre nei vincoli artificiali e neces-sario tenere conto del fatto che la velocita di ‘discesa’ della vite e proporzionale alla velocitaangolare di avvitamento ωd.

a)

b)

Figura 3.1: Vincoli naturali e vincoli artificiali: esempi 4.2.1 e 4.2.2.

3.3 Controllo di forza

Il controllo di forza viene applicato quando il manipolatore e in contatto con superfici esternerigide, che possono essere solitamente ben rappresentate mediante un opportuno coefficiente

46

Page 49: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

di rigidezza. L’obbiettivo, ovvero l’applicazione sulla superficie esterna di un desiderato valoredi forza in condizioni stazionarie, puo essere raggiunto:

1. mediante retroazione di posizione e velocita,

2. mediante retroazione di forza.

Nel caso 1. la forza desiderata puo essere ottenuta:

• rappresentando il sistema complessivo, formato dal manipolatore e dall’ambiente ester-no, con una molla equivalente e fissandone opportunamente il coefficiente di rigidezzamediante il guadagno di posizione (stiffness control);

• rappresentando il sistema complessivo con uno smorzatore equivalente e fissandone op-portunamente il coefficiente di smorzamento mediante il guadagno di velocita (dampingcontrol).

Nel caso 2. vengono utilizzati sensori di forza per realizzare il controllo mediante una retroa-zione di forza. Tale tipo di controllo soffre pero intrinsecamente di problemi di robustezza,come verra illustrato nel seguito.

3.3.1 Controllo di rigidezza: caso a un grado di liberta

Si considera, per semplicita, il caso in cui il controllo della forza applicata dal manipolatoresu una superficie rigida avvenga lungo la sola direzione x.

A causa della rigidezza non infinita della superficie, la pressione esercitata dalla punta provocauna deformazione, anche se estremamente piccola, della superficie stessa, come schematizzatoin Figura 3.2, in cui e stata indicata con xe la posizione della superficie “a riposo” e con x laposizione effettiva della punta del manipolatore (x−xe rappresenta quindi la deformazione).La forza fe esercitata dal manipolatore puo essere espressa come:

fe = Ke(x− xe) (3.2)

in cui Ke e il coefficiente di rigidezza (stiffness) dell’ambiente esterno.

Indicando con m la massa equivalente del manipolatore nella direzione x, l’equazione dinamicadel sistema robot + ambiente esterno puo essere semplicemente scritta come:

mx + fe = fc (3.3)

dove fc e la forza di comando assegnata. All’equilibrio, in condizioni stazionarie, fc dovraeguagliare il valore di forza applicata desiderato fe.

47

Page 50: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

m

xe

x xr

x

Figura 3.2: Controllo di rigidezza a un grado di liberta.

La legge di controllo proposta per fc e di tipo proporzionale–derivativo:

fc = KP (xr − x) + KD(xr − x) (3.4)

in cui con xr e stata indicata la posizione “virtuale”, interna alla superficie, verso cui puntail manipolatore. Si osserva che a causa dei vincoli cinematici imposti dalla presenza dellasuperficie, dovra essere necessariamente xr = 0.

Sostituendo l’espressione di fc nell’equazione dinamica (3.3) si ottiene:

mx + KDx + (Ke + KP )x−Kexe −KP xr = 0 (3.5)

In condizioni stazionarie (x = x = 0) si ha quindi:

(Ke + KP )x = Kexe + KP xr (3.6)

Dall’espressione della forza applicata all’equilibrio:

fe = Ke(x− xe) (3.7)

si puo ricavare la posizione di equilibrio della punta x come:

x =fe + Kexe

Ke(3.8)

che sostituita nella equazione (3.6) consente di ottenere la seguente relazione:

Ke + KP

Ke(fe + Kexe) = Kexe + KP xr (3.9)

48

Page 51: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Con alcuni semplici passaggi si ricava:

fe =KeKP

Ke + KP(xr − xe) (3.10)

Il valore desiderato della forza applicata in condizioni stazionarie puo quindi essere assegnatomediante un’opportuna scelta del guadagno di posizione KP e della posizione di riferimentoxr. Il guadagno di velocita KD consente di variare la velocita con cui il sistema raggiungela condizione di stazionarieta, ma non ha influenza sul valore della forza applicata a regime,ovvero sull’obbiettivo primario del controllo.

Solitamente nei sistemi fisici reali, la rigidezza della superficie esterna e estremamente elevata;in particolare, e ragionevole supporre che

Ke >> KP

Sotto tale condizione, l’espressione della forza applicata all’equilibrio puo essere approssimatacome:

fe ' KP (xr − xe) (3.11)

ed il guadagno di posizione KP puo quindi essere interpretato come la rigidezza desiderata delsistema manipolatore + ambiente esterno. L’algoritmo di controllo proposto viene ricordatocome “controllo di rigidezza” (stiffness control) proprio perche il valore desiderato di forzaviene assegnato modificando opportunamente il valore di rigidezza equivalente del sistema.

3.3.2 Controllo di rigidezza: caso a n gradi di liberta

L’algoritmo di controllo di rigidezza visto nel paragrafo precedente, puo essere esteso al casogenerale a n gradi di liberta.

L’obbiettivo del controllo, ovvero l’imposizione di un vettore desiderato F d di forze generaliz-zate applicate in condizioni stazionarie, viene realizzato assegnando una opportuna matricediagonale K x, di dimensioni n× n, contenente i valori di rigidezza desiderati lungo i diversigradi di liberta.

Indicando con ∆p lo spostamento della punta in coordinate cartesiane rispetto alla posizionedi riferimento pr, il vettore delle forze generalizzate desiderate puo essere espresso come:

F d = K x∆p (3.12)

Il vettore di comando F c viene assegnato di tipo proporzionale–derivativo, analogamente alcaso a un grado di liberta:

F c = KP ∆p −KDp (3.13)

49

Page 52: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

in cui KP e KD sono matrici simmetriche definite positive. Al vettore F c delle forze dicomando applicate corrisponde il vettore uc delle coppie di comando, dato da:

uc = J ′F c = J ′(KP ∆p −KDp) (3.14)

che puo essere espresso in coordinate giunto come:

uc = J ′KPJ∆q − J ′KDJ q (3.15)

sotto l’ipotesi ∆p ' J∆q , che risulta soddisfatta nei casi pratici, essendo ∆p corrispondentea microscopiche deformazioni della superficie di contatto.

A transitorio estinto (p = 0, ovvero q = 0), la coppia ai giunti statica e data da:

uc = J ′KPJ∆q (3.16)

uc deve uguagliare il vettore delle coppie τ d, corrispondente al vettore F d delle forze deside-rate; deve quindi valere:

J ′KPJ∆q = J ′F d (3.17)

ovvero:

J ′KPJ∆q = J ′K x∆p

= J ′K xJ∆q (3.18)

sotto l’ipotesi di spostamenti ∆p piccoli. Si ottiene quindi:

K x = KP (3.19)

Analogamente a quanto avveniva nel caso a un grado di liberta, la matrice di rigidezzadesiderata viene ottenuta per mezzo della matrice dei guadagni di posizione. La matricedei guadagni di velocita KD consente di variare parzialmente il comportamento del sistemadurante il transitorio, ad esempio di modificare la durata del transitorio stesso.

Nelle figure 3.3 e 3.4 sono riportati gli schemi a blocchi del controllo di rigidezza defini-to, rispettivamente, in coordinate cartesiane ed in coordinate giunto. Nella figura 3.4, siidentificano in particolare:

J ′K eJ → rigidita equivalente ai giunti ad anello apertoJ ′KPJ → rigidita equivalente ai giunti ad anello chiuso

3.3.3 “Damping control”

Il cosiddetto damping control, che non verra analizzato in dettaglio, viene realizzato essen-zialmente mediante una retroazione in velocita. Il sistema formato dal manipolatore e dal-l’ambiente esterno viene assimilato ad uno smorzatore equivalente; mediante un’opportunamatrice di guadagni di velocita, viene assegnata la matrice degli smorzamenti desiderati, checonsentono di ottenere il vettore delle forze applicate richieste.

50

Page 53: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

f( ). KP J' Robot

J' Ke

p

pe

+

_

ττττe

+

_

uc - τeqr pr

+ _

∆∆∆∆p F_ p

...._J' KD

Figura 3.3: Controllo di rigidezza a n gradi di liberta in coordinate cartesiane.

J KP J' Robot

J' Ke

q

qe

+

_

ττττe

+

_

uc - τeqr

+_

∆∆∆∆q F_ q

...._J' KD J

J

Figura 3.4: Controllo di rigidezza a n gradi di liberta in coordinate giunto.

3.3.4 Controllo di forza mediante retroazione di forza

Obbiettivo del controllo e l’imposizione di un profilo di forza desiderato F de (t). Il controllo

viene realizzato mediante retroazione della forza, che viene misurata per mezzo di appositisensori.

Per semplicita viene considerato soltanto il caso ad un grado di liberta. Il sistema formato dalmanipolatore in contatto con una superficie esterna, perpendicolare all’asse x, viene schema-tizzato da un sistema massa–molla–smorzatore, come riportato in figura 3.5; in particolare,va sottolineato che M comprende l’inerzia di tutto cio che si trova al di la del sensore al polso(inerzia del porta–attrezzo, di eventuali attrezzi, ecc.), mentre il coefficiente di rigidezza Ktiene conto di tutte le ‘elasticita’ presenti (superficie esterna, sensori, ecc.).

51

Page 54: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

M

B

K

x

Figura 3.5: Controllo di forza con retroazione di forza.

L’equazione dinamica del sistema e dunque data da:

Mx + Bx + Kx = F (3.20)

in cui F e la forza di comando.

Sia Fe = Kx la forza esercitata dalla punta del manipolatore sulla superficie esterna (persemplicita la posizione della molla a riposo e stata assunta uguale a zero).

Moltiplicando per K e dividendo per M l’equazione (3.20), si ottiene:

Kx +B

MKx +

K

MKx =

K

MF (3.21)

Sostituendo l’espressione di Fe e delle sue derivate rispetto al tempo, Fe = Kx, Fe = Kx, siha quindi:

Fe +B

MFe +

K

MFe =

K

MF (3.22)

L’inseguimento del profilo di forza desiderato F de (t) puo essere ottenuto scegliendo il comando

F di tipo proporzionale–derivativo:

F = −K1(F de − Fe)−K2(F d

e − Fe) (3.23)

Questo tipo di controllo soffre intrinsecamente di problemi di robustezza; tali problemiriguardano in particolare:

• la misura della forza Fe, che in pratica e sempre affetta da disturbi, legati al rumoredei sensori di forza;

• la determinazione di Fe; considerare Fe = Kx nella formulazione del comando Fimplica:

– la linearita della relazione fra Fe e x;– la conoscenza perfetta di K.

52

Page 55: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

3.4 Controllo di impedenza

Il cosiddetto controllo di impedenza e basato sull’assegnazione di un particolare comporta-mento dinamico al manipolatore in contatto con l’ambiente esterno; tale comportamentoviene descritto mediante una impedenza dinamica desiderata, solitamente corrispondente al-l’insieme di equazioni differenziali del secondo ordine che rappresentano un sistema massa–molla–smorzatore. L’utilizzo del controllo di impedenza e particolarmente indicato nei casiin cui non sia richiesta una regolazione accurata delle forze applicate, ma sia sufficiente ga-rantire la loro limitatezza (ad esempio in operazioni di assemblaggio o di inserimento di pezzidi lavorazione in apposite sedi). Infatti, scegliendo opportunamente le matrici di rigidezza edi smorzamento nel modello di impedenza desiderato, e possibile ottenere un buon compro-messo fra l’accuratezza del posizionamento della punta del manipolatore e l’entita delle forzeapplicate, in caso di contatti non previsti o comunque con superfici non ben modellate dalpunto di vista geometrico.

Facendo riferimento alle comuni analogie elettro-meccaniche, che associano la forza meccanicaalla tensione elettrica e la velocita alla corrente, il rapporto fra la forza e la velocita di unsistema meccanico ad un grado di liberta (ovvero il rapporto fra la coppia e la velocitaangolare) puo essere visto come una sorta di impedenza meccanica del sistema stesso,definita nel dominio della frequenza dalla funzione:

Z(s) :=F (s)v(s)

(3.24)

ove F (s) e v(s) sono le trasformate di Laplace rispettivamente della forza e della velocita.Naturalmente se la forza applicata F (s) e nulla anche l’impedenza meccanica e nulla, mentrese il sistema e bloccato (v(s) = 0) l’impedenza tende ad infinito.

Detta x(s) la trasformata di Laplace della posizione, vale la relazione:

F (s)x(s)

= sZ(s) (3.25)

da cui e intuibile che l’assegnazione di una funzione di impedenza meccanica desiderata Zd(s)al sistema in oggetto corrisponde all’assegnazione di un comportamento dinamico prescelto,che puo essere definito ad esempio facendo riferimento ad un sistema massa–molla–smorzatoreideale espresso dalla relazione:

− (Mds2 + Bds + Kd) = sZd(s) (3.26)

ove Md, Bd e Kd rappresentano rispettivamente la massa, lo smorzamento e la rigidezzadesiderati. Inserendo la funzione di impedenza desiderata Zd(s) data dall’equazione (3.26)nella (3.25) al posto di Z(s), si ottiene:

F (s) = −(Mds2 + Bds + Kd)x(s) (3.27)

53

Page 56: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

da cui, antitrasformando, si ricava l’espressione della forza applicata:

F (t) = −(Mdx(t) + Bdx + Kdx(t)) (3.28)

Nel controllo di impedenza di manipolatori il concetto di impedenza meccanica viene estesoa piu gradi di liberta, e viene assegnato un comportamento dinamico desiderato al robotsecondo uno schema a due anelli di reazione, analogo a quello visto per il metodo delladinamica inversa. Poiche tale schema viene solitamente definito nello spazio operativo delmanipolatore, e necessario innanzitutto ricavare il modello dinamico del robot in coordinatecartesiane a partire da quello, ben noto, in coordinate giunto.

3.4.1 Modello dinamico in coordinate cartesiane di un manipolatore

Il modello dinamico (3.1) in coordinate giunto di un manipolatore in contatto con l’ambienteesterno puo essere riscritto come:

M (q)q + h(q , q)q + g(q) + J ′(q)F e = uc (3.29)

in cui e stato distinto il contributo delle forze centrifughe e di Coriolis da quello della forzadi gravita.

Utilizzando le seguenti relazioni:

p = f (q)p = J (q)qp = J (q)q + J (q)q

in cui f (q) rappresenta la funzione cinematica diretta della posizione, il modello (3.29) puoessere espresso in funzione delle coordinate cartesiane come:

M (p)p + h(p, p)p + m(p) = F c − F e (3.30)

in cui

M (p) = J−T (q)M (q)J−1(q)h(p, p) = J−T (q)h(q , q)J−1(q)−M (p)J (q)J−1(q)m(p) = J−T (q)g(q)

F c = J−T (q)uc

ove F c e il vettore delle forze generalizzate di comando nello spazio operazionale, mentreM (p), h(p, p)p, m(p) rappresentano, rispettivamente, la matrice di inerzia, il vettore dei

54

Page 57: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

contributi delle forze centrifughe e di Coriolis, e quello dei contributi della forza di gravita incoordinate cartesiane. La notazione J−T viene usata per indicare (J ′)−1.

Nel seguito del capitolo, il modello (3.30) verra considerato piu semplicemente come:

M (p)p + h(p, p) = F c − F e (3.31)

con un abuso di notazione, essendo le espressioni analitiche delle matrici del sistema (3.1)diverse da quelle del sistema (3.31).

3.4.2 Algoritmo di controllo di impedenza

E data l’equazione dinamica (3.31) di un manipolatore in contatto con una superficie esterna.

Come anticipato, il controllo di impedenza e basato su uno schema a due anelli di reazio-ne: l’anello interno linearizza e disaccoppia le equazioni dinamiche (3.31) del manipolatore,mentre l’anello esterno assegna l’impedenza dinamica desiderata al sistema in catena chiusa,corrispondente al seguente sistema meccanico del secondo ordine (massa–molla–smorzatore):

M d(p − pd) + Bd(p − pd) + K d(p − pd) = −F (3.32)

in cui M d e la matrice (definita positiva) di inerzia apparente desiderata, Bd e la matrice(semi–definita positiva) di smorzamento desiderata, K d e la matrice (definita positiva) dirigidezza desiderata e F e il vettore delle forze di contatto di equilibrio, ovvero delle forzeapplicate in condizioni stazionarie. La traiettoria rappresentata dal vettore pd(t) puo essererealmente seguita dal manipolatore soltanto nelle direzioni in cui il moto della punta non evincolato, mentre ove siano presenti forze di contatto pd rappresenta una sorta di posizione“virtuale” verso cui punta il porta–attrezzo. Nelle condizioni quasi–statiche di contatto, pd

e pd sono da considerarsi nulle.

Anello interno:

Il comando uc viene scelto, analogamente a quanto visto nel Capitolo 7 per il metodo delladinamica inversa, in modo da compensare tutte le non linearita del sistema ed ottenere deidoppi integratori (indipendenti fra loro):

F c = M (p)v c + h(p, p) + F e (3.33)

in cui v c e il segnale di comando che verra realizzato mediante l’anello piu esterno di retroa-zione. Sotto l’ipotesi di linearizzazione esatta (M = M , h = h , F e = F e) l’equazione (3.31)diventa semplicemente:

p = v c (3.34)

Anello esterno:

55

Page 58: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

E possibile assegnare al sistema controllato l’impedenza descritta in (3.32), definendo ilsegnale di comando v c dell’anello di reazione piu esterno nel modo seguente:

v c = pd −M−1d

[Bd(p − pd) + K d(p − pd) + F

](3.35)

Complessivamente, il vettore delle coppie di comando risultante puo essere espresso comesegue:

uc = J ′(q)[M (p)pd + h(p, p) + F e −M (p)M−1

d

(Bd(p − pd) + K d(p − pd) + F

)](3.36)

Osservazioni:

• Anche se non si hanno anelli di forza, per la realizzazione del controllo e comunquenecessario misurare F e, oltre a p e p.

• Le matrici che definiscono l’impedenza desiderata, che devono essere tutte simmetriche,vengono solitamente scelte diagonali e tali da evitare forze di contatto troppo elevate,soprattutto nell’eventualita di impatti imprevisti. In particolare, lungo le direzioni incui e previsto un contatto della punta del manipolatore con una superficie esterna,vengono assegnati alti valori di inerzia Md,i e bassi coefficienti di rigidita Kd,i, mentrelungo le direzioni di moto libero vengono assegnati elevati coefficienti di rigidita Kd,j ,per poter meglio seguire la traiettoria desiderata pd,j(t). I coefficienti di smorzamentocontenuti nella matrice Bd consentono di regolare il comportamento del sistema duranteil transitorio.

• L’ipotesi di linearizzazione esatta non e quasi mai attendibile in pratica, soprattutto perquanto riguarda la determinazione di F e. Si introduce allora un termine robustificante∆v nell’espressione di v c, secondo quanto visto nel Capitolo 7.

3.5 Controllo ibrido

Con il termine controllo ibrido si intende il contemporaneo controllo della posizione (o velo-cita) e della forza lungo diversi gradi di liberta, distinti dai vincoli naturali imposti dall’am-biente con cui il manipolatore interagisce (nei vincoli artificiali si ritrovano le specifiche deidue controlli, la traiettoria desiderata, la forza da applicare, ecc.).

Negli schemi piu “classici” di controllo ibrido viene utilizzato il fatto che nella grande mag-gioranza dei compiti esiste un opportuno spazio, in cui i vettori delle possibili velocita e delleforze di contatto possono essere considerati per determinare una base ortogonale e completa.Si definisce quindi un sistema di riferimento locale R` variabile nel tempo (il cosiddetto taskframe) in cui, in ogni istante, lungo ogni coordinata puo essere assegnata in modo indipenden-te o una velocita o una forza, mentre l’altra grandezza risulta automaticamente determinata

56

Page 59: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

dalla geometria del compito. Le velocita e le forze misurate vengono quindi trasformate neltask frame prima di essere confrontate con i valori di riferimento.

Affinche vengano considerati lungo ciascun grado di liberta solo gli errori relativi alla gran-dezza effettivamente controllabile, vengono inseriti degli operatori matematici, agenti comefiltri, noti come matrici di selezione (in generale si parla di filtraggio cinestatico). Neltask frame, proprio per il modo in cui e stato definito, le matrici di selezione risultano esserediagonali ed aventi sulla diagonale principale degli 1 e degli 0. In particolare, dette S lamatrice di selezione di posizione e S quella di forza, si ha:

Sii = 1, se lungo l’i–esimo grado di liberta e applicabile un controllo di posizione;

Sii = 0, se lungo l’i–esimo grado di liberta e applicabile un controllo di forza;

Sii = 1, se lungo l’i–esimo grado di liberta e applicabile un controllo di forza;

Sii = 0, se lungo l’i–esimo grado di liberta e applicabile un controllo di posizione.

Per la definizione stessa delle matrici di selezione vale la relazione:

S + S = I (3.37)

Nello spazio libero si avrebbe: S = I e S = O.

Lo schema basilare di una struttura di controllo ibrido puo essere cosı riassunto:

• viene applicato il metodo della dinamica inversa, considerando il modello del manipo-latore in coordinate cartesiane (facendo riferimento al sistema di riferimento inerzialefisso R0), ottenendo cosı gli usuali sei doppi integratori;

• si trasformano posizioni, velocita e forze misurate in R` e si inseriscono le matrici diselezione, per filtrare tali misure prima del confronto con i valori di riferimento, oppuredopo il confronto, filtrando cosı gli errori;

• si realizzano, utilizzando le tecniche note, due insiemi di controllori di posizione (velo-cita) e di forza agenti sugli errori delle due grandezze, ritrasformati in R0.

In Figura 3.6 e riportato come esempio uno schema di controllo ibrido, in cui il controllo diforza e realizzato mediante retroazione della forza stessa.

Una possibile alternativa e quella di realizzare i controllori di posizione e di forza in R`,anziche in R0; tale scelta risulta conveniente qualora la variazione di orientamento (assetto)di R` rispetto a R0 faccia variare il peso degli errori nei due sistemi di riferimento.

In altri schemi di controllo ibrido le matrici di selezione vengono utilizzate per filtraredirettamente i segnali di uscita dei controllori anziche gli errori al loro ingresso.

57

Page 60: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Tl0 Controllori

di forza

S

Controlloridi posizione

Tl0

S

T0l

T0l

Robotlinearizzato

F

p, p.

pd, pd.

Fd

+ -

+ -

+

+

Figura 3.6: Schema di controllo ibrido.

3.5.1 Problemi legati al controllo ibrido

L’approccio ‘classico’ al controllo ibrido basato sull’utilizzo delle matrici di selezione, cosı co-me e stato illustrato finora, e basato sulla conoscenza completa della geometria dell’ambienteesterno, affinche la giusta matrice sia applicata al momento giusto, e presuppone che la puntaentri in contatto con superfici rigide statiche.

Quando l’ambiente esterno e caratterizzato da una dinamica propria, tale approccio non e piuutilizzabile, poiche le relazioni di ortogonalita fra le direzioni di movimento della punta delmanipolatore e le forze di contatto non sono piu valide. Infatti, il manipolatore puo in questocaso esercitare delle forze dinamiche sull’ambiente esterno, ovvero forze non compensate dauna reazione vincolare, ma in grado di produrre del lavoro attivo sull’ambiente, fatti salvi ivincoli di natura cinematica.

Una soluzione conveniente consiste nell’introduzione, a fianco delle coordinate utilizzate perrappresentare la configurazione del manipolatore, di un nuovo insieme di coordinate in gradodi definire la “configurazione” dell’ambiente e di descrivere in maniera univoca il tipo dicontatto.

Le relazioni di ortogonalita vengono cosı ad interessare due sottospazi ridotti, in uno dei qualie possibile controllare soltanto le variabili di posizione cinematiche, mentre nell’altro vengonocontrollate le forze di reazione. Lungo le direzioni “dinamiche” invece, e possibile controllareuna variabile di moto o una di forza attiva a piacere, mentre l’altra risulta automaticamentedeterminata dalle relazioni dinamiche esistenti.

58

Page 61: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Molti problemi legati al controllo forza/posizione restano tuttora aperti.

• Definizione del compito.

Non esiste tuttora un soddisfacente formalismo completo per la definizione automati-ca di compiti che richiedano molteplici contatti, variabili nel tempo, della punta delmanipolatore con l’ambiente esterno.

• Accoppiamento fra le componenti lineari e angolari.

In alcuni tipi di contatto fra la punta del robot e l’ambiente nascono delle relazioni frale variabili lineari e quelle angolari di posizione e, dualmente, fra le forze e le coppie dicontatto. In questi casi possono sorgere problemi nella “ricostruzione” delle variabilidi posizione e forza usate nel modello dinamico a partire dalle quantita misurate, econseguentemente nella operazione di filtraggio cinestatico; in particolare, puo nasce-re di qui l’eventuale dipendenza delle matrici di selezione (o di analoghi operatori difiltraggio) dal sistema di riferimento scelto e dalle unita di misura utilizzate, essendotali matrici applicate a quantita non omogenee dimensionalmente e non completamenteindipendenti tra loro.

• Ritardi negli anelli di reazione di forza.

La realizzazione pratica degli algoritmi di controllo che prevedono l’inserimento di anellidi reazione di forza puo risultare difficoltosa, poiche la maggior parte dei sensori di forzaattualmente disponibili fornisce i risultati delle misure con un certo ritardo, che puocausare problemi di instabilita, oltre a limitare la banda utile del controllore.

• Dinamiche non modellate.

L’efficacia di un controllore di forza e generalmente piuttosto sensibile alla presenza didinamiche non modellate, poste fra il punto di applicazione della coppia di controllo edil punto in cui viene misurata la forza da utilizzare come segnale di reazione.

• Presenza di attrito.

La presenza di forze d’attrito fra la punta del manipolatore e la superficie esterna concui e in contatto implica l’esistenza di un legame fra il moto della punta sulla superficiee la forza di reazione perpendicolare alla superficie stessa.

59

Page 62: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Capitolo 4

Controllo adattativo di robot rigidi

4.1 Introduzione

I metodi di controllo adattativo presentati in questo capitolo sfruttano la struttura “Hamil-toniana” dei robot rigidi e soddisfano il criterio di asintotica convergenza:

• per qualunque condizione iniziale,

• per qualunque traiettoria assegnata,

garantendo inoltre che tutti i segnali interni siano limitati.

I metodi proposti possono essere classificati:

1. in base all’obbiettivo del controllo:

• la linearizzazione globale del sistema nonlineare (dinamica inversa adattativa),

• il mantenimento della proprieta di passivita anche ad anello chiuso;

2. in base al criterio di aggiornamento dei parametri:

• in riferimento all’errore di predizione dei parametri, definito come la differenza frail vettore dei parametri veri e quello dei parametri stimati,

• in riferimento all’errore di inseguimento, definito come la differenza fra il segnaledi uscita vero e quello stimato.

Gli algoritmi di controllo adattativo presentati utilizzano alcune definizioni e proprieta intro-dotte precedentemente, che vengono ora brevemente ricordate per la comodita del lettore.

60

Page 63: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Definizione. Una trasformazione x → y , x ∈ Rn, y ∈ Rn, e passiva se

< x |y >T =∫ T

0x ′y dt ≥ −β (4.1)

per qualche β > 0 e per qualunque T .

Proposizione 1. La relazione dinamica

H (q)q + C (q , q)q + g(q) = τ (4.2)

definisce una trasformazione passiva tra τ e q .

Inoltre per t →∞ si ha che e → 0; se poi r → 0 per t →∞, allora si ha che anche e → 0.

Proprieta fondamentali della dinamica del robot rigido

1. La matrice di inerzia H (q) e simmetrica e definita positiva; H (q) e H ′(q) sonouniformemente limitate al variare di q (nel caso di manipolatori con giunti rotoidali).

2. Esiste un controllo indipendente per ogni grado di liberta.

3. La dinamica del manipolatore e fattorizzabile linearmente rispetto ad un vettore θ diparametri: H (q)q + C (q , q)q + g(q) ≡ Y (q , q , q)θ = τ

4. La matrice N (q , q) = H (q)− 2C (q , q) e antisimmetrica.

Lemma 1. Sia G(s) (n×m) una matrice di trasferimento esponenzialmente stabile e stret-tamente propria; siano i segnali e(s) e r(s) tali che e(s) = G(s)r(s); allora r ∈ Lm

2 (segnalea energia finita) implica e ∈ Ln

2

⋂Ln∞ (segnale a energia finita e limitato) e e ∈ Ln2 (segnale

a energia finita).

Nota. Le tecniche di controllo adattativo presentate nel seguito del capitolo sono tutte basatesulle proprieta 1., 2. e 3. Non tutte utilizzano la proprieta 4.

4.2 Metodi basati sulla dinamica inversa

A partire dal metodo della dinamica inversa, definito nel caso in cui si abbia la conoscen-za perfetta dei parametri del manipolatore, vengono derivate alcune versioni “adattative”;in particolare, dopo l’illustrazione del metodo nel caso di parametri completamente noti,verranno descritti:

61

Page 64: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

1. il metodo di Craig et alii (M1);

2. il metodo di Spong e Ortega (M2);

3. il metodo di Amestagui et alii (M3).

4.2.1 Metodo della dinamica inversa nel caso di parametri noti

Nel caso in cui i parametri del manipolatore siano perfettamente noti, e possibile progettareil controllo

τ := H (q)a + C (q , q)q + g(q) (4.3)

in modo da ottenere la cancellazione esatta dei termini nonlineari del modello dinamico delrobot; sostituendo (4.3) in (4.2) si ottiene:

H (q)q + C (q , q)q + g(q) = H (q)a + C (q , q)q + g(q) (4.4)

da cui si ricavaH (q)(q − a) = 0 (4.5)

Per la proprieta 1. l’equazione (4.5) e verificata se e solo se (q − a) = 0, quindi se e solo seq = a . Passando alle trasformate di Laplace, imponiamo che a sia

a := s2qr + K (s)e (4.6)

e conseguentementes2q = s2qr + K (s)e (4.7)

ovveros2e + K (s)e = 0 (4.8)

La dinamica errore (4.8) puo essere riscritta come

[s2I + K (s)]e = 0 (4.9)

da cui si deduce che occorre semplicemente imporre o verificare che s2I + K (s) sia un po-linomio asintoticamente stabile, per garantire l’asintotica convergenza a zero dell’errore, apartire da qualsiasi condizione iniziale. La scelta piu ovvia e

K (s) = KDs + KP (4.10)

che porta a definirea := qr + KDe + KPe

dalla quale si ricava la dinamica errore vista precedentemente.

62

Page 65: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

4.2.2 Metodo di Craig et al. (M1)

Il controllo viene progettato come in (4.3) utilizzando i valori stimati h , C e g al posto deicorrispondenti valori “veri”:

τ = ha + C q + g (4.11)

con a definita come in (4.6) e K (s) come in (4.10). Sostituendo l’espressione di τ data in(4.11) nel modello dinamico (4.2) del manipolatore si ha:

Hq + Cq + g = ha + C q + g (4.12)

Sommando e sottraendo h q al primo membro dell’equazione (4.12) e sostituendo l’espressionecompleta di a , si ottiene:

Hq + Cq + g + h q − h q = h(qr + KDe + KPe) + C q + g (4.13)

da cui:h(e + KDe + KPe) + C q + g = Hq + Cq + g − h q (4.14)

ossiah(e + KDe + KPe) = Hq + Cq + g − (h q + C q + g) (4.15)

Sotto l’ipotesi che h , C e g abbiano la stessa forma funzionale di H , C e g , e possibilescrivere:

Hq + Cq + g = Y (q , q , q)θ (4.16)h q + C q + g = Y (q , q , q)θ (4.17)

L’equazione (4.15) puo quindi essere riscritta come:

h(e + KDe + KPe) = Y (q , q , q)(θ − θ) = Y θ

= H q + C q + g (4.18)

da cui:e + KDe + KPe = h

−1Y θ := Φθ (4.19)

L’equazione (4.19) puo essere scritta in variabili di stato come:

ε = Aε + BΦθ (4.20)

dove

ε :=[

ee

]A :=

[0 I

−KP −KD

]B :=

[0I

](4.21)

Ipotesi:

63

Page 66: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

• q e misurabile;

• h e uniformemente definita positiva in modo che h−1

esista sempre.

La legge proposta da Craig per l’aggiornamento dei parametri ad ogni passo dell’algoritmoadattativo, che deve essere tale da garantire la validita dell’ipotesi formulata su h

−1, e data

da:˙θ = −Γ−1Φ′B ′Pε (4.22)

dove:

• Γ e simmetrica, definita positiva;

• P e la matrice simmetrica, definita positiva, soluzione dell’equazione di LyapunovA′P + PA = −Q , con Q simmetrica, definita positiva, assegnata a piacere.

Con questa legge di aggiornamento dei parametri si dimostra che ε → 0 per t → ∞ e chetutti gli altri segnali rimangono limitati.

Dimostrazione

Si consideri la seguente funzione di Lyapunov:

V (ε, θ) = ε′Pε + θ′Γ θ (4.23)

Calcolandone la derivata V (ε, θ) lungo le traiettorie del sistema (4.20) risulta:

V (ε, θ) = ε′Pε + ε′P ε + ˙θ′Γ θ + θ

′Γ

˙θ =

= (ε′A′ + θ′Φ′B ′)Pε + ε′P(Aε + BΦθ) + ˙

θ′Γ θ + θ

′Γ

˙θ =

= ε′(A′P + PA)ε + ε′PBΦθ + θ′Φ′B ′Pε + 2θ

′Γ

˙θ =

= −ε′Qε + 2θ′Φ′B ′Pε + 2θ

′Γ

˙θ =

= −ε′Qε + 2θ′(Φ′B ′Pε + Γ

˙θ) (4.24)

Scegliendo ˙θ come in (4.22) si ottiene:

V (ε, θ) = −ε′Qε < 0 (4.25)

La funzione e semidefinita negativa, quindi potrebbe esistere un vettore θ 6= 0 ed un vettoreε = 0 tali da rendere V (ε, θ) = 0. Ma poiche non siamo interessati alla convergenza a zerodell’errore di stima dei parametri, non ci preoccupiamo di questo fatto, in quanto ε → 0 pert →∞ e quindi e → 0, e → 0 per t →∞.

Lo schema a blocchi del controllo adattativo e riportata in Figura 4.1.

Osservazioni

64

Page 67: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

• La legge di aggiornamento dei parametri proposta dipende da P , che esiste sicuramenteperche la matrice A e Hurwitz, e da Γ , che puo essere scelta a piacere.

• Non e possibile dedurre nulla sul comportamento del sistema durante il transitorio.

• Questo metodo richiede la conoscenza del vettore delle accelerazioni q per il calcolodi Y (q , q , q) e quindi della Φ, ed impone inoltre che h sia uniformemente definitapositiva affinche h

−1esista sempre.

+

+

Figura 4.1: Schema a blocchi del controllo adattativo di Craig.

4.2.3 Metodo di Spong e Ortega (M2)

Il metodo M2 richiede ancora la conoscenza delle q , ma elimina la necessita di garantirematematicamente l’uniforme definita positivita di h .

La legge di controllo viene progettata, sulla base di una tecnica propria del controllo robustonon adattativo, come:

τ := H 0(q)(a + δa) + C 0(q , q)q + g0 (4.26)

in cui H 0 (simmetrica, definita positiva), C 0 e g0 sono stime di H , C e g determinate apriori con parametri fissi. L’accelerazione a viene scelta come:

a := s2qr + K (s)e (4.27)

65

Page 68: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Il termine “robustificante” δa , che verra definito con una legge adattativa, ha lo scopo dicompensare gli errori commessi scegliendo le matrici H 0, C 0, g0 al posto di quelle vere, ossia

∆H := H −H 0

∆C := C −C 0 (4.28)∆g := g − g0

Sostituendo l’espressione di τ data in (4.26) nell’equazione (4.2) del modello dinamico delmanipolatore, si ottiene:

Hq + Cq + g = H 0(a + δa) + C 0q + g0 (4.29)

Sostituendo l’espressione (4.27) di a , scegliendo ancora K (s) := KDs +KP e sottraendo daambo i membri il termine H 0q , si ha:

Hq −H 0q + Cq + g = H 0(qr + KDe + KPe) + H 0δa + C 0q + g0 −H 0q (4.30)

da cui:

H 0(qr − q) + H 0(KDe + KPe) + H 0δa = (H −H 0)q + (C −C 0)q + (g − g0)

H 0(e + KDe + KPe + δa) = ∆Hq + ∆Cq + ∆g

H 0(e + KDe + KPe + δa) = Y (q , q , q)(θ − θ0)= Y (q , q , q)∆θ (4.31)

Si ricava quindi:e + KDe + KPe + δa = H−1

0 Y ∆θ (4.32)

e + KDe + KPe = H−10 Y ∆θ − δa ≡ Φ0∆θ − δa (4.33)

Scegliendo il termine robustificante in modo che sia:

δa := Φ0∆θ (4.34)

con ∆θ = θ − θ0, si ha:

e + KDe + KPe = Φ0∆θ −Φ0∆θ = Φ0∆θ (4.35)

dove∆θ = ∆θ −∆θ = θ − θ0 − θ + θ0 (4.36)

ovvero∆θ = θ := θ − θ (4.37)

66

Page 69: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Si ottiene quindi la seguente equazione:

e + KDe + KPe = Φ0θ (4.38)

che puo essere riscritta sotto forma di equazione di stato, in maniera analoga alla (4.20)–(4.21), come:

ε = Aε + BΦ0θ (4.39)

La legge di aggiornamento dei parametri proposta da Spong e Ortega e data da:

∆ ˙θ =

ddt

(θ − θ0) =dθ

dt= ˙

θ

˙θ = −Γ−1Φ′

0B′Pε (4.40)

dove P e la matrice simmetrica definita positiva che risolve l’equazione di Lyapunov associataal sistema (4.39).

La dimostrazione della convergenza del metodo, ovvero che ε → 0 per t → ∞, e analoga aquella illustrata per il metodo M1, considerando come funzione di Lyapunov la seguente:

V (ε, θ) := ε′Pε + ∆θ′Γ∆θ

= ε′Pε + θ′Γ θ

ove Γ , simmetrica, definita positiva, puo essere scelta a piacere.

4.2.4 Metodo di Amestagui et al. (M3)

Questo metodo affianca alle modifiche introdotte in M2 una diversa legge di aggiornamentodei parametri.

La legge di controllo utilizzata e la seguente:

τ := H 0a + C 0q + g0 + u (4.41)

dove u e un segnale di coppia che deve essere opportunamente progettato. Sostituendo la(4.41) nell’equazione (4.2) di modello del manipolatore si ottiene:

Hq + Cq + g = H 0a + C 0q + g0 + u (4.42)

Sottraendo da entrambi i membri il termine H 0q si ha:

(H −H 0)q + (C −C 0)q + (g − g0) = H 0(a − q) + u (4.43)

ovvero:∆Hq + ∆Cq + ∆g = H 0(a − q) + u (4.44)

67

Page 70: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

che, per le note proprieta di linearita, puo essere anche scritta come:

Y ∆θ = H 0(a − q) + u (4.45)

Ora, se definiamo ξ := H 0(a− q) e utilizziamo come legge di anello esterno a := qr +KDe+KPe , avremo ξ := H 0(e + KDe + KPe) e quindi

Y ∆θ = ξ + u (4.46)

Il segnale adattativo di compensazione proposto e dato da:

u := Y ∆θ (4.47)

dove ∆θ viene aggiornato secondo la legge:

∆ ˙θ = Γ−1Y ′ξ (4.48)

Assumendo l’esistenza di una soluzione in [t0,∞) per la dinamica (4.48), si dimostra chee , e → 0 per t →∞.

Dimostrazione

Essendo ξ + u = Y ∆θ e u = Y ∆θ, si ha:

ξ = Y ∆θ −Y ∆θ = Y ∆θ (4.49)

con ∆θ := ∆θ −∆θ.

Si consideri come funzione di Lyapunov candidata la seguente:

V (θ) := ∆θ′Γ∆θ (4.50)

dove Γ e simmetrica, definita positiva.

Lungo le traiettorie del sistema, V (θ) soddisfa a:

V (θ) = ∆θ′Γ∆ ˙

θ + ∆ ˙θ′Γ∆θ (4.51)

Essendo ∆ ˙θ =

ddt

(∆θ −∆θ) = −∆ ˙θ si ha:

V (θ) = −∆θ′Γ∆ ˙

θ −∆ ˙θ′Γ∆θ (4.52)

Sostituendo al posto di ∆ ˙θ la legge di aggiornamento (4.48), si ottiene:

V (θ) = −∆θ′ΓΓ−1Y ′ξ − ξ′YΓ−1Γ∆θ (4.53)

= −∆θ′Y ′Y ∆θ −∆θ

′Y ′Y ∆θ = −2∆θ

′Y ′Y ∆θ

68

Page 71: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

per la definizione di ξ data in (4.49).

Poiche Y ′Y e semi–definita positiva e simmetrica, si deduce che V (θ) ≤ 0, per qualunque∆θ.

Si puo dimostrare che poiche vale la (4.53) e ξ ∈ Ln2

⋂Ln∞, allora ∆θ ∈ Lr∞.

Inoltre, essendoa = qr + KDe + KPe (4.54)

si ha:ξ = H 0(a − q) = H 0(e + KDe + KPe) (4.55)

Trasformando la (4.55) secondo Laplace, si ottiene:

ξ(s) = H 0(s2 + KDs + KP )e(s) (4.56)

da cui, grazie all’invertibilita di H 0, si puo ricavare e(s) come:

e(s) = (s2 + KDs + KP )−1H−10 ξ(s) (4.57)

Siccome H−10 ξ ∈ Ln

2 (ovvero (a − q) ∈ Ln2 ), dal Lemma 1 segue che e → 0 e e → 0 per

t →∞.

4.3 Metodi basati sulla proprieta di passivita

L’approccio basato sulla proprieta di passivita non conduce ad un sistema lineare ad anellochiuso neppure nel caso ideale di parametri noti; peraltro offre come vantaggio la possibilitadi ottenere equazioni dell’errore in cui il regressore e indipendente dall’accelerazione. Talemetodo e basato sulla proprieta 4. dei robot rigidi, che afferma che N (q , q) := H (q) −2C (q , q) e antisimmetrica, e sul Teorema A che viene ora introdotto. Nel seguito l’approccioverra illustrato sia nel caso ideale di parametri noti, sia nella versione adattativa.

Teorema A.

Sia data una funzione da t a qr(t) differenziabile due volte e si definisca

e(t) := qr(t)− q(t) (4.58)

Si consideri la seguente equazione differenziale

H (q)r + C (q , q)r + K V r = Ψ (4.59)

69

Page 72: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

in cui K V sia una matrice simmetrica, definita positiva ed il segnale r(t) sia tale che la suatrasformata di Laplace r(s) sia esprimibile come:

r(s) = G(s)−1e(s) (4.60)

ovveroe(s) = G(s)r(s) (4.61)

(in altre parole, l’errore di inseguimento sia un segnale ottenuto filtrando opportunamenteun segnale di “velocita” r(s)).

Sia inoltre G(s) strettamente propria e stabile e sia la trasformazione −r → Ψ passiva.

Allora, dal Lemma 1:

e ∈ Ln2

⋂Ln∞ (4.62)

e ∈ Ln2 (4.63)

e quindi per t →∞ si ha e → 0.

Inoltre, se la trasformazione Ψ e limitata, allora r → 0 per t →∞ e quindi anche e → 0.

Dimostrazione

Si consideri la seguente funzione candidata di Lyapunov:

V (r) =12r ′H (q)r + β −

∫ t

0r ′Ψdξ (4.64)

Dalla proprieta di passivita della trasformazione −r → Ψ si ha che:

−∫ t

0r ′Ψdξ ≥ −β (4.65)

e quindi V (r) > 0.

Differenziando V (r) lungo le traiettorie del sistema dinamico dato dalla (4.59), si ottiene:

V (r) = r ′H (q)r +12r ′H (q)r − r ′Ψ (4.66)

da cui, sostituendo l’espressione di H (q)r ricavabile dalla (4.59), si ha:

V (r) = r ′(Ψ −C (q , q)r −K V r) +12r ′H r − r ′Ψ

= r ′Ψ − r ′Ψ − r ′Cr − r ′K V r +12r ′H r

= −r ′K V r +12r ′(H − 2C )r

= −r ′K V r (4.67)

70

Page 73: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

avendo utilizzando la proprieta: r ′(H − 2C )r ≡ 0.

La scelta di K V assicura che V (r) < 0 e che quindi r sia asintoticamente stabile, ovvero cher ∈ Ln

2 . Dal Lemma 1 ne consegue pertanto che e → 0 per t →∞; inoltre, se Ψ e limitataanche e → 0 per t →∞.

Nota

Poiche G(s) e una matrice di trasferimento strettamente propria, la funzione inversa

r(s) = G(s)−1e(s) (4.68)

“contiene” le derivate (anche se non tutte) di e e quindi le derivate di q . Se il grado relativodi G(s) e pari a 1, allora sono presenti in r solo le derivate prime di q , e quindi non si ha lanecessita di misurare le accelerazioni q .

4.3.1 Caso ideale: parametri noti

Sulla base del Teorema A precedentemente enunciato, viene formulata la seguente legge dicontrollo, proposta da Slotine e Li:

τ := H (q)a + C (q , q)v + g(q) + K V (v − q) (4.69)

che sostituita nel modello dinamico (4.2) del manipolatore consente di ottenere il seguentesistema in catena chiusa:

H (q)q + C (q , q)q + g(q) = H (q)a + C (q , q)v + g(q) + K V (v − q) (4.70)

ovveroH (q)(a − q) + C (q , q)(v − q) + K V (v − q) = 0 (4.71)

Definendo r := v − q e r := a − q (e quindi implicitamente anche a := v), e sostituendotali espressioni nella (4.71), si ottiene:

H (q)r + C (q , q)r + K V r = 0 (4.72)

La dinamica dal robot risulta cosı rappresentata da un sistema, descritto dall’equazione(4.72), che ricade sotto le condizioni del Teorema A precedentemente dimostrato, come sipuo vedere progettando il segnale v nel modo seguente (in trasformate di Laplace):

v(s) := sqr(s) + K (s)e(s) (4.73)

ovvero “filtrando” opportunamente l’errore e sommandolo a qr; si ottiene cosı:

a(s) ≡ sv(s) = s2qr(s) + sK (s)e(s) (4.74)

71

Page 74: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Per evitare l’utilizzo delle derivate seconde dell’uscita angolare nella definizione del controllo,e sufficiente che la matrice di trasformazione sK (s) sia del primo ordine, ovvero che K (s)contenga solo termini costanti (sia cioe di ordine zero).

La stabilita (o passivita) della dinamica (4.72) puo essere facilmente dimostrata per mezzodel Teorema A.

La trasformazione −r(s) → 0 e sicuramente passiva, essendo∫

0dt ≡ 0 ≥ −β.

La trasformazione tra e(s) e r(s) e data da:

r(s) = v(s)− sq(s)= sqr(s) + K (s)e(s)− sq(s)= se(s) + K (s)e(s)= (sI + K (s))e(s) (4.75)

e, per l’ipotesi fatta su K (s) (matrice di termini costanti), la matrice

G(s) := (sI + K (s))−1 (4.76)

e strettamente propria. Scegliendo opportunamente i termini di K (s), e possibile fare inmodo che la G(s) definita in (4.76) sia anche stabile. Si ricade cosı nelle condizioni delTeorema A, ottenendo che e → 0, e → 0 per t →∞.

4.3.2 Algoritmo adattativo

Sulla base dell’algoritmo visto per il caso a parametri noti, si ottiene la seguente legge dicontrollo adattativa:

τ := ha + C v + g + K V r (4.77)

avendo definito, come prima,

v := qr + Λe

a := v = qr + Λe (4.78)r := v − q

in cui Λ e una matrice diagonale di guadagni positivi,

Λ =

λ1 0. . .

0 λn

(4.79)

che “corrisponde” alla K (s) dell’equazione (4.74).

72

Page 75: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Sostituendo la (4.77) nel modello dinamico (4.2) del manipolatore si ha:

Hq + Cq + g = ha + Cv + g + K V r (4.80)

Ricavando le espressioni di q e q dalle (4.78)

q = v − r q = a − r

e sostituendole nella (4.80), si ottiene:

H (a − r) + C (v − r) + g = ha + Cv + g + K V r (4.81)

ovvero(H − h)a + (C − C )v + (g − g)−Hr −Cr −K V r = 0 (4.82)

Definendo

H := H − h

C := C − C (4.83)g := g − g

si ha:H a + Cv + g = Hr + Cr + K V r (4.84)

e quindi, per la proprieta di linearita rispetto ai parametri:

Y (q , q , v ,a)θ = Hr + Cr + K V r (4.85)

Si osservi che Y dipende solo da q e q , oltre che dai segnali v e a . Inoltre, confrontando la(4.85) con la (4.59) del Teorema A, si ha:

Ψ := Y (q , q , v ,a)θ (4.86)

La legge di aggiornamento dei parametri dovra conservare la passivita della trasformazione−r → Ψ . La legge proposta e la seguente:

˙θ = −Γ−1Y ′r (4.87)

in cui Γ e una matrice simmetrica, definita positiva.

Ricavando r ′Y = − ˙θ′Γ dalla (4.87), si vede che

r ′Ψ = r ′Y θ = − ˙θ′Γ θ (4.88)

73

Page 76: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

e definita negativa. E’ possibile allora calcolare

I = −∫ t

0r ′Ψdξ

=∫ t

0

˙θ′Γ θdξ

=12

∫ t

0

ddξ

(θ′Γ θ)dξ

=12[θ′(t)Γ θ(t)− θ

′(0)Γ θ(0)] (4.89)

Poıche Γ e definita positiva, la forma quadratica associata e sempre positiva; risulta pertanto:

I ≥ −12θ′(0)Γ θ(0) (4.90)

e quindi la trasformazione −r → Ψ e sempre passiva.

4.3.3 Osservazioni

I metodi di controllo adattativo illustrati soffrono di alcune caratteristiche “negative”:

1. Il comportamento in transitorio e molto difficilmente caratterizzabile: si puo dire soloche i segnali restano limitati.

2. La stabilita asintotica non e uniforme, per cui piccoli cambiamenti della dinamicapossono far perdere le proprieta di stabilita.

3. Disturbi non modellati limitati possono generare deviazioni che, seppure limitate, pos-sono essere comunque molto grandi.

Inoltre i segnali del regressore Y (q , q , q) devono essere persistentemente eccitati per escludereproblemi di instabilita numerica dei metodi.

Le leggi di aggiornamento viste, ed in particolare la (4.87), sono di tipo a gradiente. E’ notoche, almeno localmente, la velocita di convergenza di una legge ai minimi quadrati e superiorea quella del gradiente. Purtroppo le leggi ai minimi quadrati non soddisfano la condizione dipassivita.

74

Page 77: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Bibliografia

[1] S.L. Altmann, Rotations, Quaternions, and Double Groups. Claredon Press, 1986.

[2] C.H. An, C.G. Atkeson, J.M. Hollerback, Model-Based Control of a RoboticManipulator. The M.I.T. Press, 1988.

[3] H. Asada e J.-J.E. Slotine, Robot Analysis and Control. John Wiley & Sons, 1986.

[4] H. Asada, K. Youcef-Toumi, Direct-Drive Robots: Theory and Practice. The M.I.T.Press, 1987.

[5] R.U. Ayres, S.M. Miller, Socioeconomic Impact of Industrial Robots: An Overview. in“Handbook of Industrial Robotics”, a cura di S.Y. Nof, John Wiley & Sons, 1985.

[6] D.S. Bernstein e W. So, Some Explicit Formulas for the Matrix Exponential, IEEETransactions on Automatica Control, 38, 8, 1228-1232, 1983.

[7] M. Brady, J.M. Hollerbach, T.L. Johnson, T. Lozano-Perez, M.T. Mason, eds., RobotMotion: Planning and Control. The M.I.T. Press, 1982.

[8] J.J. Craig, Introduction to Robotics: Mechanics and Control. Addison-Wesley, 1986.

[9] J.J. Craig, Adaptive Control of Mechanical Manipulators. Addison-Wesley, 1988.

[10] J. Denavit, R.S. Hartenberg, A Kinematic Notation for Lower-Pair Mechanisms Basedon Matrices, J. of Applied Mechanics, 215-221, 1955.

[11] C. Ferraresi, T. Raparelli, Appunti di Meccanica Applicata, C.L.U.T. Editrice, 1992.

[12] J.P. Fillmore, A Note on Rotation Matrices, IEEE Computer Graphics andApplications, 30-33, Feb. 1984.

[13] K.S. Fu, R.C. Gonzalez, C.S.G. Lee, Robotics: Control, Sensing, Vision, andIntelligence. McGraw-Hill International Editions, 1987 (edizione italiana 1989).

75

Page 78: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

[14] Y.L. Gu, An exploration of orientation representation by Lie algebra for robotic ap-plications, IEEE Transactions on Systems, Man, and Cybernetics, 20, 1, 243-248,1990.

[15] A.J. Koivo, Fundamentals for Control of Robotic Manipulators. John Wiley & Sons,1989.

[16] T.R. Kane, D.A. Levinson, Dynamics: Theory and Applications. McGraw-Hill, 1985.

[17] R.D. Klafter, T.A. Chmielewski, M. Negin. Robotic Engineering: An IntegratedApproach. Prentice-Hall, 1989.

[18] Y. Koren, Robotics for Engineers. McGraw-Hill International Editions, 1987.

[19] H. Goldstein, Classical Mechanics. Seconda edizione, Addison Wesley, 1980.

[20] F.L. Lewis, C.T. Abdallah, D.M. Dawson, Control of Robot Manipulators. MacMillan,1993.

[21] J.M. McCarthy, An Introduction to Theoretical Kinematics. The MIT Press, 1990.

[22] C.D. Mladenova, Group-Theoretical Methods in Manipulator Kinematics and SymbolicComputation, Journal of Intelligent and Robotics Systems, 8, 21-34, 1993.

[23] S.Y. Nof, ed., Handbook of Industrial Robotics. John Wiley & Sons, 1985.

[24] R.P. Paul. Robot Manipulators: Mathematics, Programming and Control. The M.I.T.Press, 1981.

[25] F.P.J. Rimrott, Introductory Attitude Dynamics. Springer-Verlag, 1989.

[26] D.F. Rogers, J.A. Adams, Mathematical Elements for Computer Graphics. McGraw-Hill, 1989.

[27] L. Sciavicco, B. Siciliano, Robotica Industriale: Modellistica e Controllo diManipolatori. McGraw-Hill, 1995.

[28] J.M. Skowronski, Control Dynamics of Robotic Manipulators. Academic Press, 1986.

[29] J.-J.E. Slotine, W. Li, Applied Nonlinear Control. Prentice-Hall, 1991.

[30] M.W. Spong, M. Vidyasagar, Robot Dynamics and Control, John Wiley & Sons, 1989.

[31] SRI International, Robot Design Handbook. McGraw-Hill, 1988.

[32] E.I. Verriest, On three-dimensional rotations, coordinate frames, and canonical formsfor it all, Proceeding of the IEEE, 70, 10, 1376-1378, 1988.

76

Page 79: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

[33] J.R. Wertz, ed., Spacecraft Attitude Determination and Control. Reidel PublishingCompany, 1978.

[34] W.A. Wolovich, Robotics: Basic Analysis and Design. Holt, Rinehart and Winston,1987.

[35] T. Yoshikawa, Foundations of Robotics: Analysis and Control. The M.I.IT. Press, 1990.

[36] K. KozÃlowski. Modeling and identification in robotics. Springer, 1998.

[37] K. Young, C.G. Pickin. “Accuracy assessment of the modern industrial robot”.Industrial Robot: An International Journal,27, 6, 427-436, 2000.

[38] B.W. Mooring, Z.S. Roth, M.R. Driels. Fundamentals of Manipulator Calibration.Wiley-Interscience, 1991.

[39] P. Bolzern, R. Scattolini, N. Schiavoni. Fondamenti di Controlli Automatici. McGraw-Hill Italia, 1998.

[40] R.C. Dorf, R.H. Bishop. Modern Control Systems. Prentice Hall, Ninth Edition, 2001.

[41] S.K. Gupta. Fondamenti di Automatica. Apogeo, 2002.

[42] C. Bonivento, C. Melchiorri, R. Zanasi. Sistemi di Controllo Digitale. ProgettoLeonardo, Bologna, 1995.

[43] K.J. Astrom, B. Wittenmark. Computer-Controlled Systems: Theory and Design. ThirdEdition, Prentice Hall, 1997.

[44] G. Magnani. Tecnologie dei Sistemi di Controllo, McGraw-Hill Italia, 2000.

77

Page 80: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Indice

1 Controllo lineare di manipolatori rigidi 1

1.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Controllo a giunti indipendenti . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.1 Schema di controllo del PUMA . . . . . . . . . . . . . . . . . . . . . . 3

1.2.2 Modello matematico del controllore ai giunti . . . . . . . . . . . . . . 5

1.2.3 Equazioni usate per descrivere il motore cc . . . . . . . . . . . . . . . 6

1.2.4 Schemi a blocchi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

1.2.5 Compensatore di velocita . . . . . . . . . . . . . . . . . . . . . . . . . 15

1.2.6 Compensatore di posizione . . . . . . . . . . . . . . . . . . . . . . . . 17

1.2.7 Prestazioni a regime . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

1.2.8 Rete proporzionale-derivativa . . . . . . . . . . . . . . . . . . . . . . . 19

1.2.9 Considerazioni pratiche . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2 Controllo non lineare di manipolatori rigidi 24

2.0.10 Equazioni dinamiche in presenza di attuatori . . . . . . . . . . . . . . 25

2.0.11 Metodo della dinamica inversa . . . . . . . . . . . . . . . . . . . . . . 26

2.0.12 Sistema in variabili di stato . . . . . . . . . . . . . . . . . . . . . . . . 27

2.1 Linearizzazione esatta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.1.1 Rete PD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.1.2 Rete PID . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.1.3 Presenza di un disturbo di coppia non strutturato . . . . . . . . . . . 32

2.2 Linearizzazione approssimata . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

2.2.1 Rete PD con compensazione della gravita . . . . . . . . . . . . . . . . 34

78

Page 81: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

2.2.2 Controllo a giunti indipendenti . . . . . . . . . . . . . . . . . . . . . . 37

2.2.3 Controllo di dinamica inversa in feedforward . . . . . . . . . . . . . . 38

2.3 Controllo robusto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3 Controllo di forza e di impedenza 43

3.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

3.2 Vincoli cinematici . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.3 Controllo di forza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

3.3.1 Controllo di rigidezza: caso a un grado di liberta . . . . . . . . . . . . 47

3.3.2 Controllo di rigidezza: caso a n gradi di liberta . . . . . . . . . . . . . 49

3.3.3 “Damping control” . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

3.3.4 Controllo di forza mediante retroazione di forza . . . . . . . . . . . . . 51

3.4 Controllo di impedenza . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

3.4.1 Modello dinamico in coordinate cartesiane di un manipolatore . . . . 54

3.4.2 Algoritmo di controllo di impedenza . . . . . . . . . . . . . . . . . . . 55

3.5 Controllo ibrido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

3.5.1 Problemi legati al controllo ibrido . . . . . . . . . . . . . . . . . . . . 58

4 Controllo adattativo di robot rigidi 60

4.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

4.2 Metodi basati sulla dinamica inversa . . . . . . . . . . . . . . . . . . . . . . . 61

4.2.1 Metodo della dinamica inversa nel caso di parametri noti . . . . . . . 62

4.2.2 Metodo di Craig et al. (M1) . . . . . . . . . . . . . . . . . . . . . . . . 63

4.2.3 Metodo di Spong e Ortega (M2) . . . . . . . . . . . . . . . . . . . . . 65

4.2.4 Metodo di Amestagui et al. (M3) . . . . . . . . . . . . . . . . . . . . . 67

4.3 Metodi basati sulla proprieta di passivita . . . . . . . . . . . . . . . . . . . . 69

4.3.1 Caso ideale: parametri noti . . . . . . . . . . . . . . . . . . . . . . . . 71

4.3.2 Algoritmo adattativo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

4.3.3 Osservazioni . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

79

Page 82: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

Elenco delle figure

1.1 Schema del controllore a giunti indipendenti del manipolatore PUMA. . . . . 3

1.2 Schema meccanico del motore in cc che attua il giunto di un manipolatore. . 6

1.3 Schema elettromeccanico del motore in cc che attua il giunto di un manipolatore. 7

1.4 Schema del motoriduttore di giunto. . . . . . . . . . . . . . . . . . . . . . . . 8

1.5 Schema a blocchi in catena aperta del motore cc. . . . . . . . . . . . . . . . . 13

1.6 Schema a blocchi in catena aperta semplificato del motore cc, con La = 0. . . 14

1.7 Schema a blocchi con compensatore di velocita. Caso di guadagno Kt fissato dal costruttore e KD fissato dal progettista. 15

1.8 Schema a blocchi con compensatore di velocita. Funzioni di trasferimento ad anello aperto. 16

1.9 Schema a blocchi con compensatore di velocita: caso con guadagno Kt unitario e KD fissato dal progettista. 16

1.10 Schema a blocchi con compensatore di posizione. . . . . . . . . . . . . . . . . 17

1.11 Schema a blocchi con compensatore dinamico sulla posizione misurata. . . . 19

1.12 Schema a blocchi con compensatore dinamico sulla posizione misurata e guadagno statico di velocita. 20

2.1 Schema a blocchi del controllo di dinamica inversa. . . . . . . . . . . . . . . 27

2.2 Schema a blocchi del controllo di dinamica inversa e rete di compensazione PD. 30

2.3 Schema a blocchi del controllo di dinamica inversa e rete di compensazione PID. 32

2.4 Schema a blocchi della dinamica inversa, con rete PD e compensazione della gravita. 35

2.5 Schema a blocchi del controllo di dinamica inversa a “giunti indipendenti”. Le matrici KP e KD sono diagonali. 37

2.6 Schema a blocchi del controllo di coppia calcolata e rete di compensazione PD. 39

3.1 Vincoli naturali e vincoli artificiali: esempi 4.2.1 e 4.2.2. . . . . . . . . . . . 46

3.2 Controllo di rigidezza a un grado di liberta. . . . . . . . . . . . . . . . . . . 48

3.3 Controllo di rigidezza a n gradi di liberta in coordinate cartesiane. . . . . . . 51

3.4 Controllo di rigidezza a n gradi di liberta in coordinate giunto. . . . . . . . . 51

3.5 Controllo di forza con retroazione di forza. . . . . . . . . . . . . . . . . . . . 52

80

Page 83: Metodi di Controllo per Manipolatori Industriali · anche da demultiplexer per i microprocessori locali; questa µe a sua volta connessa con una scheda d’interfaccia parallela a

3.6 Schema di controllo ibrido. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58

4.1 Schema a blocchi del controllo adattativo di Craig. . . . . . . . . . . . . . . 65

81