Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
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.
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:
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à;
Vantaggi:
• è possibile fare in modo che durante il moto l’oggetto rimanga sempre nel
campo visivo della telecamera;
Svantaggi:
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.
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
• 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.
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:
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.
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.
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.