Introduction

Le but de ce projet est de recenser les commandes de base pour mettre en place le robot limo dans le cadre des activités d'enseignement à Polytech Clermont.

Ceci concerne les robots qui ont été vendu via generationrobot. Le guide de démarrage rapide est disponible ici : https://forge.uca.fr/attachments/download/18337/1_Limo%20quick%20start%20guide-%20V1.2%20%E8%BD%AC%E6%9B%B2.pdf

Informations générales

Une documentation très complète se trouve sur : https://github.com/agilexrobotics/limo-doc/blob/master/Limo%20user%20manual(EN).md

Les robots sont dotés d'un compte utilsateur : agilex dont le mot de passe est agx.

Quand on démarre un nouveau robot

Se connecte à un réseau avec internet pour passer le clavier en azerty.

Configurer le robot pour être en point d'accès wifi.

Connexion sur le robot

Sur le côté du robot, on peut soulever les clapets qui donne accès à deux prises USB (pour clavier et souris).
Ceci peut permettre au robot de ce connecter à un réseau Wifi, puis de connaître l'adresse IP du robot via :

  • ifconfig

Installation des choses utiles sur le robot

Tant que vous êtes connecté directement sur le robot et qu'il est connecté à un wifi, vous pouvez installer un outil utile pour y accéder à distance :

  • sudo apt install openssh-server

Connexion à distance en SSH

On peut se connecter via ssh au robot avec la commande

  • ssh agilex@ADRESSEIP

Présentation des paquets de base

Le robot dispose de paquets pré-installés qu'on peut retrouver sur : https://github.com/agilexrobotics/limo_ros

Pour lancer l'interface de base du robot, il faut lancer :

  • roslaunch limo_bringup limo_start.launch
On peut lancer la caméra via :
  • roslaunch realsense2_camera rs_camera.launch

Cette commande va donner accès aux topics : /cmd_vel, /imu, /limo_status, /odom, /rosout, /rosout_agg, /scan, /tf.

Lancement de noeuds ROS à distance

On peut utiliser plusieurs systemes pour une seule application robotique. Ici on va en considérée 2
  • nano avec l'adresse IP : nano (192.168.0.39)
  • Dell avec l'adresse IP : Dell (192.168.0.37), sur lequel nous allons lancé le roscore.

nano et Dell sont les hostnames des PCs (ce qui apparait comme user@hostname quand on ouvre un terminal)

Sur le limo et le pc, on va éditer le fichier /etc/hosts pour ajouter ces deux lignes :
  • 192.168.0.37 nano
  • 192.168.0.39 Dell

Pour vérifier on peut lancer un ping nano ou ping Dell.

Il est temps de lancer le master sur le PC
  • roscore

Ensuite on se loggue en ssh sur le pc limo et on peut lancer le launch file de son choix.
(A priori, il y a une méthode pour lancer le launch à distance depuis un launch file, mais pour l'instant ca bug)

Pour que le limo sache ou est le master il faut faire la commande (soit dans chaque terminal, soit l'ajouter à la fin du fichier ~.bashrc)

Changement des roues

Le robot dispose de trois modes de contrôle différents
  • ackermann (semblable à une voiture)
  • différentiel (comme les robots aspirateurs)
  • omni directionnel (le robot peut bouger en avant, de côté et tourner).

Le mode omni-directionnel nécessite de changer les roues du robot. Pour cela, il faut changer les roues en utilisant les petites vis mis à disposition.
Attention, les roues doivent être mis dans le bon sens, comme montré dans le guide de démarrage rapide (https://forge.uca.fr/attachments/download/18337/1_Limo%20quick%20start%20guide-%20V1.2%20%E8%BD%AC%E6%9B%B2.pdf ).

Exemples de programme

A titre d'exemple, les paquets suivants sont disponibles dans le dépôt de ce projet.

polytech-limo-samples

launch : TurtlebotJoystick.launch

Permet de lancer le noeud de commande du robot avec un joystick (Attention, les boutons et axes dépendent du Joystick utilisés). Le robot lit également l'information Lidar pour éviter de percuter (en marche avant uniquement) les obstacles.