Sei sulla pagina 1di 9

Domande RA

1 Controllo di forza
1.1 Controllo di impedenza e il prezzo da pagare per realiz-
zarlo
Il controllo a impedenza si basa sul controllo a dinamica inversa e dobbiamo inserire
nell’ingresso u e nel controllo y dei termini che dipendono da una misura di forza
in modo tale da ottenere una linearizzazione del modello retroazionato.
In particolare scegliendo
u = B(q)y + n(q, q̇)
e
y = JA−1 (q)Md−1 (Md ẍd + KD x̃˙ + KP x̃ − Md J˙A (q, q̇)q̇)
si ottiene una dinamica del secondo ordine dell’errore x̃:
¨ + KD x̃˙ + KP x̃ = Md BA−1 (q)hA
Md x̃
dove Md è una matrice diagonale definita positiva e BA (q) è la matrice di inerzia del
manipolatore nello spazio operativo. Questa matrice è dipendente dalla configura-
zione ed è definita positiva se JA è a rango pieno.
La presenza della matrice BA−1 rende il sistema accoppiato, se si vuole ottenere un
legame lineare e disaccoppiato durante l’interazione con l’ambiente, è necessario mi-
surare la forza di contatto.
Ponendo infatti
u = B(q)y + n(q, q̇) + J T (q)he
con
y = JA−1 (q)Md−1 (Md ẍd + KD x̃˙ + KP x̃ − Md J˙A (q, q̇)q̇ − hA )
si ottiene la seguente dinamica dell’errore
¨ + KD x̃˙ + KP x̃ = hA
Md x̃

1.2 Se non ho il sensore di forza, si può controllare l’impe-


denza?
In assenza del sensore di forza, posso pensare di misurare la corrente dei miei at-
tuatori e da questa ricavare le coppie ai giunti. Fatto questo con lo Jacobiano del
manipolatore posso ricavare la forza all’end effector. Così facendo, naturalmen-
te, perdo di precisione in quanto i coefficienti di riduzione meccanica tra attuatore
e giunto potrebbero non essere precisi, così come ci potrebbe essere un’incertezza
riguardo i parametri del modello matematico dell’attuatore.

1.3 Qual è il vantaggio del sensore di forza?


Grazie al sensore di forza posso ottenere, nel controllo di impedenza, una retroazione
lineare disaccoppiata della dinamica dell’errore.

1
1.4 Differenze fra controllo diretto ed indiretto in forza?
Il controllo indiretto è fondamentalmente un controllo di posizione, in cui però io
scelgo le caratteristiche di cedevolezza/impedenza del manipolatore nel caso di inte-
razione con l’ambiente. Scegliendo queste caratteristiche determino anche in maniera
indiretta la forza con cui avvengono queste interazioni, ma non posso controllarla in
modo preciso.
Nel controllo diretto chiudo un anello di retroazione della forza che mi permette di
scegliere e di ottenere valori precisi della forza di interazione.

1.5 In quale direzioni faccio il controllo di impedenza , ha


fatto l’esempio dicendo fai finta che il tuo braccio
Questa domanda è un esempio applicativo dove il Prof. voleva sapere quali erano
i vincoli naturali e i vincoli artificiali in un controllo di impedenza. L’esempio
consisteva nel controllo di un braccio con il polso poggiato sul tavolo.

1.6 Quali sono i vantaggi del controllo di ammettenza rispet-


to a quello di impedenza
Il controllo di impedenza, in assenza di interazione lungo le direzioni di moto libero,
è equivalente ad un controllo di posizione a dinamica inversa. Quindi la scelta dei
valori delle matrici Md , KD e KP deve tener conto dell’esigenza di reiettare i distur-
bi esterni e compensare eventuali errori di modello. Quindi se la cedevolezza del
controllo di impedenza è elevata, la reiezione dei disturbi nel controllo di posizione
è ridotta.
L’idea è quindi quella di disaccoppiare il controllo di forza dal controllo di posizio-
ne, introducendo una terna cedevole t tra la terna desiderata e la terna corrente,
specificata dall’origine ot e dall’orientamento Rt .
In pratica viene chiuso un anello interno per il controllo di posizione con alti valori
delle matrici e un anello esterno con la misura della forza mediante la quale vie-
ne fatto il controllo di impedenza. Questa tecnica prende il nome di controllo di
ammettenza, poiché corrisponde ad una ammettenza meccanica che viene usata dal
controllore per generare le variabili di moto (uscite) a partire dalla misura di forza
(ingressi).

