Bilan

Au terme de ces quatorze semaines, les objectifs proposés par nos tuteurs de projet ont été atteints. En effet, le simulateur a subi d’importantes modifications tant au niveau physique avec la modification des algorithmes, qu'au niveau graphique avec la modélisation en trois dimensions de l'IUT.

Toutes les fonctionnalités demandées ont été implémentées et l’intégralité de nos applications fonctionne sans aucun bug connu. Néanmoins, il subsiste quelques éléments à compléter : Suivi GPS pas encore totalement au point, salle de l'IUT pas complètement achevée dans la scène 3D.

Au niveau technique, ce projet nous a permis d’approfondir nos connaissances dans différents langages de programmation tels que C, Java, C++. Nous avons également découvert plusieurs bibliothèques comme la SFML, Qwt, mais aussi le framework Qt.

Le simulateur possède une physique plus réaliste et plus stable.
L'aspect graphique de celui-ci a grandement été amélioré en utilisant notamment des outils de modélisation 3D comme Blender ou Sketchup.
Le serveur Java remplit bien son rôle d'aiguilleur de trames.
L'application Android a été portée pour la version 4. Le thème et les boutons ont été personnalisés ainsi que la communication réseau de l’application Android permettant dorénavant d’envoyer des ordres au simulateur.
L’interface graphique de l'IHM est sobre, et lisible. Nous pouvons voir en temps réel les informations du drone soit en nous reportant à l'assiette, soit en affichant les données de vol en temps réel qui s'affiche dans une fenêtre graphique. Quelques difficultés se sont dressées comme de permettre l'horizon à artificiel de se mouvoir où lors de l’intégration de l’API Google Maps.
Nous n'avons pas encore eu le temps et la chance de pouvoir interconnecter le drone réel à l’IHM. Pour cela, nous avons tout de même commencé l’implémentation de la reconnaissance des trames que pourrait envoyer le drone par l’IHM. Il ne reste plus qu'à recevoir les informations en provenance de celui-ci.

Le bilan technique est donc positif. Nous espérons que le projet sera repris l’année prochaine, car il reste certaines améliorations et fonctionnalités à intégrer.

Conclusion

Dans le cadre de notre projet, nous devions améliorer un simulateur de vol d’un quadricoptère.
Nous avons dû, dans un premier temps, comprendre le code existant du simulateur ce qui nous a amenés à effectuer un travail d'analyse et documentation sur le moteur Raydium. De plus, l’autre étape importante du projet était de créer une interface homme-machine déportée pour afficher en temps réel les informations du drone.
Nous nous sommes vite confrontés à un problème, comment faire communiquer ces applications ? Quelle application allez devoir jouer le rôle du serveur ? Après concertation avec l'équipe pédagogique, nous avons décidé d’implémenter un serveur utilisant le langage Java à la fois pour faciliter la portabilité Linux / Windows, mais également pour sa rapidité d’intégration. Ce serveur s'est vite avéré crucial afin de déporter la gestion des connexions à l’extérieur de nos applications déjà existantes.
Enfin, le sujet tel qu'il a été défini prévoyait de pouvoir contrôler le drone via une application Android. Ainsi, l'application existante a été modifiée, améliorée et portée sur les versions 4 et supérieure d’Android.
Ainsi nous pouvons contrôler le drone via un smartphone, voir son déplacement dans le simulateur et obtenir toutes les informations de vol du drone grâce à l'IHM déporté. Tout ceci étant interconnecté via le serveur Java.
Ce fut un projet très intéressant qui nous a permis de découvrir d'autres outils de programmation, d'autres techniques et des logiciels différents de ce que l'on a pu voir dans notre cadre universitaire.
Pouvoir combiner la physique et l'informatique en utilisant les bibliothèques graphiques a été très intéressant pour l’ensemble des membres du projet.