Apprendre à travailler sur les F1TENTH - vaul-ulaval/vaul-wiki GitHub Wiki

L'objectif de ce tutoriel est de vous amener à sortir de la simulation et d'être capable de travailler sur les vrais F1TENTH. Vous pouvez utiliser ce tutoriel comme feuille de route afin de vous assurer de bien comprendre chaque étape. Toutes ces étapes peuvent être réalisé dans le local du VAUL et lorsque vous aurez terminé, vous saurez comment déployer un F1TENTH de A à Z!

Prendre en considération votre système d'exploitation

Afin d'alléger les tutoriels, toutes les commandes dans les tutoriels sont des commandes à exécuter sur Ubuntu 20.04. Voici quoi garder en tête dépendemment de votre système d'exploitation:

  • Windows: Il est recommandé d'utiliser Windows Subsystem for Linux (WSL) afin de simuler un environnement Ubuntu 20.04. Si vous n'avez pas WSL, voir la section WSL dans Configuration d'un environnement de développement ROS
  • Linux: Dépendemment de votre distribution Linux, les commandes sudo apt-get install devront être remplacés par le package manager de votre distribution
  • Mac: Les commandes sudo apt-get install devront être remplacés par brew et parfois le nom de certains packages peut différer. (Une simple recherche google devrait vous guider vers le bon package)

Démarrer et téléopérer un F1TENTH

Pour débuter, il faut apprendre à travailler avec des batteries LiPo et comment démarrer un véhicule.

Pour ce faire, lire TODO

Avant de passer à la prochaine étape, vous devriez:

  • Connaître les dangers d'une batterie LiPo
  • Savoir comment vérifier la charge d'une batterie LiPo
  • Savoir comment mettre une batterie sur la charge
  • Savoir comment mettre une batterie dans un véhicule et le démarrer
  • Savoir comment téléopérer le véhicule avec la manette

Comprendre le setup réseau

Ensuite, il est primordial de comprendre comment notre setup réseau fonctionne afin de pouvoir vous connecter sur les robots pour travailler

Pour ce faire, lire Utilisation du réseau avec les F1tenth

Avant de passer à la prochaine étape, vous devriez:

  • Savoir comment démarrer le routeur et le Raspberry Pi dans la boîte réseau
  • Connaître les adresses IP des robots (Ou savoir comment les retrouver)
  • Savoir comment utiliser, d'un poste distant, les deux robots via SSH.
  • Avoir créé vos clés SSH pour vous connecter sur les robots sans mot de passe
  • Savoir ce qu'est un NAS et comment y déposer/chercher des fichiers (Autant à partir d'un véhicule que de votre poste)

Visualisation avec Foxglove Studio

Pour pouvoir comprendre ce qu'il se passe sur les robots, on utilise un outil de visualisation nommé Foxglove Studio.

Pour ce faire, lire TODO

Avant de passer à la prochaine étape, vous devriez:

  • Avoir installé Foxglove Studio sur votre poste de travail
  • Savoir comment changer de frame sur Foxglove
  • Savoir comment visualiser un topic sur Foxglove
  • Avoir les trois layouts Foxglove des f1tenth

Expérimenter avec un algorithme réactif

Avant de travailler avec des algorithmes plus compliqués avec des lignes de course, on débute par la base avec un algorithme réactif nommé disparity extender.

Pour ce faire, lire TODO

Avant de passer à la prochaine étape, vous devriez:

  • Savoir ce qu'est un algorithme réactif
  • Savoir comment démarrer disparity extender sur les véhicules

Mapping

Passons maintenant aux algorithmes pour suivre une ligne de course. Avant de générer des lignes de courses pour le véhicule, on doit d'abord cartographier la piste.

Pour ce faire, lire TODO

Avant de passer à la prochaine étape, vous devriez:

  • Savoir comment démarrer un mapping
  • Savoir comment visualiser votre map sur Foxglove
  • Savoir comment sauvegarder la map sur le NAS

Génération de ligne de course

On y est presque! Maintenant qu'on a une map, on est prêt à générer une ligne de course optimale pour le véhicule.

Pour ce faire, lire Génération de lignes de course

Avant de passer à la prochaine étape, vous devriez:

  • Avoir cloné le répertoire du GUI de génération de ligne de course
  • Comprendre grossièrement comment l'optimiseur de ligne de course fonctionne
  • Savoir comment générer une centerline à partir d'une carte
  • Savoir comment jouer avec les paramètres de l'optimiseur
  • Savoir comment pousser une ligne de course sur le véhicule

Faire suivre la ligne de course par un F1TENTH!

Il est temps de suivre cette fameuse ligne de course! Une fois que vous aurez complété cette étape, vous êtes enfin prêt à déployer!

Pour ce faire, lire TODO

Avant de passer à la prochaine étape, vous devriez:

  • Savoir comment démarrer l'algorithme pour suivre la ligne de course
  • Savoir comment localiser le véhicule sur Foxglove
  • Savoir comment visualiser les performances d'une ligne de course sur Foxglove

Déploiement

Vous savez maintenant comment déployer un F1TENTH, félicitations! Gardez un oeil sur le channel Général sur le Teams et lors du prochain déploiement, vous pourrez peut-être mettre vos connaissances à l'épreuve!

Voici le tutoriel de rappel qu'on peut consulter à chaque déploiement pour se rafraîchir la mémoire Protocole de déploiement (F1TENTH)