Esplora E-book
Categorie
Esplora Audiolibri
Categorie
Esplora Riviste
Categorie
Esplora Documenti
Categorie
Parte I
Per quanto riguarda gli attuatori, i principali requisiti che si pongono nell’utilizzo
in ambito robotico sono i seguenti:
isolante
Commutatore
• Su ciascuna spira viene esercitata una forza tangente alla circonferenza esterna
del rotore
• Complessivamente queste forza equivalgono ad una coppia esercitata sul
motore, proporzionale alla corrente circolante nel circuito d’armatura
• Se il rotore è in moto, si induce nel circuito d’armatura una forza
controelettromotrice, proporzionale alla velocità angolare del rotore.
Controllo dei robot - Controllo del moto - P. Rocco [5]
Modello dinamico
Nel suo complesso, la dinamica elettrica del motore a corrente continua è
riconducibile al seguente circuito:
R L
I
V E
dI
V = RI + L +E V: tensione applicata alle spazzole
dt R: resistenza del circuito d’armatura
E = Keω L: induttanza del circuito d’armatura
τm = Kt I
meccanismo di commutazione,
osservando solo che per eseguire la
commutazione sulla base della posizione Induttore
del rotore è necessario un sensore di
posizione angolare.
Dinamica elettrica
E Va
Tr1 Tr3 Tr5 Centro stella.
Ia
⎡Va ⎤ ⎡I a ⎤ ⎛ ⎡ La M ab M ac ⎤ ⎡ I a ⎤ ⎞ ⎡ E a ⎤ ⎡Vn ⎤
⎢V ⎥ = R ⎢ I ⎥ + d ⎜ ⎢M ⎟
M bc ⎥⎥ ⎢⎢ I b ⎥⎥ ⎟ + ⎢⎢ Eb ⎥⎥ + ⎢⎢Vn ⎥⎥
⎢ b⎥ ⎢ b ⎥ dt ⎜ ⎢ ba Lb
⎢⎣Vc ⎥⎦ ⎢⎣ I c ⎥⎦ ⎜⎢ ⎟
⎝ ⎣ M ca M cb Lc ⎥⎦ ⎢⎣ I c ⎥⎦ ⎠ ⎢⎣ Ec ⎥⎦ ⎢⎣Vn ⎥⎦
Tensione del
I a + Ib + Ic = 0 L: auto induttanze
M: mutue induttanze centro stella.
M ij = cost.
Tr2 Tr4 Tr6
Vn L = Li − M ij
Ib Ic
Vb Vc
⎡Va ⎤ ⎡I a ⎤ ⎡ I a ⎤ ⎡ E a ⎤ ⎡Vn ⎤
⎢V ⎥ = R ⎢ I ⎥ + L d ⎢ I ⎥ + ⎢ E ⎥ + ⎢V ⎥
⎢ b⎥ ⎢ b⎥ dt ⎢ b⎥ ⎢ b⎥ ⎢ n⎥
⎢⎣Vc ⎥⎦ ⎢⎣ I c ⎥⎦ ⎢⎣ I c ⎥⎦ ⎢⎣ Ec ⎥⎦ ⎢⎣Vn ⎥⎦
I a + Ib + Ic = 0
E = ωK sin(θ)
(per una coppia di poli).
Pm = τ m ω
Pe = Pm E a I a + Eb I b + E c I c
τm =
ω
Si deve fare in modo che nelle fasi circolino correnti dipendenti in modo
opportuno dall’angolo.
Siano:
p: numero di coppie polari
α=pθ : angolo elettrico
Coppia (Nm)
1
0.5
-0.5
300
Il ripple può eccitare le risonanze del 200
100
200
robot. 100
-100
0
n >> 1
solidale al carico
solidale al motore
(rotore)
La corona flessibile ha due denti in meno della corona circolare. È tenuta in forma
ellittica dal generatore di deformazione.
Ruotando il generatore di deformazione, la zona d’ingranamento dei denti si muove
insieme all’asse maggiore dell'ellisse. Quando il generatore di deformazione avrà
compiuto 180°, la corona flessibile sarà rimasta indietro di un dente rispetto alla
corona circolare. Ogni giro completo del generatore di deformazione muove la
corona flessibile indietro di due denti rispetto alla corona circolare.
corpo A
corpo B
area di contatto macroscopica
Per studi in cui non è rilevante il comportamento a velocità nulla, si può adottare
un modello in cui la forza (o coppia) d’attrito è proporzionale alla velocità.
− τs + τs
− τs τ'
+ τs
− τs
τ': coppia attiva
Controllo dei robot - Controllo del moto - P. Rocco [18]
Il gioco
Se si inverte il senso di rotazione del
motore, per un angolo di rotazione nql
corrispondente al gioco, l’angolo del
carico non cambia.
“Inertia matching”
Come scegliere il rapporto di trasmissione, note le caratteristiche inerziali
di motore e carico?
Trascurando gli attriti e l’eventuale coppia esterna sul carico, si ha:
ω
l ω
τm = J mω
m + Jl = nJ m ω
l + Jl l
n n
Il rapporto tra accelerazione del carico e coppia motrice è quindi:
ω
l 1
=
τm Jl
nJ m +
n
Questo rapporto assume valore massimo quando:
Encoder incrementale
Si basa sul principio fotoelettrico.
È costituito da un disco con due tracce in cui sono
disposte alternativamente zone trasparenti ed
opache.
Canale A
Canale B
Tacca per la definizione
La presenza delle due tracce consente di rilevare
di uno zero meccanico
anche il verso della rotazione.
assoluto.
N: numero passi (numero di zone chiare/scure per
giro). Poiché i due segnali sono sfasati di 1/4 di
passo:
Risoluzione: 360°/(4N)
# Codice # Codice
B1
θ
Br Sc
I B2
( )
S s (θ, θ , t ) = Asinθ cos ωt + θ / ω A cos θ sin ωt
( )
S c (θ, θ , t ) = Acosθ cos ωt − θ / ω Asinθ sin ωt
.
−
con A=VM/L. Scegliendo ω elevato: θ/ω ≅ 0.
Rilevando le tensioni Ss e Sc, con un opportuno circuito è possibile estrarre
segnali rappresentativi del seno e del coseno di θ e quindi ricavare la misura
dell’angolo stesso.
Parte II
Controllo decentralizzato
Modello decentralizzato
Riprendiamo il modello dinamico del manipolatore:
B (q )q + C (q, q )q + g (q ) = τ
Posto:
Modello decentralizzato
Le equazioni prima ricavate si lasciano interpretare come le equazioni di un
sistema lineare completamente disaccoppiato, soggetto ad un “disturbo” derivante
dai termini non lineari ed accoppiati del modello dinamico del robot:
NON LINEARE
ACCOPPIATO
+
+
+ N−1∆B(.)N−1
d
.. .
τm − + − qm qm qm
(Jm+Br)−1 ∫ ∫
+ −
Dm
LINEARE
DISACCOPPIATO
Il servomeccanismo
carico Come è noto, nei suoi tratti essenziali
un servomeccanismo di posizione è
riduttore costituito da un motore, un riduttore ed
un carico.
motore
R L
I
V E alloggiamento
statore
1
(magnete)
La dinamica elettrica
R L
Il sistema è retto dalle seguenti equazioni: I
V
V (t ) = RI (t ) + LI(t ) + E (t )
E
E (t ) = Kωm (t )
1
τ(t ) = KI (t )
τ(t ) = J m ω
m (t )
q m (t ) = ωm (t ) K
E
V+ − 1 I τm 1 ωm 1 qm
Traducibili nello schema a blocchi: sL+R
K Jms s
Vista la dinamica veloce legata ai transitori elettrici si potrà progettare RI(s) per
ottenere una banda passante molto ampia, dell’ordine delle migliaia di rad/s.
Nel progetto del regolatore di corrente si potrà inoltre assumere la forza
controelettromotrice come un disturbo di bassa frequenza.
Una volta chiuso l’anello di controllo della corrente, questo potrà ritenersi
praticamente istantaneo ai fini del progetto del controllore di posizione esterno:
τ m (t ) = KI (t ) ≈ KI o (t )
Potremo quindi assumere come variabile di controllo per il controllo
posizione/velocità direttamente la coppia motrice τm
τlr .
τm + qm 1 qm
Gv(s) s
con:
Gv (s ) =
1
Dm + s(J m + J lr )
Il controllo P/PI
Chiudiamo un controllore PI sulla velocità, ed un controllore proporzionale sulla
posizione:
τlr .
qom + + τm + qm qm
Kpp RPI(s) Gv(s) 1/s
− −
⎛ ⎞ 1 + sTiv
RPI (s ) = K pv ⎜⎜1 +
1
⎟ = K pv 70
⎟
⎝ sTiv ⎠ sTiv 60
50
Funzione d’anello: 40
K pv µ 1 + sTiv
Lv (s ) = RPI (s )Gv (s ) =
30
dB
20
s sTiv 10
w (rad/s)
10
2
10
3
10 ωcp ωcv
Fv (s ) ≈
1 0
1 + s ωcv -10
-20
La funzione d’anello è quindi:
dB
-30
K pp
L p (s ) = K pp Fv (s ) =
1 -40
s s (1 + s ωcv )
-50
-60
-70
garantire una banda sull’anello di posizione ωcp≈ Kpp. L’integratore tra velocità
e posizione assicura inoltre la precisione statica a fronte di riferimenti costanti
a regime.
Controllo dei robot - Controllo del moto - P. Rocco [40]
Anticipo di velocità
s
τlr .
qom +
Kpp + + R (s) τm +
Gv(s)
qm
1/s
qm
− −
PI
τlr .
qom + τm + qm qm
RPID(s) Gv(s) 1/s
−
qom +
Kpp + + R (s) τm
− −
PI
s
qm
PI m ( m pp m (
Risulta: τ (s ) = R (s ) sq o (s ) − sq (s ) + K q o (s ) − q (s ) =
m m ))
⎛
= K pv ⎜⎜1 +
1 ⎞
( )( ) (
⎟⎟ s + K pp qmo (s ) − qm (s ) = RPID (s ) qmo (s ) − qm (s ) )
⎝ sTiv ⎠
⎛ ⎞ ⎧ ⎛ ⎞
RPID (s ) = K P ⎜⎜1 +
1 1
+ sTD ⎟⎟ ⎪ K P = K pv ⎜⎜ K pp + ⎟
⎟ (formule per il
⎝ sT I ⎠ ⎪ ⎝ Tiv ⎠ passaggio dal P/PI al
⎪⎪ K pv
⎨ TD = PID)
⎪ Kp
⎪ K pTiv
⎪ TI =
⎪⎩ K pp K pv
Schema a blocchi: .
1 ql 1 τl
s Jls + − È un sistema di
ql ordine 4 (ci sono 4
n
n variabili di stato)
.
τm + qm qm + τ lm
1 1 −
Dels+Kel
− Jms + Dm s
Un sistema “SITO”
Concentriamoci sulla risposta del sistema al comando di coppia τm (poniamo τl =0)
Il sistema è interpretabile come sistema ad un ingresso e due uscite (SITO:
Single Input Two Outputs).
.
qm qm
Gvm(s) 1/s
τm
.
nql nql
Gvl(s) 1/s
i numeratori sono diversi
Del s + K el
Gvl ( s ) =
J lr J m s + (JDel + J lr Dm )s 2 + (JK el + Dm Del )s + Dm K el
3
⎡ Jl ⎤
⎢ J lr = 2 , J = J lr + J m ⎥
⎣ n ⎦ Controllo dei robot - Controllo del moto - P. Rocco [46]
Parametri notevoli
Poniamo Dm=0 ed introduciamo i seguenti parametri:
J
ρ = lr (rapporto di inerzia)
Jm
K el D 1
ωz = , ζ z = el (puls. naturale e smorzamento degli zeri)
J lr 2 J lr K el
Si ottiene:
ζ zs s2 ζzs
1+ 2 + 1+ 2
µ ω z ω2z µ ωz
Gvm ( s ) = Gvl ( s ) =
s ζ ps s2 s ζ ps s2
⎡ 1⎤ 1 + 2 + 1+ 2 +
⎢µ = J ⎥ ω p ω2p ω p ω2p
⎣ ⎦
ζzs
1+ 2
ωz
dove: Glm ( s ) =
ζ zs s2
1+ 2 +
ω z ω2z
Jm Jl
Il sistema libero oscilla alla pulsazione Del
dei poli di Gvm, ossia ωp: questa
pulsazione è detta natural frequency.
K el
ζ zs s2
1+ 2+
µ ω z ω 2z
Gvm ( s ) =
s ζ ps s2
1+ 2 +
ω p ω 2p
Im ωp ζp
= = 1+ ρ > 1
ωz ζz
ωp ωz
−ζpω p −ζ zω z Re
I poli sono a
più alta
frequenza e più
smorzati
Risposta in frequenza
Cha aspetto assume la risposta in frequenza di Gvm?
ζ zs s2
1+ 2+
µ ω z ω 2z
Gvm ( s ) =
s ζ ps s2
1+ 2 +
ω p ω 2p
ρ=1 40
ζz=0.1 30
20
risonanza
|G vm|
10
-10
-20
10
-2 -1
10 10
0
10
1 antirisonanza
w/wz
s
.
qom +
Kpp + + R (s) τm
Gvm(s)
qm
1/s
qm
Glm(s)
nql
− −
PI
⎛ ⎞ 1 + sTiv
RPI (s ) = K pv ⎜⎜1 +
1
⎟ = K pv
⎟
⎝ sTiv ⎠ sTiv
Funzione d’anello: ζ zs s2
1+ 2 +
K pv µ 1 + sTiv ω z ω 2z
Lv (s ) = RPI (s )Gvm (s ) =
s sTiv ζ ps s2
1+ 2 +
ω p ω2p
~ = K pv µ
ω È la pulsazione critica di progetto, valutata sul modello rigido
cv
ωz (Kpvµ), normalizzata alla pulsazione ωz.
100 150
100
50
dB
dB
50
0
0
Il margine di
-50 -3 -50 -3
10 10
-2
10
-1
10
0
10
1
10 10
-2
10
-1
10
0
10
1
fase è
100 100
elevato
0 0
deg
deg
-100 -100
-200 -3 -2 -1 0 1
-200 -3 -2 -1 0 1
10 10 10 10 10 10 10 10 10 10
ω ωz ω ωz
ρ=1
ζz=0.1 Controllo dei robot - Controllo del moto - P. Rocco [53]
Criterio di Bode
Dal criterio di Bode risulta sempre margine di fase molto elevato. Non emergono
limiti significativi…
Guardiamo però la risposta in frequenza in anello chiuso lato motore e carico:
~ = 1.5
ω 10
cv motore
0 carico
-10
-20
-30
-40
-50
-60
-70
-80
-90 -2 -1 0 1 2
10 10 10 10 10
ωrad
ωz
C’è una risonanza lato carico che il criterio di Bode non coglie.
0
Lo smorzamento massimo si
-0.5 ottiene per:
~ ≈ 0.7
ω
-1 cv
-1.5
-1 -0.5 0 0.5 1
(ωcv ≈ 0.7ω z )
Real Axis
Controllo P di posizione
s
.
qom +
Kpp + + Fv(s)
qm
1/s
qm
Glm(s)
nql
−
Lv (s )
Fv (s ) = Anello chiuso di velocità
1 + Lv (s )
Fv (s )
La funzione d’anello per il controllo di posizione è: L p (s ) = K pp
s
Introduciamo anche in questo caso un parametro di progetto
normalizzato:
K pp È la pulsazione critica di progetto, valutata sul modello
γ pp =
ωz rigido (Kpp), normalizzata alla pulsazione ωz.
3 3 3
2 2 2
1 1 1
Imag Axis
Imag Axis
Imag Axis
0 0 0
-1 -1 -1
-2 -2 -2
-3 -3 -3
-1 -0.5 0 0.5 1 -2 -1 0 1 2 -3 -2 -1 0 1 2
Real Axis Real Axis Real Axis
Simulazioni
Simuliamo in Simulink il sistema completo:
~ = 0.5
ω ~ = 2.5
ω
cv cv
1.6 1.8
motore motore
carico 1.6
1.4 carico
1.4
1.2
1.2
1
1
0.8
0.8
0.6 0.6
0.4 0.4
0.2 0.2
disturbo di coppia
0
0 0 0.2 0.4 0.6 0.8 1
0 0.2 0.4 0.6 0.8 1 t (s)
t (s)
Lv (s )
Fv (s ) = Anello chiuso di velocità: nulla cambia nel suo progetto
1 + Lv (s )
Fv (s )
L p (s ) = K pp Glm (s )
s
ζ s
1+ 2 z
ωz
Glm ( s ) =
ζ s s2
1+ 2 z + 2
ωz ωz
Controllo dei robot - Controllo del moto - P. Rocco [61]
3 3 3
2
γ pp max ≈ 1.07 2
γ pp max ≈ 0.63 2 γ pp max ≈ 0.5
1 1 1
Imag Axis
Imag Axis
Imag Axis
0 0 0
-1 -1 -1
-2 -2 -2
-3 -3 -3
-3 -2 -1 0 1 2 -3 -2 -1 0 1 2 -3 -2 -1 0 1 2
Real Axis Real Axis Real Axis
Simulazioni
Sistema: ωz=200, ρ=1, ζz=0.1
~ = 0.5
ω ~ = 2.5
ω
cv cv
1.4
1.8
motore
motore
carico 1.6
1.2 carico
1.4
1
1.2
0.8
1
0.6 0.8
0.4 0.6
0.4
0.2
0.2
0
disturbo di coppia
0 0.2 0.4 0.6 0.8 1 0
0 0.2 0.4 0.6 0.8 1
t (s)
t (s)
-1
-2
-3
-4
0 0.2 0.4 0.6 0.8 1
t (s)
Oltre il PID
Anche se il nucleo di un controllore in anello
chiuso per il controllo del moto è sempre
costituito da un regolatore PID (o P/PI), vi
sono altri schemi di controllo che possono
completare o sostituire lo schema base.
Alcuni di questi schemi trovano corrente
applicazione nei controllori commerciali,
altri l’avranno forse in futuro.
Una lista parziale: • Filtro notch
• Osservatore del disturbo di coppia
• Controllo nello spazio di stato
• Compensazione del ripple di coppia
• Input shaping
Gnf ( s ) =
-2
s 2 + 2ζ 2 ωn s + ω2n
-4
-6
dB
-10
-14
-18 ζ1 ζ 2
-20
-1 0 1
10 10 10
w/wn
• La frequenza di risonanza sulla quale sintonizzare gli zeri del filtro deve
essere conosciuta con buona approssimazione
• I poli poco smorzati del processo cancellati dal filtro rimangono autovalori del
sistema in anello chiuso e riemergono come poli di altre funzioni di
trasferimento, tipicamente quella dal disturbo di carico all’uscita.
1
Elaborando lo schema a blocchi si ottiene
1 + sTf che il disturbo di coppia viene attenuato
+
Jm molto efficacemente, in particolare in bassa
− Tf frequenza.
TDO
K x^ Stima
dello stato
Controllore
Da progettare:
• Azione integrale
^
• Legge di controllo (u = kx)
• Stima dello stato
• Azioni in anello aperto
θ i 1,2,3 Sensore
di posizione
θ
Input shaping
Tutti i metodi di controllo visti finora prevedono una retroazione della
variabile controllata: sono infatti metodi in anello chiuso.
Parte III
Controllo centralizzato
Controllo centralizzato
Si parla di controllo centralizzato ogniqualvolta il controllore, nel determinare la
coppia che deve essere applicata a ciascun giunto, prende in considerazione
misure e/o modelli di pertinenza anche degli altri giunti del manipolatore.
calcolando le coppie di
disturbo sulla base del
riferimento di posizione,
velocità ed
accelerazione: d d = N −1∆B (q d )N −1qmd + N −1C (q d , q d )N −1q md + N −1 g (q d )
• La compensazione delle non linearità può essere solo parziale (per esempio solo
i termini gravitazionali ed i termini diagonali della matrice di inerzia)
• I termini di compensazione possono essere calcolati anche fuori linea, nel caso
di traiettorie ripetute più volte.
Controllo dei robot - Controllo del moto - P. Rocco [75]
. KP e KD diagonali
q
qd + + − + τ
KP MANIPOLATORE qd costante
− + q
^
g(.)
^ .
η(q,q)
ηˆ (q, q ) = Cˆ (q, q )q + gˆ (q )
B (q )q + η(q, q ) = τ
.
qd +
KD .
− q
τ = Bˆ (q )v + ηˆ (q, q )
+ +v ^ + τ
+ B(q) MANIPOLATORE
+ q
qd +
v = qd + K D (q d − q ) + K P (q d − q )
KP
−
^ .
η(q,q)
Se la conoscenza del modello matematico è
^
perfetta (B=B, ^
η=η), si ha:
q = v
e quindi, detto e=qd−q,
e + K D e + K P e = 0
Il controllore PD “vede” un sistema completamente disaccoppiato costituito da
doppi integratori, per i quali si può assegnare arbitrariamente la dinamica in anello
chiuso.
Ci sono varianti del metodo intese a conferirgli robustezza a fronte di incertezze sul
modello o a renderlo adattativo rispetto alla stima dei parametri del modello.
Controllo dei robot - Controllo del moto - P. Rocco [78]
Controllo nello spazio operativo
Per controllo nello spazio operativo si intende una strategia di controllo in cui
l’errore viene formato direttamente sulle coordinate dello spazio operativo.
Schemi di principio:
controllo con inversa dello Jacobiano controllo con trasposta dello Jacobiano
xd + ∆x ∆q MATRICE q xd + ∆x MATRICE q
JA−1(q) MANIPOLATORE JAT(q) MANIPOLATORE
− GUADAGNI
− GUADAGNI
x x
k(.) k(.)
. KP e KD diagonali
~ q
xd + x + − + τ
KP T
JA (q) MANIPOLATORE q
− + xd costante
^
g(.)
x
k(.)
Come nell’analogo schema nello spazio dei giunti, anche in questo caso si può
dimostrare che, se la stima del termine gravitazionale è perfetta, si ottiene un
sistema in anello chiuso il cui punto di equilibrio (caratterizzato da errore nullo) è
globalmente asintoticamente stabile.
Controllo dei robot - Controllo del moto - P. Rocco [80]
Controllo a dinamica inversa
Si può estendere il controllo a dinamica inversa anche allo spazio operativo:
..
xd
. .
~
xd + x
KD .
− q
+ + v ^ + τ q
+ JA−1(q) B(q) MANIPOLATORE
+
xd + ~ −
x KP
−
.
^(q,q)
η
. .
JA(q,q)
.
x
JA(q)
x
k(.)
B (q )q + η(q, q ) = τ
KD .
− q
+ + v ^ + τ q
JA−1(q)
τ = B (q )v + η(q, q )
+ B(q) MANIPOLATORE
+
xd + ~ −
x
( )
KP
−
ovvero lo stesso risultato, nello spazio operativo, del controllo a dinamica inversa
nello spazio dei giunti.