• Non ci sono risultati.

Sistema di controllo antioscillazioni

N/A
N/A
Protected

Academic year: 2022

Condividi "Sistema di controllo antioscillazioni"

Copied!
71
0
0

Testo completo

(1)

Dipartimento di Ingegneria

Ingegneria dei sistemi di controllo - Sensori 1

Sistema di controllo anti- oscillazioni per carriponte

Ermidoro Michele

(2)

Introduzione

(3)

Descrizione generale

Cosa è un carroponte?

X

Z Y

up -dow n

(4)

Descrizione problema

Durante la movimentazione di carichi possono introdursi delle

oscillazioni pericolose per gli operai

(5)

Come risolvere questo problema?

Per poter evitare le oscillazione dobbiamo prima riuscire ad identificarle:

Si è scelto di utilizzare una piattaforma inerziale per stimare le oscillazioni del carico

La piattaforma inerziale è stata montata sul capofisso

(6)

Dove arriveremo

(7)

• Modellizzazione matematica del sistema

• Stima inclinazione

• Stima dell'angolo di oscillazione

• Validazione risultati intermedi

• Problema di controllo

Indice

(8)

Modellizzazione del sistema

(9)

Equazioni di Eulero-Lagrange

Le equazioni di Lagrange sono le equazioni del moto di un sistema conservativo, in quanto si ottengono direttamente a partire dal principio variazionale di Hamilton: minimizzando l'azione, esse descrivono il moto di un oggetto che obbedisce al secondo principio della dinamica e mettono in relazione la posizione e la velocità di ogni elemento che compone un sistema meccanico, in modo che è possibile caratterizzarne completamente la dinamica.

Utilizzo:

• Lagrangiana:

• Equazioni del moto:

• In assenza di forze esterne:

• In presenza di forze esterne:

U T

L = −

= 0

− 

 

 

q L q

L dt

d

q F L q

L dt

d =

− 

 

 

Energia cinetica

Energia potenziale

q – variabili di sistema F – forza esterna

(10)

Modello fisico (1/4)

M

m

l ϑ x

“Try simple first” 1-D model

𝑻 =

𝟏𝟐

𝑴 + 𝒎 ሶ𝒙

𝟐

+

𝟏𝟐

𝒎𝒍

𝟐

ሶ𝝑

𝟐

+ 𝒎𝒍 ሶ𝝑 ሶ𝒙 𝐜𝐨𝐬 𝝑

Energia Cinetica:

𝑻 = 𝟏

𝟐∙ 𝒎 ∙ 𝒗𝟐 Formula generica:

Masse in gioco: • m : massa carico

• M : massa carrello

Approssimazioni: • Carico considerato puntiforme

• Cavo rigido

• Massa del cavo trascurabile

• Il carrello si muove senza attrito

(11)

Modello fisico (2/4)

𝑼 = −𝒎𝒈𝒍 𝐜𝐨𝐬 𝝑

Energia Potenziale:

"altezza di masse da terra"

Formula generica:

Masse in gioco: • m : massa carico

• M : massa carrello

Approssimazioni: • Carico considerato puntiforme

• Cavo rigido

• Massa del cavo trascurabile

• Il carrello si muove senza attrito Facilitazione: Lo zero dell'asse zeta è al livello del

binario di scorrimento del carrello

“Try simple first” 1-D model

M

m

l ϑ x

(12)

Modello fisico (3/4)

Attrito viscoso rotazionale

Equazioni di Eulero-Lagrange:

𝑑 𝑑𝑡

𝜕𝐿

𝜕 ሶ 𝜗 − 𝜕𝐿

𝜕𝜗 = −𝑏 ሶ 𝜗 𝑑

𝑑𝑡

𝜕𝐿

𝜕 ሶ𝑥 − 𝜕𝐿

𝜕𝑥 = 𝐹

Forza esterna

applicata

𝑳 =

𝟏𝟐

𝑴 + 𝒎 ሶ𝒙

𝟐

+

𝟏𝟐

𝒎𝒍

𝟐

ሶ𝝑

𝟐

+ 𝒎𝒍 ሶ𝝑 ሶ𝒙 𝐜𝐨𝐬 𝝑 + 𝒎𝒈𝒍 𝐜𝐨𝐬 𝝑

𝜕𝐿

𝜕𝜗 = − 𝑚𝑙 ሶ𝜗 ሶ𝑥 + 𝑚𝑔𝑙 sin 𝜗 𝜕𝐿

𝜕 ሶ𝜗 = 𝑚𝑙2𝜗 + 𝑚𝑙 ሶ𝑥 cos 𝜗 𝑑 𝑑𝑡

𝜕𝐿

𝜕 ሶ𝜗 = 𝑚𝑙2𝜗 + 𝑚𝑙 ሷ𝑥 cos 𝜗 − ሶ𝑥 ሶ 𝜗 sin 𝜗

𝜕𝐿

𝜕 ሶ𝑥 = 𝑀 + 𝑚 ሶ𝑥 + 𝑚𝑙 ሶ𝜗 cos 𝜗 𝑑 𝑑𝑡

𝜕𝐿

𝜕 ሶ𝑥 = 𝑀 + 𝑚 ሷ𝑥 + 𝑚𝑙 𝜗 cos 𝜗 − ሶ 𝜗2sin 𝜗

𝜕𝐿

𝜕𝑥 = 0

M

m

l ϑ x

(13)

Modello fisico (4/4)

𝑑 𝑑𝑡

𝜕𝐿

𝜕 ሶ𝑥 − 𝜕𝐿

𝜕𝑥 = 𝐹

𝑳 =

𝟏𝟐

𝑴 + 𝒎 ሶ𝒙

𝟐

+

𝟏𝟐

𝒎𝒍

𝟐

ሶ𝝑

𝟐

