---
# System prepended metadata

title: Réunion Info 07/05/20
tags: [EVOLUTEK]

---

---
title: "Réunion Info 07/05/20"
date: "07-05-2020"
link: "https://hackmd.io/h5pHE_ZPQNuue82pTTIJfA"
tags: EVOLUTEK
---

# Réunion Info du 07/05/20

## Répartition des tâches
* Trajman : Corentin
* Actuators : Jordan
* AI : Corentin, Maxime
* Interfaces : Yann
* Map : Gabriel
* Simulation : Tancrède, Maxime, Corentin
* Tuto : Corentin, Tancrède


## Services

### Actuators
* Gestion des bouées est ok
* Capteurs couleurs fonctionnels, il faut regarder pour mieux les calibrer
* Gestion de la queue d'action simple, ok
* Ce qu'on veut :
    * Un thread qui dépile une queue et qui éxecute une action
    * Une fct pour mettre dans la queue genre : make_action(action, args)
    * Une fct similaire qui attend un résultat avec une seconde queue : get_action(action, args)
    * Pour chaque grosse action du robot, utiliser la queue
* Il faut penser à avoir le stop actuators et le end match qui fct

### AI
* La partie simple fct
* Il faut rajouter : 
    * L'objectif de secours
    * L'objectif critique
    * Gestion de l'évitement

### AX
* Il faut réussir le USB2AX
    * ça implique de tripoter la lib en C :)

### config
* Done

### Map
* Clean le service et gérer la simulation

### Match
* Clean

### Trajman
* Incorporer la balise
* Améliorer la télémétrie
* Gestion BAU
* Améliorer les retours de la carte moteur
* Ignorer les détections des obstacles et des points en dehors de la table
* Arrêter le robot que si il gêne


## Lib

### AI Interface
* On veut : 
    * Afficher la map avec la position du robot
    * Selection de la couleur avec menu déroulant
    * Eteindre le robot
    * Choix de la stratégie avec menu déroulant
    * Pourvoir set la position/calibrer le robot
    * Pouvoir bouger le robot en cliquant sur la carte
    * Optionnel : choix entre déplaçement ou set
    * Afficher le score
    * Afficher le BAU
    * Optionnel : Gestion des actionneurs
    * optionnel : Etat des capteurs

### Capteurs couleurs
* TODO : 
    * Calibration

### Goals
* TODO : 
    * Parsing objectif critique et de secours

### FSM
* Done

### Gpio
* Add callback

### Map
* TODO : 
    * Pathfinding
    * Gestion

### Match
* Remove

### MDB
* Zone de détéction (Avant, Arrière, ..., ect)
* Utiliser les scans continous
* Gestion de la distance

### Robot
* TODO : 
    * Déplacement avec le pathfinding
    * Gestion de l'évitement
    * Déplacement sans inversion des coordonnées

### Settings
* Done

### TIM
* Done

### Waiter
* Remove

### Watchdog
* Done

## Utils

### Interface robot
* Contrôle des actionneurs
* Etat des services
* Etat des capteurs
* Pouvoir contrôler le hardware pendant la simulation

### Interface de match
* TODO : 
    * La rendre standalone
    * Features communes avec l'IA
    * Voir avec la simulation

### Configurateur de PID et d'Odométrie
* Script de config
* Reprendre ce qu'on avait dans robotctl

### Shell
* AX
* Gpio
* Actuators
* Trajman
* Configuration du robot
* Test du robot

### Outils pour la génération des stratégies
* TODO


## Simulation

### Fake Trajman
* Gérer les collisions
* Gérer les accélérations
* Gérer l'évitement
* Bug : quand on fait un goto, le robot tourne sur lui-même

### Interface de contrôle des Ennemies
* TODO

### Faux TIM (Lidars)
* Deux niveaux : 
    * Renvoie les coordonnées des robots exacts
    * Calcul les scans pour tester le code des lidars

### Simuler le mat de balise
* Simuler la lecture des capteurs


## Autres

* Tkinter : move canvas ?
* Systemd : Attendre la connection au wifi pour le robot
* Gestion de la config cellaserv quand on est setup
* Gestion des images robots/balises pour les Raspy
* PASSAGE à ASYNCIO
* Passer les prints en logs