Changements

Note

Avancement du projet par semaines, les fonctionnalités sont détaillés dans les notes techniques. L’ensemble des commits est disponible sur l’organisation github.

Semaine 8/04 - 14/04

Pierre

  • Passage de la visualisation du drone en 3D sous quaternions.

Pierre

  • Développement du composant gérant l’IMU.

  • Réparation de l’avion et vol de l’avion.

Semaine 1/04 - 7/04

Pierre

  • Vol de l’avion

Semaine 25/03 - 31/03

Pierre

  • Constructions/Réparations de l’avion

  • Test et calibration du nouvel IMU

Semaine 18/03 - 24/03

Pierre

  • Constructions/Réparations de l’avion

Semaine 11/03 - 17/03

Pierre

  • Premier vol de l’avion construit.

  • Ajout d’un système d’envoie/récupération d’objectif de vol : Altitude, Direction.

Semaine 4/03 - 10/03

Pierre

  • Continuation de la construction d’un avion.

  • Fixs simulateur

Semaine 03/06 - 09/06

Nicolas

  • Tests de transmission vidéo avec Icecast2 en OGG et WEBP

  • Tests de transmission vidéo en FMP4 via websocket

  • Connexion automatisée en 4G

  • Streaming vidéo depuis le matériel embarqué en dehors de Docker.

Semaine 26/02 - 3/03

Pierre

  • Continuation de la construction d’un avion.

  • Développement d’un modèle simple de vol autonome. Altitude/Pitch, Direction/Roll/Yaw

Semaine 19/02 - 25/02

Pierre

  • Continuation de la construction d’un avion.

  • Création d’un wrapper de simulation de vol pour Picasim, permettant de créer des modèle de vol autonome.

  • Développement d’un modèle simple de vol autonome. Altitude/Pitch seulement

Hugo

  • Construction du prototype 2.

  • Tests pour le vol autonome via le simulateur de vol.

Semaine 12/02 - 18/02

Pierre

  • Continuation de la construction d’un avion.

  • Reverse engineering de logiciel de simulation de vol et début d’implémentation d’un logiciel permettant d’interfacer un modèle de vol autonome a Picasim

Nicolas

  • Accélération matérielle pour l’encodage en H264 du stream vidéo.

Hugo

  • Construction du prototype 2.

Semaine 5/02 - 11/02

Pierre

  • Continuation de la construction d’un avion : Entoilage de l’ailes et empennage arrière/gouvernes de direction.

  • Fixs et améliorations, performances du composant de radiocommande.

  • Développement d’un système d’enregistrement de session de vol, gestion depuis l’interface, enregistrement des capteurs…

  • Ajout du suivi des erreurs en production du backend via Sentry.

Nicolas

  • Accès à internet avec le SIM7600.

  • Données de puissance du réseau capté par le SIM7600.

Hugo

  • Construction du prototype 2.

Semaine 29/01 - 4/02

Pierre

  • Continuation de la construction d’un avion : Ailes, empennage arrière.

  • Implémentation de la réception RC pour servos-moteur et brushless, ajout de mode de switch de mode de vol.

  • Gestion de l’alimentation du raspberry et moteur brushless via une seule batterie.

  • Fixs et améliorations (Replay, UI, Modèle de config…).

  • Commencement du développement d’un système d’enregistrement de session de vol.

Emilio

  • Apprentissage VueJS

Hugo

  • Construction du prototype 2, 3D.

  • Calibrage et intégration propre de l’IMU, tentatives d’amélioration de la data.

Semaine 22/01 - 28/01

Pierre

  • Construction d’un avion : Fuselage et ailes.

  • Gestion de la réception de la radio-commande depuis le raspberry.

  • Implémentation d’un système de configuration multiple de modèle de vol ( GPIOs, canaux pour moteur brushless et servos ) envoyé/demandé au/par le drone.

  • Fixs, ajouts autre et refactos, données de teste (replay et autre), teste/calibrage/visualisation des erreur IMU

Nicolas

  • Stream vidéo en H264 via UDP au lieu de JPEG.

Hugo

  • Construction du prototype 2.

  • Calibrage et intégration propre de l’IMU, tentatives d’amélioration de la data.

Semaine 15/01 - 21/01

Pierre

  • Implémentation serveur des replay, ajout de la possibilité de sélectionner/rechercher une session pour la rejouer et la supprimer.

  • Commencement de la mise en place de l’enregistrement pour le replay.

  • Fix JWT, map, graphique de vitesse et d’altitude du replay,…

  • Refacto websocket, composant de communication sur le drone, fausse donnée de replay et images de monitoring…

Emilio

  • Apprentissage JavaScript

  • Apprentissage CSS

Nicolas

  • Augmentation du contraste pour l’affichage du yaw/pitch/roll.

  • Tentative de passage de flux JPEG-JEPG en flux H264-JPEG.

Hugo

  • Construction du prototype 2.

Semaine 8/01 - 14/01

