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