+ 𝒎𝒍 ሶ𝝑 ሶ𝒙 𝐜𝐨𝐬 𝝑 + 𝒎𝒈𝒍 𝐜𝐨𝐬 𝝑

𝒎𝒍𝟐 ሷ𝝑 + 𝒎𝒍 ሷ𝒙 𝒄𝒐𝒔 𝝑 + 𝒎𝒈𝒍 𝒔𝒊𝒏 𝝑 = −𝒃 ሶ𝝑

𝑴 + 𝒎 ሷ𝒙 + 𝒎𝒍 ሷ𝝑 𝒄𝒐𝒔 𝝑 − ሶ𝝑𝟐𝒔𝒊𝒏 𝝑 = 𝑭 𝑑

𝑑𝑡

𝜕𝐿

𝜕 ሶ𝜗 − 𝜕𝐿

𝜕𝜗 = −𝑏 ሶ𝜗

System

𝐹 𝑡 𝑥 𝑡

𝜗 𝑡

𝑙 è costante ⇒ nonlineare, IV ordine 𝑙 è un parametro tempo-variante ⇒

nonlineare,tempo-variante, IV ordine

(14)

Modello utilizzato

ሷ𝝑 𝒕 = − ሷ𝒙 𝒕

𝒍 𝒄𝒐𝒔 𝝑 𝒕 + 𝒈

𝒍 𝐬𝐢𝐧 𝝑 𝒕 + 𝒃

𝒎𝒍𝟐 ሶ𝝑 𝒕

• L'obbiettivo è minimizzare/eliminare le oscillazioni del carico;

• L'input del sistema è dato dall'operatore che utilizza il carroponte;

Si considera come variabile di stato solamente l'oscillazione del carico

Consideriamo: ቊ𝒙𝟏 𝒕 = 𝝑 𝒕

𝒙𝟐 𝒕 = ሶ𝝑 𝒕

𝒙𝟏 𝒕 = 𝒙𝟐 𝒕

𝒙𝟐 𝒕 = − 𝒖 𝒕

𝒍 𝒄𝒐𝒔 𝒙𝟏 𝒕 +𝒈

𝒍 𝐬𝐢𝐧 𝒙𝟏 𝒕 + 𝒃

𝒎𝒍𝟐𝒙𝟐 𝒕

Linearizzando otteniamo:

𝑮 𝒔 = Θ

ሷ𝑿 = −

𝟏 𝒈 𝒍

𝒈 𝒔𝟐 + 𝒃

𝒎𝒍𝒈𝒔 + 𝟏

(15)

Osservazioni

• In caso di attrito nullo son presenti due poli puramente immaginari;

• Le oscillazioni dipendono solamente dall'altezza del carico da terra;

• La massa del carico non influisce il periodo delle oscillazioni;

• La massa del carrello non influenza l'ampiezza e la frequenza delle oscillazioni;

• Il sistema si è considerato disaccoppiato sui due assi;

Si considera il caso con assenza di attrito (b=0, WORST CASE)

𝐺 𝑠 = −1

𝑙 𝑠2 + 𝑏

𝑚𝑙2 𝑠 + 𝑔 𝑙 𝜔𝑛 = 𝑔

𝑙 𝜉 = 𝑏

2𝑚 𝑔𝑙3

(16)

Osservazioni

• In caso di attrito nullo son presenti due poli puramente immaginari;

• Le oscillazioni dipendono solamente dall'altezza del carico da terra;

• La massa del carico non influisce il periodo delle oscillazioni;

• La massa del carrello non influenza l'ampiezza e la frequenza delle oscillazioni;

• Il sistema si è considerato disaccoppiato sui due assi;

Si considera il caso con assenza di attrito (b=0, WORST CASE)

Considerando 𝒉𝒎𝒊𝒏 = 𝟏𝒎 ed 𝒉𝒎𝒂𝒙 = 𝟕𝒎:

• 𝒇𝒎𝒊𝒏 = 𝟎. 𝟏𝟖𝟖𝟒 𝑯𝒛

• 𝒇𝒎𝒂𝒙 = 𝟎. 𝟒𝟗𝟖𝟓 𝑯𝒛 𝐺 𝑠 = −1

𝑙 𝑠2 + 𝑔

𝑙

𝜔𝑛 = 𝑔

𝑙 𝜉 = 0

(17)

Stima angolo oscillazioni

(18)

Cosa è una piattaforma inerziale?

Una piattaforma inerziale è un'unione di diverse tipologie di sensore, nel nostro caso:

• Accelerometro triassiale MEMS;

• Giroscopio triassiale MEMS.

Accelerometro

Misura le accelerazioni sui tre assi. In condizioni di assenza di accelerazioni esterne

viene misurata solamente la componente gravitazionale

Giroscopio

Misura la velocità angolare di rotazione attorno ai principali assi. In condizioni statiche misura

solamente rumore elettronico

(19)

Come stimare l'angolo?

Accelerometro

Ci si basa su come si distribuisce il "vettore gravità"

Giroscopio

Si integra la velocità angolare misurata

x

Z g

x

Z g

𝝑

𝝑 = tan−𝟏 𝑨𝒙 𝑨𝒛

x

Z

x

Z 𝝎𝒚

𝝑

𝒅𝝑 = 𝝎𝒚 ∙ ∆𝒕

Perché non usare un singolo sensore?

Accelerazioni esterne lineari

𝝑 = tan−𝟏 𝑨𝒙 + 𝑨𝑬 𝑨𝒛

Drift dovuto ad integrazione 𝝑 = 𝝎𝒚 + 𝜺 ∙ ∆𝒕

(20)

Stima angolo

Accelerometro

Il vettore gravità è costante, frequenza pressochè nulla.

Giroscopio

L'offset è a bassa frequenza, l'errore in alta.

L'idea è di integrare il giroscopio e di aggiornare la stima con l'angolo

