PID Tuning & C. - Come settare i parametri del vostro Multiwii - BaroneRosso.it - Forum Modellismo

Torna indietro   BaroneRosso.it - Forum Modellismo > Categoria Robotica, droni, fpv e multicotteri ad esclusivo uso amatoriale. > Modelli Multirotori costruzione e progettazione


Rispondi
 
Strumenti discussione Visualizzazione
Vecchio 28 marzo 11, 01:21   #1 (permalink)  Top
User
 
L'avatar di jhoexp
 
Data registr.: 25-01-2009
Residenza: Torino
Messaggi: 2.574
Invia un messaggio via ICQ a jhoexp
Post PID Tuning & C. - Come settare i parametri del vostro Multiwii

PID Tuning, ovvero come ottimizzare i parametri P - I - D del vostro Multiwii.

Un buon riferimento (in inglese) per fare pid tuning è la guida di Aeroquad, nella quale Ted Carancho spiega come fare un primo setup al banco:
AeroQuad Forums - PID Tuning Your AeroQuad

Alcune premesse:
- Fare il settaggio al banco, con un multirotore vicino al porprio viso/mani ecc... può essere pericoloso. Cercate di non farvi male e tagliarvi o cavarvi un occhio mentre fate queste prove.
Operate sempre in sicurezza, tenendo il mezzo saldamente in modo che non possa scappare, specialmente alla prima accensione, per verificare che i motori girino tutti nella direzione prevista e che le eliche siano state montate correttamente.
Se il quad ha improvvise reazioni e tenta di inclinarsi, spegnete subito il mezzo e controllate orientamento dei sensori/verso di rotazione dei motori e tipo di elica.

- Per un mezzo ben montato (senza problemi di vibrazioni o di elettronica) e dimensioni standard (bracci da 18/25cm) i parametri di default del Multiwii sono molto conservativi. Si possono quindi alzare moltissimo per avere un mezzo più stabile in hovering e nei movimenti lenti, e successivamente lavorare sul rate di diminuzione del pid per rendere il mezzo più veloce e reattivo per manovre veloci e movimenti rapidi.

Il parametro P (Proporzionale) è il GAIN, ovvero la potenza con cui i giroscopi interverranno. Più è alto e più i giroscopi influiranno sui motori cercando di correggere l'assetto del quad.
E' importante che sia il più alto possibile per avere un quad molto stabile, ma non deve essere eccessivo, altrimenti il mezzo sovracompenserà le variazioni di assetto e non sarà in grado di recuperare le oscillazioni, anzi ne causerà lui stesso.
Si deve lavorare prima di tutto su questo parametro (cercando di alzarlo a step di 0.5 - 1 unità) per trovare un valore ottimale intorno al quale fare poi piccoli aggiustamenti.
Al banco, tenendo saldamente il quad da sotto in modo che non possa scappare o farvi male, ma lasciandogli la possibilità di muoversi senza forzarlo eccessivamente, portate i motori quasi all'hovering (deve sostenere la maggior parte del suo peso autonomamente) e cercate di inclinare il mezzo con le mani.
Questo deve risultare "duro" da muovere, contrastando il movimento che gli si vuole imporre. Il P va alzato finchè il mezzo è sufficientemente "duro" da spostare ma non vibra o innesca oscillazioni quando viene forzato. Se inizia ad oscillare, dovete ridurre il P finchè il fenomeno sparisce. Scuotendolo vistosamente non deve mostrare la tendenza ad amplificare l'oscillazione.

Il parametro D (Derivativo) ha influenza sulla velocità con il quale i giroscopi interverranno e quindi nei transitori, sui passaggi dal volato all'hovering, sui cambiamenti di assetto veloci e continuativi. Per comodità è ora un valore positivo sulla gui, mentre in realtà è un valore negativo nel filtro.
Va generalmente aumentato proporzionalmente al P, in passi di 2-5 unità per cercare di rendere il quad più sincero nel volo e meno soggetto ad oscillazioni.
Per ottimizzarlo al banco, quando avete finito di settare P, provate a scuotere il quad, colpendolo leggermente da sotto su un braccio. Questo deve ritornare in posizione smorzando il colpo in fretta, senza oscillare. Se rimbalza un po' od oscilla, alzate il D finchè l'oscillazione non viene smorzata efficacemente. (Provate anche valori estremi di D, troppo alti e troppo bassi, per capire come lavora, e poi cercate il valore corretto)

