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.
Vidéos
Ici le robot va scanner le labyrinthe, il va légèrement plus vite qu'avant et les mouvements de la tête sont mieux gérés.
Il reste lent par rapport à l'autre phase car on privilégie toujours la précision pendant la cartographie.
Vient ensuite la deuxième phase ! Le robot va beaucoup plus vite qu'avant.
Notez que le robot ne s'arrête plus sur les lignes noires s'il est déjà bien positionné.
Il reste encore à améliorer les virages même s'ils sont légérement plus rapide que dans l'ancienne version.
Liste des modifications apportées au projet
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
Les rotations de la tête ont été optimisées pour garder que celles strictement nécessaire
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"
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 n'est pas perceptible
Autres
Gestion de l'exception qui se produit lorsque le labyrinthe a été parcouru entièrement mais ne possède pas de ligne d'arrivée
Gestion de l'exception quand le fichier de séquence est manquant en phase 2