calcolato con l'accelerometro.

Filtro di Kalman

Sistema 

ACC

K

-

+ +

+

t

 

൝ 𝝑

𝒙|𝒕

= 𝝑

𝒙|𝒕−𝟏

+ Δ

𝒕

𝝎

𝒙

+ 𝑲

𝒕

𝝑

𝑨𝒄𝒄𝑿|𝒕

− 𝒚

𝒙|𝒕

𝒚

𝒙|𝒕

= 𝝑

𝒙|𝒕

𝝑

𝑨𝒄𝒄𝑿|𝒕

= tan

−𝟏

𝑨

𝒚

𝑨

𝒙

(21)

Stima angolo

Accelerometro

Il vettore gravità è costante, frequenza pressochè nulla.

Giroscopio

L'offset è a bassa frequenza, l'errore in alta.

Filtro Complementare 𝝑

𝑨𝒄𝒄

= tan

−𝟏

𝑨

𝒚

𝑨

𝒙

𝝑

𝒈𝒚𝒓𝒐

= 𝜽

𝒐𝒍𝒅

+ 𝝎

𝒚

∙ ∆𝒕 𝜽 = 𝝑

𝑨𝒄𝒄

∙ 𝒌 + 𝝑

𝒈𝒚𝒓𝒐

∙ 𝟏 − 𝒌 𝒌 ÷ 𝟎, 𝟏

LP

HP

𝝑𝑨𝒄𝒄

𝝑𝒈𝒚𝒓𝒐

𝜽

La scelta di k influenza la banda passante dei filtri.

Filtro di Kalman di regime del 1° ordine

(22)

Filtraggio stima angolo di oscillazioni

(23)

Filtraggio angolo stimato (1/2)

Problema 1:

Capofisso non perpendicolare Offset variabile di angolo

𝒍𝒎𝒊𝒏 𝒍𝒎𝒂𝒙

𝝑𝒍𝒎𝒊𝒏 > 𝝑𝒍𝒎𝒂𝒙 𝝑 ≠ 𝟎

Stima angolo

High-Pass Filter

2° order, fc 0.015 Hz

Stima oscillazione

0 10 20 30 40 50 60 70 80 90 100

-8 -7 -6 -5 -4 -3 -2 -1 0

𝝑 salita gancio 𝝑 discesa gancio

(24)

Filtraggio angolo stimato (2/2)

Problema 2:

Approssimazione a cavo rigido errata Oscillazioni alta frequenza

Low-Filter

2° order, fc 3 Hz

Stima oscillazione

50 55 60 65 70 75 80 85 90

-3.5 -3 -2.5 -2 -1.5 -1 -0.5 0

73 74 75 76 77 78 79 80

-2.5 -2 -1.5 -1 -0.5

Le oscillazioni sono a circa 3 Hz e sono più visibili quando il gancio è scarico

Stima oscillazione

reale

(25)

Validazione

(26)

Test Anello Aperto (1/2)

Theory Measured

𝑇4.5

𝑇3 1.22 1.23

𝜔𝑛𝜉 4.5

𝜔𝑛𝜉 3 2.25 2.14

Sappiamo che:

periodo 𝑇~ 𝑙

Puls. Nat. 𝜔𝑛~ ൗ1 𝑙 Smorzamento 𝜉~ ൗ1 𝑙3

Movimentazioni a velocità massima

0 10 20 30 40 50 60

-6 -4 -2 0 2 4

6 X: 17.4

Y: 3.067

Ampiezza [°]

Angolo stimato (Theta Y)

X: 52.25 Y: 1.729

X: 14.3 Y: -3.792

X: 54.65 Y: -1.401

r = 3 r = 4.5

time [s]

Angle [°]

𝒍 = 𝟑 𝒎 𝒍 = 𝟒. 𝟓 𝒎

𝑇 = 2𝜋

𝜔𝑛 1 − ξ2

Il modello calcolato approssima in modo soddisfacente il

sistema?

(27)

Test Anello Aperto (2/2)

10 20 30 40 50 60 70 80 90

-0.4 -0.2 0 0.2

Ampiezza]

Theta X

theta X

10 20 30 40 50 60 70 80 90

-10 0 10

Temp [s]

Ampiezza]

Theta Y

theta Y

time [s]

Angle [°]Angle [°]

Movimentazione a velocità

massima su asse Y (open-loop) X e Y non sono perfettamente

disaccoppiati (ampiezza 1 a 40)

Il sistema è veramente disaccoppiato?

(28)

Validazione

Basically, no acceleration is measured (the hook points to the ground) [1]

The pulley oscillations are visible in the gyro measure [2]

10 20 30 40 50 60 70 80 90 100

-2 0 2

Acc [m/s2 ]

Az Az gancio

10 20 30 40 50 60 70 80 90 100

-10 0 10

Vel [deg/s]

Gy Gy gancio

10 20 30 40 50 60 70 80 90 100

-4 -2 0 2 4

t [s]

Angle [°]

capo fisso gancio

[1]

[2]

The pulley is free to slide over the ropes, with the hook which tends always to keep a vertical

orientation. So, the accelerometer on the pulley will measure lower acceleration than the one of the fixed end.

E' giusto posizionare la piattaforma inerziale sul capofisso?

(29)

Risultati filtraggio

Stima oscillazione

reale

Stima angolo

BP-Filter 4th order, BP 0.03-1 Hz

0 10 20 30 40 50 60 70 80 90 100

-4 -3 -2 -1 0 1 2

Offset

Variazione bassa freq(sollevamento)

Eliminate oscillazioni del cavo

La stima delle oscillazioni è utilizzabile in un sistema di controllo?

(30)

Problema di controllo

𝑠𝐺 𝑠 𝜗 𝑡

𝑣𝑟𝑒𝑓 𝑡 𝑣 𝑡

