samedi 10 décembre 2016

Profiter en simulateur de vol

L’architecture de simulation distribuée répond à des objectifs de performances d’interopérabilité, et de réutilisabilité, ce qui la rend très attirante pour répondre à des problèmes de simulation industrielle de grande envergure, comme par exemple celle d’un avion réel mettant en jeu plusieurs systèmes déjà existants. Notre PIR s’inscrit donc dans la cadre de simulation distribuée d’un système complexe aéronautique : l’avion. Pour répondre à cette problématique, nous avons adopté la démarche suivante : dans un premier temps nous nous sommes penchés sur le fonctionnement d’un simulateur de vol existant, FlightGear, et dans un second temps, nous avons proposé un nouveau modèle de simulateur fondé sur une architecture distribuée. Dans ce modèle, nous nous sommes efforcés de mettre en avant les attributs des différents fédérés mis en jeu ainsi que les interactions auxquelles ils souscrivaient. FlightGear est un simulateur de vol gratuit dont les sources sont libres, afin que n’importe qui puisse apporter des améliorations. Par exemple des améliorations sur les moteurs pour les ingénieurs autant que sur le son pour ceux dont c’est le domaine. C’est un simulateur de vol civil, mais on peut imaginer d’intégrer des armes dans le code, un dossier y est d’ailleurs dédié. L’inconvénient majeur de ce logiciel et son manque de documentation par certains auteurs, et le fait que certains ajouts n’en suppriment pas d’autres et entraînent des redondances. C’est un thésard qui commence le projet en 1996. Le projet tourne très vite sur Linux et Windows. Les routines graphiques essentielles sont écrites puis à la fin de la thèse le projet tourne court. L’année suivante il est envisagé de lui intégrer le code d’un logiciel de simulateur déjà existant pour simplifier le travail d’écriture. C’est ainsi qu’est repris un logiciel de la Nasa : LaRCsim. Des améliorations ont ensuite été régulièrement apportées : affichage de la Lune, du Soleil et des étoiles, amélioration de la texture de fond, un autopilote (1998), puis un tableau de bord, quelques sons de moteurs, les lacs et les rivières, la gestion multi joueurs (1999). En 2000 l’avion de base du LaRCsim (navion) est remplacé par un Cessna 172 et l’utilisateur a désormais également le choix entre en plus le X15 et un ballon à air chaud : c’est JSBSim. Actuellement, il est même possible d’avoir la météo en temps réel (dossier METAR). JSBSim est le modèle par défaut depuis 2000. Il contient toutes les données aérodynamiques de l’avion (coefficients de portance, traînée, effet de sol, usage des ailerons becs et volets). Un autre modèle, YASim, utilise des algorithmes différents et est en usage depuis 2002. Il contient entre autres la forme de l’avion : fuselage, ailes, gouvernes. Enfin, il existe un dernier modèle, UIUC développé par une université américaine à partir de LaRCsim. Les sources de FlightGear sont classées dans différents dossiers et sous-dossiers afin de faciliter leur accès. Le logiciel FlightGear est codé en C++, langage non enseigné à Supaero mais qui tout de même se rapproche 3 pas mal du langage C, appris en première année, en ce qui concerne l’écriture ; ainsi que du langage Java, appris en deuxième année, pour ce qui est des notions de classe et d’objet Loin de pouvoir comprendre dans le détail l’ensemble du code source en C++ constituant FlightGear, sur lequel même un informaticien pourrait passer 6 mois sans forcément tout saisir dans le détail, nous nous sommes donc intéressés à regarder le contenu de chaque fichier. Pour en savoir plus: https://www.tematis.com/simulateur-de-vol