La patrouille de france Flightgear
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le deal à ne pas rater :
TCL C74 Series 55C743 – TV 55” 4K QLED 144 Hz Google TV (Via ODR ...
499 €
Voir le deal

Modèle de vol

+2
JM-26
Didier1963
6 participants

Aller en bas

Modèle de vol Empty Modèle de vol

Message  Didier1963 Jeu 29 Nov 2012 - 15:38

Bonjour à tous les JSBsimiens , et , YAsimiens (ha, y'en a pas? bon tan-pis), Evil or Very Mad Rolling Eyes

Quelqu'un aurait-il des infos ou liens où trouver les information de base pour faire son propre FDM en partant de zéro, ou tout au moins pour mieux comprendre comment ceux existants fonctionnent.
Les noms des fonction disponibles m'interesse pour faire un FDM le plus fidèle possible pour mon "Usine à gaz" Very Happy
Didier1963
Didier1963
Le baron rouge

Messages : 410
Date d'inscription : 22/02/2012
Age : 60
Localisation : Bourgogne, LFLH

Revenir en haut Aller en bas

Modèle de vol Empty Re: Modèle de vol

Message  JM-26 Jeu 29 Nov 2012 - 20:57

Salut Didier,

Il y a les liens WIKI ( mais tu les connais sans doute déjà ? )

http://wiki.flightgear.org/JSBSim

http://wiki.flightgear.org/YASim

Pour le choix entre les deux, du moment qu'il soit réaliste, peut importe Smile

Amicalement,
JM-26
JM-26
Contrôleur aérien

Messages : 1911
Date d'inscription : 04/07/2010
Age : 57
Localisation : Anneyron-26 (LFLR)

Revenir en haut Aller en bas

Modèle de vol Empty Re: Modèle de vol

Message  F-JJTH Jeu 29 Nov 2012 - 22:24

Didier1963 a écrit:Bonjour à tous les JSBsimiens , et , YAsimiens (ha, y'en a pas? bon tan-pis)
Bah si y'en a Smile MOI lorsque c'est réaliste Very Happy Et puis JM-26 aussi apparemment et bien d'autres !
Je fais partie ni un JSBsimien ni un Yasimien, je suis simplement quelqu'un qui veut avoir un comportement réaliste.
Il faut cesser de mettre JSBsim en conflit avec YAsim (pour un ancien de l'ONU ça devrait être facile pour toi Smile ), ils peuvent tous les deux faire des trucs sympa, faut juste bien les connaître. Yasim ou JsbSim peut importe tant que le comportement est réaliste ça me va. Si tu connais bien Yasim il y a de très forte chance que tu nous fasse un FDM super en Yasim mais un truc nul en JsbSim, à l'inverse si tu connais bien JsbSim tu feras sans doute bien mieux qu'avec Yasim.

C'est comme un programmeur : si tu sais faire du C++ et qu'on te demande de faire un programme en C++ le programme sera super ! Par contre si on demande à un programmeur C++ de faire un programme en Python le résultat ne sera pas génial. Tout comme si on demandait à une secrétaire médicale de souder une pièce de métal et qu'on demandait à un soudeur de classer les dossiers médicaux : la pièce de métal tiendra pas longtemps et sera pas belle à voir, tandis que les dossiers médicaux seront un beau bazard et on est pas à l'abri qu'une greffe de cœur se transforme en amputation de jambe Razz

Moi et les FDM ça fait 10 et on est plusieurs dans ce cas ici, les FDM c'est pas notre truc. Par contre on a quelques membres (guillaume, dany93, jano) et il se trouve qu'ils ne sont pas attiré ni par la soudure ni par le C++ mais par JsbSim du coup ben on fait avec... Si quelqu'un s'inscrit sur le forum de la PAF et que son truc à lui c'est Yasim et ben on sera ravi de recevoir des FDM Yasim malheureusement personne ici est un expert en FDM Yasim donc on fait sans.


Voilà suite à toute ces explications j'aimerai que cette image (on n'se demande pas qui nous a collé cette image...) de JSBsimien disparaisse étant donné qu'elle est fausse.


Sinon pour en revenir à ta question de départ, tu pourra trouver ici une ébauche de décortication de Yasim : https://equipe-flightgear.forumactif.com/t765-yasim-comment-ca-fonctionne
Aussi je t'invite à lire les sources des FDM pour voir les différentes options. J'ai lu quelque part que Yasim avait des possibilités pour sortir des tables de je ne sais pas quoi et que ce genre d'info est connu de seul quelques personnes, bon ça me fait un peu rire car ce genre d'info est connu de tous en exécutant simplement yasim sans arguments :
Code:

clement@clement-desktop ~/fgfs/install/fgfs/bin $ ./yasim
Usage: yasim <ac.xml> [-g [-a alt] [-s kts]]
Bon bref... maintenant ce qui est intéressant c'est de voir que y'a pas que l'option -g qui existe il y a aussi -a qui permet de renseigner une altitude et -s qui permet de renseigner une vitesse.
Maintenant pour en savoir un peu plus là dessus on peut aller voir le code source : https://gitorious.org/fg/flightgear/blobs/next/src/FDM/YASim/yasim-test.cpp#line31
Et on lit ceci :

// Generate a graph of lift, drag and L/D against AoA at the specified
// speed and altitude. The result is a space-separated file of
// numbers: "aoa lift drag LD" (aoa in degrees, lift and drag in
// G's). You can use this in gnuplot like so (assuming the output is
// in a file named "dat":

/*
plot "dat" using 1:2 with lines title 'lift', \
"dat" using 1:3 with lines title 'drag', \
"dat" using 1:4 with lines title 'LD'
*/

Et un petit peu plus loin (ligne 65) on peut lire :
Code:
printf("%d %g %g %g\n", deg, lift, drag, lift/drag);
Donc grâce à ça on peut savoir exactement quelle colonne correspond à quoi.

Voilà avec ça tu as déjà pas mal d'info concernant les tables de je sais pas quoi (j'y connais rien en aerodynamique) je n'ai aucune idée de comment interpréter ces tables ni savoir ce qui est bien ou pas (la différence entre un chasseur et un bon chasseur...)

Pour aller encore un peu plus loin dans ta question, regardons ce qu'on peu trouver comme info concernant les options/paramètres.
Tout d'abord ici : https://gitorious.org/fg/flightgear/blobs/next/src/FDM/YASim/ControlMap.cpp#line194 on trouve la liste de tout ce qui peut être contrôlé (ça ne veut pas dire que c'est implémenté ! Il peut y avoir des trucs dans cette liste qui ne correspondent à aucune fonction derrière, elles ont sans doute été mise là histoire de dire "je l'ajoute à la liste, faudra penser à créer la fonction qui va s'en servir" mais qui finalement n'a jamais été fini)
Un petit peu plus bas dans ce même fichier tu verras des fonctions du nom de rangeMin() et rangeMax() elle permettent d'avoir une idée du type de valeur que Yasim attend pour les paramètres listé au dessus. Les petits commentaires accompagnant les lignes parlent d'eux-même Smile
Tout n'y est pas, prenons l'exemple de "REHEAT" à la ligne 200 (ça concerne les JET donc ça devrait t'intéresser comme exemple), la ligne c'est :
Code:
case REHEAT:  ((Jet*)obj)->setReheat(lval);              break;
Bon déjà on voit que ça concerne les moteurs à réaction (turbine, jet) grâce au mot "Jet" (oui je sais c'est logique mais c'est pour montrer à quel point c'est simple de lire du code source même si on est pas programmeur) Donc on voit qu'on fait appel à une fonction nommé "setReheat(lval);" là encore il suffit de savoir parler anglais pour comprendre de quoi il s'agit, le mot "set" en anglais veut dire "configurer" (attribuer, paramétrer...) ce petit "set" est suivi de Reheat donc on sait qu'ici on va configurer "REHEAT" et puis il y a "lval" on va oublier le premier "l" ce qui nous donne "val" que l'on associe facilement au mot "value" qui en Francais veut dire "valeur". Donc là on se rend compte que ce petit bout de code appel une fonction nommé setReheat et que cette fonction va configurer REHEAT avec la valeur donné entre parenthèse. Ce qui va être intéressant maintenant c'est de voir cette fonction setReheat(). Et pour cela rien de plus simple, on voit dans le dossier src/FDM/Yasim qu'il y a un fichier nommé "Jet.cpp", ça tombe bien puisqu'on a vu que setReheat concernant les Jet, ouvrons donc ce fichier et recherchons si une fonction du nom de "setReheat" existe... bingo ! On tombe sur :
Code:

void Jet::setReheat(float reheat)
{
    _reheat = Math::clamp(reheat, 0, 1);
}
Et alors ? et bien regarde on a une fonction qui fait un truc très simple, il fait un "clamp" de la valeur reheat (envoyé dans la fonction) ayant pour limite 0 et 1. On en déduit donc que reheat doit être compris entre 0 et 1. on voit aussi que c'est une variable de type float qui est attendu, on en conclu donc que l'on peut mettre un chiffre à virgule (par exemple : 0.758)


Pour finir, et c'est le plus intéressant, jette un œil au fichier https://gitorious.org/fg/flightgear/blobs/next/src/FDM/YASim/FGFDM.cpp dans ce fichier plusieurs fonctions devrait beaucoup t’intéresser puisque ça regroupe tous les élements XML que tu peut mettre ainsi que les attributs qui vont avec.
Commençons à la ligne 214 qui correspond au parser XML principal, ça se lit assez simplement, je te montre un exemple :
On voit ça ligne 220 :
Code:

if(eq(name, "airplane")) {
        _airplane.setWeight(attrf(a, "mass") * LBS2KG);
Ça se traduit en XML par ça :
Code:

<airplane mass="1500">
Littéralement on pourrait dire : si une balise <airplane> existe, alors elle doit contenir un attribut nommé "mass".

Tu pourras voir aussi un exemple d'attribut facultatif à la ligne 365. Je crois que ça se passe d'explication tellement c'est simple à lire et comprendre même si on est pas programmeur.

Dans le même genre de fonctions intéressante tu as parseWing() à la ligne 694, parseRotor() ligne 734, parsePistonEngine() ligne 854, etc etc
Ah tiens et si on descend encore un peu plus loin on retrouve la liste des ControlMap, sauf qu'en fait cette liste ne fait qu'appeler (avec "return") le "switch" dont je te parlai plus haut donc vaut mieux aller voir directement la fonction dans ControlMap.cpp


Voilà voilà, tu vois Yasim ne me fait pas peur Smile J'espère qu'avec tout ça tu arrivera à faire un truc sympa avec Yasim ! Et que tu aura bien vu qu'ici on est pas anti-Yasim du tout vu tout ce que je viens d'écrire pour te permettre de faire le mieux possible avec Yasim.

Concernant JsbSim je laisserai des gens bien mieux placé que moi pour t'en parler, d'autre part JSBSim est beaucoup plus documenté et tu trouveras bien plus d'info facilement.

Amicalement,
Clément


Dernière édition par F-JJTH le Ven 30 Nov 2012 - 1:16, édité 1 fois
F-JJTH
F-JJTH
Pilote de Ligne

Messages : 2010
Date d'inscription : 19/01/2011
Age : 35
Localisation : Carpentras - LFNH

http://www.clemaez.fr/flightgear

Revenir en haut Aller en bas

Modèle de vol Empty Re: Modèle de vol

Message  F-Sig Jeu 29 Nov 2012 - 22:49

Il y a aussi :

http://www.buckarooshangar.com/flightgear/
avec pas mal d'infos pratiques

Amicalement.


Dernière édition par F-Sig le Ven 30 Nov 2012 - 1:27, édité 1 fois

F-Sig
Pilote d'hélico

Messages : 993
Date d'inscription : 21/09/2010
Age : 76
Localisation : LFIM - LFBT

Revenir en haut Aller en bas

Modèle de vol Empty FDM's

Message  Didier1963 Ven 30 Nov 2012 - 1:06

Merci à tous pour tout ces renseignements, Pouce en l\'air

J'ai commencé par le plus facile Basketball , avec le lien donné par JM-26, et je décortique l'explication pour les données YASim en comparant avec des FDM existants.

Juste pour faire un premier jet et voir comment la bête se comporte, et faire un ou deux vols histoire de décompresser. drunken

Là, j'ai fait un LFPG-LFFN avec guidage sur mon smartphone (FlightGearMap). Il y a encore du boulot! affraid Espèce d’atterrissage à la 3eme tentative Rolling Eyes (cause pas dans l'axe ou trop bas aux 2 premières). Pour un apprenti-pilote je suis assez content de moi. geek

Clément, pour l'histoire JSBSimiens et YASimiens, c'était une blaguounette. J'aime bien mettre de l'humour dans ce que je fait. Surtout que je sait que ici, la blague passera assez bien.

Ta description est super. J'y regarderai de plus près après avoir fini de tester mon premier FDM en YASim. De toute façon, je veux faire un FDM de chaque pour satisfaire le plus possible de pilotes. study

Là je suis aussi dans les .ac export, donc pas mal de modif à faire dans Blender pour éviter les messages d'erreur. Je n'ai fait qu'une livrée (Air-Toulouse) pour les essais, donc il me faudra aussi faire toutes celle pour les compagnies ayant utilisé la 10B-3 (y compris JBB.......... Jean Bedel Bokassa).
Didier1963
Didier1963
Le baron rouge

Messages : 410
Date d'inscription : 22/02/2012
Age : 60
Localisation : Bourgogne, LFLH

Revenir en haut Aller en bas

Modèle de vol Empty Re: Modèle de vol

Message  Alexis Sam 1 Déc 2012 - 0:04

Je pense effectivement que le fait de commencer par YASIM peut être intéressant.

Je ne sais pas quelle est l'étendue de tes compétences en aérodynamique, mais je crois que YASIM s'adapterait bien pour un premier FDM. Je ne dis pas que c'est moins compliqué, mais le but est d'y entrer les caractéristiques générales de l'avion, que se soit sa forme, motorisation.

Avec JSB, il faut se pencher sur l'aérodynamique avec notamment ces fameuses tables, mais avec un coup de pouce, ça se fait facilement (Flavien, avec l'aide de guillaume avait sortis un premier FDM pour le Cap10B et le résultat tait très bon)

En tout cas, dans les deux cas, le travail passe par de très nombreux essais, il y a une part de ressenti dans l'histoire et un FDM en développement donne souvent de grandes discussions, il faut parfois faire des compromis, agir sur un élément va influencer sur un autre ect...
Alexis
Alexis
Admin

Messages : 2067
Date d'inscription : 19/02/2009
Age : 31
Localisation : Loire Atlantique

http://fgalexis.jimdo.com/

Revenir en haut Aller en bas

Modèle de vol Empty Re: Modèle de vol

Message  Patten Sam 1 Déc 2012 - 0:58

Reste à trouver un (ex) pilote de Caravelle... Razz

Very Happy

Patten
Patten
Pilote de chasse

Messages : 3233
Date d'inscription : 16/01/2011
Age : 69

http://pattenflightgear.wifeo.com/

Revenir en haut Aller en bas

Modèle de vol Empty Re: Modèle de vol

Message  Didier1963 Sam 1 Déc 2012 - 20:11

Comment as tu deviné ma prochaine demande???
Bhein le FDM YASim en suivant le modèle du lien c pas évidant.
Il en veux pas. Donc pour l'instant Fdm Caravelle III modifié.
Didier1963
Didier1963
Le baron rouge

Messages : 410
Date d'inscription : 22/02/2012
Age : 60
Localisation : Bourgogne, LFLH

Revenir en haut Aller en bas

Modèle de vol Empty brouillon de FDM

Message  Didier1963 Dim 9 Déc 2012 - 13:21

bon bhein voilà,

j'ai un espèce de FDM que j'ai vérifié et modifié avec l'addon de Melchior FRANZ pour Blender.
Ma Caravelle fait du wheeling !!!!
Apparemment il y a trop de poids vers l'arrière malgré un "ballast" de 5000 placé à l'avant.
Je crois que j'ai merdu dans les inversion d'axe existantes entre YASim et Flightgear.

Si je rentre les chiffres trouvé dans Blender, mes réacteurs se retrouvent à l'avant, mes réservoirs sont du coté inverse par rapport à l'axe central de la longueur.

Un petit conseil avisé serrai le bien venue.
Didier1963
Didier1963
Le baron rouge

Messages : 410
Date d'inscription : 22/02/2012
Age : 60
Localisation : Bourgogne, LFLH

Revenir en haut Aller en bas

Modèle de vol Empty Re: Modèle de vol

Message  Patten Dim 9 Déc 2012 - 13:32

Bonjour à tous, bonjour Didier,

Je n'y connais vraiment quedalle en fdm, mais je crois bien qu'il faut parfois mettre des valeurs déraisonnables pour arriver à un résultat réaliste.

ex: à une époque (peut-être encore d'ailleurs), pour fonctionner normalement avec des performances correctes, le DR 400 se devait d'avoir un moteur...2 temps. What a Face

Very Happy
Patten
Patten
Pilote de chasse

Messages : 3233
Date d'inscription : 16/01/2011
Age : 69

http://pattenflightgear.wifeo.com/

Revenir en haut Aller en bas

Modèle de vol Empty Re: Modèle de vol

Message  F-Sig Dim 9 Déc 2012 - 18:38

Salut,
pas connaisseur en fdm non plus, mais voilà un peu de lecture concernant la géométrie Very Happy

http://www.city-gallery.com/knoblock/projects/flightgear/Docs/coords.html

si j'ai bien saisi dans Yasim x et y sont inversés par rapport à Fg et blender

Amicalement.

F-Sig
Pilote d'hélico

Messages : 993
Date d'inscription : 21/09/2010
Age : 76
Localisation : LFIM - LFBT

Revenir en haut Aller en bas

Modèle de vol Empty Re: Modèle de vol

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum