Pianificazione Traiettoria per Robot Mobile
Questo documento contiene materiale proveniente da fonti esterne: 1 [ Documento Originale - Autore: Cristian Secchi - Sito Riferimento ]
Contents |
Definizione
Pianificazione: Trovare una traiettoria ammissibile q(t) per t in [ti,tf] che porti il robot da una configurazione iniziale q(ti)=qi a una configurazione finale q(tf)=qf in assenza di ostacoli.Una traiettoria può essere decomposta in un cammino q(s) e una legge oraria s=s(t) . Legge oraria: come vado dal punto di distanza zero dall’inizio della curva al punto di distanza L dall’inizio della curva. Cammino: Qual è la configurazione corrispondente al parametro s nella curva?
- Il cammino rappresenta la forma geometrica della curva parametrizzata da s
- La legge oraria mi rappresenta il modo in cui la curva è percorsa.
Separazione spazio temporale della traiettoria:
Affinché la traiettoria sia ammissibile per un WMR, essa deve soddisfare i vincoli anolonomi del robot per cui:
Un cammino ammissibile sarà dato da q'= G(q)ũ
Il cammino geometrico si trova determinando gli ingressi geometrici ũ .
Una volta trovato il cammino geometrico ammissibile, occorrerà scegliere una legge oraria s(t), ovvero la velocità a cui il cammino è percorso, per determinare completamente la traiettoria.
Una volta trovato l’ingresso geometrico ũ e determinata la legge oraria s(t), qual è l’ingresso cinematico da applicare al robot per farlo muovere lungo la traiettoria desiderata?
Esempio - Uniciclo
Per un uniciclo i vincoli anolonomi implicano la seguente condizione di ammissibilità per il cammino geometrico.
La condizione esprime il fatto che la velocità cartesiana deve essere orientata lungo la direzione del moto. I cammini ammissibili per l’uniciclo sono dati da:
Una volta determinati gli ingressi geometrici, gli ingressi cinematici sono dati da:
Pianificazione tramite differential flatness
Definizione
Un sistema dinamico non linearepossiede la proprietà di differential flatness (o piattezza differenziale) se esiste un insieme di variabili misurabili y, dette uscite flat ( o piatte), tali che lo stato x e l’ingresso u possono essere espressi algebricamente in funzione di y e di un certo numero delle sue derivate
![]()
Una volta determinata una traiettoria y nel tempo, risultano determinate anche la traiettoria dello stato x e dell’ingresso u.
Per l’uniciclo e il biciclo le coordinate cartesiane x e y sono uscite flat
L’orientamento dipende dalla derivata prima delle uscite flat
Le due scelte possibili per θ dipendono dal fatto che lo stesso cammino può essere percorso a marcia avanti (k=0) o a marcia indietro (k=π).
Se l’orientamento iniziale del robot è assegnato, solo una di queste scelte è corretta.
Se un robot mobile ammette uscite piatte y, queste possono essere utilizzate per risolvere i problemi di pianificazione.
Infatti, è possibile usare un qualsiasi schema di interpolazione per pianificare il cammino di tali uscite in modo da soddisfare le condizioni al contorno.
L’evoluzione delle altre variabili associate e gli ingressi cinematici si potranno calcolare algebricamente a partire da y(s).
Il cammino nello spazio delle configurazioni generato in tal modo soddisferà automaticamente i vincoli anolonomi del robot.
Pianificazione dell’Uniciclo
Si consideri il problema di pianificare un cammino per l’uniciclo che porti il robot da una configurazione iniziale qi=(xi,yi,θi) a una configurazione finale qf=(xf,yf,θf).
Suppongo di parametrizzare la curva con un parametro s=[0,1].
x e y sono uscite flat! Pianifico la traiettoria sulle uscite flat!
Una possibile pianificazione su x e y si può ottenere tramite un polinomio cubico:
Le condizioni al contorno su x e y sono soddisfatte
Occorre che siano soddisfatte le condizioni al contorno anche sull’orientamento che è legato a x’ e y’. Devono allora essere soddisfatte le seguenti condizioni:
ki e kf sono parametri liberi (non nulli) ma dello stesso segno. Rappresentano le velocità geometriche all’istante iniziale e a quello finale e influenzano il tipo di cammino che si ottiene.
Le condizioni al contorno su θ consentono di determinare i parametri αx,
αy, βx e βy Per esempio, se ki=kf=k si ottiene:
Una volta trovata la traiettoria nello spazio delle configurazioni, quali
sono gli ingressi geometrici e gli ingressi cinematici corrispondenti?
Dal modello cinematico del robot si ottengono:
il segno della velocità lineare dipende dal senso di marcia
Algoritmo
Require: qi=(xi,yi,θi), qf=(xf,yf,θf) 1. Pianificare il cammino sulle uscita flat (x,y)2. Imporre le condizioni al contorno per determinare i coefficienti
3. Determinare gli ingressi geometric
4. Determinare la legge oraria e gli ingressi da applicare al robot
![]()
Parcheggio parallelo
• qi = [0 10 0]; qf = [0 0 0] k=10 k=100![]()
• qi = [10 7 -pi/3]; qf = [0 0 0] k=10 k=50 k=100
![]()
![]()
![]()
Controllo del moto
Data una traiettoria o una configurazione desiderata, costruire una legge di controllo che porti il robot a seguire la traiettoria o nella configurazione desiderata
- Il problema del controllo del moto di un robot mobile viene affrontato utilizzando il modello cinematico
- Si suppone che gli ingressi cinematici agiscano direttamente sulle variabili di configurazione
- Nel caso dell’uniciclo e del biciclo, gli ingressi di controllo sono v e ω
- Questo è lecito perché nella maggior parte dei robot mobili non è possibile imporre direttamente la coppia motrice sulle ruote a causa anelli controllo a basso livello integrati nell’architettura hardware o software.
- Considereremo principalmente il problema del controllo del robot a uniciclo.
Regolazione di configurazione: Il robot deve raggiungere una configurazione desiderata qd=(xd, yd, θd)T a partire da una configurazione iniziale q0=(x0, y0, θ0)T E’ il problema più difficile
Inseguimento di traiettoria: Il robot deve riprodurre asintoticamente una traiettoria cartesiana desiderata (x (t) y (t)) a partire da xd(t),yd(una configurazione iniziale q0=(x0, y0, θ0)T che può essere o meno agganciata alla traiettoria Problema più semplice e di maggior interesse pratico
Inseguimento di traiettorie – I-O SFL
I-O SFL: Input-Output state feedback linearization
- Dipende dal punto preso come riferimento del robot (uscita del sistema), ossia al quale vogliamo assegnare il moto desiderato
- Il punto (x,y) del centro asse non può mai avere una velocità laterale rispetto all'orientamento del veicolo.
Modello:![]()
Movimento istantaneo proibito:
Il sistema deve fermarsi e ruotare.
Non è possibile percorrere una traiettoria discontinua a velocità costante
Prendendo il centro asse (x,y) come uscita da controllare abbiamo dei vincoli nella mobilità del robot.
Si definisce come uscita da controllare un punto fuori dall’asse delle ruote di coordinate:
Il punto (xB,yB) non ha più vincoli cinematici e può muoversi, istantaneamente,
anche lateralmente rispetto alla direzione di moto
Posso definire due ingressi cinematici che determinano la velocità lungo l’asse x e lungo l’asse y del punto B
Una volta trovati vdx e vdy, si trovano gli ingressi cinematici da dare in ingresso all’uniciclo per ottenere il movimento desiderato del punto B tramite:
IO-SFL per l’Uniciclo - Algoritmo
Require: q_des(t)=(x_des(t),y_des(t),θ_des(t)) 1. scegliere il punto fuori dall’asse (X_B,Y_B)=(x+bcosθ,y+bsinθ) definendo b 2. while True 3. Determinare Vdx(t)e Vdy(t) tramite:4. Determinare v(t) e ω(t) tramite:
5. Applicare gli ingressi 6. end while