Forum Flightgear France

Une communauté prend son envol

Vous n'êtes pas identifié(e).

Annonce

Futur nouvel inscrit, tu dois au préalable lire l'intégralité des 10 articles des règles, s'il te plaît. Tout nouveau compte qui ne respecte pas les règles sera supprimé par l'administration.

#1 20/12/2020 4:39:09

exCorbac
Membre
Lieu : Felletin (23500)
Inscription : 6/02/2019
Messages : 26

Anticiper un virage pour un changement de cap

Bonjour à tous,

Je vous propose un protocole pour anticiper un virage standard en vue d'un changement de cap.

Le scénario est le suivant : votre avion est en pilotage automatique pour la navigation et suit un cap défini par un VOR-DME. Vous souhaitez changer de cap en utilisant le même VOR-DME. Il va donc falloir amorcer le virage standard pour atteindre le nouveau cap AVANT d'atteindre le VOR-DME. Dans le cas contraire, vous allez perdre du temps à vous rediriger vers et à capter la nouvelle radiale. La question est : à quelle distance de ce VOR-DME devez-vous amorcer le virage standard pour "tomber" le plus possible sur la nouvelle radiale ?

La réponse vous est apportée par quelques calculs trigonométriques :

Lors d'un virage standard, l'avion oblique sa voilure selon un angle limite matérialisé par les repères inférieurs de l'indicateur de virage (dans un "six-pack", c'est l'instrument en bas à gauche). Cela correspond à une rotation de l'appareil sur lui-même à une vitesse angulaire Va de 3° par seconde. Cela équivaut à 180° par minute et à 180°x60 = 10800° par heure. Vous l'avez compris : en virage standard, un avion met 1 minute pour faire demi-tour et en une heure, il aura fait 30 tours (10800°/360° = 30). Passons des ° aux radians : sachant que 180° équivalent à π (Pi) radians, la vitesse angulaire est de π x (10800°/180°) = 60π radians par heure.
Bien entendu, l'avion ne fait pas que tourner sur lui-même lors d'un virage standard. Il parcours aussi une distance en fonction de sa vitesse linéaire, exprimée en distance par heure (km/h, mph ou noeud ou knot en anglais, abrégé en kt. Cette dernière unité n'est autre que des miles nautiques (nm) par heure). Si R est le rayon du cercle décrit 30 fois par l'avion en une heure, la distance parcourue par l'avion est de :
60π x R. Cette distance est aussi la vitesse linéaire Vl, puisque cette dernière est exprimée en distance par heure.
Donc 60π x R = Vl d'où R = Vl/(60π).
Approximativement, on peut dire que R = Vl/180. Exemple : à la vitesse de 180km/h, le rayon R du cercle dans lequel s'inscrit la trajectoire de l'avion est d'1 km.

Lors du changement de cap, l'avion va tourner sur lui-même suivant un angle α correspondant à la différence entre les deux caps. Exemple : un avion suivant un radiale de 182° doit changer de cap pour une radiale de 126°. L'angle de rotation sur lui-même que l'avion doit effectuer est α = 182 - 126 = 56°. En effectuant son virage, l'avion parcourt un arc de cercle d'une longueur R x α x π/180 si α est en ° et R x α si α est en radians.

On peut aussi calculer la distance entre le point de début (A) et le point de fin (B) du virage. Je vous épargne la démonstration que cette distance est AB = 2 x R x sin(α/2). C'est plus compréhensible en regardant la figure ci-dessous.

Enfin, pour en arriver à ce que l'on recherche, c'est à dire la distance entre le point de début (A) du virage et le VOR-DME,
elle est AVOR-DME = R x tan(α/2).

Figure : Virage standard d'un avion selon un angle α

Reprenons notre exemple pratique sur un Cessna 172p, volant à la vitesse de 120 kt, devant passer du cap 182° au cap 126° :
Le rayon du cercle dans lequel s'inscrit le virage est R = 120/(60π) = 0,6366 nm ou, en approximant R = 120/180 = 0,6667 nm
L'arc de cercle décrit par l'avion lors de ce virage à une longueur de R x (182 - 126) x π/180 = R x 56 x π/180 = 0,6222 nm
La distance séparant les points de début (A) et de fin (B) du virage est AB = 2 x R x sin(56/2) = 2 x R x sin(28) = 0,5977 nm
La distance entre le point de début (A) du virage et le VOR-DME est R x tan(56/2) = R x tan(28) = 0,3385 nm

Dans la pratique, voici comment procéder :
1) A quelques encablures du point de début (A) (à vous d'estimer combien de temps va durer la procédure, et donc à quelle distance en fonction de votre vitesse), couper la navigation du pilote automatique pour vous positionner sur "ROL" (appuyer 2 fois sur la touche HDG du pilote automatique)
2) Positionner le HDG de cap selon la radiale à atteindre
3) Changer l'OBS du NAV1 à cette même radiale
4) Arrivé au point de début A (en utilisant le DME positionné sur H1), appuyer sur la touche "HDG" du pilote automatique.
5) L'avion effectue son virage standard jusqu'à atteindre le nouveau cap
6) Rétablir la navigation en appuyant sur le bouton "NAV" du pilote automatique.