𝑀 𝑠 𝐺𝑒𝑛

𝐶

𝜗𝑟𝑒𝑓 𝑡 =0

+

– +

+

Single axis control

• 𝑴 𝒔 : funzione di trasferimento dei motori, considerati ideali

• 𝒔𝑮 𝒔 : funzione di trasferimento calcolata precedentemente; l'unica differenza è l'ingresso in velocità.

• 𝝑 𝒕 : angolo di oscillazione stimato in modo corretto

• Gen: funzione che riceve in ingresso I segnali della pulsantiera (operatore) e genera una forma d'onda di riferimento

• 𝝑𝒓𝒆𝒇 𝒕 =0: vogliamo minimizzare le oscillazioni

(31)

Problema di controllo

𝑠𝐺 𝑠 𝜗 𝑡

𝑣𝑟𝑒𝑓 𝑡 𝑣 𝑡

𝑀 𝑠 𝐺𝑒𝑛

𝐶

𝜗𝑟𝑒𝑓 𝑡 =0

+

– +

+

Single axis control

• 𝑴 𝒔 : funzione di trasferimento dei motori, considerati ideali

• 𝒔𝑮 𝒔 : funzione di trasferimento calcolata precedentemente; l'unica differenza è l'ingresso in velocità.

• 𝝑 𝒕 : angolo di oscillazione stimato in modo corretto

• Gen: funzione che riceve in ingresso I segnali della pulsantiera (operatore) e genera una forma d'onda di riferimento

• 𝝑𝒓𝒆𝒇 𝒕 =0: vogliamo minimizzare le oscillazioni

Quale è il miglior controllore C

per svolgere questo compito?

(32)

Progettazione controllore

(33)

Problema di controllo

𝑠𝐺 𝑠 𝜗 𝑡

𝑣𝑟𝑒𝑓 𝑡 𝑣 𝑡

𝑀 𝑠 𝐺𝑒𝑛

𝜗𝑟𝑒𝑓 𝑡 =0 𝐶 +

– +

+

Single axis control

Quale è il miglior controllore C per svolgere questo compito?

“Try simple first” PID controller

(34)

Scelta controllore

Single axis control

PID

𝐼 𝑠 = 𝑀 𝑠 = 1 H 𝑠 = 𝑠𝐺 𝑠

𝑃𝐼𝐷 𝑠 = 𝐾𝑑𝑠2 + 𝐾𝑝 + 𝐾𝑖 𝑠

𝐿 𝑠 = 𝑃𝐼𝐷(𝑠) ∙ 𝐻 𝑠

𝐻 𝑠 = −

1 𝑔 𝑠 𝑙

𝑔 𝑠2 + 1

Cancellazione di zeri nell'origine con poli nell'origine sono da evitare

𝑯 𝒔

(35)

Scelta controllore

Single axis control

PD

𝐼 𝑠 = 𝑀 𝑠 = 1 H 𝑠 = 𝑠𝐺 𝑠

𝐿 𝑠 = 𝑃𝐼𝐷(𝑠) ∙ 𝐻 𝑠

𝐻 𝑠 = −

1 𝑔 𝑠 𝑙

𝑔 𝑠2 + 1 𝑃𝐷 𝑠 = 𝐾𝑑𝑠 + 𝐾𝑝

𝐿 𝑠 = − 1

𝑔 𝐾𝑑𝑠2 + 𝐾𝑝𝑠 𝑙

𝑔 𝑠2 + 1

Soluzione percorribile 𝑯 𝒔

(36)

Soluzione percorribile (e più semplice)

Scelta controllore

Single axis control

PID

𝐼 𝑠 = 𝑀 𝑠 = 1 H 𝑠 = 𝑠𝐺 𝑠

𝐿 𝑠 = 𝑃𝐼𝐷(𝑠) ∙ 𝐻 𝑠

𝐻 𝑠 = −

1 𝑔 𝑠 𝑙

𝑔 𝑠2 + 1 𝑃 𝑠 = 𝐾𝑝

𝐿 𝑠 = − 1 𝑔 𝐾𝑝𝑠 𝑙

𝑔 𝑠2 + 1

𝑯 𝒔

(37)

Analisi in anello chiuso (1/2)

Single axis control

P

𝐼 𝑠 = 𝑀 𝑠 = 1 H 𝑠 = 𝑠𝐺 𝑠

𝐿 𝑠 = 𝐾𝑝 ∙ 𝐻 𝑠

𝐿 𝑠 = 𝐾𝑝 ∙ −1 𝑙 𝑠 𝑠2 + 𝑔

𝑙 Funzione trasferimento d'anello

Funzione trasferimento anello chiuso 𝐹 𝑠 = −1

𝑙 𝐾𝑝𝑠 𝑠2 − 1

𝑙 𝐾𝑝𝑠 + 𝑔 𝑙

𝑯 𝒔

(38)

Analisi in anello chiuso (2/2)

Single axis control

P

Solo per 𝐾𝑝 < 0 Asintoticamente stabile?

Parametri anello chiuso:

𝐻 𝑠 = 1

𝑙 𝐾𝑝𝑠 𝑠2 1

𝑙 𝐾𝑝𝑠 +𝑔 𝑙

𝜔𝑛 = 𝑔 𝑙 ξ = − 𝐾𝑝

2 𝑔𝑙

• 𝐾𝑝 negativo per via del

guadagno negativo del sistema

• Pulsazione naturale invariata

• Smorzamento direttamente proporzionale a 𝐾𝑝

𝑯 𝒔

(39)

Analisi prestazionale –Simulazione (1/2)

Single axis control

0 10 20 30 40 50 60

-6 -4 -2 0 2 4 6

Ampiezza Oscillazioni

Ampiezza [°]

0 10 20 30 40 50 60

0 0.5 1 1.5 2 2.5 3

