Niveau 6 — Paramètres ArduPlane & AUTOTUNE¶
Objectif : comprendre les paramètres qui comptent pour le Swordfish 1200, savoir lancer un AUTOTUNE, sauver/restaurer une config en .parm.
Durée : 2 h.
Prérequis : niveau 5.
ArduPlane a >900 paramètres. On en utilise concrètement ~30. Le reste : il y a des defaults sensés, tu ne touches pas.
1. Catégories de paramètres essentielles¶
| Préfixe | Famille | Exemple critique |
|---|---|---|
ARMING_* |
Conditions d'armement | ARMING_CHECK (bitmask de vérifs) |
BATT_* |
Battery monitor | BATT_CAPACITY, BATT_LOW_VOLT |
AIRSPEED_* |
Vitesses | AIRSPEED_CRUISE, AIRSPEED_MIN, AIRSPEED_MAX |
THR_* |
Throttle | THR_MAX, THR_CRUISE |
FS_* |
Failsafes | FS_SHORT_ACTN, FS_LONG_ACTN, FS_GCS_ENABLE |
RTL_* |
Comportement RTL | RTL_ALTITUDE, RTL_RADIUS |
WP_* |
Waypoints / loiter | WP_RADIUS, WP_LOITER_RAD |
TKOFF_* |
Décollage auto | TKOFF_ALT, TKOFF_THR_MAX |
LAND_* |
Atterrissage | LAND_PITCH_CD, LAND_FLARE_ALT |
RC1_* à RC8_* |
Canaux RC | RC1_MIN, RC1_MAX, RC1_TRIM, RC1_REVERSED |
SERVO1_* à SERVO8_* |
Sorties servo | SERVO1_FUNCTION (rôle du servo) |
PTCH2SRV_*, RLL2SRV_* |
PIDs pitch/roll → servo | À régler par AUTOTUNE |
2. Lire et modifier des paramètres dans Cockpit¶
- Cockpit → Settings → Parameters (ou vue dédiée)
- Cherche par nom (ex:
AIRSPEED_CRUISE) - Lis la valeur courante + l'unité
- Modifie → écris la nouvelle valeur → Save / Write
- Cockpit envoie via MAVLink
PARAM_SET, le véhicule confirme
Pas besoin de redémarrer ArduPlane — la plupart prennent effet immédiatement.
3. Set de paramètres recommandés pour le Swordfish 1200¶
Le AtomRC Swordfish 1200 mm est un fixed-wing bimoteur (twin pusher) avec empennage V-tail (ruddervators). AtomRC publie un fichier officiel .param validé pour ce modèle — on l'a importé dans fleet-params/.
Loader le baseline en SITL¶
# Depuis la racine du repo, plane SITL démarré :
cd ~/Project/bascanada/my_fleet
make plane
# Dans MAVProxy attaché à SITL :
param load fleet-params/swordfish-h743-baseline.parm
# Ou via Cockpit : Parameters → Load from file → swordfish-h743-baseline.parm
Valeurs clés (extraites du baseline)¶
# Vitesses (m/s) — tuné pour vol économique/observation, pas pour aller vite
TRIM_ARSPD_CM 1200 # 12 m/s croisière (PAS 18 — AtomRC vise plus lent)
ARSPD_FBW_MIN 9 # marge stall (réel ~7-8)
ARSPD_FBW_MAX 22
# Throttle
TRIM_THROTTLE 45 # 45% en croisière (twin motors)
THR_MAX 100
# Loiter — cercles plus serrés qu'un FW classique
WP_LOITER_RAD 60 # 60 m
WP_RADIUS 90 # acceptance
# Twin pusher + V-tail (géométrie CRITIQUE)
SERVO1_FUNCTION 70 # Motor 1 (throttle gauche)
SERVO2_FUNCTION 70 # Motor 2 (throttle droit)
SERVO3_FUNCTION 4 # Aileron droit
SERVO4_FUNCTION 4 # Aileron gauche
SERVO5_FUNCTION 79 # V-tail droit (ruddervator R)
SERVO6_FUNCTION 80 # V-tail gauche (ruddervator L)
# Différentiel de poussée pour assister le yaw (spécifique twin motor)
RUDD_DT_GAIN 10
KFF_RDDRMIX 0.5
MIXING_GAIN 0.5
# Décollage hand-launch (bump detect)
TKOFF_ACCEL_CNT 1
TKOFF_ALT 50
TKOFF_LVL_PITCH 15
TKOFF_THR_DELAY 2
# Failsafes (Fleet — AtomRC laisse vide, on les remplit)
FS_GCS_ENABL 1
FS_LONG_ACTN 1 # RTL après 5s sans GCS
FS_SHORT_ACTN 2 # CIRCLE après 1.5s sans RC
BATT_LOW_VOLT 14.0 # 4S @ 3.5V/cell
BATT_CRT_VOLT 13.2 # 4S @ 3.3V/cell
BATT_FS_LOW_ACT 2 # RTL
BATT_FS_CRT_ACT 1 # LAND
RTL_ALTITUDE 10000 # 100 m AGL (au-dessus couvert forestier QC)
Voir
fleet-params/swordfish-h743-baseline.parmpour la liste complète + commentaires inline. Voir aussifleet-params/README.mdpour le workflow versionnage.
Pourquoi 12 m/s et pas 18 ?¶
AtomRC tune le Swordfish pour autonomie + observation, pas pour aller vite. À 12 m/s avec twin motors à 45% throttle, le pack 3300-4000 mAh tient ~30-45 min de vol selon vent. À 18 m/s tu rajoutes ~30% de conso pour 50% de vitesse en plus — mauvais ratio pour du scouting.
Trois choses absentes du fichier AtomRC officiel (et pourquoi le baseline les ajoute)¶
| Manque | Notre choix |
|---|---|
Failsafe batterie (BATT_LOW_VOLT=0 chez AtomRC) |
On force seuils sur pack 4S Fleet |
Failsafe GCS (FS_GCS_ENABL=0 chez AtomRC) |
On l'active — scouting autonome impose lien GCS surveillé |
RTL_ALTITUDE non défini |
On force 100 m pour rester au-dessus de la canopée forestière QC |
4. Snapshot d'une config — .parm¶
Le fichier .parm est texte brut, une ligne par paramètre. C'est ce qu'il faut versionner dans fleet-params/.
Exporter la config courante¶
Dans Cockpit : Parameters → bouton Save to file → choisis un nom (ex: swordfish-baseline.parm).
Ou via MAVProxy :
Le fichier ressemble à :
Restaurer une config¶
Cockpit → Parameters → Load from file → sélectionne le .parm → write to vehicle.
Ou MAVProxy :
5. Versionner les .parm¶
Le dossier fleet-params/ existe et contient déjà :
my_fleet/fleet-params/
├── README.md ← workflow + convention de nommage
├── swordfish-atomrc-navi-reference.parm ← read-only, source officielle AtomRC
└── swordfish-h743-baseline.parm ← point de départ avant AUTOTUNE
Convention : <vehicle>-<flight-controller>-<variant>.parm. Variants : baseline, tuned-YYYYMMDD, sim-YYYYMMDD, reference.
Après chaque session AUTOTUNE réussie, faire dans Cockpit Parameters → Save to file → nommer swordfish-h743-tuned-YYYYMMDD.parm → git add fleet-params/. Les .parm étant texte plat, git diff montre exactement ce qui a bougé entre deux sessions.
6. AUTOTUNE — le tuning des PIDs en vol¶
Les PIDs d'ArduPlane (PTCH2SRV_P, RLL2SRV_I, etc.) contrôlent la réactivité de l'avion aux commandes. Mal réglés : oscille, sous-réactif, ou sur-réactif.
AUTOTUNE = ArduPilot apprend ces PIDs en vol, en analysant la réponse de l'avion à ses propres commandes.
Procédure¶
- Vol stabilisé en FBWA, altitude >100 m
- Mode → AUTOTUNE
- Tu dois manœuvrer activement — pousser les sticks de gauche à droite, d'avant en arrière, pour donner du signal
- ArduPilot mesure les réponses et ajuste les PIDs en live
- Faire ~2 min de manœuvres
- Mode → FBWA → tu peux retester
- Si content :
AUTOTUNE_LEVEL= 6 (par défaut 7, plus agressif) - Sauvegarder la config en
.parm
En SITL¶
AUTOTUNE marche dans SITL. C'est un excellent terrain d'expérimentation avant de le faire avec le vrai matos.
En vrai vol, AUTOTUNE coûte ~20 % de la batterie. Faire ça avec une batterie pleine, en condition calme, à 100 m+.
7. Calibrations capteurs¶
Avant le premier vol réel, tu dois calibrer dans cet ordre :
- Accéléromètres — l'avion immobile sur plat, 6 orientations (Cockpit → Setup → Accel)
- Magnétomètre (compass) — l'avion bougé en tous sens, "danse du compas" (Cockpit → Setup → Compass)
- Airspeed sensor — au sol vent nul, zéro l'airspeed (Cockpit → Setup → Airspeed)
- Baromètre — auto-calibré à l'arm sur le premier altitude
- Radio (RC) — bouger tous les sticks aux extrêmes
En SITL ces calibrations sont simulées sans erreurs. Tu n'as rien à faire. Mais en vrai vol, c'est la première étape avant tout.
8. Avant le niveau 7¶
- Tu as exporté et importé une config
.parmau moins une fois - Tu as fait au moins un AUTOTUNE en SITL (avec stick manette)
- Tu connais les 5 paramètres les plus importants à modifier pour le Swordfish
- Tu sais ce qu'est un PID et pourquoi AUTOTUNE existe