Vous pouvez bien sûr adapter cette procédure à d'autres cas de figures, par exemple quand le changement de cap doit être effectué à un point donné plus éloigné du VOR-DME. Les mesures en utilisant la carte sont alors utiles.

Bon vent et vol à tous.


-=exCorbac=-
"The owls are not what they seem. Especially in FlightGear." (David Lynch & exCorbac)
Version FG: next, OS: Linux Mint 20.2 64-bit (cinnamon 5.0.7), GC: AMD Radeon R9 380X 4Go, CPU: AMD FX8350 8-core 4GHz, RAM: 12Go DDR3 1333MHz, Ecrans: Samsung U28E590DS 2560x1440 (Freesync, DP), Dell 2407WFP-HC 1920x1200 (DVI), Thrustmaster T.Flight Stick X

Hors ligne

#2 20/12/2020 11:16:35

exCorbac
Membre
Lieu : Felletin (23500)
Inscription : 6/02/2019
Messages : 26

Re : Anticiper un virage pour un changement de cap

Et en cette fin d'année, un petit cadeau : un script bash (fonctionne sous Ubuntu et consorts) pour calculer tout ça, à partir de la vitesse et des radiales de début et de fin.

Copiez ce code dans un nouveau fichier, enregistrez-le sous Virage_std_calc.sh puis ajoutez les permissions d'exécution. Pour le lancer, tapez dans un terminal : ./Virage_std_calc.sh

#!/bin/bash
REPEAT=1
while [ $REPEAT = "1" ]
do
echo "CALCULS POUR VIRAGE STANDARD"
echo "Vitesse :"
read V
echo "Radiale D (°):"
read capi
echo "Radiale A (°):"
read capf
pi=$(echo "scale=10; 4*a(1)" |bc -l)
R=$(echo "scale=4; $V/(60*$pi)" |bc -l)
alpha=$(echo "scale=4; (sqrt (($capi-$capf)^2))*$pi/180" |bc -l)
echo "Rayon R     =" $R
AD=$(echo "scale=4; 2*$R*s ($alpha/2)" |bc -l)
echo "Dist. A-D   =" $AD
ARC=$(echo "scale=4; $R*$alpha" |bc -l)
echo "Arc A-D     =" $ARC
DIST=$(echo "scale=4; sqrt (($R*s ($alpha/2)/c ($alpha/2))^2)" |bc -l)
echo "Dist. A-DME =" $DIST
echo
echo "Répéter ? (y/n)"
read QREPEAT
if [[ ! $QREPEAT = "y" ]] && [[ ! $QREPEAT = "Y" ]]; then REPEAT=0; fi
done
unset all
exit

En espérant que cela vous soit utile,

Bons vents et vols à tous.


-=exCorbac=-
"The owls are not what they seem. Especially in FlightGear." (David Lynch & exCorbac)
Version FG: next, OS: Linux Mint 20.2 64-bit (cinnamon 5.0.7), GC: AMD Radeon R9 380X 4Go, CPU: AMD FX8350 8-core 4GHz, RAM: 12Go DDR3 1333MHz, Ecrans: Samsung U28E590DS 2560x1440 (Freesync, DP), Dell 2407WFP-HC 1920x1200 (DVI), Thrustmaster T.Flight Stick X