Il parametro I (Integrale) ha influenza sulla durata e sulla persistenza con cui il quad compensa le variazioni di assetto, cercando di mantenere l'angolo impostato dagli stick.
Va modificato con cautela e in piccoli passi di 0,05 unità, durante le prove al banco, cercando di evitare che induca oscillazioni ad alta frequenza durante le piccole correzioni col mezzo in hovering. Più e alto e più a lungo la correzione in caso di disturbo esterno (tipo folata di vento) viene mantenuta.
Questo parametro determina quanto il mezzo tenderà a mantenere l'angolo di inclinazione voluto, più è alto e più il mezzo tenderà a rimanere nella posizione comandata dal pilota.
Con le nuove versioni del codice è possibile alzarlo molto di più rispetto a prima, avendo un mezzo molto più insensibile ai disturbi esterni e che mantiene meglio l'inclinazione voluta.
Il codice multiwii non ne tiene conto nei movimenti veloci, per evitare problemi.
__________________
Johnny
(GTE - Torino)
Out of sight, NOT out of mind.

Ultima modifica di jhoexp : 28 marzo 11 alle ore 01:31
jhoexp non è collegato   Rispondi citando
Vecchio 28 marzo 11, 11:26   #2 (permalink)  Top
Sospeso
 
Data registr.: 20-09-2005
Messaggi: 8.000
Grazie Jhoexp, metto in evidenza il 3d e nel caso volessi fare aggiunte o modifiche dammene notizia cosi' almeno la prima pagina rimarra' sempre aggiornata.
Se riusciamo a non parlare delle ricette della zia maria tanto meglio.
Questo settaggio nasce principalmente per l'uso sulla Multiwii, ma si adatta in parte anche ad altri sistemi.
Per divagazioni o domande specifiche sul progetto MUltiWii vi pregherei di accodarvi al 3d principale:
http://www.baronerosso.it/forum/mode...nsori-wii.html

Grazie ancora G.
biv2533 non è collegato   Rispondi citando
Vecchio 04 aprile 11, 15:42   #3 (permalink)  Top
User
 
L'avatar di arnaldo
 
Data registr.: 05-10-2008
Residenza: Modena-Lecce
Messaggi: 2.209
E' giusta come procedura, prima di settare il P portare il D a 0?
in questa maniera si potrebbe osservare l effetto del P senza offuscarlo con il parametro D(che ad esempio su Multiwii di default è gia 15), le oscillazioni si osserverebbero subito e il passo tra P molto alto e P troppo basso sarebbe piu marcato.
arnaldo non è collegato   Rispondi citando
Vecchio 05 aprile 11, 20:05   #4 (permalink)  Top
User
 
L'avatar di ciskje
 
Data registr.: 15-01-2009
Residenza: Cuneo
Messaggi: 2.248
Citazione:
E' giusta come procedura, prima di settare il P portare il D a 0?
Non proprio, questo perchè una volta trovata la P estrema, se poi alzi D il comportamento cambia, è solo un metodo per trovare almeno il valore di base di P, ma questo non vuol dire che non dovrai più toccarlo.

Il parametro I è semplice da capire, in pratica è un trim automatico, somma lentamente l'errore attuale e genera un offset cumulativo.
Esattamente cosa faremo noi col trim e I a 0.
Attenzione anche che un valore basso di I non significa che interviene poco, vuol dire che il trim ci mette tanto ad alzarsi ma anche ad abbassarsi, è lento a cambiare.
Un valore troppo alto di I invece innesca tipicamente delle oscillazioni "circolari" abbastanza rapide ma di piccola intensità. Come se muovessimo il trim ad ogni manovra.

Per chi volesse approfondire basta dare un occhiata alle regole di ziegler nichols:
Controllori PID - Wikipedia.
__________________
Informatico Professionista, Amante dei 4x4 e delle auto ibride, costruttore di quadricotteri.

Ultima modifica di ciskje : 05 aprile 11 alle ore 20:13
ciskje non è collegato   Rispondi citando
Vecchio 24 aprile 11, 10:07   #5 (permalink)  Top
User
 
