Les principes
S’applique à : Simulation Robot réel
Quelques choix guident tout le projet. Les connaître évite de chercher au mauvais endroit, et explique pourquoi les choses sont faites ainsi.
Une seule commande pour tout
Tout passe par ./scripts/ratbot, lancé depuis la racine du dépôt : compiler,
lancer la simulation, cartographier, naviguer, piloter, régler la carte du
robot. C’est la même commande sur le PC et sur le Raspberry Pi : elle
reconnaît la machine à son nom (ratbot-N pour le robot N, sinon le PC)
et s’adapte.
./scripts/ratbot help # toutes les commandes
./scripts/ratbot role # ce que cette machine croit être
En cas de doute, partez de là (voir La commande ratbot).
Une exception : la calibration guidée, que l’on ne fait qu’à la mise en
service d’un robot, a son propre script, ./scripts/ratbot-calibrate, pour
ne pas encombrer la commande de tous les jours (voir Le lidar).
Chaque machine a son rôle
La carte du robot fait le temps réel et la sécurité, le Raspberry Pi fait tourner ROS 2 sur le robot, le PC fait le calcul lourd : cartographie, navigation, RViz, simulation. Rien de lourd ne tourne sur le robot (voir Introduction, section Architecture).
La carte du robot fait foi
Ce qui protège le robot et ce qui le décrit vit dans sa carte, pas sur un ordinateur :
ses réglages — taille des roues, entraxe, vitesses maximales — sont gardés dans sa mémoire (voir Les paramètres du robot) ;
ses sécurités — arrêt d’urgence, arrêt en cas de choc ou de renversement, vitesses bornées — fonctionnent même Raspberry Pi éteint. Aucun programme ne peut les contourner (voir Arrêter et relancer le robot).
Les mêmes commandes en simulation et en vrai
La simulation reproduit le robot et publie les mêmes topics. Les commandes
sont les mêmes : slam 1, nav 1, joy fonctionnent dans les deux cas.
On apprend et on essaie en simulation, puis on passe au robot réel.
Le robot démarre seul, mais ne change pas seul
À la mise sous tension, le robot lance lui-même tout ce dont il a besoin : rien à démarrer à la main. En revanche, rien ne s’y met à jour tout seul : ni le système, ni le logiciel. Une mise à jour est toujours une décision, prise robot au repos (voir Travailler sur RatBot).
Mesurer plutôt que supposer
Chaque robot a ses petits défauts : roues de diamètres légèrement différents, gyroscope un peu optimiste. On ne les devine pas, on les mesure, avec les outils de calibration fournis (voir Calibrer l’odométrie), et l’on garde la trace de chaque mesure dans le cahier de labo.
La documentation fait foi
Quand le comportement du robot change, la documentation change avec lui. Si elle contredit ce que vous observez, c’est un défaut à signaler.