1.7 I 3 schemi di controllo diretto di forza


1.8 Se apro l’anello di retroazione diventa un controllo di
velocità il controllo di semplifica
Se l’anello di retroazione su xe viene aperto, xf consiste quindi in un riferimento di
velocità. Ciò significa che tra xe e xf si instaura un legame di integrazione e posso
semplificare la struttura del controllore Cf rendendolo solo proporzionale.
A regime ottengo lo stesso risultato rispetto alla situazione precedente, ma l’assenza
dell’azione integrale non mi assicura la riduzione degli effetti dovuti a dinamiche non
modellate.

2
1.9 C’è un requisito nello schema parallelo sul riferimento,
come deve essere programmato quest’ultimo?
Nello schema di controllo parallelo forza/moto, il riferimento del controllo in forza
deve appartenere a R(K). Questo è dovuto al fatto che nelle direzioni appartenenti
a R(K) viene fatto un controllo di forza e il riferimento esterno xd è visto come un
disturbo, mentre nelle direzioni non appartenenti a R(K) si ha xd = xe e viene fatto
un controllo di posizione.

2 Controllo di visione
2.1 Come si calibra una telecamera?
Ci sono fondamentalmente due casi:

• Se conosco i parametri intrinseci della telecamera, risolvo un problema di omo-


grafia planare, ottenendo Toc . Successivamente, se ho una telecamera eye in
hand e conosco Toe , calcolo Tce = Toe (Toc )−1 , se invece ho una telecamera eye to
hand e conosco Tob , calcolo Tcb = Tob (Toc )−1 .

• Se non conosco i parametri intrinseci calcolo l’omografia planare H 0 = ΩH


che contiene al suo interno i parametri intrinseci. Attraverso più misure e
sfruttando i vincoli di ortonormalità tra i versori di H, posso ottenere gli
elementi della matrice Ω analiticamente. Una volta nota Ω procedo come nel
primo caso.

2.2 Che problemi ci sono sull’accuratezza?


Answer

2.3 Se si utilizzasse un drone con braccio manipolatore dove


la metterebbe la telecamera, sul braccetto o sul drone?
Quali sono i vantaggi di una o un’altra soluzione?
Dipende dal compito che dobbiamo svolgere:

• Sul braccetto avrei la configurazione eye-in-hand, che mi garantisce che l’og-


getto che voglio inquadrare con la mia telecamera non venga mai "coperto"
dal braccio robotico, impedendone la visione. In questa configurazione però
ho un’accuratezza variabile legata al movimento del manipolatore.

• Sul drone avrei la configurazione eye-to-hand, che mi garantisce un’accuratezza


pressoché costante, però rischio che il manipolatore si trovi tra la telecamera
e l’oggetto.

(Nota mia) Forse trovandomi su un drone preferirei la prima configurazione, dato


che la telecamera si muoverebbe lo stesso anche se fissata sul drone.

3
2.4 Controllo visuale, spazio operativo e spazio delle imma-
gini, vantaggi e svantaggi
Controllo visuale nello spazio operativo
L’anello di retro azione si basa sulla stima in tempo reale della posa dell’oggetto
osservato dalla telecamera.

Vantaggi:

• c’è un controllo diretto delle variabili nello spazio operativo, questo semplifica
la scelta dei parametri del controllore e le traiettorie risultanti per l’organo
terminale sono facilmente prevedibili.

Svantaggi:

• l’oggetto può fuoriuscire dal campo visivo della telecamera durante il transi-
torio o per un errore di pianificazione, questo comporta l’apertura dell’anello
di retroazione e quindi una perdita di stabilità;

• è poco robusto rispetto a errori di calibrazione della telecamera, la struttura


di controllo a ciclo chiuso non ha infatti nessuna possibilità di reiezione nei
confronti di tali errori;

• occorre conoscere la geometria dell’oggetto per poterne stimare la posa.

Controllo visuale nello spazio delle immagini


L’errore è definito come la differenza tra i valori caratteristici dell’immagine nella
configurazione desiderata e il valore dei parametri misurati dalla telecamera nella
configurazione corrente.

Vantaggi:

• non è richiesta la stima della posa dell’oggetto rispetto alla telecamera;

• è possibile fare in modo che durante il moto l’oggetto rimanga sempre nel
campo visivo della telecamera;

• è robusto rispetto ad errori di calibrazione della telecamera, in questo caso tali


errori si propagano solo sulla catena di andata.