L'avatar di Perryosio
 
Data registr.: 11-06-2010
Residenza: prov. BG
Messaggi: 383
Immagini: 4
Settaggio riuscito

Seguendo i consigli di Johexp (soprattutto quelli dati a voce) è stato possibile alzare sensibilmente i valori con evidenti vantaggi .

Prima il tricottero (si tratta di un tricottero in legno, con bracci di obece rinforzato con nastro fibrato ed attacchi, sia centrale che dei motori, in profilato di alluminio, motori Towerpro). Precedentemente volava con P intorno a 2,6, dopo i consigli di Joh sono arrivato senza problemi a P=6 (6,1) e D=25. In questo modo è talmente stabile che è possibile tenere il tricottero, da 90cm di ingombro a volare sicuro in salotto, quasi come se fosse appeso al lampadario.
Anche sugli altri due, i quad, a x e + PID aumentati, con P intorno a 6 e stanno in aria molto, molto + stabilmente, pronti per le riprese aeree o l'FPV.
E tutto senza intervenire sulle strutture dei frames

Un consiglio (grazie JOHEXP) che è meglio iniziare ad aumentare il valore D prima di aumentare il valore P, cioè:

aumentare il D di 5;

verificare la stabilità (in mano... si dice a banco?);

se tutto ok allora aumentare il P di 0,5

verificare la stabilità

e così via di nuovo col D fin quando tutto va bene; se cominciano ad esserci dei comportamenti ballerini bisogna tornare al valore di massima stabilità.

il valore di I per ora non l'ho toccato, vedremo in seguito se servirà.

Adesso invece il problema è che non riesco ad utilizzare versioni Multiwii sopra la 1.5 a causa di problemi di comunicazione tra USB con il PC. Utilizzo delle schede autocostruite, assemblate in casa con ATMEGA 328P, che volano benissimo e comunicano benissimo con il pc, ma solo fino alla la versione 1.5. Sopra, se uso la GUI non è possibile impostare i valori. In pratica prende valori stranissimi sia di PID che tutte le altre regolazioni, ed è impossibile quindi dare un settaggio alla Multiwii; inoltre è evidente la lentezza con cui comunica con il pc.
Perchè?


Ciao
Perryosio non è collegato   Rispondi citando
Vecchio 27 aprile 11, 17:03   #6 (permalink)  Top
User
 
L'avatar di jhoexp
 
Data registr.: 25-01-2009
Residenza: Torino
Messaggi: 2.574
Invia un messaggio via ICQ a jhoexp
Citazione:
Originalmente inviato da Perryosio Visualizza messaggio
Seguendo i consigli di Johexp (soprattutto quelli dati a voce) è stato possibile alzare sensibilmente i valori con evidenti vantaggi .
Ciao Perry, vedo che la breve sessione di pid tuning al campo ha dato i suoi frutti...
Purtroppo non è sempre possibile rendere bene per scritto quella che è una operazione pratica un po' particolare e che comunque comporta qualche rischio, specie se l'orientamento dei sensori o i versi di rotazione eliche/motore non sono corretti.
Magari alla prossima occasione facciamo vedere dal vivo come si fa a testare il mezzo "live" e cosa cambia agendo sui vari parametri.

Citazione:
In questo modo è talmente stabile che è possibile tenere il tricottero, da 90cm di ingombro a volare sicuro in salotto, quasi come se fosse appeso al lampadario.
Che ovviamente è una cosa da non fare....

