Bringup
Le paquet ratbot_bringup (dans ros2/src/) rassemble les fichiers de
lancement du robot : tout ce que la Raspberry Pi doit démarrer pour que le
RatBot soit opérationnel.
Le workspace
Le workspace ROS 2 du robot est le dossier ros2/ du dépôt :
cd ros2
colcon build
source install/local_setup.bash
Prérequis sur la Raspberry Pi :
sudo apt install ros-humble-micro-ros-agent
Démarrer le robot
robot.launch.py démarre tout ce qu’une Pi doit lancer : le
robot_state_publisher (URDF, frames TF préfixées), le garde-barrière
cmd_vel_gate (arrêt d’urgence global, voir Les topics du robot) et l’agent
micro-ROS, le tout dans le namespace du robot :
ros2 launch ratbot_bringup robot.launch.py robot_id:=1
Arguments :
Argument |
Défaut |
Rôle |
|---|---|---|
|
|
Numéro |
|
|
Mettre à |
|
|
Périphérique série relié à la carte STM32. |
|
|
Débit de la liaison série Pi ↔ STM32 (1 Mbaud). Ignoré si le transport est l’USB CDC. |
L’agent micro-ROS seul (pont carte ↔ graphe ROS 2, voir Communication avec la carte STM32) peut aussi être lancé isolément :
ros2 launch ratbot_bringup micro_ros_agent.launch.py
Réseau
Plan d’adressage des Raspberry Pi des robots (réseau 192.168.1.0/24,
partagé avec le testbed Ubimap) :
Robot |
Hostname |
IP fixe |
|---|---|---|
ratbot_1 |
|
192.168.1.171 |
ratbot_2 |
|
192.168.1.172 |
ratbot_3 |
|
192.168.1.173 |
ratbot_4 |
|
192.168.1.174 |
Synchronisation du temps : chaque Pi est client chrony du serveur NTP du testbed (
ubimap-ntp-server, 192.168.1.190) — indispensable dès qu’on compare des timestamps entre machines.ROS_DOMAIN_ID : la même valeur sur toutes les machines qui doivent se voir (robots, caméras, centrale).
TODO
démarrage automatique au boot de la Pi (service systemd), avec
robot_iddérivé du hostname (ratbot-N) ;namespace du nœud micro-ROS côté firmware (la carte doit connaître son numéro — voir Les topics du robot) ;
procédure d’installation d’une Pi (IP fixe nmcli, chrony client,
ROS_DOMAIN_ID).