Actualiser README.md

This commit is contained in:
ploush 2026-07-18 22:23:26 +02:00
parent 0acd8e3571
commit d92c68544b

View file

@ -76,6 +76,12 @@ Via le reseau filaire (wired modems):
Echelle de texte automatique (la plus grande qui loge le contenu).
Navigation par onglets:
- PARAM : edition tactile des parametres (depassement tolere, angles
max, POIDS et POUSSEE de l'helice en pixelNewton, vitesses
verticales max, rampe, Y_VOL, Y_MINI). Les valeurs modifiees sont
persistees dans drone.etat et PRIMENT sur drone.conf sans
l'ecraser; modifier un parametre dont depend la calibration PID
affiche un rappel de recalibration.
- MODE : boutons de modes + contenu adapte au mode courant (voir
ci-dessous), art du quadricoptere (cercles des helices: blanc
rpm=0, rouge rpm max, jaune en changement, vert stable; rpm des
@ -125,9 +131,48 @@ Points nommes (clavier du PC, 10 max):
## Regulation
- PID altitude: deux jeux de gains (montee / descente), derivee sur
la mesure et integrale conditionnelle (concu pour le
zero-depassement), consigne rampee (VITESSE_RAMPE).
- ASSERVISSEMENT EN CASCADE + FEEDFORWARD, ADAPTATIF (transport a
charge et centrage variables a chaque vol):
1. feedforward de sustentation: rpm d'equilibre calcule depuis
POIDS (A VIDE) et POUSSEE_HELICE_MAX (poussee ~ rpm^EXPOSANT),
CORRIGE EN CONTINU PAR LA PRESSION mesuree (la poussee diminue
avec l'altitude): pousseeEffective = POUSSEE * pression /
PRESSION_REF. Mesurer poids a vide et poussee d'une helice et
les saisir (conf ou page PARAM).
1b. ADAPTATION DE POIDS: en quasi-stationnaire, le residu du PID
de vitesse est transfere lentement vers le feedforward: le
drone SE PESE tout seul (poids estime affiche en vol). Remise a
zero a chaque decollage (nouvelle cargaison). Plafond: poids
total max = RATIO_CHARGE_MAX (60%%) * 4 * poussee de reference,
alerte SURCHARGE au dela.
1c. TRIM D'ASSIETTE ADAPTATIF: en stationnaire, la composante
statique des corrections d'assiette (centre de gravite decale
par la cargaison) est absorbee par un trim par axe; alerte
"chargement desequilibre" si |trim| depasse
ADAPTATION.SEUIL_DESEQUILIBRE.
1d. GAIN SCHEDULING: la boucle de vitesse est mise a l'echelle du
ratio poids estime / poids memorise a la calibration (borne
0.5..2): calibrer avec n'importe quelle charge, les gains
suivent la cargaison.
Procedure par vol: charger -> mode vol -> 5-10 s de stationnaire
(pesee + trim + alertes) -> partir. Aucune recalibration.
2. boucle externe: erreur d'altitude -> consigne de vitesse
verticale (P, bornee V_MONTEE_MAX / V_DESCENTE_MAX)
3. boucle interne: PID sur la vitesse verticale mesuree (velocity
sensor vertical calibre; a defaut, derivee filtree de
l'altitude), deux jeux de gains montee / descente
Consigne rampee (VITESSE_RAMPE), derivee sur la mesure et
integrale conditionnelle (zero-depassement).
- Deux calibrations PID complementaires (onglet CALIB, mode vol):
- `pid` (auto-tune): recherche iterative en boucle fermee, garde
le meilleur essai valide (zero depassement, assiette bornee)
- `pidmath` (methodes mathematiques): identification du modele en
boucle ouverte autour du feedforward (echelon -> K, tau, L),
gains candidats par COHEN-COON et ZIEGLER-NICHOLS, validation en
boucle fermee des deux, conservation du meilleur valide (version
adoucie appliquee si aucun ne passe)
Conseil: regler POIDS/POUSSEE d'abord, puis pidmath (rapide), puis
pid si besoin d'affiner.
- PID assiette: tangage et roulis vers leurs cibles; mixage par coin:
base + corrections signees.
- Moteur asservi au stressometer: augmente si l'utilisation depasse
@ -159,4 +204,4 @@ Points nommes (clavier du PC, 10 max):
## Points d'attention
- tanks(): si la capacite n'est pas fournie par le jeu, la conf
CARBURANT.CAPACITE_TANK sert de repli.
CARBURANT.CAPACITE_TANK sert de repli.