Capitolo 2

Controllo proporzionale

Quanto forte deve spingere il drone quando è troppo in basso?

Capitolo 2: Controllo proporzionale ↗

Spingi più forte quanto più sei lontano

June: L'ultima volta, con il pacco, il drone si è assestato 25 cm più in basso. Voglio sapere perché.

Theo: La nostra regola aveva due parti: 4,9 N per tenere su il drone, più 8 N per ogni metro di errore. I 4,9 N erano una stima del peso. Appena il pacco ha cambiato il peso, la stima era sbagliata.

Mika: E allora buttiamo via la stima! Niente 4,9. Lasciamo che sia l'errore a fare tutto il lavoro: spingi in proporzione a quanto sei lontano.

È il controllore più famoso che esista, il controllo proporzionale ("controllo P" per gli amici):

T=Kp e=Kp (r−h)\eff{T} = K_p \, \err{e} = K_p\,(\sp{r} - \out{h})

KpK_p è il guadagno: quanti newton di spinta aggiungi per ogni metro di errore. Si misura in newton al metro (N/m). KpK_p grande vuol dire un controllore impaziente, KpK_p piccolo uno rilassato. È l'unica manopola che abbiamo in questo capitolo.

Prima indovina! Prendi Kp=5K_p = 5 N/m. Il drone parte da terra e punta ai 2 m. A che altezza finisce per restare sospeso?

Capitolo 2: Controllo proporzionale ↗

Guarda la linea blu punteggiata: è l'altezza a cui il drone finisce sospeso, ed è sempre sotto l'obiettivo. Lo scarto si chiama errore a regime, o semplicemente abbassamento.

Theo: È un tiro alla fune. La gravità tira giù con 4,9 N, sempre. L'unico modo in cui il controllore può rispondere con 4,9 N è se resta un po' di errore da moltiplicare.

T=peso⟹Kp e=4,9⟹eabbass.=4,9Kp m\begin{aligned}\eff{T} &= \text{peso} \\ \Longrightarrow K_p\,\err{e} &= 4{,}9 \\ \Longrightarrow \err{e}_{\text{abbass.}} &= \frac{4{,}9}{K_p}\ \text{m}\end{aligned}

Ora porta KpK_p giù a 2 N/m. Il drone non si stacca nemmeno da terra! A terra l'errore è 2 m, quindi la spinta è solo 2×2=42 \times 2 = 4 N, meno dei 4,9 N di peso. La formula dice che dovrebbe abbassarsi di 2,45 m, cioè sottoterra.

Alziamolo e basta!

June: Soluzione facile: più guadagno è sempre meglio. KpK_p più grande, abbassamento più piccolo. Al massimo!

Mika: Ci penso io. Potenza massima: Kp=60K_p = 60!

Capitolo 2: Controllo proporzionale ↗

Mika: Abbassamento ridotto a 8 cm! Dopo qualche secondo è praticamente a 2 m. Vittoria!

Theo: Mika… guarda i primi due secondi. È schizzato su fino a circa 3,4 metri, ben oltre l'obiettivo. E guarda la spinta: 120 N al decollo, poi tira giù, poi di nuovo su. Quello non è stare sospesi, è rimbalzare.

Mika: Oh. Ho guardato solo dove finiva. L'area rossa dell'errore all'inizio è enorme.

Ecco l'errore di Mika: giudicare un controllore solo da dove si assesta alla fine. Come ci arriva conta altrettanto. Prova qualche guadagno e guarda il fantasma sbiadito della prova precedente:

  • Guadagno basso (KpK_p piccolo): delicato, ma si abbassa parecchio. Scendi abbastanza e il drone non decolla mai.
  • Guadagno alto (KpK_p grande): abbassamento piccolo, ma fa sovraelongazione (schizza oltre il punto in cui si assesterà) e oscilla prima di calmarsi.

June: Perché spingere più forte dovrebbe farlo ballare?

Theo: Una spinta grande lo fa partire veloce. Quando arriva all'altezza giusta sta ancora andando forte, e niente nella nostra regola dice "rallenta, ci sei quasi". Solo l'attrito dell'aria lo frena un pochino. Così tira dritto, viene rispinto indietro, tira dritto di nuovo…

Una sfida

Cerchiamo il punto giusto. Il drone passa se si abbassa meno di 20 cm e ha una sovraelongazione sotto il 30% (la misuriamo come quanto schizza sopra l'altezza a cui alla fine si assesta). Trova un KpK_p che faccia entrambe le cose.

Capitolo 2: Controllo proporzionale ↗

Mika: Le zone verdi non si sovrappongono mai! Per l'abbassamento serve KpK_p sopra 24,5 circa, per la sovraelongazione sotto 3,9 circa. Non c'è una risposta.

Theo: Perché una sola manopola controlla entrambe le cose, e le tira in direzioni opposte. Non è che non abbiamo trovato il numero giusto. Non esiste. Ci serve un tipo di controllore migliore.

June: Per progettarne uno migliore, dobbiamo parlare delle oscillazioni come si deve. "Lento", "saltellante", "prima o poi si calma"… sono sensazioni, non fisica.

Cosa sappiamo finora

Cosa abbiamo capito

  • Controllo proporzionale: spinta = Kp×K_p \times errore. Una sola manopola, il guadagno KpK_p (N/m).
  • Contro la gravità, il controllo P lascia sempre un errore a regime (abbassamento) di 4,9/Kp4{,}9 / K_p m: deve restare un po' di errore per produrre la spinta che tiene su il drone.
  • Guadagno basso vuol dire grande abbassamento e risposta lenta. Guadagno alto vuol dire abbassamento piccolo, ma sovraelongazione e oscillazioni.
  • "Più guadagno è sempre meglio" è falso. Per il nostro drone, nessun KpK_p dà insieme abbassamento piccolo e sovraelongazione piccola.

Lento. Oscillante. Va oltre. Si assesta. Continuiamo a descrivere come le cose cambiano nel tempo con parole vaghe. Ci serve un vero linguaggio del cambiamento.

Capitolo 2: Controllo proporzionale ↗