CONTROLLO
tecnica
Automazione e Strumentazione
Giugno/Luglio 2016
89
Sistema di controllo
Successivamente si sono affrontate
problematiche di tipo com-
portamentali
, come il path-following, l’elaborazione dei dati pro-
venienti dai sensori, e l’aggiramento degli ostacoli, che costitui-
scono la logica del sistema.
Per il path-following si è scelto di assumere la traiettoria già data
come un insieme di punti,
waypoint
(che, in uno scenario di uti-
lizzo ideale, verranno forniti da una stazione di controllo a terra,
che consiste in un dispositivo sul quale viene installato un sof-
tware di mission planning); questi punti rappresentano delle tappe
intermedie per arrivare ad un goal principale, o semplicemente da
seguire per monitorare una determinata area. Nel seguire tale traiet-
toria l’UAV riceve in input i dati dei sensori, relativi all’ambiente
circostante e alla localizzazione, e li elabora al fine di
evitare collisioni. Sostanzialmente ciò che ne deriva è
un
controllore
composto da due
macro-funzionalità
:
- Strategie di navigazione e anticollisione;
- Acquisizione ed elaborazione dei dati sensoriali.
Queste due macro-funzionalità collaborano tra loro e
operano in parallelo.
La prima è quella che si occupa
del movimento effettivo del drone
, mentre la seconda
rappresenta una specie di ‘assistente di volo’.
Per la strategia di navigazione, si è scelto di
scom-
porre il problema del path-following in una serie
di problemi di navigazione punto-punto
, muo-
vendo semplicemente il quadrirotore da un punto
iniziale A ad un punto finale B. Nel caso in esame
l’ambiente considerato è tridimensionale, quindi
bisogna considerare anche variabili come l’angola-
zione e l’altezza. Un drone dispone di una velocità
lineare lungo ogni asse del sistema di riferimento
3D, ovvero
X
,
Y
e
Z
, e per ognuno di essi ha anche una velocità
angolare. Riportandosi ad un sistema bidimensionale, e quindi
considerando solo le ascisse e le ordinate, per permettere al
robot di muoversi nella giusta direzione è necessario calcolare
le
componenti velocità
da dare ai due differenti assi. Per fare
ciò è necessario conoscere l’angolo
ș
che forma il segmento tra
i due punti e l’asse
X
.
Una volta ottenuto tale angolo, è possibile ottenere le componenti
velocità che permettono al drone di muoversi nel verso deside-
rato. Ottenendo
xVel = v
ș
e
yVel = v
ș
dove
v
è la
velocità. Il drone ha una base
omnidirezionale
, ciò significa che,
a differenza di un’auto o un elicottero, può muoversi in qualsiasi
direzione senza necessità di girarsi frontalmente verso l’obiettivo.
Ciò grazie al fatto che dispone di
sei gradi di libertà
: beccheggio,
imbardata, rollio,
x
(movimento nella direzione frontale del veli-
volo),
y
(movimento verso il lato sinistro del veicolo) e
z
(altitudine).
In questo caso, però, si è scelto di usufruire dell’omnidirezio-
nalità del sistema solo per alcune operazioni, poiché, i sensori
a bordo del drone sono fissi ed hanno un fronte e un retro, e
così di conseguenza,
anche il telaio ha una direzione di volo
‘preferibile’, cioè quella dettata dal fronte dei sensori
. Que-
sta scelta poteva essere evitata montando i sensori su bracci
rotanti, o aggiungendo più sensori dello stesso tipo, ma ciò
avrebbe aumentato il peso dell’equipaggiamento e i costi com-
putazionali. La conseguenza è la necessità di far in modo che
il quadrirotore, prima di muoversi in una direzione, sia girato
frontalmente verso il goal. Per farlo è sufficiente imbardare il
drone finché l’
angolo di yaw
, ovvero l’angolo formato ruotando
intorno all’asse
Z
, non sia pari a
ș
.
Una volta posizionato correttamente, il drone è pronto a partire.
Si procede quindi dritti verso il goal, ed è proprio in questa fase,
che entra in gioco la
seconda funzionalità del controllore
,
ovvero l’acquisizione dei dati dai sensori. Primo tra tutti, il GPS.
Esso ci fornisce continuamente la posizione del drone, in modo
da calcolare ripetutamente la direzione, avendo così la possibi-
lità di una
correzione continua
se, ad esempio a causa del vento,
il velivolo si dovesse spostare dalla traiettoria, e soprattutto per
calcolare il raggiungimento del goal. Ad ogni istante si aggiorna
la posizione e si controlla se si è raggiunto il goal, considerando
anche un margine di errore dal punto preciso, dato dall’errore dei
ricevitori GPS, e si ricalcola l’angolo
ș
con la posizione attuale,
in base a tali calcoli si effettuano rotazioni o spostamenti tali da
ricondursi verso l’obiettivo. Il controllore, riceve dalla stazione
base il path globale come una lista di punti (goal), raggiunto il
primo punto, si passa al successivo, e così via.
Per decidere se e quando la percezione di un oggetto costitui-
sce un rischio di collisione, ci si ispira al principio di funzio-
namento di quella che in geometria computazionale è chiamata
Motion Planning
. La quale, consiste nel progettare spostamenti
per un robot (che è possibile rappresentare con una qualsiasi
forma geometrica, ad esempio con un disco) per muoversi in un
ambiente senza collidere. Secondo tale tecnica, la domanda che
ci si pone è:
‘Il robot può passare tra due poligoni?’
.
Il sensore laser effettua delle scansioni ed il suo output non è
altro che una serie di distanze. In linea di massima, se le distanze
Figura 2 - Gradi di liberà del quadrirotore