Hors ligne

#3 20/12/2020 18:27:25

zakharov
Membre historique du forum.
Inscription : 11/09/2005
Messages : 962

Re : Anticiper un virage pour un changement de cap

Salut exCorbac,

merci beaucoup pour ce partage très intéressant smile

SG (ou FG) inclut ce genre de calculs pour la planification des vols il me semble. Justement je comptais utiliser mes quelques jours de vacances pour me replonger un peu dans le zkv1000 et y apporter ce genre de feature [1], je ne savais pas trop comment m'y prendre, c'est une super démo !

Bon je collerai ici les quelques lignes de Nasal qui seront utiles, et si tu me le permets je corrigerai bien le bash que tu proposes hyper gentiment car il me gratte les yeux wink (enfin ça c'est pas prioritaire)

PS: et merci aussi pour le rappel de Twin Peaks dans la signature big_smile on se demande bien à quoi ils peuvent ressembler alors re big_smile

[1]: mais pas que, j'ai vu un post passer sur le réglage du volume inopérant, je vais regarder aussi

@+
bons vols
zakh


le zkv1000
Debian Bookworm sur i7-9750H, 16G, NV GeForce GTX 1660 Ti MaxQ 6Go
FG next compilé à la mano
Joystick TM T. Stick X avec fichier de conf perso

Hors ligne

#4 20/12/2020 19:03:54

zakharov
Membre historique du forum.
Inscription : 11/09/2005
Messages : 962

Re : Anticiper un virage pour un changement de cap

Bon comme ce qui n'est pas prioritaire le devient souvent je propose une version que (à titre tout à fait personnel) plus mieux big_smile

#!/bin/bash

calc () {
    eval "$1=$(echo "$2" | bc -l)"
}

echo "CALCULS POUR VIRAGE STANDARD"
while read -p "Vitesse  Radiale-D Radiale-A: " V capi capf; do
    test -n "$V" -a -n "$capi" -a -n "$capf" || break
    calc pi    "scale=10; 4 * a(1)"
    calc R     "scale=4;  $V / ( 60 * $pi )"
    calc alpha "scale=4;  (sqrt (( $capi - $capf )^2)) * $pi / 180"
    calc AD    "scale=4;  2 * $R * s ( $alpha / 2 )"
    calc ARC   "scale=4;  $R * $alpha"
    calc DIST  "scale=4;  sqrt ( ( $R * s ( $alpha / 2 ) / c ( $alpha / 2 ) )^2 )"

    cat << EOF
Rayon R     = $R
Dist. A-D   = $AD
Arc A-D     = $ARC
Dist. A-DME = $DIST

EOF
done

[EDIT]ça sort si on laisse la question vide ou s'il manque un élément, mais ça ne teste pas la validité des éléments fournis
[EDIT2]ça teste pas non plus si bc est présent sur le sytème

@+
bons vols
zakh

Dernière modification par zakharov (20/12/2020 19:10:29)


le zkv1000
Debian Bookworm sur i7-9750H, 16G, NV GeForce GTX 1660 Ti MaxQ 6Go
FG next compilé à la mano
Joystick TM T. Stick X avec fichier de conf perso

Hors ligne

#5 21/12/2020 22:45:38

exCorbac
Membre
Lieu : Felletin (23500)
Inscription : 6/02/2019
Messages : 26

Re : Anticiper un virage pour un changement de cap

Hello Zakh

Je me doutais bien que mon script n'était pas dans les "normes". Je code un peu comme je peux et comme ça vient. Il est vrai que le tien est bien plus élégant et certainement plus dans les bonnes pratiques de codage, comme on dit smile

Salutations cordiales,


-=exCorbac=-
"The owls are not what they seem. Especially in FlightGear." (David Lynch & exCorbac)
Version FG: next, OS: Linux Mint 20.2 64-bit (cinnamon 5.0.7), GC: AMD Radeon R9 380X 4Go, CPU: AMD FX8350 8-core 4GHz, RAM: 12Go DDR3 1333MHz, Ecrans: Samsung U28E590DS 2560x1440 (Freesync, DP), Dell 2407WFP-HC 1920x1200 (DVI), Thrustmaster T.Flight Stick X

Hors ligne

Pied de page des forums