Lezione del 9 Marzo

Dalle considerazioni della lezione precedente, in base alle quali si può assumere che la traiettoria seguita dal robot è quella percorsa dal suo centro del moto, l'equivalenza fra controllo del moto del robot e controllo di velocitè e sterzata del suo centro del moto è alla base della definizione stessa di roboticle. Dunque, dal punto di vista attuativo il roboticle è il veicolo mobile ridotto ad un punto, che gode della proprietà di esserne il suo centro del moto.

Tuttavia, il modello dei roboticle deve contenere esplicitamente la reazione dell'ambiente al movimento perchè è questo ciò che accade nel caso del moto reale dei robot. Pertanto, mentre per il punto materiale la quantità scalare δP risulta identicamente nulla ciò non è vero, in generale, per il roboticle. Il significato da assegnare a tale grandezza è quello di perturbazione percettiva e il suo effetto richiesto è quello di perturbare, a sua volta, il movimento sintetizzato dall'unità di governo, con l'intento di stabilizzarne la traiettoria verso quella nominale.

Moto Conservativo

Si noti che la definizione stessa di perturbazione percettiva non consente di considerarla una forma differenziale esatta, cosicchè la perturbazione subita dal roboticle lungo un arco finito di traiettoria dipende dalla traiettoria stessa. E' possibile, tuttavia, ricondurre la stessa ad un differenziale esatto pur di scegliere le componenti della velocità in modo che queste risultino le derivate parziali di una funzione scalare assegnata. Si può facilmente verificare che se si prendono tali componenti nel modo seguente

dove U(x,y) è una data funzione scalare, che prende il nome di energia interna del roboticle, allora la perturbazione percettiva è determinata solamente dalla differenza dei valori presi da U(x,y) agli estremi della traiettoria.

Non è difficile rendersi conto che la U(x,y) gioca lo stesso ruolo della funzione di Hamilton nella formulazione hamiltoniana della Meccanica. Come è noto, il valore costante E assunto da questa funzione, in corrispondenza di una data traiettoria del punto materiale, rappresenta la sua energia.

Nel caso di moto conservativo, inoltre, l'energia interna del roboticle gode di una proprietà molto interessante che è quella di definire implicitamente la traiettoria nominale del roboticle. Si è visto, infatti, che sotto quest'ipotesi la perturbazione percettiva è nulla, il che ci permette di riscrivere la sua definizione esplicitandone il valore nullo a secondo membro

ossia, riarrangiando i termini,

per riottenere la legge della dinamica che stabilisce istante per istante la nuova posizione del veicolo a partire da quella attuale.

E' possibile, tuttavia, determinare la traiettoria senza la preventiva integrazione delle equazioni del moto partendo dalla penultima delle precedenti e la cui integrazione è resa agevole dall'ipotesi che questa sia un differenziale esatto non contenente alcuna variabile temporale. In questo modo, il valore costante assunto da questa, in corrispondenza di ogni particolare traiettoria fa si che l'espressione

U(x,y) = U0

definisca un integrale primo del moto, essendo U0 il valore costante che l'energia interna assume durante tutto il moto del roboticle.

Affinchè tale proprietà sia applicabile è necessario che sia identicamente soddisfatta la relazione che si ottiene eguagliando le derivate incrociate dei termini differenziali. Questo significa richiedere che sia verificata la seguente eguaglianza

dalla quale discende che esiste una funzione scalare U(x,y) tale che le componenti del campo di velocità sono esprimibile come derivate parziali secondo quanto precedentemente stabilito, cosiccè la traiettoria è una isolivella della superficie definita dalla funzione U(x,y).

I sistemi che soddisfano questa condizione si dicono hamiltoniani, o conservativi, perchè sono caratterizzati dalla costanza di U, che prende il nome di energia del sistema.

Moto Dissipativo

Quando si è in presenza di moto conservativo la funzione U(x,y) è formalmente simile all'hamiltoniana della Meccanica ma con un ruolo completamente diverso. Infatti, nel caso della dinamica dei roboticle le isolivelle dell'energia interna sono le traiettorie descritte durante il movimento mentre nella Meccanica le superfici a energia costante definiscono implicitamente quello che si può definire il motore del movimento del punto materiale.