Veloci [m/s]

Profilo velocità

Kp = 0 Kp = -1 Kp = -14 Kp = -50 Kp = -100

time [s]

time [s]

speed[m/s]Angle [°]

𝐾 𝑝 ↑ → ξ ↑

𝑚𝑎

𝐾 𝑝 ↑→ 𝑢 ↑ → 𝑣 ↓

(40)

Analisi prestazionale –Simulazione (1/2)

Single axis control

0 10 20 30 40 50 60

-6 -4 -2 0 2 4 6

Ampiezza Oscillazioni

Ampiezza [°]

0 10 20 30 40 50 60

0 0.5 1 1.5 2 2.5 3

Veloci [m/s]

Profilo velocità

Kp = 0 Kp = -1 Kp = -14 Kp = -50 Kp = -100

time [s]

time [s]

speed[m/s]Angle [°]

𝐾 𝑝 ↑ → ξ ↑

𝑚𝑎

𝐾 𝑝 ↑→ 𝑢 ↑ → 𝑣 ↓

Necessario trade-off tra riduzione

oscillazioni e prestazioni del sistema

(41)

Analisi prestazionale –Simulazione (2/2)

Single axis control

No control

Medium control

High control

(42)

Scelta di 𝐾

𝑝

(1/2) - luogo delle radici

Il luogo delle radici è uno strumento grafico per l’analisi e la sintesi di sistemi retro-azionati. E'

definito come il luogo geometrico dei punti del piano complesso descritto dalle radici dell’equazione caratteristica al variare del parametro ρ da –∞ a +∞ con ρ≠0.

𝑳 𝒔 = 𝝆 𝑵 𝒔

𝑫 𝒔

𝑳 𝒔 = −𝑲𝒑

1 𝑙 𝑠 𝑠2 +𝑔

𝑙

𝝆

=−𝑲

𝒑

-3 -2.5 -2 -1.5 -1 -0.5 0 0.5

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0.14 0.3

0.44 0.58

0.84 0.72

0.92

0.98

0.14 0.3

0.44 0.58

0.84 0.72 0.92 0.98

0.5 1

1.5 2

2.5 3

Root Locus

Real Axis (seconds-1) Imaginary Axis (seconds-1 )

×

×

𝒍 = 𝟒

All'aumentare di Kp i due poli si allontanano, approssimando il sistema a singolo polo (il più lento);

La griglia identifica i vari valori di smorzamento del sistema al variare di 𝝆;

Si nota come un Kp negativo stabilizzi il sistema

NB: 𝝃 = − 𝑲𝒑

𝟐 𝒈𝒍 → 𝑲𝒑 = −𝟐 𝒈𝒍 → 𝝃 =1

(43)

-4 -3.5 -3 -2.5 -2 -1.5 -1 -0.5 0 -2.5

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

2.5 0.82 0.7 0.58 0.44 0.28 0.14

0.91

0.975

0.14 0.28

0.44 0.58

0.7 0.82

0.91 0.975

0.5 1

1.5 2

2.5 3

3.5 4

Root Locus

Real Axis (seconds-1) Imaginary Axis (seconds-1 )

𝝃 ≥ 𝟎. 𝟕

Scelta di 𝐾

𝑝

(2/2)

𝒍 = 𝟐 𝝆 ≅ 𝟖. 𝟗 𝝆 ≅ 𝟏𝟔. 𝟔

𝒍 = 𝟕

×

×

×

×

𝒍 = 𝟐

𝒍 = 𝟕 𝝆 ≅ 𝟏𝟏. 𝟔

𝝆 ≅ 𝟔.0

𝟐 ≤ 𝒍 ≤ 𝟕

Vincolo progettuale:

Garantire 𝝃 ≥ 𝟎. 𝟕 ad ogni "altezza".

𝝆 = 𝟏𝟏. 𝟔 𝑲

𝒑

= −𝟏𝟏. 𝟔

• 𝒍 = 𝟕 : prestazioni peggiori in termini di smorzamento angolo (𝜉 ≥ 0.7 )

• 𝒍 = 𝟐 : prestazioni peggiori in termini di raggiungimento velocità massima («Slow» pole in -1.1)

• Gain scheduling : 𝐾𝑝 = 𝐾𝑝 𝑙 ?

(44)

Prestazioni controllore

(45)

Come valutare quanto è "buono"?

Confronto con CONTROLLO OTTIMO

“Try simple first” PID controller

P controller, PRO & CONS:

• Semplice

• Facilmente implementabile

• "indipendente" dal modello

• Le prestazioni che garantisce sono buone

Dubbi:

• Forse è "troppo" Semplice?

• Come possiamo garantire che queste prestazioni siano effettivamente buone?

Il controllo ottimo è, nell'ambito dei controlli automatici, l'insieme di algoritmi di controllo che stabilizzano un sistema dinamico, minimizzando una cifra di merito che dipende dallo stato del

sistema e dal vettore degli ingressi.

(46)

Controllo ottimo

ሶ𝒙 𝑡 = 𝑓 𝒙 𝑡 , 𝑢 𝑡 with 𝒙 𝑡0 =𝒙0 𝐽 = 𝑔 𝒙 𝑡𝑓 + ׬𝑡

0

𝑡𝑓

𝑙 𝒙 𝑡 , 𝑢 𝑡 𝑑𝑡

a dynamical system

a cost function (of state and control) between 𝑡0 and 𝑡𝑓

find a control action 𝒖 𝒕 over 𝑡0, 𝑡𝑓 that minimizes the cost function 𝐽 having the state equation as a constraint.

Problem

The solution can be obtained by solving a constrained optimization problem using Lagrange multipliers 𝝀 𝑡 also called “co-states”.

ℋ 𝒙, 𝑢, 𝝀 =𝑙 𝒙, 𝑢 + 𝝀𝑻𝑓 𝒙, 𝑢

