Comme j'ai eu un peu de temps libre et que je garde les robots jusqu'à la rentrée, j'ai apporté pas mal de modifications à Hydra. Au final, le robot va BEAUCOUP plus vite ! Surtout en phase de run.
Je posterai des vidéos quand j'aurai l'occasion de tester le robot dans un grand labyrinthe.

Cliquer ici pour voir les vidéos

Liste des modifications apportées au projet

Représentation des signaux

Les signaux transmis entre le NXT et le PC ne sont plus codés sur des entiers. Ils sont codés sur des octets.
Pour le résultat du scan, les 4 entiers ont été fusionnés en un seul octet (avec la représentation des murs codé bit à bit).
Le but était de gagner du temps lors de la communication, en pratique le gain est très peu perceptible.

Rotations de la tête

Les rotations de la tête ont été optimisées pour garder que celles strictement nécessaire.
Gain de temps pour la phase de scan.

Déplacements

Fusion des classes deplacementOp et deplacementFast, suppression de la classe deplacement.
Suppression des méthodes inutiles dans deplacementOp, meilleur gestion des vitesses, et méthodes réécrites plus simplement en utilisant au maximum celles déjà proposées par NXJ Lejos.

Phase de scan

Vitesse de la tête et du redressement fixée au maximum, vitesse de course augmentée.

Phase de run

Augmentation significative de la vitesse dans la phase de run. Nouvelle technique pour se redresser avec les lignes noires qui permet d'augmenter la vitesse du robot au maximum même lors des passages sur les lignes. Suppression des stops du robot quand il n'y a pas besoin de se redresser (lors du redressement sur les lignes et avec les murs). Enchaînement des virages sans pause (virage basique, à améliorer).

Interface graphique

Suppression de la "backdoor", ajout d'un item dans le menu : "reprendre à la phase 2".

Autres

Sources sur GitHub