• Non ci sono risultati.

Controllo in posizione con profilo di velocità

N/A
N/A
Protected

Academic year: 2022

Condividi "Controllo in posizione con profilo di velocità"

Copied!
28
0
0

Testo completo

(1)

Corrado Santoro

ARSLAB - Autonomous and Robotic Systems Laboratory Dipartimento di Matematica e Informatica - Universit `a di Catania, Italy

santoro@dmi.unict.it

Programmazione Sistemi Robotici

(2)

posizione Motore

Speed pwm Controller target_vel

+ -

Sistema a processore Sistema fisico

Encoder

d/dt Position

Controller +

- target_pos

current_vel current_pos

La tecnica di controllo alternativa al semplice controllo “P” prevede l’uso di unalgoritmo software che genera ilprofilo di velocit `ada seguire per poter raggiungere la posizione target.

(3)

I tipici profili di velocit `a dei sistemi meccanici prevedono tre fasi:

1 Una prima fase diaccelerazione, parametro a1=cost

2 Una fase di crociera avelocit `a costante, a2=0, v = Vmax 3 Una fase didecelerazione, con parametro a3=cost

L’obiettivo `e far s`ı che, al termine della fase di decelerazione, la massa da controllare si trovi effettivamente allaposizione target

Il controllore `e totalmente determinato daiparametria1,Vmax ea3, pi `u il tempo di campionamento∆T.

(4)

Per determinare l’algoritmo del controllore, useremo le formule del moto uniformemente accelerato che qui ricordiamo:

a = cost v (t) = v (0) + at

x (t) = x (0) + v (0)t + 1

2 at

2

(5)

Le fasi1e2sono abbastanza semplici: si tratta di incrementare la velocit `a, ad ogni step di simulazione, del valorea1∆T, fino alla saturazioneVmax:

(6)

Per implemntare la fase3 `e necessario identificare il punto in cui la fase 3 stessadeve cominiciare

Poich `e possiamo conoscere ladistanza (errore) tra la posizione correntex (t)e la posizione targetd = Xtarget− x(t), possiamo usare questa informazione per calcolarea quale distanza deve iniziare la decelerazione

Determiniamo quindi ladistanza di decelerazione

(7)

Operiamo unatraslazione temporale e consideriamo il tempo 0 l’inizio della fase 3

Usando la formula del moto uniformemente accelerato, calcoliamo il tempo necessario per arrivare a velocit `a zero(tempo di

decelerazione) TD:

v (T

D

) = v (0) + a

3

T

D

0 = V

max

+ a

3

T

D

T

D

= − V

max

a

3

(8)

v (T

D

) = v (0) + a

3

T

D

0 = V

max

+ a

3

T

D

T

D

= − V

max

a

3

