Ho un semplice servosistema che utilizza un controller PID implementato in una MCU per eseguire il feedback. Tuttavia, le proprietà del sistema cambiano in modo dinamico e quindi i parametri PID non possono mai essere regolati per tutte le circostanze.
Il mio robot è un braccio leggero con motori elettrici a guida posteriore, simile a questo:
Il braccio svolge diverse attività, tra cui la raccolta di pesi pesanti, la spinta e il tiro di oggetti attraverso la scrivania. Ognuna di queste attività richiede parametri di ottimizzazione PID diversi che non riesco a prevedere facilmente.
Quello che mi piacerebbe davvero è per alcune funzioni di livello superiore che possono regolare attentamente i parametri in risposta al comportamento del braccio. Ad esempio, se nota che il braccio oscilla, potrebbe ridurre P e aumentare D. O se notasse che il braccio non stava raggiungendo il suo obiettivo, potrebbe aumentare I.
Esistono tali algoritmi? Sarei felice anche se l'algoritmo non perfezionasse immediatamente i parametri. Ad esempio, il braccio potrebbe oscillare alcune volte prima che i parametri fossero adeguati ai loro nuovi valori.