---
# System prepended metadata

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

---

---
title: "Réunion Info 04/04/20"
date: "04-04-2020"
link: "https://hackmd.io/5XTmuUIcQP61usihxr1xZg"
tags: EVOLUTEK
---

# Réunion Info du 04/04/20

## Ordre du jour

* Architecture actuelle
* Features intéressantes
* Tâches à faire

## Architecture actuelle

[Diagram](https://drive.google.com/file/d/1dup8jsQc7rkgrPkFdyxiAK-8poYo0ik4/view?usp=sharing)

* Chaque service utilise un thread pour gérer les requêtes et les events cellaserv

### Trajman

* Un thread lit les messages de la carte moteur de la carte moteur
* Une queue sert à communiquer entre les deux threads
* Un thread pour l'évitement
* Lit la telemétrie du robot
* Un thread pour le mat de balise

### AX12

* Un service par AX12

### Actuators

* Un thread s'occuper de faire les actions stockées dans la queue
* Le thread cellaserv push un tupple d'action
* Le second thread lance une action
* Il publie un event une fois que c'est fini avec un le retour de l'action
* une fonction stop pour arrêter les actuators avec un Event (il doit aussi arrêter le robot)

![Fonctionnement de Actuators](https://i.imgur.com/lLgCyoO.png)

### AI

* Un thread dédié à la machine à état
* Un timer qui permet de changer d'objectif
    * On stop les actuators
    * On arrête le robot
    * On indique qu'on switch en critique avec un event
    * et on retourne en selecting
* Si le dernier objectif est fait
    * On désactive l'objectif crirtique
* Dans making, on doit vérifier si la fin du match a eu lieu ou si on doit changer d'objectif
* Pour la fin du match
    * On stop les actuators
    * On arrête le robot
    * Indiquer la fin de match avec un event

## MAP

* Un thread s'occupe de merge les scans des capteurs
* Un thread par capteur qui fait les requêtes de scan
* Gestion du chemin
    * On calcul le chemin au début du mouvement
    * On vérifie à intervalle régulier si le chemin est toujours bon
    * On recalcule en cas d'évitement ou de chemin plus valable

## SIMULATION

* Service match comme interface
* Un faux robot par robot (PAL, PMI, Oppenents)
* Un faux AX
* Un faux GPIO
* Une interface de contrôle

## Features intéressantes

* Interface de contrôle du robot
* La carte moteur indique si on atteint notre destination
* Gestion auto des gobelets (stockage et dépose)
* Need to make a fake GPIO (remplacer la lib de raspy)
* Une interface de contrôle en simulation pour les gpios, mais aussi les robots
* Un faux TIM
    * Renvoyer les points des robots adverses
    * Ratraying pour générer les scans des capteurs
* Etat de l'IA, Chemin de l'IA dans le match

## Répartition des tâches
* Ajouter La balise sur trajman : Corentin
* Actuators : Jordan
* AI : Corentin, Maxime
* Interface de l'IA : Yann
* Map : Ziane, Yann
* Simulation : Tancrède, Maxime, Corentin, Yann
* Tuto : Corentin, Tancrède
* Clean de match : Yann