Pierre

  • Développement d’un système de Replay de logs/session de vol (frontend).
    • Possibilité de rejouer une session seconde par seconde, avec changement de la vitesse de lecture, de temporalité, play/pause…

    • Position et rotations (roll,pitch,yaw) du drone sur une carte GPS.

    • Graphique d’altitude en fonction du temps.

    • Graphique de la vitesse en fonction du temps.

Hugo

  • Fix variées sur la partie Air.

  • Ajout de documentation et clean de code.

  • Début de la construction du prototype 2.

Emilio

  • Apprentissage CSS

  • Apprentissage Javascript

Nicolas

  • Affichage du pitch/yaw/roll sur le stream vidéo.

  • Possibilité d’ajouter des données GPS aux frames JPEG.

Semaine 1/01 - 7/01

Pierre

  • Multiple refacto et améliorations de la carte GPS. Possibilité de changer de nombreux paramètres (Satellite ou Nuit, élevation de terrain, suppression des labels), implémentation des rotations (roll,pitch,yaw) du modèle 3D du drone en fonction des données utilisateur.

  • Ajout d’une ligne de direction du drone sur la carte GPS, dynamique en fonction du zoom de la carte et ajout de la taille dynamique du modèle 3D du drone. Ajout du centrage de la vue sur le drone en fonction de sa distance/position.

  • Développement d’un système de Replay de logs/session de vol.

Hugo

  • Refactoring de la partie Air, amélioration de la maintenabilité et de la stabilité du code sur l’IPC, le système de composants, le logger et le manager, code tests unitaires.

  • Refactoring de l’intégration du SIM7600H, sense hat et VL53 pour une meilleur gestion des erreurs et une émulation de données automatique.

Emilio

  • Apprentissage HTML

  • Apprentissage CSS

Semaine 25/12 - 31/12

Pierre

  • Réimplémentation de la gestion API de l’interface. (Utilisation d’Axios à la place de ofetch), Amélioration de l’authentification/Sécurité JWT

  • Ajout d’un système de notification/toast, de dialog, d’overlay lié au chargement, améliorations UX/UI, fix map GPS,cookies,… sur l’interface.

  • Implémentation serveur de l’onglet surveillance. Suppression d’image, téléchargement et sélection via l’interface.

  • Améliorations de la vue GPS, Ajout des bâtiments 3D. Ajout d’un modèle 3D du drone dans la vue GPS.

Emilio

  • Apprentissage HTML

Hugo

  • Tests menés sur le GPS.

  • Début du refacto de la partie Air.

Semaine 18/12 - 24/12

Pierre

  • Implémentation du composant permettant de gérer les servos-moteurs en fonction des canaux choisis depuis l’interface.

Semaine 11/12 - 17/12

Pierre

  • Fix JWT Token et petite amélioration UX.

Semaine 4/12 - 10/12

Pierre

  • Ajout de paramètres de configuration du drone temporaire. (Canaux GPIOs). Permettant de changer les pins utilisés pour les servos-moteurs/moteur brushless.

  • Ajout d’un composant de configuration du drone.

  • Amélioration/Fix/Refacto des outils d’appels API/Authentification websocket/JWT.

Hugo

  • 3D et prototypage.

  • Refactoring et amélioration du code de la partie Air.

Emilio

  • Envoi mails partenariat

  • prototypage

  • simulateur

Nicolas

  • Fix race condition & corruption mémoire avec GST sur le module NVS.

Semaine 27/11 - 3/12

Pierre

  • Amélioration du système de surveillance photo. Listing de photos/mouvement des photos…

  • Amélioration/fix de l’interface/gestion des images de surveillance.

  • Commencement de l’implémentation de l’api d’utilisation des servos-moteur.

Hugo

  • 3D et prototypage.

  • Travail sur le gps.

Emilio

  • prototypage

  • simulateur

Nicolas

  • Possibilité de changer la configuration de transmission vidéo (framerate, taille, qualité d’encodage et compression).

  • Ajout de changement de flux durant la transmission -> annulation des changements.

  • Buffering des frames pour la transmission vidéo.

  • Docker pour le serveur vidéo.

Semaine 20/11 - 26/11

Pierre

  • Implémentation du composant de gestion du moteur brushless sur le drone. Séquence de calibration, démarrage, arrêt, contrôle de la vitesse.

  • Test de tolérance aux fautes de la communication Drone <-> Ground. Amélioration de la qualité/nombre des données envoyées.

  • Création d’un tableau de bord de surveillance vidéo/gestion des photos. Zoom sur photos, Sélection…

Hugo

  • Amélioration de l’intégration et de la compatibilité du SIM7600H (Rpi 2).

  • Augmentation de la fréquence gps, divers tests menés pour l’augmentation de la précision (RTK).

  • Construction et tests d’un premier prototype, cahier des charges et planification pour le 2e prototype.

Emilio

  • TODO

Nicolas

  • Passage du streaming vidéo H264 en JPEG

  • Suppression de la pipeline GStreamer côté serveur.

  • Implémentation du Nemesis Video Stream fini.

