Utilisation du serveur de simulation (Serge) - vaul-ulaval/vaul-wiki GitHub Wiki

Serveur de simulation (Serge)

Grâce au Fond d'Investissement Étudiant (FIÉ), le VAUL a pu se procurer un serveur de simulation performant afin de pouvoir compétitionner et former la relève. La page qui suit expliquera comment y accéder et s'en servir. Par la suite, vous serez en mesure d'effectuer des laboratoires d'introduction à la robotique.

Spécifications du serveur

Pour les intéressés, voici un résumé des spécifications du serveur:

  • CPU: Intel Ultra 9 285K (24) @ 5.000GHz

  • GPU: NVIDIA RTX 5090

  • RAM: 192 Gb DDR5

  • Disque: 1 To NVME SSD

  • Avec un Network Accessible Storage (NAS) de 16 To.

Séminaire 1

Pour référence lors du séminaire 1, voici les slides présentés

Premiers pas

Important

Connectez vous au réseau wifi vaul-router ou vaul-router_5G dans le local du VAUL. Ensuite, en fonction de votre système d'exploitation, allez à la section qui vous concerne.

MacOS (Cliquez pour dérouler)
  1. Télécharger et installer XQuartz
  2. Redémarrer votre ordinateur
  3. Ouvrir XQuartz
  4. Poursuivre les étapes de la section Linux
Windows (Cliquez pour dérouler)
  1. Télécharger et installer Git Bash
  2. Ensuite, télécharger et installer VcXSrv (X server pour Windows)
  3. Ouvrir un terminal Git bash et exécuter les commandes ci-dessous (Pour coller dans un terminal Git Bash, il faut faire Shift+Insert, pour coller il faut faire Ctrl+Shift+C)
echo "export DISPLAY=localhost:0.0" >> ~/.bashrc
source ~/.bashrc
  1. Dans la barre de recherche windows, taper 'terminal'. Clique droit sur terminal et choisir "Exécuter en tant qu'administrateur")
setx DISPLAY "localhost:0.0" /M
  1. Redémarrer votre ordinateur
  2. Ouvrir VcXSrv et un terminal Git Bash. (Il est possible que VcXSrv démarre tout seul alors vous pouvez recevoir un message d'erreur disant qu'il est déjà démarré)
  3. Poursuivre les étapes de la section Linux en entrant les commandes dans le terminal Git bash (Pour coller dans un terminal Git Bash, il faut faire Shift+Insert. Pour copier il faut faire Ctrl+Shift+C)
Linux (Cliquez pour dérouler)
  1. Créer vos clés ssh
ssh-keygen -f ~/.ssh/vaul -N "" 
  1. Prendre connaissance de votre clé publique. Copier le résultat de cette commande
cat ~/.ssh/vaul.pub
  1. Remplir ce formulaire et demander à l'admin système (William Fecteau) de créer votre compte
  2. Créer la configuration SSH pour s'y connecter
nano ~/.ssh/config

Entrer le texte suivant (Prenez soin de remplacer le placeholder par votre idul en minuscule et bien retirer les <>). Pour sauvegarder, faire Ctrl+X, puis y, puis Enter

Host serge
  HostName 192.168.1.69
  User <idul>
  IdentityFile ~/.ssh/vaul
  ForwardX11 yes
  ForwardX11Trusted yes
  1. Assurez vous d'être connecté au réseau wifi vaul-router ou vaul-router_5G.
  2. Tester la connexion (Pour que cela fonctionne, votre compte doit avoir été créé par l'admin système)
ssh serge
  1. Si la commande précédente c'est bien exécuté, vous devriez voir idul@serge apparaître dans votre terminal.
  2. Changez le mot de passe. Par défaut votre mot de passe est votre type de pâte favori :)
passwd
  1. Dans le même terminal, on va tester une interface graphique. Vous devriez voir apparaître une fenêtre avec des yeux
xeyes
  1. Si tout se passe bien, vous pouvez ignorer la section problèmes fréquents et aller à Ouverture d'une session VSCode via SSH

Problèmes fréquents

xauth: (argv):1: bad "add" command line

Après la commande ssh serge, si vous voyez xauth: (argv):1: bad "add" command line, assurez vous que votre config ~/.ssh/config contienne bien

  ForwardX11 yes
  ForwardX11Trusted yes

no such identity: : No such file or directory

Après la commande ssh serge, si vous voyez no such identity: <path>: No such file or directory, assurez vous que le chemin vers votre clé SSH soit bon dans votre config ~/.ssh/config

  IdentityFile ~/.ssh/vaul

Ouverture d'une session VSCode via SSH

Avec ces accès SSH, nous allons maintenant ouvrir une session VSCode via SSH sur le serveur.

  1. Télécharger VSCode sur votre poste
  2. Ourvrir VSCode
  3. Télécharger les extensions VSCode suivantes:

Screenshot from 2025-06-26 15-24-38

  1. Redémarrer VSCode
  2. Faire Ctrl+Shift+P et taper 'connect host'. Sélectionner 'Remote-SSH: Connect to host...':

image

  1. Dans le dialogue, sélectionner 'serge'. Si tout va bien, VSCode devrait ouvrir une session sur le serveur (Remarquer en bas en gauche SSH: serge):

ssh-serge

Utilisation du simulateur Autodrive

Une fois VSCode ouvert sur le serveur, nous allons maintenant faire une inception 🤯. Nous allons ouvrir une autre session dans un devcontainer à partir de cette connexion. Gardez cette hiérarchie en-tête afin de bien exécuter vos commandes au bon endroit! Votre poste > VSCode SSH > VSCode Devcontainer via SSH.

  1. Installer Foxglove Studio sur votre poste (Outil de visualisation ROS). Vous allez devoir vous créer un compte: Utilisez votre adresse ULaval.
  2. Ouvrir une session VSCode SSH sur serge
  3. File > Open Folder > Sélectionner "shared_ws/autodrive_roboracer_ws"

Screenshot from 2025-06-26 15-38-42

  1. Une fois ouvert, faire Ctrl+Shift+P et taper 'dev container rebuild'. Sélectionner 'Dev Containers: Rebuild and Reopen in devcontainer'.

Screenshot from 2025-06-26 15-42-34

  1. VSCode devrait vous connecter dans le devcontainer de simulation (Remarquer en bas à gauche Dev container):

devcontainer

  1. Ouvrir un terminal dans le devcontainer et faire cette commande pour obtenir le port de Foxglove (Prenez en note):
echo $FOXGLOVE_PORT
  1. Encore dans un terminal dans le devcontainer, démarrer un noeud de suivi de mur.
ros2 run reactive_control wall_follow_node
  1. Sur votre poste, ouvrir Foxglove et faire Shift+Ctrl+O. Ensuite, y entrer l'url suivant: ws://192.168.1.69:<VOTRE PORT FOXGLOVE>.

foxglove

  1. Afficher le scan lidar du topic '/autodrive/roboracer_1/lidar' et observer le véhicule bouger

Screencast from 06-26-2025 03_52_20 PM

  1. Vous êtes maintenant prêt à faire les Laboratoires Roboracer!
⚠️ **GitHub.com Fallback** ⚠️