En tout cas avec les données que tu as et les sorties sur lesquels tu peux agir, pour moi ça sent à plein nez le cas d'école pour usage de la logique floue =) au " fuzzy logic " ( Invocation de Black Templar ?
)
Bon après il n'y a jamais "une seule façon de faire "
, on peut invoquer R1D1 et parler de la mise en place d'un petit réseau de neurone =) On peut même parler d'algorithme génétique et d'apprentissage https://www.youtube....h?v=5lJuEW-5vr8 ( de nouveau invocation de Black Templar avec ses poissons =) )
Aaaa, tu sais comment me parler ! Algo G, réseau de neurones, logique floue, il ne manquait plus que le mot clef "Filtre de Kalman" et ça aurait été parfait 
De ce que je me rappelle de la logique floue c'est un système de prise de décision basés sur des probabilités. Ca donnerais un truc comme ca dans mon cas SI capteur_droit SUPERIEUR A capteur_gauche ET QUE capteur_avant INFERIEUR A un_seuil ALORS on se trouve surement dans un virage vers la droite. C'est ca ?
Pas exactement non, la logique floue, ce n'est pas basé sur les proba mais sur l'appartenance à des ensembles.
Contrairement à la logique classique où tu ne peux appartenir qu'à un seul ensemble à la fois (soit tu es grand, soit tu es petit), en logique floue, tu peux appartenir en même temps à plusieurs ensembles avec un certain degré d'appartenance (tu peux être à la fois grand à 67% et petit à 33% (tu appartiens à 67% à l'ensemble grand et à 33% à l'ensemble petit).
C'est sur la base de cette logique floue que tu peux construire un système flou pour résoudre des problèmes pour lesquels tu peux avoir une expertise humaine forte, mais pas de formalisation mathématiques précise !
Tu exprimes tout une série de règles à adopter en langage naturel (SI obstacle_droite loin ET obstacle_gauche proche ALORS vitesse_droite petite ET vitesse_gauche grande)
Le système floue va automatiquement fusionner toutes tes règles et te sortir un résultat pour la vitesse de tes roues.
Ce qui fait que tout ce que tu as à faire, c'est d'exprimer tes règles (que tu peux rajouter au fur et à mesure que ton expertise sur le problème augmente).
Je te laisse lire la série d'articles que j'ai écrit à ce sujet : http://www.ferdinandpiette.com/blog/les-dossiers/dossier-la-logique-floue/
Et en particulier cet exemple de planificateur de trajectoire : http://www.ferdinandpiette.com/blog/2011/08/exemple-de-systeme-flou-un-planificateur-de-trajectoire/
J'ai regardé aussi le réseau de neurone, ça à l'aire cool, mais de ce que j'ai compris, pour que ca marche, il faut naviguer plusieurs fois dans le circuit pour l'analyser et on aura le droit qu'à un essais le jour de la présentation (sur un circuit inconnu qui plus est) :/
Tu peux faire un réseau de neurone générique qui va déterminer la vitesse de tes roues en fonction des données des capteurs.
Tu apprends ton réseau de neurones (soit par un algo génétique, soit par une autre methode d'apprentissage plus classique) sur différents circuits, et une fois ton réseau entrainé, il est sensé pouvoir se déplacer sur n'importe quel circuit !
Dans la vidéo que Mike à posté, mes poissons apprennent à se déplacer vers un plancton. Une fois entrainé, un poisson peut trouver son chemin vers le plancton quelque-soit sa position.
Je suis en première années à Epitech, et cette école est justement connu pour ne pas guider les étudiants pour les pousser à chercher par eux même 
C'est génial comme façon de faire, mais ça implique que l'étudiant soit assez mature pour creuser un sujet par soi-même !
Sur ce genre de projet, je me serai surement amusé à trouver la meilleure solution en utilisant le moins d'information possible (par exemple, juste 3 données sur les 32 disponibles : la mesure à -30°, celle à 0 et celle à 30°). Je suis sur que tu n'as pas besoin de plus pour avoir le robot le plus rapide et ça aurait montré aux profs que ce n'est pas parce que l'on a plein de données qu'il est pertinent de toutes les exploiter : peu de données bien choisies et bien traités peuvent apporter un bien meilleur résultat que plein de données en vrac que l'on ne sait pas exploiter 