Travailler sur RatBot

S’applique à : Simulation Robot réel

Modifier un réglage de navigation, ajouter un décor, corriger un programme : le chemin est toujours le même. On travaille sur le PC, on essaie en simulation, puis on met le robot à jour.

Le cycle d’une modification

1. modifier           sur le PC, dans le dépôt
2. compiler           ./scripts/ratbot build
3. essayer            en simulation : ./scripts/ratbot up …
4. enregistrer        git commit, puis git push
5. mettre à jour      sur le robot : git pull, compiler, relancer

1. Modifier, sur le PC. Toutes les modifications se font sur le PC, dans le dépôt (voir Où sont les choses). Jamais directement sur le robot.

2. Compiler. Depuis la racine du dépôt :

./scripts/ratbot build                              # tout
./scripts/ratbot build --packages-select ratbot_nav # un seul paquet, plus rapide

Puis, dans les terminaux déjà ouverts : source ros2_ws/install/setup.bash.

3. Essayer en simulation. Les mêmes commandes qu’avec le robot réel (voir La simulation en détail). Un problème trouvé ici ne coûte rien.

4. Enregistrer. git commit puis git push : c’est ainsi que la modification atteindra le robot.

5. Mettre le robot à jour. Robot au repos, depuis le PC :

ssh ratbot@192.168.1.171            # le robot 1
cd ~/ratbot_ws
git pull --ff-only
./scripts/ratbot build --packages-select ratbot_nav
sudo systemctl restart ratbot.service

Le redémarrage du service relance toute la pile du robot : il cesse de répondre quelques secondes. Ne le faites pas pendant qu’il roule.

Note

git pull --ff-only refuse de mélanger des modifications : c’est voulu. S’il refuse, quelqu’un a modifié le dépôt du robot directement. Ne forcez pas : demandez-vous d’abord pourquoi.

La carte du robot

Le programme de la carte (le firmware) se compile et se flashe depuis le PC, sonde ST-Link branchée. C’est une opération de développeur, décrite dans la documentation développeur. Une règle à retenir, même sans la faire soi-même :

Danger

Sauvegardez les réglages de la carte avant de la flasher, et rechargez-les après : une nouvelle version peut les effacer sans prévenir.

./scripts/ratbot config 1 save avant_flash.yaml
# ... flash ...
./scripts/ratbot config 1 load avant_flash.yaml

Voir Les paramètres du robot. Débranchez ensuite la sonde avant de faire rouler le robot.

Garder la trace

  • Une mesure — calibration, essai, panne : notez-la dans le cahier de labo, avec la date, le robot et les conditions (sol, batterie).

  • Un changement de comportement : mettez la documentation à jour en même temps que le code.

  • Les réglages d’un robot : sauvegardez-les dans cahier_de_labo/config/ après chaque calibration.