Fr/YASim

From FlightGear wiki
Jump to navigation Jump to search

YASim est l'un des deux moteurs de simulation dans FlightGear. Les modèles de vol dynamiques (flight dynamics model en anglais, soit FDM en abrégé) déterminent comment l'aéronef (aircraft) se déplace et vole.

Gary Neely écrivait dans introduction to YASim:

Le FDM est le modèle mathématique qui contrôle le vol dans le simulateur. La physique du modèle d'avion 3D n'a rien à voir avec les principes de la physique dynamique, ça n'en est qu'une simple représentation virtuelle. C'est le FDM qui détermine comment le modèle vole.
Pourquoi YASim? YASim utilise la géométrie de l'avion pour générer les caractéristiques de base du vol. Il suggère une approche réaliste en mode prêt à l'emploi (out-of-the-box), il s'agit d'une approximation grossière qui exigera beaucoup de peaufinage avant d'obtenir un résultat qui se rapproche de la réalité. Si vous avez des données de vol solides pour votre avion, tels que les données en soufflerie, ou si vous êtes à la recherche, à terme, d'une simulation hyper-réaliste, JSBSim aura probablement une meilleure approche. Si vous ne disposez pas de ces données, mais que vous connaissez la géométrie de l'avion et que vous connaissez les caractéristiques de vol, et leurs limites, comme un vrai pilote, alors YASim peut fournir une solution qui est plus que suffisant pour la plupart des besoins de simulation.

Notes à propos du système de coordonnées

Toutes les positions spécifiées sont en unités métriques (ce qui est étrange car toutes les autres unités appartiennent au système impérial). L'axe X pointe vers l'avant, le Y vers la gauche et le Z vers le haut. Prenez votre main droite et tenez là comme un pistolet. L'index est l'axe X, le majeur est l'axe Y et le pouce qui pointe vers le haut est l'axe Z. C'est légèrement différent du système de coordonnées utilisé par JSBSim, désolé :) . L'origine peut être placée n'importe où, mais doit être la même pour l'ensemble de l'appareil. J'utilise le nez de l'avion.

Élements XML

airplane

La balise racine du fichier ne contient qu'un seul attribut:

  • mass: Le poids à vide (sans fuel) exprimé en livres (une livre= 454gr). Ce poids inclus celui des moteurs, donc lorsqu'on ajoute le poids du moteur dans ses balises, il est considéré comme un ballast.

approach

Paramètres d'approche de l'avion, le solveur va générer un avion qui respecte ces valeurs. La balise peut (et devrait) contenir des éléments <control> qui indiquent la configuration de l'avion, tels que les volets ou les gaz, lors de l'approche.

  • speed: Vitesse d'approche, en noeuds (knots) TAS. (1 noeud = 1 mile nautique/heure soit 1.852 km/h) (TAS = vitesse vraie)
  • aoa: Angle d'attaque d'approche, exprimé en degrés
  • fuel: Fuel restant dans les réservoirs, valeur décimale comprise entre 0 et 1 (0=0% et 1=100%). Par défaut la valeur est 0.2 (ce qui correspond à 20%).

cruise

Vitesse de croisière que doit utiliser le solveur. Comme pour l'approche, il devrait contenir des tags <control> qui donnent la configuration de l'avion. assurez vous particulièrement que les moteurs procurent assez de poussée!

  • speed: Vitesse de croisière, en noeuds (knots) TAS
  • alt: Altitude de croisière, en pieds MSL (1 pied = 0.3048m) (MSL=au desssus du niveau de la mer)
  • fuel: Portion de fuel restant dans les réservoirs (valeur entre 0 et 1). Par défaut la valeur est 0.2 (soit 20%).

cockpit

Position dans le cockpit du point de vue du pilote.

  • x,y,z: position du point de vue du pilote (voir note sur les coordonnées).

fuselage