Svantaggi:

• le traiettorie risultanti per l’organo terminale non sono facilmente prevedibili


e possono determinare la collisione con ostacoli o il raggiungimento dei fine
corsa dei giunti;

• la natura non lineare del legame tra i parametri caratteristici dell’immagine e


le variabili di spazio operativo comporta la presenza di configurazioni singolari.

4
2.5 Controllo spazio immagine e il problema della singolarità
Uno dei limiti del controllo nello spazio immagine è dovuto alla presenza di con-
figurazioni singolari, innestate dal legame non lineare che sussiste tra i parametri
caratteristici dell’immagine e le variabili di spazio operativo.
Nello specifico bisogna prestare attenzione alla matrice di interazione Ls (s, zc ) in
quanto il riferimento viene calcolato invertendo questa matrice.
Per risolvere tale problema si può usare un numero di parametri caratteristici k mag-
giore di quello minimo richiesto m, sostituendo il calcolo dell’inversa con il calcolo
della pseudo inversa della matrice di interazione. Questo comporta che il sistema
non è più asintoticamente stabile, ma è semplicemente stabile, ovvero l’errore non
tende asintoticamente a zero, ma è limitato in norma.

2.6 Quanto influisce la calibrazione delle telecamere a pro-


posito degli schemi visuali?
Per il controllo nello spazio operativo può influire parecchio, perché l’incertezza sui
parametri della camera condiziona la correttezza della stima della posa, inoltre nel-
l’algoritmo di controllo non c’è modo di reiettare questa incertezza. Nel controllo
nello spazio delle immagini l’incertezza sui parametri viene contrastata efficacemen-
te dal controllo, in quanto non si effettua la stima della posa e inoltre sd può essere
ottenuto posizionando il manipolatore nella posa desiderata e prendendo i para-
metri dell’immagine direttamente dalla camera, senza effettuare la trasformazione
prospettica a partire da xd .

3 Robot mobili
3.1 Che cos’è il vincolo cinematico
Un vincolo si dice cinematico se coinvolge sia le coordinate che le velocità generaliz-
zate:
ai (q, q̇) = 0 i = 1, ..., k < n
Se tali vincoli sono lineari rispetto alle velocità generalizzate, allora si dicono in
forma Pfaffiana:
aTi (q)q̇ = 0 ←→ AT (q)q̇ = 0
L’esistenza di k vincoli olonomi (hi (q) = 0) implica l’esistenza di altrettanti vin-
coli cinematici, mentre il vice versa non è sempre vero. Infatti quando un vincolo
cinematico nella forma Pfaffiana non può essere integrato (quindi non può essere
espresso come un vincolo olonomo) viene detto anolonomo (non integrabile).
I vincolo olonomi comportano una perdita dello di accessibilità in C, mentre i vincoli
anolonomi non comportano alcuna perdita di accessibilità. Infatti un sistema mec-
canico n-dimensionale soggetto a k vincoli anolonomi può accedere all’intero spazio
delle configurazioni C, pur essendo le velocità generalizzate in ogni punto confinate
a un sottospazio di dimensione n − k.

5
3.2 Che effetto produce sulla pianificazione
Nei sistemi meccanici con vincoli anolonomi, è possibile cancellare gli effetti dinamici
mediante una retroazione non lineare dello stato, a patto che i parametri dinamici
siano noti con esattezza e che lo stato completo del sistema (coordinate e velocità
generalizzate q e q̇) sia misurabile.
Infatti ponendo
τ = (GT (q)S(q))−1 (M (q)a + m(q, v))
si ottiene un linearizzazione parziale via retroazione. Il sistema risultante è

q̇ = G(q)v
(1)
v̇ = a

dove a ∈ Rm è il vettore delle pseudo accelerazioni.


Ciò significa che il problema del controllo può essere affrontato direttamente a livello
di pseudo velocità, ovvero scegliendo v in modo tale che il modello cinematico si
comporti nel modo desiderato. A partire da v è poi possibile ricavare gli ingressi
effettivi τ . Tuttavia, poiché risulta a = v̇, è necessario che le pseudo velocità siano
differenziabili rispetto al tempo.

3.3 Che effetto produce sul controllo