𝜕ℋ

𝜕𝑢 = 0 ⇒ 𝑢 = ℎ 𝒙, 𝝀 and ℋ = ℋ 𝒙, 𝑢, 𝝀

൞ ሶ𝒙 = 𝜕ℋ

𝜕𝝀 𝑇

ሶ𝝀 = −𝜕ℋ

𝜕𝒙

𝑇 ⇒ 𝒙, 𝝀 ⇒ 𝑢 = ℎ 𝒙, 𝝀

Solution – NC for optimal control

The Hamiltonian

Minimize it and evaluate the minimum

Compute the solutions of the equations and put them into the minimum

Data

(47)

Controllo ottimo a tempo minimo

ሶ𝒙 𝑡 = 𝐴𝒙 𝑡 + 𝐵𝑢 𝑡 with 𝒙 0 =𝒙0 and 𝑢𝑚𝑖𝑛 ≤ 𝑢 𝑡 ≤ 𝑢𝑚𝑎𝑥 𝐽 = ׬0𝑇𝑑𝑡 = 𝑇 with 𝒙 𝑇 = 0

a LTI dynamical system a “special” cost function

Find the optimal control action 𝒖 𝒕 over 0, 𝑇

Problem

ℋ 𝒙, 𝑢, 𝝀 =1 + 𝝀𝑻 𝐴𝒙 + 𝐵𝑢 = 1 + 𝝀𝑻𝐴𝒙 + 𝝀𝑻𝐵𝑢

𝜕ℋ

𝜕𝑢 = 0 ⇒ 𝝀𝑇𝐵 = 0

𝑢 = ൝𝑢𝑚𝑖𝑛 𝑖𝑓𝝀𝑇𝐵 > 0 𝑢𝑚𝑎𝑥 𝑖𝑓𝝀𝑇𝐵 < 0 ሶ𝝀 = −𝐴𝝀

Solution – the bang bang control

The Hamiltonian is very simple

Minimize it

Define the switching times

Remark: open loop control (as is, but it is possible to define a closed loop law)

(48)

Applicazione controllo tempo minimo (1/3)

ሶ𝒙 𝑡 = 𝐴𝒙 𝑡 + 𝐵𝑢 𝑡 𝒙 0 = 10,0

𝒙 𝑇 = 0,0

−10 ≤ 𝑢 𝑡 ≤ 10

𝐽 = ׬0𝑇𝑑𝑡 = 𝑇 with 𝒙 𝑇 = 0

ሶ𝑥1 𝑡 ሶ𝑥2 𝑡 =

0 1

𝑔

𝑙 𝑏

𝑚𝑙2

𝑥1 𝑡 𝑥2 𝑡 +

0

1 𝑙

𝑢 𝑡

m = 1000 Kg - l= 5 m - b = 9000

-10 -5 0 5 10

-10 -8 -6 -4 -2 0 2 4 6 8 10

Switch: 1 Switch: 2

X1

X 2

Initial State

Target

0 1 2 3 4 5

-10 -8 -6 -4 -2 0 2 4 6 8 10

u

u

min

u

max

time [s]

𝑻𝒕𝒐𝒕 = 𝟒. 𝟖 𝒔

Azione di controllo che garantisce raggiungimento condizioni finali in tempo minimo

NB: "open-loop","non-adaptive "control

(49)

Applicazione controllo tempo minimo (2/2)

ሶ𝒙 𝑡 = 𝐴𝒙 𝑡 + 𝐵𝑢 𝑡 𝒙 0 = 10,0

𝒙 𝑇 = 0,0

−10 ≤ 𝑢 𝑡 ≤ 10

𝐽 = ׬0𝑇𝑑𝑡 = 𝑇 with 𝒙 𝑇 = 0

ሶ𝑥1 𝑡 ሶ𝑥2 𝑡 =

0 1

𝑔

𝑙 𝑏

𝑚𝑙2

𝑥1 𝑡 𝑥2 𝑡 +

0

1 𝑙

𝑢 𝑡

m = 1000 Kg - l= 5 m - b = 12000

• Il controllo a tempo ottimo ha prestazioni nettamente migliori rispetto al sistema senza controllo;

• Controllo ottimo, in condizioni di perfetta conoscenza del modello, garantisce prestazioni migliori rispetto al P;

Problemi:

• Conosciamo in modo perfetto il modello?

• La lunghezza è fissa?

0 1 2 3 4 5 6 7 8 9 10

-10 0 10

t [s]

[°]

0 1 2 3 4 5 6 7 8 9 10

-10 0 10

t [s]

d/dt [°]

0 1 2 3 4 5 6 7 8 9 10

-10 0 10

t [s]

u(t)

Time Optimal P control – No Control

(50)

Controllo con incertezze

ሶ𝒙 𝑡 = 𝐴𝒙 𝑡 + 𝐵𝑢 𝑡 𝒙 0 = 10,0

𝒙 𝑇 = 0,0

−10 ≤ 𝑢 𝑡 ≤ 10

𝐽 = ׬0𝑇𝑑𝑡 = 𝑇 with 𝒙 𝑇 = 0

ሶ𝑥1 𝑡 ሶ𝑥2 𝑡 =

0 1

𝑔

𝑙 𝑏 𝑚𝑙2

𝑥1 𝑡 𝑥2 𝑡 +

0

1 𝑙

𝑢 𝑡

m = 1000 - 5%Kg - l= 5 - 2%m - b = 9000 + 15%

Al termine dell'azione di controllo il time optimal non smorza più le

oscillazioni

Il controllore P si adatta al meglio alle possibili

imprecisioni/variazioni del sistema

Modello sistema

Sistema reale

u time-optimal

0 1 2 3 4 5 6 7 8 9 10

-5 0 5 10

t [s]

[°]

