Punti critici e robotica 1 Punti critici

Transcript

Punti critici e robotica 1 Punti critici
Punti critici e robotica
La robotica è una disciplina relativamente giovane ed è in realtà un complesso assai eterogeneo di discipline. Il nome robot viene attribuito a macchine
molto diverse fra loro [7]: macchine rigidamente programmate per il montaggio di automobili, sistemi di visione, veicoli autonomi per l’esplorazione, la
manutenzione o il soccorso, fino a incorporei sistemi di intelligenza artificiale
che esplorano il Web o a robot antropomorfi “da fantascienza” [1, 2].
Le diverse branche della robotica necessitano di modelli matematici. La
diversità e la novità delle applicazioni si riflettono nella diversità e nella novità
dei modelli. Il più delle volte si trovano strumenti matematici sufficienti nel
repertorio classico dell’ingegneria. Talvolta, invece, la robotica stimola la
nascita o quanto meno l’evoluzione mirata di matematica meno consueta.
In questo articolo illustrerò qualche applicazione di un concetto matematico fondamentale, già trattato recentemente in questa stessa rivista [5]: la
nozione di punto critico. Le applicazioni saranno piuttosto varie: visione
artificiale, robotica meccanica, navigazione robotica. Saranno varı̂ anche i
contesti matematici: superfici nello spazio ordinario, varietà di dimensione
anche superiore a 3, spazi di dimensione infinita.
1
Punti critici
Il concetto di punto critico generalizza quelli di punto di massimo e minimo
relativo e di flesso orizzontale di una funzione differenziabile reale di variabile
reale.1
Vediamo come questo si traduce in casi specifici; tutte le funzioni f di cui si
parlerà saranno implicitamente considerate differenziabili (di classe almeno
1
In generale un punto regolare di una funzione f è un punto in cui l’approssimazione
lineare locale di f ha dimensione dell’immagine uguale alla massima dimensione possibile
(che è la minima fra le dimensioni di dominio e codominio); un punto si dice invece critico
se ciò non avviene, cioè se tale dimensione è inferiore alla massima possibile [6].
C 1 ). Per f : R → R, i punti critici sono quei punti del dominio in cui la derivata è nulla. Infatti, se consideriamo la tangente al grafico di f in (x, f (x)),
dove x è critico, essa può essere considerata il grafico di una funzione che
applica tutto R in un solo punto, mentre la tangente in corrispondenza dei
punti regolari fornisce il grafico di una funzione che applica R in tutto R.
Per f : R2 → R è critico ogni punto in cui le due derivate parziali si annullano. Infatti in tal caso il piano tangente, orizzontale, rappresenta una
funzione che applica R2 in un solo punto, mentre nei punti regolari la funzione
rappresentata dal piano tangente, obliquo, ha per immagine tutto R.
I punti critici di una funzione f : Rm → Rn sono quelli in cui la matrice
jacobiana ha rango minore del massimo possibile (che è il minore dei due
numeri m, n). Lo stesso vale per una funzione f fra varietà. In questo caso
la matrice jacobiana è scritta rispetto a coordinate locali e rappresenta una
trasformazione lineare fra gli spazi vettoriali tangenti.
2
Contorni apparenti
Se nel caso di una funzione f : R → R siamo abituati a vedere i punti critici
come punti isolati, sorprenderà pensare che in ogni momento abbiamo letteralmente “sotto gli occhi” situazioni in cui i punti critici formano curve. Si
tratta dei generatori di contorni apparenti. Quando osserviamo un qualunque oggetto abbastanza ben definito, lo vediamo delimitato da una curva. In
realtà i punti di questa curva non hanno alcuna particolare proprietà come
punti della superficie dell’oggetto; il fatto che essi ci appaiano al confine dell’immagine dell’oggetto dipende dall’essere “sfiorati” dai raggi luminosi che
poi arrivano al nostro occhio.
La visione robotica fa ampio uso dei contorni apparenti, sia per delimitare
un oggetto rispetto allo sfondo, sia per una prima analisi della sua forma. Un
contorno apparente fornisce una silhouette che in molti casi permette già il
riconoscimento dell’oggetto; inoltre, le sue caratteristiche geometriche dànno
informazioni sulla natura locale dell’oggetto presso i punti della curva di cui
esso è proiezione.
Semplifichiamo, more mathematico, la situazione (Figura 1): l’oggetto sia una
superficie S; esaminiamo, invece che la formazione dell’immagine nel nostro
occhio, la formazione dell’ombra di S su un piano L mediante la proiezione
P (in cui i raggi luminosi si considerano paralleli). L’ombra di S è delimitata
dal contorno apparente Σ0 . Quali sono i punti di S che vengono proiettati in
Σ0 ? Sono quelli, che formano una curva Σ su S, in cui S ha il piano tangente
2
Figura 1: Generazione di un contorno apparente.
parallelo ai raggi luminosi. Ora, il differenziale di P in un punto Q di S è
proprio la trasformazione lineare che applica il piano tangente in Q nel piano
tangente in P (Q); quest’ultimo, come insieme, è tutto L. Ma allora i punti
di S che generano il contorno apparente sono quelli in cui il differenziale di
P trasforma il piano tangente non in tutto L, ma in una sua retta: sono i
punti critici di P .
3
Frange d’interferenza
Avete mai fatto caso a quegli arabeschi (come nella Figura 2) che si vedono
nelle ondulazioni di una tenda semitrasparente? Sono le frange marezzate
(moiré): qui compaiono spontaneamente, ma vengono anche create espressamente per certi tessuti decorativi. Si tratta di frange d’interferenza causate
dalla sovrapposizione di due reticoli. Si possono osservare anche quando in
televisione viene ripreso un vestito con una tessitura macroscopica (come il
Principe di Galles); inoltre sono alla base di certe illusioni ottiche.
Le frange possono essere considerate curve di livello di una funzione reale,
definita sull’oggetto su cui esse appaiono. Un eventuale punto singolare di
una frangia (come quello al centro della Figura 2) è un punto critico di tale
funzione; non solo: la forma della frangia nel suo intorno permette anche
una classificazione del punto critico. La funzione reale talvolta ha un senso
geometrico compiuto, altre volte può rimanere sconosciuta eppure fornirci
indicazioni preziose. Per esempio, l’aspetto delle frange della Figura 2 ci dice
che localmente la superficie esaminata può essere efficacemente approssimata
dal grafico della funzione z = α(x2 − y 2 ) per α reale opportuno.
3
Figura 2: Le frange marezzate di questa figura d’interferenza concretizzano linee di livello della funzione quota, rivelando la deformazione di una
superficie che ad occhio nudo non sarebbe distinguibile da un piano.
In che modo la robotica può utilizzare le frange marezzate? Nella modalità
più frequente, sull’oggetto d’interesse viene proiettato un fitto reticolo, e un
analogo reticolo viene posto davanti all’obiettivo della telecamera. Ovviamente questo procedimento, come ogni altro di luce strutturata, è possibile
solo in un ambiente dove l’illuminazione è totalmente controllata, ed è quindi
tipico della robotica industriale. L’utilità proviene dalla grande sensibilità
alle piccole deformazioni: in particolare i punti critici segnalano posizione e
tipo di difetti di produzione anche microscopici.
Un altro impiego, più sofisticato, si sta facendo strada. La teoria di Morse
[5, 6] è un ramo della topologia che studia le superfici (e più in generale
le varietà) attraverso i punti critici di funzioni definite su di esse. Uno dei
teoremi principali permette la ricostruzione (dal punto di vista topologico)
di una varietà a partire dalla sequenza dei punti critici corredati dai loro
indici. Ma allora le frange marezzate consentono una codifica qualitativa
molto compatta di una superficie su cui siano osservate. Anche questo è un
vantaggio assai apprezzato per un sistema visivo robotico.
4
Punti morti
“Ma se il nostro spazio ha tre dimensioni, che senso ha studiarne di più?”
Quante volte sentiamo questa domanda, spesso pronunciata con aperta ostilità! Eppure lo studio di spazi a più dimensioni è essenziale in robotica; anzi,
non si tratta nemmeno di spazi euclidei, ma di varietà, cioè di spazi solo localmente euclidei. Vale infatti un trucco matematico formidabile: studiare,
invece di un oggetto complicato in uno spazio semplice, un oggetto semplice
(addirittura un punto) in uno spazio complicato. Si fa ricorso allo spazio
delle configurazioni.
4
Figura 3: (a) Un elementare “braccio”. (b) La funzione f dallo spazio delle
configurazioni allo spazio delle posizioni dell’“attuatore finale” Q.
Consideriamo una situazione molto frequente negli attuali robot industriali: un braccio meccanico, articolato mediante diversi giunti, porta alla sua
estremità il cosiddetto “attuatore finale”, cioè, per esempio, un verniciatore,
un saldatore, o altro. La programmazione del braccio ha come obiettivo il
posizionamento (e poi l’attivazione) dell’attuatore finale. Tuttavia, l’unico
modo in cui si può agire sul braccio è la regolazione dei parametri dei giunti;
nel caso più frequente si tratta di angoli. La posizione dell’attuatore finale
è, quindi, un punto del nostro usuale spazio euclideo; la configurazione del
braccio può sı̀ essere rappresentata da un punto, ma non più di questo spazio, bensı̀ di uno spazio astratto (in generale solo localmente euclideo, una
varietà) dotato di dimensione pari al numero di parametri in gioco.
Un esempio particolarmente semplice è dato da un “braccio” molto elementare: una sbarra rigida fissata ad un piano in un suo estremo, attorno a cui è
libera di ruotare. Lo spazio delle configurazioni è una circonferenza, perché
l’unico parametro, un angolo, quando raggiunge 360 gradi è in realtà tornato
a zero. Appena più complicato è un “braccio” formato da due sbarre rigide,
una imperniata al piano, l’altra imperniata alla prima (Figura 3a). Qui i
parametri sono due angoli, e lo spazio delle configurazioni è la varietà prodotto di due circonferenze, lo spazio a salvagente chiamato toro della parte
superiore della Figura 3b.
Il problema, squisitamente geometrico, che ne vien fuori è quello di studiare
la funzione f che ad ogni configurazione C del braccio (nello spazio astratto
dei parametri) associa la posizione Q = f (C) dell’attuatore finale, cioè del
punto terminale della seconda sbarra (Figura 3b). Ci sono più configurazioni
C che producono la stessa posizione Q? (V. la configurazione tratteggiata
5
nella Figura 3a). Com’è fatto il loro insieme? Ce n’è qualcuna, fra queste,
più vantaggiosa delle altre? Un altro problema molto importante, che vado
ora a descrivere, è: questa funzione ha punti critici?
Per la definizione di punto critico, se compiamo variazioni infinitesime dei
parametri del braccio presso una configurazione che costituisce un punto
critico di f , l’attuatore finale si muove in un insieme ridotto di direzioni. Si
tratta della ben conosciuta (e temuta) nozione meccanica di “punto morto”.
Per il toro e il piano, le configurazioni critiche sono quelle disposte lungo le
due circonferenze marcate della Figura 3b: si tratta delle configurazioni in
cui i due segmenti del braccio sono allineati; in un caso sono sovrapposti,
nell’altro sono uno il prolungamento dell’altro: in entrambi i casi, variazioni
infinitesime dei due angoli non potranno produrre altro che movimenti lungo
la direzione ortogonale al braccio stesso.
(
x = ` cos α + m cos β
Esplicitamente, la funzione f è descritta da
, e la
y = ` sin α + m sin β
relativa matrice jacobiana è
Ã
J=
∂x
∂α
∂y
∂α
∂x
∂β
∂y
∂β
!
µ
=
−` sin α −m sin β
` cos α
m cos β
¶
per cui i punti critici sono quelli che annullano il determinante di J, cioè
−`m sin α cos β + `m sin β cos α = `m sin(β − α) da cui β = α + kπ (k intero)
come d’altra parte è intuitivo.
A questo punto, però, nulla vieta di considerare un braccio, sempre piano,
articolato in n segmenti (n = 3, 4, ecc.). Ogni sua configurazione sarà determinata da n angoli; lo spazio delle configurazioni costituisce allora una
varietà di dimensione n, che non riusciamo più a disegnare, ma su cui i calcoli si effettuano ancora senza problemi: la matrice J è ora di tipo 2 × n;
i punti critici si ottengono annullando non uno, ma n − 1 determinanti e
forniscono le configurazioni, corrispondenti ai punti morti.
5
Pianificazione di percorsi
C’è un altro tipo di movimento di un robot, che crea problemi matematici
interessanti: si tratta della navigazione di un robot semovente [3]. L’utilità
di macchine del genere è evidente in applicazioni estreme come la bonifica
susseguente ad un incidente nucleare o chimico, o l’esplorazione del terre6
no marziano o lunare. Il loro impiego, tuttavia, è sempre più frequente in
normali attività industriali.
Il problema della pianificazione di un percorso è normalmente impostato assegnando un obiettivo (cioè un punto) da raggiungere. Un artificio matematico
ampiamente usato (Figura 4) consiste nel dotare l’ambiente di lavoro di un
potenziale, per il quale risulti attrattivo l’obiettivo, e risultino invece repulsivi gli ostacoli [4]. Questi (obiettivo ed ostacoli) sono volutamente costituiti
da punti critici, ma nella estensione automatica del potenziale a tutto lo
spazio di lavoro possono inavvertitamente crearsene degli altri, tipicamente
dei minimi locali. Questi punti critici non voluti costituiscono un notevole
problema: il robot che sfortunatamente vi entri non si muoverà più, senza
alcuna ragione apparente.
Figura 4: Un indesiderato minimo locale di un potenziale per la pianificazione
di percorsi.
Nella Figura 4 è illustrato il potenziale creato dalla presenza di un obiettivo
e di due ostacoli, come somma dei termini repulsivo Urep ed attrattivo Uatt :
( ³
Urep =
1
ρOs
0,
−
1
ρ0
´2
, se ρOs ≤ ρ0
se ρOs > ρ0
Uatt = ρ2Ob
dove ρ0 è il raggio d’azione degli ostacoli, ρOs è la distanza dal robot
all’ostacolo e ρOb è la distanza dal robot all’obiettivo.
Una tecnica di pianificazione di percorsi del tutto diversa consiste nell’alterazione punto per punto della metrica riemanniana: è questa, infatti, che
regola la misura delle lunghezze. Nel piano euclideo essa è costante, ma già
in una carta topografica che rappresenti un ambiente collinare le misure devono essere eseguite con una metrica diversa da quella euclidea. Un trucco
interessante consiste nel modificare la metrica in modo da far calcolare come
più brevi i percorsi preferiti, quelli cioè in cui si minimizzano funzionali che
7
non sono necessariamente la lunghezza, ma possono essere consumo, tempo
di percorrenza, scomodità, ecc.
Anche qui intervengono i punti critici. Lo spazio, ora, è infinito–dimensionale:
è lo spazio i cui “punti” sono tutti i possibili percorsi. Su ogni percorso
il funzionale di nostro interesse fornisce un numero che vogliamo, almeno
rispetto a percorsi vicini, rendere minimo; i percorsi ottimali sono dunque
punti critici per il funzionale. Questa volta, dunque, i punti critici vengono
in nostro aiuto!
6
Conclusioni
Un argomento matematico classico, la nozione di punto critico, si presta ad
essere strumento essenziale per una disciplina giovane e multiforme come la
robotica. La generalità, caratteristica a cui i matematici sono tanto affezionati, è sfruttata appieno: i punti critici possono formare i contorni apparenti
di oggetti, segnalare difetti o facilitare la codifica mediante le frange marezzate, rappresentare i punti morti di un braccio meccanico, costituire fastidiose
trappole o al contrario fornire i percorsi ottimali per un veicolo autonomo.
Le funzioni coinvolte hanno dominı̂ la cui dimensione va da 1 a infinito.
Una volta di più vediamo che vale la pena di studiare, insegnare, inventare la
matematica, ma anche di spingere uno sguardo curioso verso le applicazioni.
Qualche utile parola chiave per ricerche in rete: “moiré”, “computer vision”,
“robot navigation”, “motion planning”, “critical points”, “Morse theory”,
“configuration spaces” e, purtroppo meno fruttifere, le analoghe locuzioni
italiane.
Riferimenti bibliografici
[1] http://world.honda.com/ASIMO
[2] B. Gates, Un robot in ogni casa, Le Scienze 461 (2007), 30–37.
[3] J.–C. Latombe, Robot motion planning, Kluwer Acad. Publ., 1996.
[4] L.–F. Lee, Decentralized motion planning within an artificial potential framework (APF) for cooperative payload transport by
multi-robot collectives, M. Sc. Thesis, SUNY at Buffalo (2004),
http://www.mae.buffalo.edu/Lee/Thesis LengFengLee.pdf
8
[5] A. Maffei, Teoria di Morse e passi di montagna, Archimede 1/2007, 5–14.
[6] J. Milnor, Morse theory, Annals of Math. Studies 51, Princeton Univ.
Press, 1963.
[7] G. Veruggio, Il mare della robotica, Di Renzo Ed., 1999.
Massimo Ferri
Università di Bologna
E–mail: [email protected]
9