Défini une structure en forme de tube. Le solveur va lui donner une masse et une distribution de force aérodynamiques également répartie vous pouvez en mettre autant que vous voulez dans toutes les positions possibles.

  • ax,ay,az: Un bout du tube (en général l'avant).
  • bx,by,bz: L'autre bout (l'arrière).
  • width: La largeur du tube, en mètres.
  • taper: Le rayon approximatif du tube à la pointe du fuselage, donnée décimale en fraction de la largeur (width) (valeur entre 0 et 1).
  • midpoint: La position de la partie la plus large du fuselage, donnée par une fraction de la distance entre A et B.
  • idrag: coefficient multiplicateur pour la traînée induite générée par cet objet, 1 par défaut. Si idrag=0, le fuselage ne crée que de la trainée (drag).
  • cx,cy,cz: Facteurs de correction pour les traînées générées dans le système de coordonnées locales, par exemple un fuselage deux fois plus haut que large, on peux donner un cy=2 (surface visible deux fois plus importante suivant y, l'axe des ailes), ainsi qu'un cx=2 (à cause du doublement de la surface frontale).

Surfaces

wing

Caractérise l'aile principale de l'avion. Il ne peut y en avoir qu'une (mais vous pouvez ajouter d'autre surfaces portantes avec des fstab, voir ci-dessous). L'aile doit avoir un élément <stall> qui indique le comportement au décrochage, ainsi que des sous éléments de surfaces de contrôle (flap0, flap1, spoiler, slat) qui définissent les surfaces de contrôle. Enfin des <control> permettent d'affecter les propriétés aux surfaces de contrôle.

  • x,y,z: Position de l'emplanture de l'aile, donnée par le point milieu de la corde à la racine de l'aile GAUCHE (!) (ce n'est pas le centre de poussée).
  • length: Longueur de l'aile de son emplanture jusqu'au point milieu du saumon d'aile. A noter que ce n'est pas l'envergure.
  • chord: Corde de l'aile à son emplanture, selon l'axe des X (et non pas perpendiculaire au bord d'attaque, comme on la trouve parfois définie).
  • incidence: Incidence de l'aile à son emplanture, en degrés. Zéro correspond à une aile alignée avec le fuselage (comme sur un avion de voltige). Une valeur positive indique que le bord d'attaque est plus haut que le bord de fuite (comme sur les avions d'entraînement).
  • twist: Différence d'incidence entre l'emplanture et le saumon. Ceci est typiquement négatif, de telle sorte que le saumon ait un plus petit angle d'attaque, et décroche après l'emplanture (washout). Ceci permet de garder les ailerons effectifs et limite le départ en vrille.
  • taper: Fraction qui donne le "pointu" de l'aile, donné par la longueur de la corde au saumon divisé par celle de l'emplanture. Un "taper" de 1 donne une aile rectangle, alors que 0 forme une aile se terminant par un point. Valeur 1 par défaut.
  • sweep: Flèche de l'aile , en degrés. Zéro correspond à une aile droite, un angle positif à une flèche vers l'arrière. Valeur 0 par défaut.
  • dihedral: Dièdre de l'aile, un dièdre positif correspond à une aile qui part vers le haut à ses extrémités. Valeur 0 par défaut
  • idrag: Facteur pour la traînée induite du profil (traînée proportionnelle à l'angle d'attaque de l'aile). En général, les ailes de faible allongement ont plus de traînée induite que celles à fort allongement (comme les planeurs). Cette valeur n'est pas très bien prise en compte par le solveur, et peut demander du réglage pour avoir les gaz corrects à de hauts angles d'attaque (approches).
  • effectiveness: Multiplicateur pour la traînée "normale" de l'aile, valeur 1 par défaut, facteur arbitraire sans dimension.
  • camber: Portance produite par l'aile pour un angle d'attaque nul, donné par la fraction par rapport à la portance maximale à l'angle d'attaque de décrochage. se déduit de la courbe portance/aoa, nulle pour les ailes d'avions de voltige à profil symétriques.
hstab

Caractérise le stabilisateur horizontal de l'avion. C'est une aile aussi et elle utilise donc les mêmes paramètres. Vous ne pouvez en définir qu'une. Le solveur doit savoir avec quelle incidence jouer pour trimmer l'avion correctement.

vstab

Stabilisateur "vertical", comme le hstab, il s'agit d'une aile, avec quelques propriétés spéciales. La surface n'est pas symétrisée en miroir, si vous ne définissez qu'une aile gauche, vous n'avez qu'une aile gauche! Le dièdre par défaut est égal à 90 degré (aile verticale vers le haut), mais tous ses paramètres sont modifiables, donc elle n'a pas d'obligation à être verticale. Il est possible de l'utiliser pour ce que vous voulez, comme une aile supplémentaire pour les biplans. Attention, ces surfaces ne sont pas utilisées par le solveur, donc vous pouvez n'en avoir aucune, ou autant que faire se peut.

mstab

une aile en miroir horizontale, exactement comme une aile, sauf qu'elle n'est pas utilisée par le solveur. possibilité de l'utiliser sans limite...

stall

Sous élément d'une aile (wing ou hstab, mstab et vstab) qui donne le comportement au décrochage.

  • aoa: Angle de décrochage (portance maximum) en degrés. Notez que c'est l'angle d'attaque de l'aile, et non pas du fuselage (si l'aile à une incidence non nulle/fuselage).
  • width: "Progressivité" du décrochage, en degrés. Une valeur haute donne un décrochage progressif. Les valeurs basses sont traîtres pour des ailes non vrillées, mais conviennent pour des ailes à variation d'incidence, (l'aile ne décroche alors pas partout en même temps).
  • peak: Hauteur du pic de portance secondaire après décrochage vers les 45 degrés, 1.5 par défaut. Ceci sort d'un chapeau, et n'a probablement pas besoin de trop bouger. Appelez moi pour une explication si vous êtes curieux (NDT: le rédacteur original de l'aide, pas moi, je ne suis pas fort en magie :) )).
flap0, flap1, slat, spoiler

Sous éléments des objets "wing/hstab/vstab", qui précisent l'emplacement et l'efficacité des surfaces de contrôle.

  • start: Position le long de l'aile où la surface commence, Zéro et l'emplanture, 1 le saumon d'aile.
  • end: Fin de la surface, comme ci dessus.
  • lift: Coefficient multiplicateur de la portance pour un aileron, un volet (flap), ou un spoiler complètement sorti. 1 est sans effet. Un aileron typique est autour de 1.2, des volets de jumbo-jet 2.0, et 0.0 pour un spoiler. Pour les spoilers (destructeurs de portance) l'interprétation est légèrement différente, ils ne détruisent que la portance "pré-décrochage". Il reste la portance due à "l'effet de plaque". Les ailes qui décrochent à faible angle d'attaque ont la majorité de la portance pré-décrochage, et la portance non détruite est faible. C'est l'inverse pour les jets de combat qui n'ont souvent pas de spoilers pour ces raisons. Le "lift" ne s'applique pas aux "slat" qui changent seulement l'angle d'attaque du décrochage.
  • drag: Coefficient de multiplication de la traînée, comme ci-dessus, doit être plus grand que le "lift" pour des volets.
  • aoa: seulement applicables aux "slat" (bec de bord d'attaque), cette valeur donne l'angle ajouté à l'angle d'attaque de décrochage lorsque les becs sont complètement sortis.

Motorisation

Thruster

Simple objet qui produit juste une poussée, utile pour des trucs comme les jets vectoriels ou pour simuler une poussée inverse sur les avions à hélice (ainsi par exemple la simulation d'effet de flux d'air d'hélice sur le rudder à l'arrêt NdT). Il se contente de mapper son entrée "THROTTLE" sur son taux de poussée, il ne consomme pas de fuel.

  • thrust: Poussée maximum en livres (pounds)
  • x,y,z: Point d'application de la poussée.
  • vx,vy,vy: Direction de la poussée dans les coordonnées de l'avion, ce vecteur est normalisé automatiquement, du coup tout vecteur non nul fait l'affaire.
Jet

Un turboréacteur (simple ou double flux). Il accepte un <control> pour utiliser une propriété à son réglage de puissance, et un <actionpt> pour placer le point de poussée à un autre endroit que la masse du réacteur.

  • x,y,z: Emplacement du réacteur (son centre de gravité), si on ne donne pas de "actionpt", c'est aussi le point d'application de la poussée.
  • mass: Masse du réacteur, en livres (pounds).
  • thrust: Poussée maximum au niveau de la mer, en livres (pounds).
  • afterburner: Poussée maximum avec post combustion (PC), en livres (pounds), aucune PC par défaut.
  • rotate: Angle de la poussée en degrés sur l'axe des Y [0].
  • n1-idle: Vitesse au ralenti de l'étage basse pression/ventilateur (pour un turbofan) en pourcentage de la vitesse maximum [55].
  • n1-max: Vitesse maximum basse pression (%) [102].
  • n2-idle: Vitesse au ralenti de l'étage haute pression (%) [73].
  • n2-max: Vitesse maximum de l'étage haute pression [103].
  • tsfc: Consommation spécifique de la poussée [0.8]. elle est bien plus basse pour les turbofan de dernière génération.
  • egt: Température des gaz d'échappement au décollage [1050].
  • epr: Taux de compression du réacteur au décollage [3.0].
  • exhaust-speed: Vitesse d'éjection maximum en noeuds (knots) [~1555].
  • spool-time: Temps, en secondes, pour que le réacteur réponde à 90% de la commande des gaz.
Propeller

Hélice, il lui faut un sous élément de moteur, actuellement <piston-engine> and <turbine-engine> sont disponibles.

  • x,y,z: Position de la masse de l'ensemble moteur-propulsion, si le point d'application de la force est différent, il faut un sous élément <actionpt>.
  • mass: Masse de l'ensemble, en livres (pounds).
  • moment: Moment, en kg*m^2, qu'il faut le calculer à la main et plus ou moins le deviner. Utilisez un moment négatif pour les hélices tournant dans le sens anti-horaire ("européennes": hélices tournant en sens anti horaire vue de l'arrière du moteur). Une bonne estimation est obtenue par le rayon de l'hélice (en m) mis au carré multiplié par la masse, le tout divisé par 3, c'est le moment d'un bout de bois plein monté sur l'axe d'hélice.
  • radius: Rayon de l'hélice.
  • cruise-speed: Vitesse d'efficacité maximum de l'hélice, en général différente de de la "cruise speed" de l'avion.
  • cruise-rpm: Vitesse de rotation de l'hélice à efficacité maximum (rad/s).
  • cruise-power: Puissance utilisée par l'hélice à efficacité maximum, en chevaux (hp).
  • cruise-alt: Altitude de référence pour le "cruise" , en pieds (feet).
  • takeoff-power: Puissance prise par l'hélice au décollage ...
  • takeoff-rpm: ...à cette vitesse de rotation (rad/s).
  • min-rpm: Vitesse de rotation minimale pour une hélice à vitesse constante. C'est la vitesse que le régulateur de vitesse cherchera à atteindre lorsque l'on met le levier bleu au minimum. À noter que la butée de grand pas limite le gestionnaire pour atteindre cette valeur, si trop de puissance est disponible. (rad/s)
  • max-rpm: Vitesse de rotation maximum pour une hélice à vitesse constante, comme ci-dessus, c'est la butée de petit pas qui empêche le gestionnaire d'atteindre cette vitesse, si il n'y a pas assez de puissance. (rad/s)
  • fine-stop: Butée petit pas: le pas minimum de l'hélice (à haut RPM) en pourcentage du pas de vitesse idéale. Valeur de 0.25 par défaut. Une valeur plus haute donne une vitesse de rotation plus faible pour les faibles puissances (taxi, ralenti et approche).
  • coarse-stop: Butée de grand pas: pas maximum de l'hélice (bas RPM) en pourcentage du pas de vitesse idéale. Valeur 4.0 par défaut. Une valeur plus basse donne plus de RPM pour des réglages à haute puissance.
  • gear-ratio: Facteur par lequel il faut multiplier la vitesse des tours moteur pour obtenir la vitesse de rotation de l'hélice, optionnel (valeur de 1.0 par défaut).
  • contra: Indique que l'hélice est une paire contra-rotative, si (contra="1"), il n'y aura pas d'influence sur le moment gyroscopique, et ne produira pas un couple asymétrique sur la cellule de l'avion, ni un effet aéro-asymétrique.
  • piston-engine: Définition d'un moteur à piston, ceci doit être un sous élément d'un tag <propeller> .
  • eng-power: Puissance maximum du moteur au niveau de la mer (cheval vapeur - BHP).
  • eng-rpm: Vitesse de rotation du moteur qui correspond à "eng-power".
  • displacement: Volume du moteur (en pouce cubique).
  • compression: Taux de compression du moteur.

Atterrisseurs

gear

Définit un train d'atterrissage, accepte des sous éléments <control> pour mapper des propriétés au freinage et au braquage. Peut aussi être utilisé pour simuler des flotteurs, même si les coefficients sont toujours appelés ..fric, ils sont calculés comme une traînée dans un fluide, (proportionnel au carré de la vitesse). Dans les fluides ils ne détectent pas les crashes, contrairement au sol.

  • x,y,z: Position de la pointe du train à pleine extension.
  • compression: Distance en mètres le long de l'axe de compression de laquelle le train se compresse.
  • initial-load: Charge initiale du ressort, en multiple de la "compression", 0 par défaut, (Avec ce paramètre une valeur plus basse de raideur de ressort est utilisée, ce qui peut réduire des problèmes numériques Note: la raideur du ressort varie de 0% à 20% de compression, pour avoir un comportement cohérent autour de 0 de compression, ce qui peut être expliqué par la déformation du pneu).
  • upx/upy/upz: Direction de la compression, vertical par défaut (0,0,1) le vecteur n'as pas besoin d'être normalisé, la longueur étant donnée par "compression".
  • sfric: Coefficient de friction statique (sans glissement), 0.8 par défaut.
  • dfric: Coefficient de friction dynamique, 0.7 par défaut.
  • spring: Facteur sans dimension, pour la constante de raideur générée automatiquement, l'augmenter rend le train plus raide, la diminuer le rend plus souple.
  • damp: Facteur sans dimension, pour la constante d'amortissement générée automatiquement, le diminuer rend le train plus "rebondissant", l'augmenter rend le train plus "lent". Attention à ne pas le monter trop haut, de hautes forces d'amortissement peuvent rendre instable les valeurs numériques. Si vous ne pouvez empêcher le train de rebondir avec cette valeur, essayez plutôt d'augmenter la "compression".
  • on-water: Si ceci est mis à "0" le train sera ignoré si dans l'eau, "0" par défaut.
  • on-solid: Avec ceci à "0" le train sera ignoré si pas dans l'eau, "1" par défaut.
  • speed-planing: Vitesse utilisé par "spring-factor-not-planing"
  • spring-factor-not-planing: Pour une vitesse nulle, la raidisseur du ressort est multipliée par "spring-factor-not-planing", au dessus de la vitesse "speed-planing", le facteur est égal à 1. L'idée est d'utiliser ça pour simuler le passage des flotteurs au "plané", speed-planing vaut 0 par défaut, spring-factor-not-planing vaut 1 par défaut.
  • reduce-friction-by-extension: À pleine extension, la friction est réduite de cette valeur relative. 0.7 donne 30% de friction à pleine extension. Si vous donnez une valeur plus grande que 1, la friction sera à 0 avant la pleine extension. Valeur "0" par défaut.
  • ignored-by-solver: Avec les tags "on-water"/"on-solid", vous pouvez avoir plusieurs ensembles de train pour un avion, si le solveur les prenait tous en compte, le résultat serait faux, par exemple, donnez cette prop = "1" pour tous les trains inactifs sur la piste. Valeur "0" par défaut, à noter que l'on ne peut pas virer tous les trains du calcul du solveur :).
launchbar

Définit une barre ou une sangle de catapultage.

  • x,y,z: Emplacement du point de montage de la barre/sangle sur l'avion.
  • length: Longueur de la barre du point de montage à son autre extrémité.
  • down-angle: Angle maximum vers le bas que la barre peut atteindre.
  • up-angle: Angle maximum vers le haut.
  • holdback-{x,y,z}: Emplacement sur l'avion du point de montage de la barre de retenue.
  • holdback-length: Longueur de la barre de retenue, Note: les angle "up-angle" et "down-angle" sont les même que ceux de la barre de lancement.
hook

Spécifie un crochet d'arrêt pour les porte avions. (voir ci-dessus pour les définitions)

  • x,y,z:
  • length:
  • down-angle:
  • up-angle:'

Fuel

tank

Réservoir d'essence. Les réservoirs de l'avion sont identifiés par des numéros (en commençant par 0, dans l'ordre de la définition dans le fichier de yasim - notez qu'un nom peut être affecté à chaque réservoir dans le fichier -set.xml voir Howto: Name fuel tanks)

  • x,y,z: Emplacement du réservoir.
  • capacity: Capacité maximum, en livres (pounds). -- YASim supportes plusieurs densités de fuel.
  • jet: Valeur booléenne, si présent, le fuel est traité comme du "jet-A" sinon c'est la densité du kérosène.

Centre de gravité

Ballast

Mécanisme pour modifier la répartition des masses de l'avion, un "ballast" indique qu'une telle partie de la masse à vide de l'avion est placée à cet endroit. Le reste de la masse est distribuée "intelligemment" parmi les fuselages et les ailes. Notez bien que cela ne change pas la masse à vide de l'avion, mais permet de corriger la position du centre de gravité, ainsi que le tenseur d'inertie.

  • x,y,z: Position du ballast.
  • mass: Quelle masse placer ici, elle peut être négative, j'ai souvent besoin d'"alléger" la queue de l'avion.
Weight

Masse ajoutée, qui ne fait pas partie de la masse à vide de l'avion, tel que passager(s), fret, emport externe. La masse n'est pas donnée ici, on donne à la place le chemin d'une propriété, ce qui permet à du code externe de contrôler cette masse (charger du fret, larguer des bombes, etc...).

  • x,y,z: Comme d'habitude :)
  • mass-prop: Nom de la propriété contenant la masse, en livres (pounds), de ce poids.
  • size: Taille aérodynamique, en mètres, de cet objet. Ceci est important pour les magasins externes, ce qui entraînera une traînée. Pour des trucs assez aérodynamique comme des bombes, la taille devrait être à peu près la largeur de l'objet. Pour d'autres choses, vous êtes libre de vos choix. La valeur par défaut est égale à zéro, ce qui se traduit par "aucune force aérodynamique" (exemple d'une charge cargo interne).
  • solve-weight: Sous élément de paramètres d'approche et croisière. Utilisez une valeur différente de zéro pour indiquer au solveur un poids (<weight>). La valeur par défaut est permet de s'assurer que tous les poids sont à zéro aux nombres des performances données.
  • idx: Indexe du poids dans le fichier (à partir de 0).
  • weight: Poids en livres (pounds).

Contrôles

control-input

Élément qui gère une correspondance des propriétés de FGFS (entrée utilisateur) pour définir des valeurs du tableau sur les objets de l'avion. Notez que la valeur à régler DOIT (!) être valide pour le type d'objet donné. Elles ne sont pas vérifiées par l'analyseur, et pourraient causer un plantage d'exécution si vous l'essayez. Ainsi, les ailes n'ont pas de commande de puissance, etc ... Notez que plusieurs axes peuvent être définis pour la même valeur. Elles sont évaluées avant le réglage.

  • axis: Nom de la valeur double du paramètre FGFS "axis" à utiliser en entrée, comme "/controls/flight/aileron".
  • control: Contrôle d'axe à positionner sur les objets. Peut avoir les valeurs suivantes:
    • THROTTLE - Manette des gaz sur un jet ou une hélice.
    • MIXTURE - Mélange sur une hélice.
    • REHEAT - Post-combustion pour un jet
    • PROP - Avance pour une hélice
    • BRAKE - Frein sur une roue.
    • STEER - Angle de braquage sur une roue.
    • INCIDENCE - Angle d'incidence d'une aile.
    • FLAP0 - Déflexion du flap0 d'une aile.
    • FLAP1 - Déflexion du flap1 d'une aile.
    • SLAT - Extension d'une lamelle d'une aile.
    • SPOILER - Extension de spoiler pour une aile.
    • CYCLICAIL - Entrée cyclique "aileron" d'un rotor
    • CYCLICELE - Entrée cyclique "elevator" d'un rotor
    • COLLECTIVE - Entrée collecteur d'un rotor
    • ROTORENGINEON - Si non égal à zéro le rotor est en rotation
    • WINCHRELSPEED - Vitesse relative de winch
    • {... et bien d'autres, voir FGFDM.cpp ...}
  • invert: Valeur négative de la propriété avant positionnement de l'objet.
  • split: Applicable au contrôle des surfaces de l'aile. Positionnez la valeur normale pour l'aile gauche, et la valeur négative pour l'aile droite.
  • square: Carrés de la valeur avant le réglage. Utile pour les contrôles comme la direction qui ont besoin d'une large gamme, avec beaucoup de sensibilité dans le centre. De toute évidence applicable uniquement aux valeurs qui ont une gamme de [-1: 1] ou [0: 1].
  • src0/src1/dst0/dst1: Si elles sont présentes, ces valeurs définissent une application linéaire de la source vers la valeur de sortie. Les valeurs d'entrée dans la gamme src0-src1 sont mappés linéairement vers dst0-dst1, avec réduction pour les valeurs d'entrée qui se trouvent en dehors de la plage.
control-output

Peut être utilisé pour donner la valeur à un contrôle d'axe YASim (après affectation et mise en correspondance) sur l'arbre des propriétés.

  • control: Nom du contrôle d'axe. Voir ci-dessus.
  • prop: Noeud de propriété devant recevoir la valeur.
  • side: Option, pour les contrôles partagés. Comme "right" ou "left"
  • min/max: Limites à appliquer à la valeur de sortie.
control-speed

Certains contrôles (plus particulièrement les volets et hydrauliques) ont une vitesse de réaction maximale et ne peuvent pas répondre instantanément aux sollicitations du pilote. Ceci peut être réalisé avec une balise control-speed, qui définit une "période de transition" nécessaire pour parcourir entièrement la plage de valeurs. Notez que cette balise est à moitié obsolète, le filtrage de l'entrée de commande complexe peut être réalisé plus efficacement depuis un script Nasal.

  • control: Nom du contrôle d'axe. Voir ci-dessus.
  • transition-time: Temps, en secondes, pour parcourir la plage de valeurs.
control-setting

Ce paramètre est utilisé pour définir une valeur spéciale pour un contrôle d'axe dans les parties <cruise> ou <approach>, lorsque l'accès à cette propriété n'est pas disponible. Vous pouvez l'utiliser, par exemple, pour indiquer au solver que les valeurs de l'approche doivent vérifier la position des volets, etc...

  • axis: Nom de l'axe du contrôle à vérifier (par exemple un nom de propriété)
  • value: Valeur du contrôle d'axe.

Treuillage et Remorquage

hitch

Un attelage peut être utilisé pour une lancement au treuil (pour les planeurs) ou pour le remorquage (planeurs par un avion motorisé) ou pour un chargement externe avec un hélicoptère. Vous pouvez utiliser le remorquage via le réseau en multi-joueurs (voir j3 et bocian pour un exemple).

  • name: Nom de l'attelage. Doit être un remorquage si vous voulez l'utiliser pour un remorquage multi-joueurs. Vous trouverez plusieurs propriétés dans /sim/hitches/name. La plupart d'entre elles sont directement liés aux variables internes, vous pouvez les modifier à votre convenance. Vous pouvez ajouter un listener à la propriété "broken", par exemple pour jouer un son.
  • x,y,z: Position de l'attelage.
  • force-is-calculated-by-other: Si vous voulez simuler un remorquage via le réseau, mettez cette valeur à "1" dans le moteur de l'avion. Ne l'utilisez pas et ne mettez pas une valeur zéro pour les planeurs. Dans un réseau local le délai pourrait être assez petit pour le mettre sur les deux appareils à "0". L'objectif est que cela se fasse automatiquement à l'avenir.
tow

La remorque utilisée pour le remorquage ou le treuillage. Ceci doit être un sous élément inclus dans un <hitch>.

  • length: Longueur au repos, en mètres
  • weight-per-meter: Poids en kg/mètre
  • elastic-constant: Des valeurs plus faibles donnent une plus grande élasticité
  • break-force: en N
  • mp-auto-connect-period: Toutes les x secondes un avion remorqué en multijoueur est recherché. Si trouvé, ce câble est automatiquement connecté, les paramètres sont copiés à partir de l'autre aéronef. Il doit être défini que dans l'avion motorisé, pas dans le planeur.
winch

Câble utilisé pour le remorquage ou le treuillage. Doit être un élément d'un sous élément <hitch>

  • max-tow-length: en mètre
  • min-tow-length: en mètre
  • initial-tow-length: en mètre. La longueur de remorquage initiale définit également le rayon longueur/recherche utilisé pour la mp-auto-connect
  • max-winch-speed: en m/s
  • power: en kW
  • max-force: en N

Visualisation

dc6 fdm in Blender

Pour rendre l'appareil programmé visible, il est possible de charger et de le comparer avec le modèle 3D dans Blender. Les acclamations pour ce script "très" utile iront à M. Franz, merci beaucoup!

Le script est situé dans le code source de FlightGears utils/Modeller/yasim_import.py.

La mise en oeuvre est indiqué dans le script:

yasim_import.py loads and visualizes a YASim FDM geometry
=========================================================

It is recommended to load the model superimposed over a greyed out and immutable copy of the aircraft model:

  (0) put this script into ~/.blender/scripts/
  (1) load or import aircraft model (menu -> "File" -> "Import" -> "AC3D (.ac) ...")
  (2) create new *empty* scene (menu -> arrow button left of "SCE:scene1" combobox -> "ADD NEW" -> "empty")
  (3) rename scene to yasim (not required)
  (4) link to scene1 (F10 -> "Output" tab -> arrow button left of text entry "No Set Scene" -> "scene1")
  (5) now load the YASim config file (menu -> "File" -> "Import" -> "YASim (.xml) ...")

This is good enough for simple checks. But if you are working on the YASim configuration, then you need a
quick and convenient way to reload the file. In that case continue after (4):

  (5) switch the button area at the bottom of the blender screen to "Scripts Window" mode (green python snake icon)
  (6) load the YASim config file (menu -> "Scripts" -> "Import" -> "YASim (.xml) ...")
  (7) make the "Scripts Window" area as small as possible by dragging the area separator down
  (8) optionally split the "3D View" area and switch the right part to the "Outliner"
  (9) press the "Reload YASim" button in the script area to reload the file


If the 3D model is displaced with respect to the FDM model, then the <offsets> values from the
model animation XML file should be added as comment to the YASim config file, as a line all by
itself, with no spaces surrounding the equal signs. Spaces elsewhere are allowed. For example:

  <offsets>
      <x-m>3.45</x-m>
      <z-m>-0.4</z-m>
      <pitch-deg>5</pitch-deg>
  </offsets>

becomes:


Possible variables are:

  x ... <x-m>
  y ... <y-m>
  z ... <z-m>
  h ... <heading-deg>
  p ... <pitch-deg>
  r ... <roll-deg>

Of course, absolute FDM coordinates can then no longer directly be read from Blender's 3D view.
The cursor coordinates display in the script area, however, shows the coordinates in YASim space.
Note that object names don't contain XML indices but element numbers. YASim_hstab#2 is the third
hstab in the whole file, not necessarily in its parent XML group. A floating point part in the
object name (e.g. YASim_hstab#2.004) only means that the geometry has been reloaded that often.
It's an unavoidable consequence of how Blender deals with meshes.


Elements are displayed as follows:

  cockpit                             -> monkey head
  fuselage                            -> blue "tube" (with only 12 sides for less clutter); center at "a"
  vstab                               -> red with yellow flaps
  wing/mstab/hstab                    -> green with yellow flaps/spoilers/slats (always 20 cm deep);
                                         symmetric surfaces are only displayed on the left side
  thrusters (jet/propeller/thruster)  -> dashed line from center to actionpt;
                                         arrow from actionpt along thrust vector (always 1 m long);
                                         propeller circle
  rotor                               -> radius and rel_len_blade_start circle, direction arrow,
                                         normal and forward vector, one blade at phi0
  gear                                -> contact point and compression vector (no arrow head)
  tank                                -> cube (10 cm side length)
  weight                              -> inverted cone
  ballast                             -> cylinder
  hitch                               -> circle (10 cm diameter)
  hook                                -> dashed line for up angle, T-line for down angle
  launchbar                           -> dashed line for up angles, T-line for down angles

Note au sujet de la première étape (step (0)) concernant les utilisateur M$: le chemin du répertoire indiqué est situé dans le répertoire dans lequel Blender est installé, quelque chose comme C:\Program Files\Blender Foundation\Blender\.blender\scripts.