Per il controllo del moto abbiamo due principali macro categorie: l’inseguimento di
una traiettoria e la regolazione di configurazione.
La presenza di vincoli pfaffiani anolonomi nei robot mobili comporta l’assenza di un
controllore universale che consenta di risolvere sia il problema dell’inseguimento che
quello della regolazione. Tra i controlli di inseguimento studiati, infatti, quello basa-
to sull’approssimazione lineare e quello non lineare, richiedono traiettorie persistenti;
mentre il controllo basato sulla linearizzazione ingresso-uscita, non è soggetto a tale
limitazione ma porterà a destinazione il punto B invece che il punto rappresentativo
del robot. Nei manipolatori, invece, il controllo a dinamica inversa rappresentava
un controllo universale.
Per i robot mobili anolonomi, quindi, bisogna progettare appositamente leggi di
controllo per la regolazione.

4 Pianificazione del moto


4.1 Pianificazione mediante decomposizione in cella
Questo metodo si basa sulla decomposizione dello spazio Cf ree in regioni dalla forma
semplice, chiamate celle, le quali rispettino le seguenti caratteristiche:

• date due configurazioni appartenenti alla stessa cella, è semplice trovare un


cammino senza ostacoli che le congiunge;

• date due celle adiacenti, è semplice trovare un percorso che congiunge le due
celle.

6
A partire da questa decomposizione si costruisce un grafo di connettività tra le celle.

La decomposizione esatta si basa sull’algoritmo sweep line e prevede la decom-


posizione di Cf ree in celle poligonali convesse di forma e dimensioni diverse e la cui
unione restituisce Cf ree . A partire qa queste celle si genera un grafico di connettività,
dove i nodi sono le celle e gli archi indicano se due celle sono adiacenti o meno. Vo-
lendo è possibile attribuire a ciascun arco del grafo un peso specifico, così da poter
individuare il percorso più breve tra qs e qg nel caso ne esistesse più di uno.
Questa tecnica è multiple-query ma se lo spazio di lavoro ha dimensioni elevate,
diventa onerosa dal punto di vista computazionale.

La decomposizione approssimata prevede invece la decomposizione di Cf ree in


celle dalla forma e dimensione fissa, tipicamente un quadrato. Ogni cella viene poi
catalogata in libera se non contiene ostacoli (bianca), occupata se contiene solo osta-
coli (nera) e mista se contiene sia ostacoli che zone libere (grigia).
A questo punto assegnati qs e qd , se il grafo che connette le celle che contengono i
due punti attraversa solo celle libere (bianche), allora esiste una soluzione al proble-
ma e l’algoritmo termina. Se invece il grafo attraversa anche una sola cella mista,
l’algoritmo prevede di dividere iterativamente la cella o le celle miste coinvolte fin
tanto che non trova un percorso caratterizzato da sole celle libere. Per tale motivo
questo metodo si dice completo in risoluzione.
Questo metodo, per natura, è single-query, però rispetto al caso di decomposizio-
ne esatta (multiple-query) presenta un onere computazionale minore e si adatta
facilmente al caso di spazi di lavoro con dimensione elevata.

4.2 Metodo di pianificazione RRT


Il metodo di pianificazione RRT (Rapidly-exploring Random Tree) è un metodo
probabilistico single-query, a differenza del PRM (Probabilistic Roadmap) che è un
metodo probabilistico multiple-query.
Il metodo consiste nella costruzione incrementale di un albero di esplorazione T , in
particolare, a partire da una configurazione casuale qrand , viene selezionato il nodo
qnear appartenente a T più vicino a qrand . A questo punto viene generato un nuovo
nodo candidato qnew sulla retta che congiunge qrand e qnear , ad una certa distanza δ
da qnear . Se il test di collisione da esito negativo, allora qnew viene aggiunto a T . Per
qrand non è necessario fare il test di collisione poiché non viene aggiunto all’albero.
Per velocizzare l’esplorazione è possibile costruire contemporaneamente due alberi,
uno a partire da qs e l’altro da qg .
Il vantaggio di usare RRT in luogo di PRM sta nel fatto che questo metodo può
essere facilmente esteso al caso di robot mobili con vincoli anolonomi. Infatti in
questo caso vengono generati sempre due alberi e il metodo di generazione di nodi
evolve lungo primitive direzionali che rispettano i vincoli cinematici del robot.

7
4.3 Tecnica del potenziale artificiale
La tecnica del potenziale artificiale permette di risolvere in maniera il efficiente il
problema della pianificazione del moto on-line, quindi senza avere una conoscenza a
priori della posizione degli ostacoli nell’ambiente di lavoro, oppure quando siamo in
presenza di ostacoli mobili.
Si basa sulla definizione di un potenziale artificiale U , ottenuto dalla sovrapposi-
zione di un potenziale attrattivo verso il punto desiderato e un potenziale repulsivo
dovuto alla presenza dei C-ostacoli.
Per ogni configurazione q del robot viene calcolato il potenziale U (q) e il manipo-
latore si muove sotto l’azione della forza −∆U (q), che rappresenta la direzione di
gradiente del potenziale.