0 1 2 3 4 5 6 7 8 9 10

-10 -5 0 5

t [s]

d/dt [°]

0 1 2 3 4 5 6 7 8 9 10

-10 0 10

t [s]

u(t)

Time OptimalP control – No Control

(51)

Scelta controllo

Perfetta conoscenza del modello:

Settling Time [s] Max Overshoot [%]

No-Control >15 57.9

Time-Optimal Control 4.47 39.1

P Control 6.31 36.2

Settling Time [s] Max Overshoot [%]

Time-Optimal Control 9.38 32

P Control 5.66 29.5

Incertezze sul modello:

• Il controllore ottimo è il miglior risultato ottenibile teoricamente

• Le prestazioni del controllore P non distano in modo significativo dal TO in condizioni nominali

• Il controllore P è molto più robusto ed adattabile ad una soluzione reale.

(52)

Implementazione

(53)

Implementazione

CAN Bus

IMU

PLC PLC → Inverter

Analog: SpeedRef Digital: Direzione

Inverter → PLC Analog: MotorSpeed

Inverters

Dig.

Input

Pulsantiera Wireless

(54)

Risoluzione problemi

(55)

Ritardo

Conseguenze:

• Il ritardo si "mangia" margine di fase, rischiando di rendere instabile il sistema;

• Le prestazioni degradano in quanto l'azione di controllo è ritardata.

35 40 45 50 55 60 65

0 5 10 15 20 25 30 35 40 45 50

Speed Ref Real Speed

51.5 52 52.5

-0.5 0 0.5 1 1.5 2 2.5 3

𝝉 = 𝟐𝟑𝟎𝒎𝒔

𝒆

−𝝉𝒔

𝑮 𝒔

𝒖 𝝑

(56)

Scheduling guadagni

• 𝐾𝑝𝑚𝑖𝑛 𝑒𝐾𝑝𝑚𝑎𝑥 calcolati tramite test sul campo:

• ℎ𝑚𝑖𝑛 𝑒ℎ𝑚𝑎𝑥 dipendenti dalla geometria del carroponte;

• 𝐿𝑒𝑠𝑡 è la stima di altezza;

Come stimare l'altezza?

Il ritardo introdotto dall'accoppiata inverter/motore riduce la robustezza del sistema

Cambiare i 𝐾𝑝 in base all'altezza del carico

2 3 4 5 6 7 8 9 10 11 12

2 2.5 3 3.5 4 4.5 5 5.5 6 6.5 7

length

𝑲𝒑

𝑲𝒑𝒎𝒊𝒏 𝑲𝒑𝒎𝒂𝒙

𝑲𝒑 𝒍 = 𝐾𝑝𝑚𝑖𝑛 + 𝐾𝑝𝑚𝑎𝑥 − 𝐾𝑝𝑚𝑖𝑛 𝐿𝑒𝑠𝑡 − ℎ𝑚𝑖𝑛 𝑚𝑎𝑥 − ℎ𝑚𝑖𝑛

(57)

Stima altezza (1/2)

• In 300 s di prova l'errore è di solo 10 cm;

• Con il tempo la misura è destinata a driftare;

• La misura viene aggiornata grazie ai fine corsa → necessaria "calibrazione" periodica;

• La lettura della velocità richiede particolari inverter e l'utilizzo di un ingresso analogico ulteriore.

Per la stima dell'altezza sono stati implementati due metodi completamente diversi:

1. Integrazione velocità motore di sollevamento;

2. Stima frequenza oscillazioni.

𝑳

𝒆𝒔𝒕

𝒕 = 𝑳

𝒆𝒔𝒕

𝒕 − 𝟏 + 𝒗

𝒛

𝒕 ∙ ∆𝒕

Per la stima dell'altezza sono stati implementati due metodi completamente diversi:

1. Integrazione velocità motore di sollevamento;

2. Stima frequenza oscillazioni.

0 50 100 150 200 250 300

1.5 2 2.5 3 3.5 4 4.5 5 5.5 6

𝑳𝒆𝒔𝒕 reale finale

𝑳𝒆𝒔𝒕 reale iniziale

length

(58)

0 50 100 150 200 250 -8

-6 -4 -2 0 2 4 6 8

Per la stima dell'altezza sono stati implementati due metodi completamente diversi:

1. Integrazione velocità motore di sollevamento;

2. Stima frequenza oscillazioni (Frequency tracker).

Stima altezza (2/2)

ቊ ሶ𝒙

𝟏

𝒕 = 𝝎 cos 𝜔𝑡 ሶ𝒙

𝟐

𝒕 = −𝝎 sin 𝜔𝑡

𝝎 𝒌 + 𝟏 = 𝝎 𝒌 𝒙

𝟏

𝒌 + 𝟏 = 𝑲

𝒌 +

𝝎 𝒌 𝒅𝒕𝒙

𝟐

𝒌 𝒙

𝟐

𝒌 + 𝟏 = 𝝎 𝒌 𝒅𝒕𝒙

𝟏

𝒌 +

𝑲

𝒙

𝟏

𝒌 𝒚 𝒌 = 𝒙

𝟏

𝒌

𝑲: coefficiente per stabilizzare il sistema

(59)

0 50 100 150 200 250 0

0.5 1 1.5

Frequency [Hz]

0 50 100 150 200 250

0 1 2 3 4 5 6

Length [m]

Time [s]

Per la stima dell'altezza sono stati implementati due metodi completamente diversi:

1. Integrazione velocità motore di sollevamento;

2. Stima frequenza oscillazioni (Frequency tracker).

Stima altezza (2/2)

ቊ ሶ𝒙

𝟏

𝒕 = 𝝎 cos 𝜔𝑡 ሶ𝒙

𝟐

𝒕 = −𝝎 sin 𝜔𝑡

𝝎 𝒌 + 𝟏 = 𝝎 𝒌 𝒙

