Génération de lignes de course - vaul-ulaval/vaul-wiki GitHub Wiki

Installation

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.

Entrées/Sorties de l'optimiseur

Centerline

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

Raceline

À 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.

Utilisation du GUI

Ouverture du GUI

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.

image

Génération d'une centerline

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:

image

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.

Génération d'une raceline

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:

image

Comparer et envoyer une raceline sur un robot

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