Potenziale attrattivo
Il potenziale attrattivo deve guidare il robot verso la configurazione desiderata qg e
può essere definito in due modi differenti:

• paraboloide U (q) = 21 keT (q)e(q) = 21 kke(q)k2

• cono U (q) = kke(q)|

Nel primo caso la forza attrattiva risulta f (q) = −∆U (q) = ke(q), ovvero tende
linearmente a zero quando il robot si avvicina alla configurazione desiderata.
e(q)
Nel secondo caso la forza è pari a f (q) = −∆U (q) = k ke(q)| , la quale è costante
in modulo. Usare una funzione conica in luogo di un paroboloide è vantaggioso
perché si evita che la forza cresca all’infinito quando l’errore cresce in norma (cosa
che avviene con il paraboloide), tuttavia nel caso del cono, la forza f non è definita
nel punto qg .
Una soluzione vantaggiosa è quella di combinare le due definizioni di potenziale
attrattivo, ovvero usare una forma conica quando siamo lontani da qg e una forma
parabolica quando siamo vicini al target, così da garantire la continuità del gradiente
in qg . Se scegliamo la curva di livello ke(q)k = 1 come punto di passaggio dalla forma
parabolica a quella conica, otteniamo la continuità del gradiente attrattivo per ogni
q.

Potenziale repulsivo
Il potenziale repulsivo è una funzione che assume valori elevati quando il robot si
trova in prossimità dell’ostacolo ed è nulla quando si trova all’esterno di una certa
raggio di influenza che può essere definito per ogni ostacolo.

4.4 In merito ai potenziali ci sono delle situazioni di deadlock


come si risolvono tali situazioni
Il potenziale totale può avere dei minimi locali dove il campo di forza si annulla che
non sono dei minimi globali. Ciò significa che la forza è nulla anche se il manipola-
tore non si trova nella posizione desiderata qg .

8
Queste situazioni si verificano nelle zone d’ombra dei C-ostacoli, dove il campo re-
pulsivo è uguale in segno e opposto in verso rispetto al campo attrattivo.
Un caso singolare è quando gli ostacoli hanno una forma sferica, infatti in questo
caso il punto in cui si annulla il potenziale è un punto di sella e non un punto di
minimo locale, quindi è garantito il movimento del manipolatore verso il punto de-
siderato.

Una prima soluzione al problema è data dall’algoritmo Best-first, dove lo spa-


zio delle configurazioni libere viene discretizzato mediante una griglia regolare. Ad
ogni cella della griglia viene assegnato un potenziale pari al valore del potenziale
totale calcolato nel centro della griglia e la pianificazione del moto procede verso le
celle adiacenti a quella corrente verso le celle con potenziale minore.
Quando viene raggiunta una cella con potenziale minimo, l’algoritmo visita il suo
intero bacino di attrazione per verificare se si tratta di un minimo locale o di un
minimo globale. Questa analisi richiede un incremento della risoluzione della griglia
ed è onerosa dal punto di vista computazionale. Per tale motivo spesso di utilizza
un meccanismo randomizzato per evadere dai minimi locali, il quale consiste ne ge-
nerare una serie di spostamenti a caso per evadere dal punto di minimo locale. La
probabilità di evadere da un minimo locale è pari a 1 se il numero di step random
cresce all’infinito. Questo metodo è quindi completo in probabilità.

Un’altra soluzione alle deadlock è l’uso delle funzioni di navigazione. Tale meto-
do considera tutti gli ostacoli come delle sfere, approssimando per eccesso il volume
da loro occupato. In questo modo tutti i minimi locali diventano punti di sella e
non c’è più il problema delle deadlock.
Una soluzione più elegante potrebbe essere quella di effettuare un omeomorfismo
differenziale trasformando analiticamente tutti gli ostacoli in sfere, calcolare un
cammino in questo dominio e poi ritrasformare il cammino calcolato nel dominio
di partenza. Questa soluzione oltre ad essere onerosa dal punto di vista computa-
zionale, richiede anche la conoscenza off-line dello spazio di lavoro e della posizione
degli ostacoli.

Potrebbero piacerti anche