Project

General

Profile

Todo list » History » Version 9

Rafael Bailon-Ruiz, 2020-10-26 15:02

1 1 Florian Seguin
h1. Todo list
2
3
h2. Mapping
4
5 8 Rafael Bailon-Ruiz
h3. Ameliorer le traitement des donnees brutes
6 1 Florian Seguin
7 8 Rafael Bailon-Ruiz
la partie concerne plus particulierement le filtre "CloudSensorProcessing":https://redmine.laas.fr/projects/nephelae-devel/repository/nephelae_base/revisions/master/entry/nephelae/dataviews/types/CloudSensorProcessing.py. Par sentiment personnel, je trouve que son utilisation pourrait etre plus claire pour un utilisateur n'ayant aucune ou peu de connaissance sur le processus de debruitage du capteur. NOTE : le capteur est egalement susceptible de changer, evitant ainsi la dependance directe avec la batterie.
8
9
h3. Apprentissage des hyperparametres
10
11
Le kernel utilise la classe "WindKernel":https://redmine.laas.fr/projects/nephelae-devel/repository/nephelae_base/revisions/master/entry/nephelae/mapping/GprKernel.py qui utilise directement la "librairie scikit-learn":https://scikit-learn.org/stable/modules/gaussian_process.html pour effectuer les calculs de processus gaussiens. Le probleme est qu'aucun des parametres n'est appris au cours du temps. Integrer leurs calculs dans la boucle serait judicieux. NOTE : Se pencher sur les travaux des anciens stagiaires (si existants...)
12
13
h3. Carte de vent
14
15
Integrer une carte vent 3D qui puisse renvoyer a la fois des informations globales et locales par rapport a la position des UAVs, sur demande de l'utlisateur. Les cartes de bases couplees avec les filtres de vent offrent deja une premiere approche qui pourrait fonctionner. Il faudrait egalement prendre en compte les entrees utilisateurs, comme de nouveaux samples dans la database (cette partie deja faite sur les cartes de vent de bases). L'image suivante serait un bon debut pour obtenir ce que l'on souhaite.
16
17 4 Florian Seguin
!windserver.jpg!
18 1 Florian Seguin
19
h2. Interface graphique :
20
21 8 Rafael Bailon-Ruiz
h3. Cookies
22 1 Florian Seguin
23 8 Rafael Bailon-Ruiz
Facultatifs mais peuvent etre tres utile pour des developpeurs ne possedant qu'un seul ecran ou des ressources limitees. Le role des cookies ici serait de garder les parametres de visualisation de page (coordonnees dans la carte + zoom, length scale des vues...). Cela permettrait a un utilisateur de basculer d'une page a une autre sans s'embeter a retoucher les parametres a nouveau.
24
25
*rbailonr* Django permet stocker des "configurations 'session'":https://docs.djangoproject.com/en/3.1/topics/http/sessions/ C'est mieux d'utiliser un framework existant que de gérer le stockage de la configuration à la main. De plus lorsque c'est preconisé d'etablir seulement une cookie session et sauvegarder les informations coté serveur.
26
27
h3. Planner
28
29
Integrer les appels du planner dans l'interface. Deux choix sont possibles : soit on modifie les pages existantes pour ajouter les plans, soit on cree des nouvelles pages + fonctionnalites dans de nouvelles pages. Pour tout les appels, reprendre les methodes utilises pour le module Mission : requetes pour get et requetes pour set. Voir "ici":https://redmine.laas.fr/projects/nephelae-devel/repository/nephelae_gui/revisions/master/show/web/nephelae_gui/config/missions.
30
31 7 Rafael Bailon-Ruiz
h3. Timelines de l'execution des plans
32 1 Florian Seguin
33
L'idee est la suivante, voir s'afficher pour un UAV son plan initial et son plan effectif est leur evolution au cours du temps. Chaque mission est bornee temporellement de 0 a t, t etant la somme des temps des missions, et seraient disposees sur un diagramme de Gantt evoluant au cours du temps. On pourrait voir d'une part si le plan se deroule correctement, et son comportement par rapport au plan initial (si il est meilleur ou pire temporellement). Bonus point si un graphe est ajoute sur la meme page decrivant la consommation estimee est reelle au cours du temps. Utiliser un GraphLine comme sur les pages des sensors2d me semble judicieux.
34
35 8 Rafael Bailon-Ruiz
*rbailonr* On pourrait utiliser un diagramme de gantt pour afficher les taches de la mission. Il existent quelques bibliothèques pour créer des gantt interactifs en javascript; par exemple: https://frappe.io/gantt (tuto: https://www.cssscript.com/interactive-gantt-chart/) 
36 7 Rafael Bailon-Ruiz
37 9 Rafael Bailon-Ruiz
h3. Affichage des erreurs dans le GUI
38
39
Des nombreux erreurs de configuration ne sont affichés que dans les logs. Par exemple établir un rayon de cubature trop grand ou trop petit ne permet pas d'instancier un pattern dans CAMS, mais rien est indiqué à l'utilisateur. Il pense que tout est bon, mais rien ne va s'afficher dans l'onglet de validation des missions.
40
41 8 Rafael Bailon-Ruiz
h2. Planification
42 1 Florian Seguin
43 8 Rafael Bailon-Ruiz
h3. Acceptation et mise a jour des missions
44 1 Florian Seguin
45 8 Rafael Bailon-Ruiz
Paparazzi a un comportement particulier en ce qui concerne l'ajout des missions du a son utilisation de buffer circulaire pour gerer le tout. Il faut prendre garde au fait qu'un ajout de mission dans une liste ne soit pas dependant de Paparazzi (ce probleme concerne plus les MissionsTypes en eux meme que le Planner)
46 1 Florian Seguin
47 8 Rafael Bailon-Ruiz
h2. Documentation
48 3 Florian Seguin
49 8 Rafael Bailon-Ruiz
Documenter frequemment chaque nouvel ajout, et terminer la documentation generale. C'est une tache qui n'a pas vraiment de fin...
50 1 Florian Seguin
51
Penser a chaque nouvel ajout son utilisation dans un script ou en ligne de commande.
52 5 Florian Seguin
53 1 Florian Seguin
h2. Extras
54
55 8 Rafael Bailon-Ruiz
h3. Pour aller plus loin
56
57
ajouter un superviseur ou moteur d'execution. Il sera utile pour faire des taches synchronises avec 2+ UAVs. L'idee serait qu'il puisse changer l'etat du plan en UAV en reponse a certains evenements ou signaux.
58
59
h3. Pour aller TRES loin
60
61
Installer un middleware pour la definition des messages. Le traitement sera propre aux modules (paparazzi ou autre autopilote). (Se pencher sur les middleware qu'utilise ROS2 et l'utilisation d'idl ?)