Semaine 13/11 - 19/11

Pierre

  • Mise en place de l’intégration continue pour les documentation technique, non technique et l’ui.

  • Création du composant de communication drone<->ground.

  • Implémentation de la récupération des informations utilisateur sur l’interface.

  • Implémentation du rafraichissement JWT Token et ajout de l’authentification JWT pour les communications websocket.

  • Amélioration de l’émulateur, ajout de la possibilité de récupérer la route sur l’IPC du drone.

  • Amélioration de la map GPS, ajouts de fonctionnalités sur le modèlde 3d et le filtrage des logs.

  • Implémentation du modèle 3D du drone avec des données en temps réel.

  • Fixs et améliorations de componsants web/déploiement.

Hugo

  • Intégration GNSS du SIM7600H pour le positionnement du drone.

  • Amélioration de l’intégration du Sense Hat.

  • Modifications de certains composants, amélioration de la gestion des états et des erreurs.

  • Émulateurs pour le gnss et le sense hat pour faciliter le développement.

  • Multiples modifications utilitaires.

Emilio

  • Implémentation changement de nom d’utilisateur.

  • Implémentation changement de mot de passe.

Nicolas

  • Reconnexion automatique au serveur pour la transmission vidéo.

  • Début de l’implémentation du système de streaming vidéo sur le backend & UI.

Semaine 06/11 - 12/11

Pierre

  • Implémentation du capteur laser (Drone & Interface).

  • Implémentation d’un composant temporaire de simulation GPS.

  • Écriture de la note technique de l’interface utilisateur.

Hugo

  • Modifications du style de la documentation.

  • Diverses modifications sur la partie Air.

  • Intégration du Sense Hat en cours sur la partie Air (IMU).

  • Création d’une image personnalisée pour notre système d’exploitation.

  • Organisation de la documentation externe du projet, notes techniques et changements.

Emilio

  • Définition d’une liste de potentiels sponsors.

  • Définition de nos besoins et de nos offres (flocage du drone aux couleurs de l’entreprise, possibilité de floquer un logo).

  • Création d’une mail de description concis de notre projet pour les sponsors.

Nicolas

  • Composant NVS du module Air en H264.

  • Composant en mode serveur passé en mode client.

Semaine 30/10 - 05/11

Pierre

  • Implémentation de la gestion d’un contrôleur/manette de jeu sur l’interface (pour le pilotage du drone).

  • Ajout de la gestion des états de composants sur l’interface (pour le démarrage/arrêt des composants).

  • Création d’un système de layout pour l’interface (pour la gestion des différentes pages).

  • Ajout de documentation pour la communication Drone <-> Ground et le système de layout de l’interface.

  • Amélioration de la tolérance aux fautes de la communication Drone <-> Ground (reconnexion automatique/timeout/anticrash).

Hugo

  • Multiples fixes et améliorations utilitaires.

  • Modifications et réorganisations de la documentation de la partie Air.

  • Mise en place du repo Workflow pour l’organisation du projet.

  • Ajout d’un tutoriel de documentation et d’informations sur Tailscale dans le Workflow.

  • Mise en place d’Asana pour la gestion des tâches.

  • Création du repo Doc pour la documentation externe du projet.

Nicolas

  • Script prototype pour le streaming en JPEG fonctionnel.

  • Travaux pour du streaming vidéo en H264.

Semaine 23/10 - 29/10

Pierre

  • Implémentation de la communication Drone <-> Ground (Base serveur) via socket.

  • Implémentation de la communication Ground <-> Interface.

  • Mise en place de mécansime de détection de perte de connexion avec le drone & Support de reconnexion automatique.

  • Ajout d’un modèle 3D de drone sur l’interface.

Hugo

  • Multiples fixes sur la documentation et le build de la partie Air.

Nicolas

  • Début des travaux sur le système de streaming vidéo.

Semaine 16/10 - 22/10

Pierre

  • Mise en place de la communication websocket entre le backend et le frontend.

  • Mise en place de la documentation permettant de lancer/expliquer les différentes parties du backend et du frontend.

  • Ajout de la gestion des logs venant du drone sur l’interface.

  • Ajout de la gestion des composants du drone sur l’interface, avec la possibilité de les activer/désactiver/redémarrer.

Hugo

  • Travail sur l’intégration de la radiocommande.

  • Plusieurs modifications et fixes de bugs sur la partie Air.

  • Ajout de tests unitaires pour l’IPC.

  • CI/CD pour la partie Air.

Semaine 09/10 - 15/10

Pierre

  • Création de la base de développement de l’interface et du backend. Voir Interface.

  • Implémentation de l’authentification/connexion utilisateur.

  • Implémentation du tableau de bord : informations du drone, map GPS…

Hugo

  • Création et début de mise en place du repository pour le logiciel embarqué. Voir Logiciels Embarqués.

  • Mise en place de la documentation du logiciel embarqué et de docker.

  • Création de la bibliothèque pour la communication inter process (IPC) et pour les composants.

  • Création du manager pour gérer les composants.