La commande ratbot

S’applique à : Simulation Robot réel

Tout ce qu’on fait avec un robot passe par une seule commande, ./scripts/ratbot, à lancer depuis le dossier du dépôt (~/ratbot_ws). C’est la même sur le PC et sur le Raspberry Pi des robots : c’est la machine qui décide de ce qu’elle fait.

cd ~/ratbot_ws
./scripts/ratbot help        # la liste des commandes
./scripts/ratbot role        # ce que la machine croit être

Le numéro du robot se donne en premier : slam 1, log 2, bench 3 off. Depuis le PC, il est obligatoire — avec plusieurs robots sur le réseau, un numéro deviné viserait le mauvais. Sur le Raspberry Pi d’un robot, il est facultatif : c’est alors ce robot-là.

Depuis le PC

Commande

Pour quoi faire

slam 1

faire la carte d’une pièce avec le robot 1 — Faire une carte

map save 1 salon

enregistrer la carte du robot 1 — Faire une carte

nav 1 salon

faire naviguer le robot 1 sur une carte — Navigation autonome

joy

piloter les robots 1 à 4 à la manette — Piloter le robot

key 1

piloter le robot 1 au clavier — Piloter le robot

route record 1 cuisine

apprendre un trajet en conduisant le robot 1 — Apprendre et refaire un trajet

route follow 1 cuisine

le faire refaire au robot 1 — Apprendre et refaire un trajet

explore 1

laisser le robot 1 cartographier seul — Explorer automatiquement

rviz 1

regarder le robot 1 dans RViz, sans carte — Visualiser dans RViz

log 1

lire le journal de bord de la carte du robot 1 — Journal de bord

bench 1 on / bench 1 off

mode banc : suspendre la sécurité inertielle pour un essai sur la boîte — Arrêter et relancer le robot

config 1 save fichier.yaml

sauvegarder les réglages de la carte — Les paramètres du robot

up rooms 2

lancer la simulation : le décor « rooms », avec deux robots — La simulation en détail

up rooms 2 rviz:=true

la même, avec RViz ; gui:=false retire la fenêtre de Gazebo, ground_truth_tf:=false prépare la cartographie et la navigation

up --list

les décors disponibles

Sur le Raspberry Pi d’un robot

Commande

Pour quoi faire

install fiche.yaml

mettre en service un Raspberry Pi neuf ou cloné — Installer le Raspberry Pi

build

recompiler après une mise à jour du dépôt

log, bench on|off, config …

les mêmes que depuis le PC, pour ce robot-ci

La pile du robot démarre toute seule à l’allumage, par le service ratbot : rien à lancer à la main. Pour la relancer : sudo systemctl restart ratbot.

Toutes les commandes

./scripts/ratbot help affiche la liste complète. Les commandes marquées maintenance sont lancées par l’installation ou par le service du robot : on ne les tape pas en usage normal.

Commande

Machine

Rôle

role

les deux

affiche ce que la machine croit être : rôle, numéro du robot, domaine ROS. À lancer en premier quand quelque chose surprend

deps

les deux

installe les paquets ROS 2 qui manquent à la machine, sans mettre à jour ceux déjà installés (voir Mises à jour du robot)

build

les deux

compile le workspace ; à la première compilation, récupère aussi les paquets externes (voir Les paquets du RatBot)

up [DECOR] [N] [OPTIONS]

PC

lance la simulation : décor (ratbot_lab par défaut), nombre de robots de 1 à 4 (1 par défaut), options nom:=valeur en fin de commande (rviz:=true, gui:=false, screen:=true, ground_truth_tf:=false) ; --list donne les décors (voir La simulation en détail)

slam N

PC

cartographie du robot N (voir Faire une carte)

map save N CARTE

PC

enregistre la carte du robot N ; sans N, celle de l’exploration. Un simple nom la range avec les cartes du dépôt (voir Faire une carte)

map list

PC

les cartes du dépôt, utilisables par leur nom

nav N [CARTE]

PC

navigation du robot N sur une carte, donnée par son nom ou son chemin ; en simulation, par défaut, celle du décor en cours (voir Navigation autonome)

explore N

PC

exploration autonome du robot N ; sa carte s’enregistre avec map save CARTE, sans numéro (voir Explorer automatiquement)

rviz N

PC

ouvre RViz pour regarder le robot N, sans cartographie ni navigation (voir Visualiser dans RViz)

joy

PC

la manette, branchée sur le PC, pour les robots 1 à 4 ; vérifie d’abord qu’elle est branchée (voir Piloter le robot)

key N

PC

le clavier, pour conduire le robot N (voir Piloter le robot)

route record N NOM

PC

apprend un trajet : enregistre la position du robot N dans la carte pendant qu’on le conduit ; Ctrl-C l’écrit (voir Apprendre et refaire un trajet)

route follow N NOM [exact]

PC

le fait refaire par la navigation, par points ou sur la ligne exacte (voir Apprendre et refaire un trajet)

route list

PC

les trajets appris

fleet [show|status]

PC

le parc, décrit dans deploy/fleet.yaml : qui répond, version du logiciel, horloge, batterie et dernière calibration de chaque robot en service (voir Travailler à plusieurs robots)

fleet battery|time|diag|who

PC

la batterie, les horloges, les diagnostics qui ne sont pas OK, ce qui tourne pour chaque robot et sur quelle machine (voir Travailler à plusieurs robots)

fleet identify N

PC

le robot N clignote en blanc et bipe, pour le reconnaître

navtest [EPREUVE] [-n N]

PC

banc de navigation, en simulation : rejoue des épreuves fixes (porte, tables) N fois chacune et mesure réussites, contacts et erreur de localisation ; --list : les épreuves ; le labyrinthe, test final, ne passe que nommé. Outil de mise au point de la navigation, documenté côté développeurs

log [N]

les deux

journal de bord de la carte du robot ; --clear l’efface (voir Journal de bord)

bench [N] on|off

les deux

mode banc (voir Arrêter et relancer le robot)

config [N] show|save|load

les deux

réglages de la carte du robot (voir Les paramètres du robot)

install fiche.yaml

robot

met en service un Raspberry Pi (voir Installer le Raspberry Pi)

services

robot

maintenance — installe les services du robot ; appelée par install

network

robot

maintenance — fixe l’adresse réseau du robot ; appelée par install

boot

robot

maintenance — démarre toute la pile du robot ; lancée par son service à la mise sous tension

time

robot

maintenance — remet l’heure du Raspberry Pi d’après l’horloge de la carte ; lancée au démarrage (voir L’heure du robot)

signals

robot

maintenance — voyant et sons seuls, pour la mise au point ; le service les lance déjà

agent

robot

maintenance — pont avec la carte du robot seul, pour la mise au point ; service arrêté

Le détail de chaque commande, et les variables qui en modifient le comportement, sont dans la documentation développeur (page « ratbot : le point d’entrée unique »).