-
Notifications
You must be signed in to change notification settings - Fork 0
Génération de lignes de course
Il y a deux modes d'installations pour les racelines: Sur Ubuntu 20.04 (ou WSL) et Docker. Vous pouvez lire le README du repo ici et suivre le méthode de votre choix: https://github.com/vaul-ulaval/f1tenth-raceline-gui
Une fois l'installation complété, vous pouvez essayer de lancer le GUI en lisant les sections là dessus dans le README.
L'optimiseur prend en entrée un fichier .csv contenant des positions x,y ainsi qu'une longueur de piste à gauche et à droite. Dans notre cas, on prend toujours les points au centre de la piste donc la longueur à gauche et à droite est identique. On réfère à ce fichier .csv comme étant la centerline
de la piste.
Pour obtenir cette centerline, on utilise un algorithme qui travaille avec le fichier .pgm de la map. Cependant, cet algorithme fonctionne uniquement si la map possède des tournants lisses (c'est-à-dire qui ne sont pas trop carrés). Donc, parfois il est nécessaire de modifier la map dans Gimp pour obtenir un résultat satisfaisant
À partir de la centerline et des différents paramètres du véhicule, l'optimiseur nous donne en sortie un fichier .csv qu'on appelle fichier de raceline. Ce fichier contient les différents points x,y ainsi que plusieurs informations comme la vitesse à ce point, l'accélération à ce point, etc. C'est ce fichier qu'on envoie par la suite sur le robot pour pouvoir suivre ce chemin optimal.
Lors de l'ouverture du GUI, on doit sélectionner notre workspace. C'est l'endroit où on travail pour un déploiement donné. On essaie de faire un workspace par déploiement afin de facilement s'y retrouver.
Une fois le GUI ouvert, simplement sélectionner le workspace sur le NAS qu'on a créé précédemment lors du mapping.
Une fois le workspace ouvert, vous devriez voir la map apparaitre. Pour générer une centerline, vous pouvez jouer avec le 'thresold' qui devrait générer la centerline. Si vous ne parvenez pas à générer la ligne centrale, vous pouvez utiliser le bouton 'Open in Gimp' et rendre le courbe plus lisse. Une belle centerline ressemble à ceci:
Prendre note de la flèche rouge, c'est elle qui indique dans quel sens le véhicule va rouler. Si elle n'est pas du bon sens, vous pouvez cocher la case 'reverse' pour l'inverser.
Après avoir généré la centerline, on peut passer à l'onglet 'Raceline' où on peut choisir le type d'optimisation et jouer avec les différents paramètres. Tous les paramètres sont expliqués ici Explication des paramètres de raceline Le meilleur type d'optimisation est 'mintime', cependant il y a plus de paramètres à tuner.
Pour lancer une optimisation, vous pouvez cliquer sur le bouton 'Launch Optim' et l'optimisation se lancera en background. Une fois l'optimisation terminé (Si elle termine), vous verrez différents graphiques montrant le résultat comme ici:
Après avoir généré quelques lignes de course, il est possible de les comparer dans l'onglet 'Compare'. On peut check les différentes checkbox pour voir les racelines afficher sur le graphique.
Pour envoyer une raceline sur un robot, il suffit de cliquer sur le nom de la raceline pour que ce soit sélectionner en bleu et ensuite cliquer sur le bouton 'Push to blitz'. Ce bouton fonctionne uniquement pour le robot 2 (blitz) et si vos clés ssh sont fonctionnelles