Il segno “meno” `e normale perch `e, essendo a3negativo ( `e una decelerazione), accade che TDrisulti alla finepositivo.

(9)

Determiniamo a questo punto ladistanza di decelerazione XD =x (TD):

Se la distanza dal target `e inferiore a XDallora siamo nella fase di decelerazione.

x (TD) = x (0) + v (0)TD+1 2a3TD2

x (TD) = 0 + VmaxTD+1 2a3TD2 x (TD) = Vmax(−Vmax

a3

) +1

2a3(−Vmax

a3

)2

x (TD) = −Vmax2

a3

+1 2a3

Vmax2

a23 x (TD) = −Vmax2

a3

+1 2

Vmax2 a3

XD = −Vmax2

2a3

(10)

Durante la fase 3, il controllore deve fornire la velocit `a alla quale la massa deve andare

Poich `e conosciamo la distanza traposizione targeteposizione corrente usiamo questa informazione per determinare la velocit `a zero

Dobbiamo quindi trovare una funzione del tipo v (t) = f (e(t)), e(t) = Xtarget− x(t)

A tale scopo usiamo ancora una volta le equazioni della cinematica applicate allasola fase di decelerazione

(11)

Consideriamo il tempo 0 l’inizio della fase della decelerazione, quindi v (0) = Vmaxe x (0) = 0, abbiamo:

v (t) = Vmax+a3t x (t) = Vmaxt +1

2a3t2

Poniamo, per brevit `a, x = x (t) e v = v (t) e calcoliamo il tempo dalla prima equazione:

t = v − Vmax

a3

e sostituiamolo nella seconda:

(12)

x = V

max

v − V

max

a

3

+ 1

2 a

3

( v − V

max

a

3

)

2

x = V

max

v − V

max2

a

3

+ v

2

− 2vV

max

+ V

max2

2a

3

2a

3

x = 2V

max

v − 2V

max2

+ v

2

− 2V

max

v + V

max2

2a

3

x = −2V

max2

+ v

2

+ V

max2

2a

3

x = v

2

− V

max2

v =

q

V

max2

+ 2a

3

x

x `e la distanza percorsa a partiredall’inizio della fase di decelerazione

Tuttavia noi possediamo ladistanza dal target, quindi ...

(13)

v = q

V

max2

+ 2a

3

x

x `e pari alladistanza di decelerazione XDmeno ladistanza dal target:

x = XD− (target pos − current pos) pertanto ...

v =

q

Vmax2 +2a3(XD− (target pos − current pos))

se a3la si considera in valore assoluto abbiamo:

v =

q

Vmax2 − 2a3(XD− (target pos − current pos))

(14)

distanza di 8m, `e

a

1

= 0.3m/s

2

, V

max

= 2m/s, a

3

= 0.2m/s

2

(15)

L’andamento della distanza, con questo tipo di controllo, ed una distanza da percorrere di 8m, `e

a

1

= 0.3m/s

2

, V

max

= 2m/s, a

3

= 0.2m/s

2

(16)

delle costanti di accelerazione e decelerazione

Una volta impostata a1e a3, tali durate sonosempre uguali

Al variare della distanza da percorrere, varier `a pertanto la durata della fase a velocit `a costante

target = 8m target = 5m

(17)

La fase a velocit `a costante potrebbe addirittura sparire nel caso la distanza sia particolarmente “corta”

In tal caso il trapezio degenera in untriangolo

target = 4m

(18)

discontinuit `a e il comportamento diventa il seguente:

target = 3m

Il problema `e dato dal fatto che siamo gi `a entrati nelladistanza di decelerazione senza aver finito la fase di accelerazione La soluzione consiste nelprolungare la fase di accelerazione fin quando il segmento crescente nonincontra il tratto di decelerazione

(19)

target = 3m

La fase 3 deve essere caratterizzata da unainvariabilit `a:la velocit `a da raggiungere deve essere minore della velocit `a corrente, altrimenti non ha senso parlare di decelerazione

Nel caso in figura accade proprio il contrario: quando inizia la fase di decelerazione, la velocit `a calcolata `e maggiore della velocit `a corrente Possiamo pertanto sfruttare questa propriet `a per “far continuare”

l’accelerazione fino all’incontro con il segmento di decelerazione

(20)

correttamente:

target = 3m

(21)

Immaginiamo un robot “virtuale” che si muove idealmente lungo la traiettoria desiderata

Possiamo derivare unalegge oraria, basata sulle equazioni del moto uniformemente accelerato, che implementa il profilo trapezoidale di velocit `a

Tale legge oraria fornisce laposizione teorica ˜x (t) dove dovrebbe trovarsi, all’istante t il robot

(22)

Motore Speed pwm

Controller target_vel+

-

Sistema a processore Sistema fisico

d/dt Position

Controller +

- virtual_pos

current_vel current_pos

posizione Virtual

Robot

Usiamo il “classico” controllo: P sulla posizione e PI sulla velocit `a Un modulo che implementa il moto del virtual robot genera, istante per istante, lavirtual pos

Essa rappresenta dove si trova il robot virtuale e dovedovrebbe trovarsi il robot reale

Il robot reale cerca di raggiungere lavirtual posche tuttaviacambia continuamente

Il moto si conclude al raggiugimento dellaposizione finaledel robot virtuale e (conseguentemente) del robot reale

(23)

Motore Speed pwm

Controller target_vel

+ -

Sistema a processore Sistema fisico

d/dt Position

Controller +

- virtual_pos

current_vel current_pos

posizione Virtual

Robot

Il sistema lavora mantenendo costantemente unerrore di posizione non nullo

Concettualmente, il robot virtuale “scappa” e il robot reale “lo insegue”

Il robot reale `e dunque “in ritardo” rispetto al robot virtuale e dunque arriver `a un po’ dopo al target di posizione finale

La costante KP del Position Controller permette regolare tale ritardo

(24)

Cinematica “Virtual Robot”

if TargetPos − VirtualRobotPos < DecelDistance then // We are in the deceleration phase tempAccel ← a3;

end else

// We are in the acceleration (or constant-speed) phase tempAccel ← a1;

end

VirtualRobotSpeed ← VirtualRobotSpeed + tempAccel · ∆T ;

if VirtualRobotSpeed > Vmaxthen VirtualRobotSpeed ← Vmax; tempAccel ← 0;

end

if VirtualRobotSpeed < 0 then VirtualRobotSpeed ← 0;

tempAccel ← 0;

end

VirtualRobotPos ← VirtualRobotPos + VirtualRobotSpeed · ∆T +12· tempAccel · ∆T2;

(25)

Ritardo Elevato, KP

POS

= 0.5

(26)
(27)

Ritardo Basso, KP

POS

= 2

(28)

ARSLAB - Autonomous and Robotic Systems Laboratory Dipartimento di Matematica e Informatica - Universit `a di Catania, Italy

santoro@dmi.unict.it

Programmazione Sistemi Robotici

Riferimenti

Documenti correlati

Stefano Mancuso, neurobiologo vegetale lo racconta in uno dei suoi libri (&#34;L'incredibile viaggio delle piante&#34;, Laterza) e ci rammenta come un ginkgo biloba

L’accelerazione istantanea risulta diretta verso la concavità della traiettoria e contiene informazioni sul cambiamento della velocità in modulo e direzione... MOTO CON

Tra le 33 province compre- se nel gruppo di testa (erano 32 lo scorso anno), 6 apparten- gono al nord-ovest, dato im- mutato rispetto alla passata edizione: 3 in Piemonte (Cu-

Si misura l’intensità nel punto P: tutte le sorgenti misurate singolarmente hanno la stessa intensità I0; se sono accese solo S1 e S2 l’intensità è I = 100 mW/m2; se sono

Decidono allora di fare un’altra sfida; Boris vuole però, visto l’esito precedente, che Alberto parta 5 metri dietro.. Chi

Ciò posto, va ricordato che la ratio legis sottesa alle disposizioni normative relative ai buoni-corrispettivo è che le stesse non comportano deroghe alla disciplina applicabile alle

AD73 XCLASSIC PICTET MAGO AD74 XTREND PICTET Megatrend AD75 XCLASSIC PICTET EUR Short T HY AD77 XCLASSIC PIMCO Total Return AD78 XCLASSIC PIMCO Diversified Inc AD79 XCLASSIC

Le dimensioni sono espresse in millimetri salvo diversa indicazione Altre opzioni