Skip to content

Lab material for the GLO4001/7021 Robotics Class at Université Laval.

License

Notifications You must be signed in to change notification settings

norlab-ulaval/glo4001

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Laboratoires des cours GLO-4001 et GLO-7021

Les laboratoires doivent être réalisés en équipe de quatre ou plus.

Matériel requis: un ordinateur portable par équipe (pour la connexion wifi), une plate-forme robotique par équipe.

Les responsables des laboratoires sont William Guimont-Martin ([email protected]) et William Larrivée-Hardy ([email protected]).

Table of Contents

Introduction

Cette série de laboratoires vous fera expérimenter certains aspects vus dans le cours de robotique mobile.

Avec une plate-forme robotique: Nous disposons de plate-formes robotiques Wave Rover de la compagnie Waveshare. Toutes les plate-formes disposent d'un ordinateur de bord Jetson Orin, une paire de capteurs infra-rouge, une caméra OAK-D Lite, un IMU intégré et un capteur LiDAR 2D.

Lancer les laboratoires

  1. Brancher l'alimentation du robot et l'allumer avec le bouton à l'arrière de la plateforme.
  2. Se connecter au Wi-Fi du robot
    • SSID: team[numéro-du-robot]-wifi
    • Le numéro du robot se trouve à l'avant de la plateforme
  3. Depuis votre ordinateur, lancer une ligne de commande et entrer:
    ssh -L 8888:localhost:8888 [email protected]
    cd glo4001/scripts/
    git reset --hard
    git pull
    ./ros_rover.sh
    # CTRL-A + D pour détacher le terminal
    ./jupyter.sh
  4. Ouvrir l'URL affichée dans le terminal dans votre navigateur internet.
  5. Vous pouvez maintenant faire les laboratoires!

À la fin des laboratoires, sauvegardez une copie de votre notebook (File -> Download) et éteignez le robot:

sudo shutdown now

Laboratoires sans la base robotique

Pour faire les laboratoires, vous pouvez utilisez les données déjà collectées. Le dossier offline contient les données nécessaires pour faire les laboratoires sans la base robotique.

Pour installer les dépendances nécessaires, exécutez les commandes suivantes:

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
juptyer notebook

Architecture logicielle

La façon dont nous interagirons avec les robots est un peu complexe, mais elle est conçue d'une façon qui devrait être assez transparente aux étudiants. L'ordinateur de bord communique avec ses capteurs à travers un logiciel nommé ROS (pour Robot Operating System). Pour éviter d'avoir à installer toutes les dépendances sur votre ordinateur, la communication entre celui-ci et le robot s'effectue via un rosbridge, qui utilise une connexion websocket. Notre bibliothèque robmob gère la connection websocket et transforme les messages ROS vers du Python standard.

Nous utiliserons le code python à travers un jupyter notebook. Jupyter est un environnement interactif qui permet d'entremêler du code, le résultat de son exécution et du texte. Voici un exemple de jupyter notebook à l'oeuvre.

Machine virtuelle et simulateur

Instruction seulement pour la machine virtuelle Entre les années 2020 et 2023, nous utilisions un simulateur. Les laboratoires restent pour la majorité compatibles avec Gazebo, mais nous n'offrons pas de support pour le faire fonctionner.

En simulation: Le simulateur vient émuler la plate-forme robotique et l'ordinateur de bord du kobuki. Le principe reste le même: on ouvre une connexion websocket avec le simulateur et l'on peut interagir avec ROS comme s' il s'agissait d'une vraie plate-forme robotique.

Si vous utilisez votre propre ordinateur: Téléchargez la machine virtuelle pour VirtualBox disponible à Machine Virtuelle VirtualBox v3.

Lien de la VM v2: glo4001-virtualbox-v2

Si vous utilisez un ordinateur du laboratoire informatique: Téléchargez la machine virtuelle pour VMWare disponible à Machine Virtuelle VMWare v3. Tous les fichiers que vous désirez conserver doivent être dans votre dossier OneDrive, sinon ils seront supprimés par le système informatique.

IMPORTANT: Voici les informations de connexion :

Username: student
Password: student

IMPORTANT: Ne pas faire les mises-à-jour sur les machines virtuelles.

Pour plus d'information sur la mise en place des machines virtuelles, voir le notebook ConfigurationVM.

Dans la machine virtuelle, ouvrez un terminal (CTRL-ALT-T), et entrez les commandes:

cd ~/catkin_ws && git pull
cd ~/glo4001
git pull
source venv/bin/activate
jupyter notebook

Vous devrez exécuter ces lignes à chaque début de laboratoire!

Dans le jupyter notebook, ouvrez le fichier Laboratoire 0.ipynb. La suite des instructions, incluant comment interagir avec le robot, s'y trouve.

About

Lab material for the GLO4001/7021 Robotics Class at Université Laval.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 59.1%
  • Jupyter Notebook 37.7%
  • Python 2.6%
  • Other 0.6%