Fondamenti di robotica Controllo del moto - polimi.it
Transcript of Fondamenti di robotica Controllo del moto - polimi.it
Fondamenti di robotica
Controllo del moto
Prof. Paolo Rocco ([email protected])Politecnico di Milano, Dipartimento di Elettronica, Informazione e Bioingegneria
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Controllo del moto in anello chiuso
Esaurita la trattazione della strumentazione del sistema di controllo, passiamo al progetto del controllore del moto.
Tale controllore acquisisce i valori desiderati delle coordinate di giunto, le misure provenienti dai sensori (resolver, encoderโฆ) e produce i comandi agli attuatori (motori a corrente continua, brushless, ecc..), i quali agiscono sul robot tramite gli organi di trasmissione del moto
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Quali sono i possibili criteri per valutare le prestazioni di un sistema di controllo del movimento?
Qualitร del movimento in condizioni nominaliโข precisione/ripetibilitร โข velocitร di esecuzione delle attivitร โข risparmio energetico
Robustezza del movimento in condizioni perturbateโข adattamento all'ambienteโข elevata ripetibilitร nonostante le incertezze negli errori di modellazione
Valutazione delle prestazioni di controllo
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
https://www.youtube.com/watch?v=5ndaQwn15ng
Controllo del movimento preciso e ad alta velocitร
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Quando si progetta un controllore, si deve disporre del modello dinamico del sistema sotto controllo
Il progetto del controllore
Noto il modello dinamico, si possono usare i vari metodi dei controlli automatici
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Come si determina il modello dinamico di un sistema meccanico? Partiamo da casi semplici:
Il modello dinamico
Mu
q
Una massa di posizione ๐๐ soggetta a una forza ๐ข๐ข
๐๐๏ฟฝฬ๏ฟฝ๐ = ๐ข๐ข
mg
u
lq
Un pendolo con massa concentrata allโestremitร , di posizione angolare ๐๐e soggetto a una coppia ๐ข๐ข
๐๐๐๐2๏ฟฝฬ๏ฟฝ๐ + ๐๐๐๐๐๐ sin ๐๐ = ๐ข๐ข
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Ottenere il modello dinamico del robot รจ invece molto complesso. Lโargomento viene trattato in corsi piรน avanzati, tuttavia possiamo anticipare che รจ descritto da equazioni di questo tipo, che generalizzano quelle dei casi semplici:
Il modello dinamico di un robot
โ1 ๐๐1,๐๐2,โฏ , ๐๐๐๐, ๏ฟฝฬ๏ฟฝ๐1, ๏ฟฝฬ๏ฟฝ๐2,โฏ , ๏ฟฝฬ๏ฟฝ๐๐๐, ๏ฟฝฬ๏ฟฝ๐1, ๏ฟฝฬ๏ฟฝ๐2,โฏ , ๏ฟฝฬ๏ฟฝ๐๐๐ = ๐๐1โ2 ๐๐1,๐๐2,โฏ , ๐๐๐๐, ๏ฟฝฬ๏ฟฝ๐1, ๏ฟฝฬ๏ฟฝ๐2,โฏ , ๏ฟฝฬ๏ฟฝ๐๐๐, ๏ฟฝฬ๏ฟฝ๐1, ๏ฟฝฬ๏ฟฝ๐2,โฏ , ๏ฟฝฬ๏ฟฝ๐๐๐ = ๐๐2โฎโ๐๐ ๐๐1,๐๐2,โฏ , ๐๐๐๐, ๏ฟฝฬ๏ฟฝ๐1, ๏ฟฝฬ๏ฟฝ๐2,โฏ , ๏ฟฝฬ๏ฟฝ๐๐๐, ๏ฟฝฬ๏ฟฝ๐1, ๏ฟฝฬ๏ฟฝ๐2,โฏ , ๏ฟฝฬ๏ฟฝ๐๐๐ = ๐๐๐๐
dove ๐๐๐๐ sono le posizioni di giunto, ๏ฟฝฬ๏ฟฝ๐๐๐ le velocitร di giunto, ๏ฟฝฬ๏ฟฝ๐๐๐ le accelerazioni di giunto e ๐๐๐๐ le coppie applicate su ciascun giunto
In forma compatta vettoriale: ๐๐ ๐ช๐ช, ๏ฟฝฬ๏ฟฝ๐ช, ๏ฟฝฬ๏ฟฝ๐ช = ๐๐
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Prendendo le posizioni come variabili di uscita, possiamo rappresentare il modello dinamico con questo blocco:
Il modello dinamico di un robot
๐๐1
๐๐2
๐๐3
๐๐๐๐
๐๐1
๐๐2
๐๐3
๐๐๐๐โฎ โฎ
ingressi uscite
Date le ๐๐๐๐ e le condizioni iniziali sulle ๐๐๐๐ e le ๏ฟฝฬ๏ฟฝ๐๐๐ , le uscite si ottengono risolvendo il sistema di equazioni differenziali che costituisce il sistema dinamico, di ordine 2๐๐
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Noto il modello dinamico si potrebbe in linea di principio pensare a un controllore in anello aperto:
Un controllo in anello aperto
๐๐1
๐๐2
๐๐3
๐๐๐๐
๐๐1
๐๐2
๐๐3
๐๐๐๐โฎ โฎ
๐๐๐๐1
๐๐๐๐2
๐๐๐๐3
๐๐๐๐๐๐โฎ
๐๐ = ๐๐ ๐ช๐ช๐๐, ๏ฟฝฬ๏ฟฝ๐ช๐๐, ๏ฟฝฬ๏ฟฝ๐ช๐๐
ma:
Il modello del robot non รจ noto con sufficiente precisione Il carico trasportato dal robot fa variare il modello dinamico Ogni incertezza sul modello comporta errori inaccettabili nel posizionamento del robot e anche pericoli
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Occorre allora, come sappiamo, progettare il sistema di controllo in anello chiuso, acquisendo le misure delle posizioni dei giunti, tramite i sensori di posizione:
Controllo in anello chiuso
๐๐1
๐๐2
๐๐๐๐
๐๐1
๐๐2
๐๐๐๐
โฎโฎ
๐๐๐๐1
๐๐๐๐2
๐๐๐๐๐๐
โฎ
โฏ
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Il problema di controllo del moto รจ multivariabile: si hanno ๐๐ variabili controllate e ๐๐ variabili di controllo.
Controllo in anello chiuso centralizzato
Si potrebbe allora pensare alla progettazione di un sistema di controllo centralizzato, in cui ciascuna coppia ๐๐๐๐ viene determinata sulla base della conoscenza del modello e dei valori desiderati e delle misure di tutte le posizioni di giunto ๐๐๐๐
Queste soluzioni esistono e sono studiate in corsi piรน avanzati, ma hanno ridotta applicabilitร industriale per via della loro complessitร e della necessitร di conoscere il modello dinamico.
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
In campo industriale si privilegiano quindi soluzioni di controllo decentralizzate (controllo indipendente dei giunti)
Controllo indipendente dei giunti
๐๐1
๐๐2
๐๐๐๐
๐๐1
๐๐2
๐๐๐๐
โฎโฎ
๐๐๐๐1
๐๐๐๐2
๐๐๐๐๐๐
โฎ
โฏ
๐ถ๐ถ1
๐ถ๐ถ2
๐ถ๐ถ๐๐
๐บ๐บ1
๐บ๐บ2
๐บ๐บ๐๐
Il problema di controllo รจ articolato in ๐๐problemi di controllo monovariabili
Il controllore รจ quindi strutturato in ๐๐controllori, ciascuno dei quali รจ deputato al controllo di una singola variabile di giunto
Il controllore fa riferimento a un modello del sistema completamente disaccoppiato, in cui ciascuna coppia ๐๐๐๐influenza solo la rispettiva posizione ๐๐๐๐
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Come passare dal modello completo, non lineare e accoppiato, del robot a quello disaccoppiato necessario per il controllo indipendente dei giunti?
Dal modello centralizzato al modello decentralizzato
๐๐1
๐๐2
๐๐๐๐
๐๐1
๐๐2
๐๐๐๐
โฎ โฎ
๐๐1
๐๐2
๐๐๐๐
๐๐1
๐๐2
๐๐๐๐
โฎ โฎ
๐บ๐บ1
๐บ๐บ2
๐บ๐บ๐๐๐๐ ๐ช๐ช, ๏ฟฝฬ๏ฟฝ๐ช, ๏ฟฝฬ๏ฟฝ๐ช = ๐๐
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Ricordiamo che su ogni giunto del manipolatore agisce un motore con il relativo riduttore.
Modello dei motori
Un modo semplificato per tenere conto della dinamica di tali motori รจ considerare solo l'effetto legato alla rotazione del motore attorno al proprio asse.
motore riduttore carico
dove ๐ฝ๐ฝ๐๐๐๐ e ๐ท๐ท๐๐๐๐ sono rispettivamente il momento di inerzia e il coefficiente di attrito viscoso del motore, ๐๐๐๐๐๐รจ la coppia motrice, mentre ๐๐๐๐๐๐๐๐ รจ la coppia di carico allโasse del motore ๐๐
๐ฝ๐ฝ๐๐๐๐๏ฟฝฬ๏ฟฝ๐๐๐๐๐ + ๐ท๐ท๐๐๐๐๏ฟฝฬ๏ฟฝ๐๐๐๐๐ = ๐๐๐๐๐๐ โ ๐๐๐๐๐๐๐๐ ๐๐ = 1,โฏ ,๐๐
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Come rappresentare ๐๐๐๐๐๐๐๐, coppia di carico allโasse del motore ๐๐ ?
La coppia di carico al giunto
Risulta:
๐๐๐๐๐๐๐๐ =๐๐๐๐๐๐๐๐
dove ๐๐๐๐ รจ il rapporto di riduzione, mentre ๐๐๐๐ รจ data dalla i_sima equazione del modello dinamico:
๐๐๐๐ = โ๐๐ ๐๐1,๐๐2,โฏ , ๐๐๐๐, ๏ฟฝฬ๏ฟฝ๐1, ๏ฟฝฬ๏ฟฝ๐2,โฏ , ๏ฟฝฬ๏ฟฝ๐๐๐, ๏ฟฝฬ๏ฟฝ๐1, ๏ฟฝฬ๏ฟฝ๐2,โฏ , ๏ฟฝฬ๏ฟฝ๐๐๐
Possiamo riscrivere ๐๐๐๐ come:
๐๐๐๐ = ๐ฝ๐ฝ๐๐๐๐๏ฟฝฬ๏ฟฝ๐๐๐ + ๐๐๐๐๐๐
dove ๐ฝ๐ฝ๐๐๐๐ รจ il momento di inerzia di tutta la parte del robot movimentata dal giunto ๐๐ mentre ๐๐๐๐๐๐ รจ tutto quanto รจ compreso nellโespressione di โ๐๐ e non รจ espresso da ๐ฝ๐ฝ๐๐๐๐๏ฟฝฬ๏ฟฝ๐๐๐.
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Il momento di inerzia equivalente
๐๐๐๐ = ๐ฝ๐ฝ๐๐๐๐๏ฟฝฬ๏ฟฝ๐๐๐ + ๐๐๐๐๐๐๐ฝ๐ฝ๐๐๐๐ รจ il momento di inerzia di tutta la parte del robot movimentata dal giunto ๐๐
Concettualmente รจ come se rimpiazzassimo la struttura a valle del giunto con un corpo rigido di inerzia ๐ฝ๐ฝ๐๐๐๐
Nellโimmagine, lโoperazione รจ eseguita sul giunto 2. Si osservi che il momento di inerzia varia al variare della posizione dei giunti dal terzo in poi: si prenderร allora un valore medio del momento di inerzia.
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Lโaccoppiamento rigido
Possiamo quindi riscrivere:
motore riduttore carico
๐ฝ๐ฝ๐๐๐๐๏ฟฝฬ๏ฟฝ๐๐๐๐๐ + ๐ท๐ท๐๐๐๐๏ฟฝฬ๏ฟฝ๐๐๐๐๐ = ๐๐๐๐๐๐ โ๐ฝ๐ฝ๐๐๐๐๏ฟฝฬ๏ฟฝ๐๐๐ + ๐๐๐๐๐๐
๐๐๐๐๐๐ = 1,โฏ ,๐๐
Se lโaccoppiamento motore-riduttore-carico รจ rigido, risulta ๐๐๐๐๐๐ = ๐๐๐๐๐๐๐๐ e quindi:
๐ฝ๐ฝ๐๐๐๐ +๐ฝ๐ฝ๐๐๐๐๐๐๐๐2
๏ฟฝฬ๏ฟฝ๐๐๐๐๐ + ๐ท๐ท๐๐๐๐๏ฟฝฬ๏ฟฝ๐๐๐๐๐ = ๐๐๐๐๐๐ โ๐๐๐๐๐๐๐๐๐๐
๐๐ = 1,โฏ ,๐๐ Questo รจ il modello decentralizzato del robot
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Il ruolo dei rapporti di riduzione
๐ฝ๐ฝ๐๐๐๐ +๐ฝ๐ฝ๐๐๐๐๐๐๐๐2
๏ฟฝฬ๏ฟฝ๐๐๐๐๐ + ๐ท๐ท๐๐๐๐๏ฟฝฬ๏ฟฝ๐๐๐๐๐ = ๐๐๐๐๐๐ โ๐๐๐๐๐๐๐๐๐๐
๐๐ = 1,โฏ ,๐๐
La coppia ๐๐๐๐๐๐ agisce come un disturbo sul modello decentralizzato.Si osservi che essa รจ scalata per il rapporto di riduzione ๐๐๐๐
motore riduttore carico
Gli alti rapporti di riduzione utilizzati nella robotica industriale hanno quindi un effetto disaccoppiante e favoriscono lโadozione del controllo indipendente dei giunti
Senza questo effetto, trascurare la variabilitร dellโinerzia del carico e gli effetti di accoppiamento meccanico con gli altri giunti sarebbe poco giustificato
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Progetto del controllore decentralizzato
๐ฝ๐ฝ๐๐1 +๐ฝ๐ฝ๐๐1๐๐12
๏ฟฝฬ๏ฟฝ๐๐๐1 + ๐ท๐ท๐๐1๏ฟฝฬ๏ฟฝ๐๐๐1 = ๐๐๐๐1 โ๐๐๐๐1๐๐1
Il controllore si progetta quindi giunto per giunto ripetendo ๐๐ volte la stessa procedura.
๐ฝ๐ฝ๐๐2 +๐ฝ๐ฝ๐๐2๐๐22
๏ฟฝฬ๏ฟฝ๐๐๐2 + ๐ท๐ท๐๐2๏ฟฝฬ๏ฟฝ๐๐๐2 = ๐๐๐๐2 โ๐๐๐๐2๐๐2
๐ฝ๐ฝ๐๐๐๐ +๐ฝ๐ฝ๐๐๐๐๐๐๐๐2
๏ฟฝฬ๏ฟฝ๐๐๐๐๐ + ๐ท๐ท๐๐๐๐๏ฟฝฬ๏ฟฝ๐๐๐๐๐ = ๐๐๐๐๐๐ โ๐๐๐๐๐๐๐๐๐๐
๐๐๐๐1
๐๐๐๐2
๐๐๐๐๐๐
๐๐๐๐1
๐๐๐๐2
๐๐๐๐๐๐
โฎโฎ
๐๐๐๐๐๐1
๐๐๐๐๐๐2
๐๐๐๐๐๐๐๐
โฎ
โฏ
๐ถ๐ถ1
๐ถ๐ถ2
๐ถ๐ถ๐๐
๐บ๐บ1
๐บ๐บ2
๐บ๐บ๐๐
โฎ
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Il controllo del servomeccanismo
Il problema che deve essere risolto ๐๐ volte va anche sotto il nome di problema del controllo del servomeccanismo.
Un servomeccanismo รจ un sistema paradigmatico composto da un motore, un carico meccanico e qualsiasi sistema di trasmissione.
Il problema รจ controllare il movimento del carico, operando opportunamente sulla coppia applicata dal motore
Le applicazioni sono innumerevoli (sistemi drive-by-wire e fly-by-drive, puntamento antenne, periferiche di computer, ecc.) e vanno ben al di lร della robotica industriale
motore
trasmissione
carico
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
La coppia motrice
Nella schematizzazione finora considerata, le variabili di controllo sono le coppie motrici ๐๐๐๐๐๐
Ma come si puรฒ imporre una coppia motrice? Qual รจ lโeffettiva variabile manipolabile su cui il controllore del moto puรฒ agire?
Dobbiamo riprendere il modello del motore elettrico per capire come la coppia viene generata e come essa puรฒ essere variata.Faremo riferimento per semplicitร al motore a corrente continua ma quanto diremo sarร facilmente trasferibile al motore brushless (effettuando un cambiamento di variabili e prendendo la corrente in quadratura)
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Il motore a corrente continua, caratterizzato meccanicamente da un momento dโinerzia ๐ฝ๐ฝ๐๐, eroga una coppia ๐๐๐๐ proporzionale alla corrente ๐ผ๐ผ nel circuito dโarmatura, conseguente allโimposizione di una tensione ๐๐.
Su questo circuito, avente resistenza ๐ ๐ ed induttanza ๐ฟ๐ฟ, agisce anche la forza controelettromotrice ๐ธ๐ธ, proporzionale alla velocitร angolare ๐๐๐๐ del motore.
Il motore a corrente continua
Il sistema รจ descritto dalle seguenti equazioni:R L
EV
I
1
๐๐ ๐ก๐ก = ๐ ๐ ๐ผ๐ผ ๐ก๐ก + ๐ฟ๐ฟ ฬ๐ผ๐ผ ๐ก๐ก + ๐ธ๐ธ ๐ก๐ก๐ธ๐ธ ๐ก๐ก = ๐พ๐พ๐๐๐๐ ๐ก๐ก๐๐๐๐ ๐ก๐ก = ๐พ๐พ๐ผ๐ผ ๐ก๐ก๐๐๐๐ ๐ก๐ก = ๐ฝ๐ฝ๐๐๏ฟฝฬ๏ฟฝ๐๐๐ ๐ก๐ก๏ฟฝฬ๏ฟฝ๐๐๐ ๐ก๐ก = ๐๐๐๐ ๐ก๐ก
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Le equazioni del sistema, lineari, sono rappresentabili con uno schema a blocchi:
Si osservi che la forza controelettromotrice accoppia la dinamica elettrica con la dinamica meccanica.
Usare la tensione ๐๐ come variabile di controllo per il controllo del moto renderebbe problematico il progetto
Dinamica elettrica e meccanica
๐๐ ๐ก๐ก = ๐ ๐ ๐ผ๐ผ ๐ก๐ก + ๐ฟ๐ฟ ฬ๐ผ๐ผ ๐ก๐ก + ๐ธ๐ธ ๐ก๐ก๐ธ๐ธ ๐ก๐ก = ๐พ๐พ๐๐๐๐ ๐ก๐ก๐๐๐๐ ๐ก๐ก = ๐พ๐พ๐ผ๐ผ ๐ก๐ก๐๐๐๐ ๐ก๐ก = ๐ฝ๐ฝ๐๐๏ฟฝฬ๏ฟฝ๐๐๐ ๐ก๐ก๏ฟฝฬ๏ฟฝ๐๐๐ ๐ก๐ก = ๐๐๐๐ ๐ก๐ก
๐พ๐พ
๐พ๐พ
๐๐ ๐ผ๐ผ๐ธ๐ธ
๐๐๐๐ ๐๐๐๐ ๐๐๐๐1๐ฟ๐ฟ๐ฟ๐ฟ + ๐ ๐
1๐ฝ๐ฝ๐๐๐ฟ๐ฟ
1๐ฟ๐ฟ
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Controllo di corrente
๐พ๐พ
๐พ๐พ
๐๐ ๐ผ๐ผ๐ธ๐ธ
๐๐๐๐ ๐๐๐๐ ๐๐๐๐1๐ฟ๐ฟ๐ฟ๐ฟ + ๐ ๐
1๐ฝ๐ฝ๐๐๐ฟ๐ฟ
1๐ฟ๐ฟ
Disponendo di una misura di corrente, possiamo chiudere un anello di controllo sulla corrente:
๐ผ๐ผ๐๐๐ ๐ ๐ผ๐ผ ๐ฟ๐ฟ
Il controllore di corrente normalmente รจ un regolatore PI
๐ ๐ ๐ผ๐ผ ๐ฟ๐ฟ = ๐พ๐พ๐๐๐ผ๐ผ 1 +1๐ฟ๐ฟ๐๐๐๐๐ผ๐ผ
= ๐พ๐พ๐๐๐ผ๐ผ1 + ๐ฟ๐ฟ๐๐๐๐๐ผ๐ผ๐ฟ๐ฟ๐๐๐๐๐ผ๐ผ
๐พ๐พ๐๐๐ผ๐ผ : guadagno proporzionale del regolatore di corrente๐๐๐๐๐ผ๐ผ : tempo integrale del regolatore di corrente
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Controllo di corrente
La funzione di trasferimento dโanello per il controllo di corrente รจ quindi:
Ponendo:
๐ฟ๐ฟ๐ผ๐ผ ๐ฟ๐ฟ = ๐พ๐พ๐๐๐ผ๐ผ1 + ๐ฟ๐ฟ๐๐๐๐๐ผ๐ผ๐ฟ๐ฟ๐๐๐๐๐ผ๐ผ
1๐ฟ๐ฟ๐ฟ๐ฟ + ๐ ๐
=๐พ๐พ๐๐๐ผ๐ผ๐๐๐๐๐ผ๐ผ๐ ๐ ๐ฟ๐ฟ
1 + ๐ฟ๐ฟ๐๐๐๐๐ผ๐ผ
1 + ๐ฟ๐ฟ๐ ๐ ๐ฟ๐ฟ
๐๐๐๐๐ผ๐ผ =๐ฟ๐ฟ๐ ๐
๐พ๐พ๐๐๐ผ๐ผ = ๐๐๐๐๐ผ๐ผ๐๐๐๐๐ผ๐ผ๐ ๐
si ottiene:
๐ฟ๐ฟ๐ผ๐ผ ๐ฟ๐ฟ =๐๐๐๐๐ผ๐ผ๐ฟ๐ฟ
e quindi il sistema di controllo di corrente ha banda passante ๐๐๐๐๐ผ๐ผ
Si osservi che la forza controelettromotrice ๐ธ๐ธ agisce come un disturbo nellโanello di controllo di corrente
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Controllo di corrente
Poichรฉ la dinamica legata ai transitori elettrici รจ molto rapida, si potrร progettare ๐ ๐ ๐ผ๐ผ ๐ฟ๐ฟ 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, completamente rigettato
Una volta chiuso lโanello di controllo della corrente, questo potrร ritenersi praticamente istantaneo ai fini del progetto del controllore di posizione/velocitร esterno (chiuso su bande piรน limitate):
๐๐๐๐ ๐ก๐ก = ๐พ๐พ๐ผ๐ผ ๐ก๐ก โ ๐พ๐พ๐ผ๐ผ๐๐ ๐ก๐ก
La coppia motrice ๐๐๐๐ รจ quindi manipolabile agendo sul riferimento di corrente ๐ผ๐ผ๐๐
๐พ๐พ๐๐๐๐๐ผ๐ผ๐๐
โ1๐ผ๐ผ
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Dinamica di velocitร e posizione
๐ฝ๐ฝ๐๐ + ๐ฝ๐ฝ๐๐๐๐ ๏ฟฝฬ๏ฟฝ๐๐๐ + ๐ท๐ท๐๐๏ฟฝฬ๏ฟฝ๐๐๐ = ๐๐๐๐ โ ๐๐๐๐๐๐motore riduttore carico
Riprendiamo lโequazione della dinamica del servomeccanismo, dove omettiamo lโindice ๐๐ che individua il giunto:
con: ๐ฝ๐ฝ๐๐๐๐ =๐ฝ๐ฝ๐๐๐๐2
, ๐๐๐๐๐๐ =๐๐๐๐๐๐
Il sistema puรฒ essere descritto in termini di funzioni di trasferimento:
con: ๐บ๐บ๐ฃ๐ฃ ๐ฟ๐ฟ =1
๐ท๐ท๐๐ + ๐ฟ๐ฟ ๐ฝ๐ฝ๐๐ + ๐ฝ๐ฝ๐๐๐๐
Se il coefficiente di attrito ๐ท๐ท๐๐ รจ trascurabile (caso piรน sfavorevole, perchรฉ lโattrito dร un contributo stabilizzante ma รจ un parametro incerto), si ha :
๐บ๐บ๐ฃ๐ฃ ๐ฟ๐ฟ =๐๐๐ฟ๐ฟ
, ๐๐ =1
๐ฝ๐ฝ๐๐ + ๐ฝ๐ฝ๐๐๐๐
๐๐๐๐ ๐๐๐๐๐บ๐บ๐ฃ๐ฃ ๐ฟ๐ฟ
1๐ฟ๐ฟ
๐๐๐๐๐๐๐๐๐๐
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Il controllore viene strutturato in un anello interno di controllo di velocitร e uno esterno di posizione:
Lo schema prevede di disporre di due misure, di posizione e velocitร , indipendenti. In realtร la misura di velocitร si puรฒ ottenere anchโessa dallโelaborazione del segnale di posizione.
Si tratta di uno schema di controllo in cascata: si progetta dapprima lโanello interno di velocitร su banda ampia, in modo da fornire anche una buona
reiezione dei disturbi Lโanello esterno, di posizione, si progetta su una banda piรน ristretta Si osservi che in effetti ci sono tre anelli nidificati: loop di corrente, velocitร e posizione
Controllo P/PI
๐๐๐๐ ๐๐๐๐๐บ๐บ๐ฃ๐ฃ ๐ฟ๐ฟ
1๐ฟ๐ฟ
๐๐๐๐๐๐๐๐๐๐
๐ ๐ ๐๐ ๐ฟ๐ฟ ๐ ๐ ๐ฃ๐ฃ ๐ฟ๐ฟ๐๐๐๐๐๐ ๐๐๐๐๐๐
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Funzione dโanello:
posizionamento dello zero del PI
100 101 102 103-20
-10
0
10
20
30
40
50
60
70
dB
w (rad/s)
๐ฟ๐ฟ๐ฃ๐ฃ ๐ฟ๐ฟ = ๐ ๐ ๐ฃ๐ฃ ๐ฟ๐ฟ ๐บ๐บ๐ฃ๐ฃ ๐ฟ๐ฟ =๐พ๐พ๐๐๐ฃ๐ฃ๐๐๐ฟ๐ฟ
1 + ๐ฟ๐ฟ๐๐๐๐๐ฃ๐ฃ๐ฟ๐ฟ๐๐๐๐๐ฃ๐ฃ
๐๐๐๐๐ฃ๐ฃ = ๐พ๐พ๐๐๐ฃ๐ฃ๐๐
๐ ๐ ๐ฃ๐ฃ ๐ฟ๐ฟ = ๐พ๐พ๐๐๐ฃ๐ฃ 1 +1๐ฟ๐ฟ๐๐๐๐๐ฃ๐ฃ
= ๐พ๐พ๐๐๐ฃ๐ฃ1 + ๐ฟ๐ฟ๐๐๐๐๐ฃ๐ฃ๐ฟ๐ฟ๐๐๐๐๐ฃ๐ฃ
๐ฟ๐ฟ๐ฃ๐ฃ ๐ฟ๐ฟ โ๐๐๐๐๐ฃ๐ฃ๐ฟ๐ฟ
1๐๐๐๐๐ฃ๐ฃ
= 0.1 รท 0.3 ๐๐๐๐๐ฃ๐ฃ
Si adotta un controllore PI
selezione del guadagno del PI
Se ๐๐๐๐๐ฃ๐ฃ รจ sufficientemente grande, ossia se lo zero del PI รจ sufficientemente in bassa frequenza, la pulsazione critica รจ ben approssimata prendendo lโapprossimazione di alta frequenza di ๐ฟ๐ฟ๐ฃ๐ฃ :
Progetto del controllore di velocitร
๐๐๐๐๐บ๐บ๐ฃ๐ฃ ๐ฟ๐ฟ
๐๐๐๐๐๐๐๐๐๐
๐ ๐ ๐ฃ๐ฃ ๐ฟ๐ฟ๐๐๐๐๐๐
๐๐๐๐๐ฃ๐ฃโ1 ๐๐๐๐๐ฃ๐ฃ
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Il regolatore dellโanello di posizione โvedeโ lโanello chiuso di velocitร , di funzione di trasferimento:
La funzione dโanello รจ quindi:
Eโ sufficiente prendere ๐พ๐พ๐๐๐๐ โช ๐๐๐๐๐ฃ๐ฃ per garantire una banda sullโanello di posizione ๐๐๐๐๐๐
100
101
102
103
-70
-60
-50
-40
-30
-20
-10
0
10
20
dB
w (rad/s)
๐น๐น๐ฃ๐ฃ ๐ฟ๐ฟ โ1
1 + โ๐ฟ๐ฟ ๐๐๐๐๐ฃ๐ฃ
๐ฟ๐ฟ๐๐ ๐ฟ๐ฟ = ๐พ๐พ๐๐๐๐๐น๐น๐ฃ๐ฃ ๐ฟ๐ฟ1๐ฟ๐ฟ
=๐พ๐พ๐๐๐๐
๐ฟ๐ฟ 1 + โ๐ฟ๐ฟ ๐๐๐๐๐ฃ๐ฃ
๐๐๐๐๐๐ = ๐พ๐พ๐๐๐๐ selezione del guadagno P
Progetto del regolatore di posizione
๐๐๐๐1๐ฟ๐ฟ
๐๐๐๐๐ ๐ ๐๐ ๐ฟ๐ฟ ๐น๐น๐ฃ๐ฃ ๐ฟ๐ฟ
๐๐๐๐๐๐ ๐๐๐๐๐๐Si adotta un controllore P
๐ ๐ ๐๐ ๐ฟ๐ฟ = ๐พ๐พ๐๐๐๐
๐๐๐๐๐ฃ๐ฃ๐๐๐๐๐๐
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Per rendere la risposta al riferimento di posizione piรน pronta, รจ possibile inserire un contributo di feedforward, noto come โanticipo di velocitร โ: si deriva il riferimento e si somma questo contributo nel nodo sommatore dellโanello di velocitร .Spesso il contributo di feedforward viene pesato da un coefficiente ๐๐๐๐๐๐ compreso tra 0 e 1:
Anticipo di velocitร
๐๐๐๐ ๐๐๐๐๐บ๐บ๐ฃ๐ฃ ๐ฟ๐ฟ
1๐ฟ๐ฟ
๐๐๐๐๐๐๐๐๐๐
๐ ๐ ๐๐ ๐ฟ๐ฟ ๐ ๐ ๐ฃ๐ฃ ๐ฟ๐ฟ๐๐๐๐๐๐ ๐๐๐๐๐๐
๐๐๐๐๐๐๐ฟ๐ฟ
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Se si utilizza solo un sensore di posizione e si calcola la velocitร differenziando la misura della posizione, si ottiene (con ๐๐๐๐๐๐ = 1) uno schema completamente equivalente a un controllore PID:
๐ ๐ ๐๐๐ผ๐ผ๐๐ ๐ฟ๐ฟ = ๐พ๐พ๐๐ 1 +1๐ฟ๐ฟ๐๐๐ผ๐ผ
+ ๐ฟ๐ฟ๐๐๐๐
Anticipo di velocitร e PID
๐๐๐๐ ๐๐๐๐๐บ๐บ๐ฃ๐ฃ ๐ฟ๐ฟ
1๐ฟ๐ฟ
๐๐๐๐๐๐๐๐๐๐
๐ ๐ ๐๐๐ผ๐ผ๐๐ ๐ฟ๐ฟ๐๐๐๐๐๐
Formule di passaggio:
๐พ๐พ๐๐ = ๐พ๐พ๐๐๐ฃ๐ฃ ๐พ๐พ๐๐๐๐ +1๐๐๐๐๐ฃ๐ฃ
๐๐๐๐ =๐พ๐พ๐๐๐ฃ๐ฃ๐พ๐พ๐๐
๐๐๐ผ๐ผ =๐พ๐พ๐๐๐๐๐๐๐ฃ๐ฃ๐พ๐พ๐๐๐๐๐พ๐พ๐๐๐ฃ๐ฃ
con:
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Quanto abbiamo visto si ritrova nei manuali dei prodotti commerciali
Controllo del giunto nei manuali degli azionamenti
(si notino i tre anelli, di corrente, velocitร e posizione, in cascata)
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
Controllo del giunto nei manuali degli azionamenti
Simbologia:
Guadagno proporzionale
Integratore
Controllore PI
Generico filtro
Saturazione
Fondamenti di robotica โ Controllo del moto โ Paolo Rocco
In alcuni controllori robotici, il modello dinamico viene utilizzato in anello aperto, accoppiato a una soluzione in anello chiuso (decentralizzata)
Utilizzo del modello dinamico in feedforward
๐๐1
๐๐2
๐๐๐๐
๐๐1
๐๐2
๐๐๐๐
โฎโฎ
๐๐๐๐1
๐๐๐๐2
๐๐๐๐๐๐
โฎ
โฏ
๐ถ๐ถ1
๐ถ๐ถ2
๐ถ๐ถ๐๐
๐บ๐บ1
๐บ๐บ2
๐บ๐บ๐๐
๐๐ = ๐๐ ๐ช๐ช๐๐ , ๏ฟฝฬ๏ฟฝ๐ช๐๐ , ๏ฟฝฬ๏ฟฝ๐ช๐๐
Lโutilizzo del modello dinamico puรฒ migliorare le prestazioni del sistema di controllo