Citazione:
Un consiglio (grazie JOHEXP) che è meglio iniziare ad aumentare il valore D prima di aumentare il valore P, cioè:
Comunque il consiglio di alzare prima la D era specifico per la tua situazione, infatti provando il tricottero con i valori di default si notava chiaramente che il mezzo tendeva a rimbalzare ed era necessario smorzare ulteriormente il comportamente alzando la D.
Normalmente però i valori di default per mezzi più piccoli del tuo e costruiti in alluminio sono abbastanza conservativi, quindi è bene procedere per gradi aumentando prima P e solo successivamente D testando il comportamento come mi hai visto fare (colpendo il braccio e osservando come l'oscillazione veniva smorzata).

Citazione:
il valore di I per ora non l'ho toccato, vedremo in seguito se servirà.
Puoi sicuramente alzare la I, rispetto al valore default. Vedrai che il mezzo tenderà a essere ancora più piacevole nel volo e manterrà meglio l'inclinazione impostagli, anche nei transitori e nei passaggi veloci.

Citazione:
Adesso invece il problema è che non riesco ad utilizzare versioni Multiwii sopra la 1.5 a causa di problemi di comunicazione tra USB con il PC. Utilizzo delle schede autocostruite, assemblate in casa con ATMEGA 328P, che volano benissimo e comunicano benissimo con il pc, ma solo fino alla la versione 1.5. Sopra, se uso la GUI non è possibile impostare i valori. In pratica prende valori stranissimi sia di PID che tutte le altre regolazioni, ed è impossibile quindi dare un settaggio alla Multiwii; inoltre è evidente la lentezza con cui comunica con il pc.
Perchè?
Su questo bisognerebbe indagare. Probabilmente la routine di comunicazione seriale è cambiata e qualcosa infastidisce le tue schede autoscotruite. Vediamo di chiarirlo sul thread multiwii.
__________________
Johnny
(GTE - Torino)
Out of sight, NOT out of mind.
jhoexp non è collegato   Rispondi citando
Vecchio 21 ottobre 11, 09:03   #7 (permalink)  Top
User
 
L'avatar di nino62
 
Data registr.: 26-01-2007
Messaggi: 93
Pid

Citazione:
Originalmente inviato da jhoexp Visualizza messaggio
PID Tuning, ovvero come ottimizzare i parametri P - I - D del vostro Multiwii.

Un buon riferimento (in inglese) per fare pid tuning è la guida di Aeroquad, nella quale Ted Carancho spiega come fare un primo setup al banco:
AeroQuad Forums - PID Tuning Your AeroQuad

Alcune premesse:
- Fare il settaggio al banco, con un multirotore vicino al porprio viso/mani ecc... può essere pericoloso. Cercate di non farvi male e tagliarvi o cavarvi un occhio mentre fate queste prove.
Operate sempre in sicurezza, tenendo il mezzo saldamente in modo che non possa scappare, specialmente alla prima accensione, per verificare che i motori girino tutti nella direzione prevista e che le eliche siano state montate correttamente.
Se il quad ha improvvise reazioni e tenta di inclinarsi, spegnete subito il mezzo e controllate orientamento dei sensori/verso di rotazione dei motori e tipo di elica.

- Per un mezzo ben montato (senza problemi di vibrazioni o di elettronica) e dimensioni standard (bracci da 18/25cm) i parametri di default del Multiwii sono molto conservativi. Si possono quindi alzare moltissimo per avere un mezzo più stabile in hovering e nei movimenti lenti, e successivamente lavorare sul rate di diminuzione del pid per rendere il mezzo più veloce e reattivo per manovre veloci e movimenti rapidi.

Il parametro P (Proporzionale) è il GAIN, ovvero la potenza con cui i giroscopi interverranno. Più è alto e più i giroscopi influiranno sui motori cercando di correggere l'assetto del quad.
E' importante che sia il più alto possibile per avere un quad molto stabile, ma non deve essere eccessivo, altrimenti il mezzo sovracompenserà le variazioni di assetto e non sarà in grado di recuperare le oscillazioni, anzi ne causerà lui stesso.
Si deve lavorare prima di tutto su questo parametro (cercando di alzarlo a step di 0.5 - 1 unità) per trovare un valore ottimale intorno al quale fare poi piccoli aggiustamenti.
Al banco, tenendo saldamente il quad da sotto in modo che non possa scappare o farvi male, ma lasciandogli la possibilità di muoversi senza forzarlo eccessivamente, portate i motori quasi all'hovering (deve sostenere la maggior parte del suo peso autonomamente) e cercate di inclinare il mezzo con le mani.
Questo deve risultare "duro" da muovere, contrastando il movimento che gli si vuole imporre. Il P va alzato finchè il mezzo è sufficientemente "duro" da spostare ma non vibra o innesca oscillazioni quando viene forzato. Se inizia ad oscillare, dovete ridurre il P finchè il fenomeno sparisce. Scuotendolo vistosamente non deve mostrare la tendenza ad amplificare l'oscillazione.

Il parametro D (Derivativo) ha influenza sulla velocità con il quale i giroscopi interverranno e quindi nei transitori, sui passaggi dal volato all'hovering, sui cambiamenti di assetto veloci e continuativi. Per comodità è ora un valore positivo sulla gui, mentre in realtà è un valore negativo nel filtro.
Va generalmente aumentato proporzionalmente al P, in passi di 2-5 unità per cercare di rendere il quad più sincero nel volo e meno soggetto ad oscillazioni.
Per ottimizzarlo al banco, quando avete finito di settare P, provate a scuotere il quad, colpendolo leggermente da sotto su un braccio. Questo deve ritornare in posizione smorzando il colpo in fretta, senza oscillare. Se rimbalza un po' od oscilla, alzate il D finchè l'oscillazione non viene smorzata efficacemente. (Provate anche valori estremi di D, troppo alti e troppo bassi, per capire come lavora, e poi cercate il valore corretto)

Il parametro I (Integrale) ha influenza sulla durata e sulla persistenza con cui il quad compensa le variazioni di assetto, cercando di mantenere l'angolo impostato dagli stick.
Va modificato con cautela e in piccoli passi di 0,05 unità, durante le prove al banco, cercando di evitare che induca oscillazioni ad alta frequenza durante le piccole correzioni col mezzo in hovering. Più e alto e più a lungo la correzione in caso di disturbo esterno (tipo folata di vento) viene mantenuta.
Questo parametro determina quanto il mezzo tenderà a mantenere l'angolo di inclinazione voluto, più è alto e più il mezzo tenderà a rimanere nella posizione comandata dal pilota.
Con le nuove versioni del codice è possibile alzarlo molto di più rispetto a prima, avendo un mezzo molto più insensibile ai disturbi esterni e che mantiene meglio l'inclinazione voluta.
Il codice multiwii non ne tiene conto nei movimenti veloci, per evitare problemi.
ciao sono nuovo per quanto riguarda i pid, ho una scheda kk fiw. 48 potresti spiegarmi da dove devo regolare questo benedetto pid, ossia su cosa devo agire? grazie anticipatamente.
nino62 non è collegato   Rispondi citando
Vecchio 21 ottobre 11, 09:26   #8 (permalink)  Top
Sospeso
 
Data registr.: 20-09-2005
Messaggi: 8.000
Citazione:
Originalmente inviato da nino62 Visualizza messaggio
ciao sono nuovo per quanto riguarda i pid, ho una scheda kk fiw. 48 potresti spiegarmi da dove devo regolare questo benedetto pid, ossia su cosa devo agire? grazie anticipatamente.
Qui ci sono le spiegazioni dell'ultimo firmware
RC Groups - View Single Post - Improved firmware for the KK multicopter, also the HK KK.
biv2533 non è collegato   Rispondi citando
Vecchio 08 marzo 12, 07:24   #9 (permalink)  Top
User
 
L'avatar di TermicOne
 
Data registr.: 02-01-2004
Residenza: Vicino a Saronno
Messaggi: 6.998
Citazione:
Originalmente inviato da zheus Visualizza messaggio
Io ho provato a modificarne alcuni, come faccio a sapere quali erano quelli di default?

Grazie ancora
che versione stai usando?
TermicOne non è collegato   Rispondi citando
Vecchio 08 marzo 12, 08:00   #10 (permalink)  Top
User
 
L'avatar di zheus
 
Data registr.: 28-08-2005
Residenza: cuneo
Messaggi: 461
Invia un messaggio via MSN a zheus
Ce l'ho sul pc di casa, mi sembra sia la 1.9
__________________
[COLOR=blue][B][COLOR=blue]- PROTOS 500 - Logo 500 Vstabi - Autogiro
zheus non è collegato   Rispondi citando
Rispondi

Bookmarks




Regole di scrittura
Non puoi creare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è Attivato
Le faccine sono Attivato
Il codice [IMG] è Attivato
Il codice HTML è Disattivato
Trackbacks è Disattivato
Pingbacks è Disattivato
Refbacks è Disattivato




Tutti gli orari sono GMT +2. Adesso sono le 10:33.


Basato su: vBulletin versione 3.8.11
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
E' vietata la riproduzione, anche solo in parte, di contenuti e grafica. Copyright 1998/2019 - K-Bits P.I. 09395831002