𝟏

𝒌 + 𝟏 = 𝑲

𝒌 +

𝝎 𝒌 𝒅𝒕𝒙

𝟐

𝒌 𝒙

𝟐

𝒌 + 𝟏 = 𝝎 𝒌 𝒅𝒕𝒙

𝟏

𝒌 +

𝑲

𝒙

𝟏

𝒌 𝒚 𝒌 = 𝒙

𝟏

𝒌

𝑲: coefficiente per stabilizzare il sistema

(60)

Con questo metodo si è "creata" anche l'opzione Follow me

Sollevamento non verticale

Per eliminare la maggior parte delle oscillazioni basterebbe sollevare il carico direttamente in verticale.

• Filtro passa alto elimina offset;

• Offset non costante.

gain

𝝑 + 𝝑 𝒆𝒍

+

(61)

Con questo metodo si è "creata" anche l'opzione Follow me

Sollevamento non verticale

Per eliminare la maggior parte delle oscillazioni basterebbe sollevare il carico direttamente in verticale.

• Filtro passa alto elimina offset;

• Offset non costante.

gain

𝝑 + 𝝑 𝒆𝒍

+

(62)

Risultati

(63)

0 50 100 150 200 250 300 -50

0 50

0 50 100 150 200 250 300

-4 -2 0 2 4

Controllo asse X (carrello)

Oscillazione massima di circa 3°.

CONTROLLO OFF

m = 3000 Kg l=3m

Time [s]

Time [s]

Angolo ]Input [RPM]

(64)

Controllo asse Y (carrello)

0 50 100 150 200 250 300

-50 0 50

0 50 100 150 200 250 300

-10 -5 0 5 10

CONTROLLO OFF

m = 3000 Kg l=3m

Oscillazione massima di circa 8°.

Time [s]

Time [s]

Angolo ]Input [RPM]

(65)

Controllo asse X (carrello)

0 10 20 30 40 50 60 70 80 90 100

-50 0 50

0 10 20 30 40 50 60 70 80 90 100

-2 -1 0 1 2

Oscillazione massima di circa 2°.

CONTROLLO ON

Time [s]

Time [s]

Angolo ]Input [RPM]

(66)

0 10 20 30 40 50 60 70 80 90 100 -50

0 50

0 10 20 30 40 50 60 70 80 90 100

-5 0 5 10

Controllo asse Y (carrello)

Angolo massimo circa 5°. In questo caso si tentava di indurre l'oscillazione, ma il sistema riusciva a bloccare l'innesto.

CONTROLLO ON

Time [s]

Time [s]

Angolo ]Input [RPM]

(67)

0 10 20 30 40 50 60 70 80 90 100 -50

0 50

0 10 20 30 40 50 60 70 80 90 100

-5 0 5 10

0 50 100 150 200 250 300

-50 0 50

0 50 100 150 200 250 300

-10 -5 0 5 10

Confronto Controllo ON-OFF

CONTROLLO ON CONTROLLO OFF

ASSE X ASSE Y

(68)

0 10 20 30 40 50 60 70 80 90 100 -50

0 50

0 10 20 30 40 50 60 70 80 90 100

-2 -1 0 1 2

0 50 100 150 200 250 300

-50 0 50

0 50 100 150 200 250 300

-4 -2 0 2 4

Confronto Controllo ON-OFF

CONTROLLO ON CONTROLLO OFF

ASSE X

(69)

0 10 20 30 40 50 60 70 80 90 100 -50

0 50

0 10 20 30 40 50 60 70 80 90 100

-2 -1 0 1 2

0 50 100 150 200 250 300

-50 0 50

0 50 100 150 200 250 300

-4 -2 0 2 4

Confronto Controllo ON-OFF

CONTROLLO ON CONTROLLO OFF

ASSE X ASSE Y

Il vero vantaggio è la velocità con cui

l'oscillazione viene smorzata

(70)

Conclusioni

• Progetto concluso

• La soppressione delle oscillazioni si è rivelata ottimale

• Il sistema è stato dichiarato "molto utile" dagli operatori che lavorano tutti i giorni con i carriponte

• Sistema completamente adattativo, robusto a variazioni di altezza, di carico e pure di struttura meccanica.

• Sistema in fase di brevetto

(71)

Possibili sviluppi futuri

• Rendere il sistema più "ampio". Permettere di avere più carrelli sullo stesso ponte che si muovono in modo cooperativo per smorzare le oscillazioni

• Rendere il sistema estendibile ad altri tipi di gru

• Compensare ritardo (predittore Schmidt, azione derivativa?)

• Migliorare la comunicazione (profiBUS,profiNET..)

• Controllo in posizione?

• Stimare angolo oscillazione da misura corrente motore?

Riferimenti

Documenti correlati

- :l (A.T.R.) Alluvioni sciolte di rocce palcozoichc delle sponde occidcutu li della rossa tcuonica, sopra banchi sino a 40150 metri di spessore di argille plastiche bianche o grigie

- il compito e' stato rinormalizzato a 36, tenuto conto del notevole numero di domande rispetto al

[r]

[r]

risposta non e' stata data, oppure e' stata ottenuta con un procedimento completamente errato, oppure non e' stato trovato il procedimento stesso sui fogli consegnati. - quando tra

Se compare &#34;.&#34; significa che la risposta non e' stata data, oppure e' stata ottenuta con un procedimento. completamente errato, oppure non e' stato trovato il procedimento

36 mesi l’affidamento del servizio di assistenza specialistica sul sistema di controllo centralizzato &#34;Desigo Insight&#34; degli impianti presenti presso lo stabile della

T1b Tumor incidental histologic finding in more than 5% of tissue resected (Figure 34.3).. T1c Tumor identified by needle biopsy (e.g., because of elevated PSA) T2 Tumor confined