Per la regolazione di configurazione è stato preferito questo tipo di regolatore ai controllori tempo-varianti o discontinui nello stato, che danno risultati nettamente superiori, in quanto, in questo caso, i risultati ottenuti sono sufficienti per la utilizzazione prevista.
Per realizzare un controllore a retroazione in grado di condurre il robot in una posizione assegnata, è necessario pianificare una traiettoria che tenda asintoticamente a raggiungerla.
La individuazione di un controllore universale in grado di stabilizzare traiettorie arbitrarie, persistenti o meno, è resa difficile dai vincoli anolonomi presenti sul robot. Si è pensato quindi di utilizzare un regolatore cartesiano che porti l’uniciclo in una posizione cartesiana assegnata, ma con orientamento non specificato. [Bibliografia in fondo alla pagina]
La legge di controllo di tale regolatore è:
con guadagni del regolatore e
, indicando con
ed
gli errori sull’asse
ed
del robot, è facile dare una interpretazione geometrica ai due comandi generati dalla legge di controllo.
Con riferimento alla figura successiva è facile dare una interpretazione geometrica a due comandi: la velocità lineare viene scelta come proiezione del vettore di errore cartesiano
sull’asse sagittale dell’uniciclo, mentre la velocità angolare è proporzionale alla differenza tra l’orientamento dell’uniciclo e l’orientamento dell’errore
(errore di puntamento).
La scelta di tale controllore permette una semplice movimentazione sul piano del robot, senza tener quindi conto dell’errore di orientamento fissato. Il suo utilizzo è particolarmente utile per poter far navigare il robot in ambienti sconosciuti, in quanto la regolazione dell’orientamento non è necessaria.
La convergenza di questo regolatore è assicurata data la presenza di una candidata di Lyapunov
che è solo semi-definita positiva nell’origine poiché si annulla in tutte le configurazioni in cui l’errore di posizione , indipendentemente dal valore dell’orientamento. Utilizzando le equazioni dell’uniciclo e gli ingressi di controllo del regolatore cartesiano esposte precedentemente si trova
Che è semi-definita negativa nell’origine. Ciò implica che la candidata , che è limitata inferiormente, tende a un valore limite, e che l’errore di posizione
è limitato in norma. E’ facile verificare che
è limitata e quindi
è uniforme continua. Per il lemma di Barbalat, si ha allora che
tende a zero. Si ha quindi
e cioè che la proiezione del vettore cartesiano sull’asse sagittale dell’uniciclo tende asintoticamente ad annullarsi. Questo non può avvenire in un punto diverso da
e
, poiché la velocità angolare tenderebbe a ruotare l’uniciclo per riallinearlo con
. Si può dunque concludere che l’errore cartesiano tende a zero per qualunque configurazione iniziale.
Il regolatore implementato tiene conto dell’errore di misura dell’odometria e delle velocità ottenibili dal sistema di controllo di basso livello. E’ stato fissato un intervallo di campionamento più basso rispetto ai regolatori PID del motore, pari a .
Simulazioni
Per illustrare le caratteristiche del regolatore è stato implementata la legge di controllo su Simulink®, vengono presentati i risultati questo regolatore per quanto riguarda le manovre di parcheggio effettuate in retroazione.
Le simulazioni sono state effettuate sulla configurazione ad uniciclo in quanto, per pilotare la piattaforma si sarebbero ottenuti i medesimi risultati generando gli opportuni ingressi di controllo esposti nella pagina sulla cinematica.
Nella figura precedente viene riportato lo schema a blocchi del sistema di controllo del robot. I blocchi colorati di rosso stanno a figurare tutti quegli elementi di controllo che operano alla frequenza di , mentre i blocchi in nero sono il modello matematico dell’uniciclo che sono stati simulati con un intervallo di campionamento dettato dalla “ode45”.
Il sistema è costituito dalla “Cartesian control” composta dalla leggi di controllo esposte ad inizio pagina, subito dopo le velocità generate sono vincolate dalla “Constrains control” che utilizza le formulazioni trattate nella pagina relativa ai vincoli di controllo, infine le velocità sono inviate al modello cinematico dell’uniciclo non prima di essere passate nuovamente per una saturazione.
Viene quindi impostato il sistema ponendo il robot nella configurazione iniziale data da ed impostata la configurazione d’arrivo a
e
. Si sono impostati i guadagni del regolatore cartesiano con
e
. Vengono fissati i vincoli di saturazione massima e minima dell’uniciclo con
e
.
- Velocity
- Navigation
- Navigation with orientation
- Error reference
I risultati dell’applicazione di questo regolatore si possono osservare nella figura precedente, dove l’uniciclo raggiunge le coordinate desiderate (in figura (b)) e gli errori convergono a zero in tempo finito come visibile in figura (d), mentre l’angolo converge ad un valore non nullo. É interessante notare come anche se le velocità richieste dal regolatore siano più grandi rispetto a quelle effettivamente erogabili dall’uniciclo, ma con l’opportuna modifica dei comandi di controllo riescono comunque a far convergere a zero l’errore di posizione del robot (in figura (a)).
Bibliografia
L. . V. L. . O. G. Siciliano, B. & Sciavicco, Robotics, Modelling, Planning and Control. Milano: Springer, 2009.
Copyright © 2013. All Rights Reserved.
0 Comments