Infatti, i sistemi meccanici si possono considerare, a tutti gli effetti, sistemi dinamici caratterizzati da stati d'equilibrio ciclici per i quali le traiettorie chiuse nello spazio delle fasi hanno la proprietà di trasformare continuamente energia cinetica in energia potenziale e viceversa, facendo si che la loro somma rimanga costante lungo la traiettoria, "intesa come traiettoria nello spazio delle fasi, sia come traiettoria effettivamente percorsa nello spazio fisico".

Nella Meccanica, dunque, il fabbisogno energetico necessario a sostenere il moto è nullo purchè non si considerino fenomeni dissipativi dovuti all'attrito. Questo discende dal fatto che, nella Meccanica, sono le forze a giocare un ruolo determinante nello stabilire le caratteristiche del moto, attraverso l'equazione fondamentale della dinamica che lega linearmente l'accellerazione prodotta e la forza applicata al punto materiale.

Seguendo questa corrispondenza è altresì noto come gli integrali primi del moto siano fondamentali nel determinare qualitativamente le proprietà della traiettoria del punto materiale. Fra questi, l'Energia ed il Momento della quantità di moto hanno un ruolo decisivo.

Anche nel caso della dinamica dei roboticle si può procedere in modo simile tenendo presente, però, che le forze non agiscono sull'accellerazione ma sulla velocità. Mutuando un concetto analogo, già utilizzato in Meccanica, possiamo dire che quando un robot particellare si muove sotto l'azione della legge dinamica a partire da un punto iniziale <x0, y0>, consuma una certa quantità di energia.

Possiamo supporre che il robot abbia ricevuto una quantità iniziale di energia, dipendente dalla sua posizione iniziale, e che questa si possa consumare in conseguenza dello sforzo compiuto dai suoi attuattori nel muoverlo lungo la traiettoria. Naturalmente non c'e alcun legame diretto con la naturale dissipazione di energia elettrica della batteria che alimenta i motori elettrici delle ruote motrici.

La nozione di energia, assunta in questo contesto, non è direttamente collegabile alla sua controparte meccanica che, come è stato più volte sottolineato, deve mettersi piuttosto in relazione con l'energia interna del roboticle. Riprendendo la relazione che esprime Vds, già vista in precedenza, potremmo dare la seguente definizione

Si dice sforzo sostenuto dagli attuatori per consentire che il robot si muova con velocità V lungo un arco di traiettoria di lunghezza ds, il prodotto Vds.

Si noti che lo sforzo lungo un arco finito di traiettoria è espresso da un integrale di linea il cui valore, in generale, dipende dalla traiettoria lungo la quale l'integrale viene valutato. Affinchè la seguente espressione

Vds = udx + vdy

dipenda solamente dal punto iniziale e finale della traiettoria è necessario richiedere che la precedente sia un differenziale esatto e questo è possibile solamente se è verificata la seguente eguaglianza.

Sotto quest'ipotesi esiste una funzione scalare F(x,y), che prende il nome di funzione di dissipazione, per mezzo della quale le componenti del campo vettoriale di velocità sono esprimibili come derivate parziali nel modo indicato di seguito

Quando la traiettoria seguita dal roboticle è governata da una dinamica di questo tipo, si parla di moto dissipativo, ed ha la proprietà di avvenire secondo le linee di massima pendenza rispetto alle isolivelle della superficie F(x,y). Si noti anche che, nel caso di moto dissipativo, la traiettoria percorsa dal roboticle avviene sempre nella direzione in cui la F decresce. Risulta, infatti, calcolando la derivata totale di F rispetto al tempo lungo la traiettoria

dopo aver sostituito le derivate che ivi compaiono con le componenti del campo vettoriale di velocità. Dalla precedente segue immediatamente, essendo la derivata temporale negativa, che durante il moto la funzione F è sempre decrescente ed, inoltre, il moto si arresta in un punto di minimo (attrattore) della F mentre si allontana rapidamente dai suoi massimi ( repulsori ).

Energia

Contrariamente al caso della Meccanica il ruolo dell'energia nel movimento del roboticle è svolto da un'ulteriore grandezza che, in generale, non si conserva durante il moto ma viene dissipata con un meccanismo analogo a quello del livellamento della temperatura nell'interazione sistema-ambiente considerato dalla Termodinamica.

Per arrivare alla definizione dell'energia nell'ambito dei roboticle conviene partire dalla forma più generale che può avere la sua legge di controllo del moto e che si ottiene sovrapponendo al moto conservativo una componente dissipativa. In questo senso la legge della dinamica per il moto del roboticle

generalizza quella del punto materiale della Meccanica, proprio per la presenza contemporanea della funzione di dissipazione F e dell'energia interna U e il cui effetto è quello di produrre due distinti campi vettoriali di velocitè che, sommati fra loro, danno luogo alla dinamica complessiva. Va comunque ricordato che la decomposizione, espressa dalla precedente, è sempre possibile in virtù del fatto che le condizioni di massima dissipazione e di stazionariet&grave sono ortogonalmente indipendenti.

DISSIPAZIONE

La presenza di una componente dissipativa nel moto si traduce nella perturbazione percettiva δP la quale non si presenta come un differenziale esatto a meno che non si introduca la funzione scalare E(x,y) per esprimere δP nella forma

avendo indicato con dS il differenziale di una nuova funzione scalare incognita S(x,y).

Con un procedimento ben noto in Analisi, l'inversa della funzione E(x,y) prende il nome di fattore integrante per la proprietà di rendere dS un differenziale esatto. Infatti, se si divide ciascun termine della relazione, che esprime la perturbazione percettiva, per E(x,y) risulta

dopo aver esplicitato le componenti del campo vettoriale di velocità. Affinchè quest'ultima sia effettivamente un differenziale esatto è necessario che le derivate incrociate siano uguali per cui è immediato ottenere la condizione riportata di seguito

ossia, eseguendo le derivazioni indicate e moltiplicando tutti i termini per il fattore E2,

che scriveremo nella forma sintetica

come equazione differenziale, alle derivate parziali, determinatrice di E. Il termine σ, che compare a secondo membro, viene detto fattore di dissipazione ed è definito come la metà della divergenza del campo di velocità

Le ultime due relazioni giustificano il nome energia attribuibito alla funzione E(x,y). Si ha, infatti, considerando la dinamica di E(x,y) lungo una traiettoria,

dopo aver sostituito le componenti del campo di velocità con le omologhe derivate temporali della posizione. Il primo termine rappresenta la derivata totale di E rispetto al tempo, cosicchè l'equazione differenziale

stabilisce la dinamica di variazione dell'energia in funzione del fattore di dissipazione. Ed è proprio in virtù di quest'ultima che la funzione scalare E(x,y) assume il significato di energia totale del sistema agente-ambiente in cui il roboticle è inserito.

Una volta determinata l'espressione dell'energia che, in generale, non si conserva lungo la traiettoria, è possibile scrivere la seguente forma differenziale

dalla quale è immediato ottenere le epressioni differenziali che danno luogo alla legge della dinamica

a partire dalla famiglia di traiettorie S(x,y) = k. La possibilità di esprimere la legge della dinamica di un roboticle mediante le precedenti ha di per se un significato molto importante perchè consente la sintesi del controllo a partire dalla traiettoria, implicitamente espressa dalla funzione S(x,y), e dal modo con cui tale traiettoria viene effettivamante percorsa e che dipende dall'assegnazione dell'energia E(x,y). Non esiste, dunque, un unico modo di percorrere una traiettoria ma una molteplicitagrave infinita di modi per tracciarla, ciascuno direttamente correlato ad una specifica energia totale del sistema agente + ambiente.

Realizzazione degli Schemi

Riprendiamo ora in esame l'implementazione degli schemi dovuta ad Arkin, basata sull'interpretazione dello spazio percettivo mediante un campo potenziale responsabile di forze attrattive e repulsive esercitate sul robot dagli oggetti presenti nell'ambiente. Consideriamo ciascun comportamento primitivo, ossia lo schema motore, indipendentemente dagli altri e, poichè le grandezze in questione riguardano la distanza e la direzione di avanzamento del robot rispetto alla posizione dell'ostacolo, è conveniente utilizzare coordinate polari.

Si tratta, allora, di prendere in esame un roboticle in movimento attorno ad un ostacolo, posizionato al centro di un sistema di riferimento di coordinate polari al quale assegnare una funzione di dissipazione e un'energia interna entrambi dipendenti solo dalla distanza fra il roboticle e l'ostacolo in questione. Sotto queste ipotesi le equazioni del moto prendono la forma semplificata seguente

nelle quali sono state aggiunte anche le relazioni che legano le variabili di stato con la velocità e la direzione di avanzamento del roboticle. Applicando i risultati appena ottenuti sull'energia alle precedenti risulta immediatamente
dalla quale appare chiaramente che l'energia totale e la traiettoria del roboticle in questione sono esprimibili da
con l'ausilio delle quali è facile ottenere la caratterizzazione in termini di roboticle degli schemi motori di Arkin. Gli esempi riportati nel seguito si riferiscono a schemi in cui è presente soltanto la componente di risposta dovuta alla funzione di dissipazione. Ciò deriva dal fatto che nell'approccio di Arkin l'azione motoria è determinata solo dal campo di potenziale corrispondente, nel modello dei roboticle, proprio alla funzione di dissipazione.

MOVE-TO-GOAL

Questo comportamento elementare è caratterizzato solamente da una funzione di dissipazione che cresce linearmente con l'aumentare della distanza del roboticle dall'obiettivo. Quindi, a partire dalle grandezze scalari

è immediato ottenere le seguenti relazioni per la dinamica del roboticle
in virtù delle quali è facile ricavare le note relazioni per il calcolo del vettore velocià
che rappresenta una risposta in velocità costante diretta costantemente verso il target, come richiesto dal comportamento in esame. L'equazione della traiettoria è immediata; infatti per essere identicamente nulla la componente conservativa, si trova che le traiettorie sono rette passanti per l'origine ossia, nel caso specifico, la semiretta congiungente il roboticle con il target.

AVOID-STATIC-OBSTACLE

Anche in questo secondo esempio di schema motore primitivo è presente solamente la componente dissipativa che, rispetto al caso precedente, è espressa da una funzione quadratica della distanza.

In essa la costante di tempo ϊ è legata alla velocità media che il roboticle impiega nel coprire la distanza a - rc.

Proseguendo analogamente al caso precedente è immediato ottenere le equazioni della dinamica per il roboticle in questione

grazie alle quali si possono scrivere le relazioni per il controllo in velocità dello schema motore corrispondente. In questo caso si è come direzione di avanzamento quella che allontana il roboticle dall'ostacolo.
Per ottenere la formula dovuta ad Arkin del comportamento motorio è sufficiente introdurre la velocità media c per coprire lo spazio di allontamento dalla sfera di influenza dell'ostacolo mobile
da cui segue immediatamente, ricavando τ e sostituendo,
la ben nota formula di Arkin del comportamento di anticollisione rispetto ad un ostacolo fisso, dove a rappresenta il cosiddetto raggio di influenza mentre con rc si intende il raggio d'ingombro dell'ostacolo.

TURN-AROUND

Si tratta di uno schema motore primitivo, utilizzato da un robot mobile che intende interpretare un ostacolo fisso come una boa di guida e, per questo, ruotarvi parzialmente attorno. In questo caso, piuttosto che la componente dissipativa, viene impiegata una componente conservativa espressa, pur essa funzione quadratica della distanza

cosicchè le equazioni della dinamica assumono la forma
da cui è immediato ottenere le relazioni per il calcolo della risposta dello schema motorio in termini di modulo di velocità e direzione