Où sont les choses ================== **S'applique à :** :bdg-info-line:`Simulation` :bdg-warning-line:`Robot réel` Tout le projet tient dans **un seul dépôt git**, cloné sur le PC et sur le Raspberry Pi de chaque robot (dans ``~/ratbot_ws``). Cette page dit ce que contient chaque dossier, où ranger vos propres fichiers, et ce qu'il ne faut pas modifier. Le dépôt en un coup d'œil ------------------------- .. code-block:: text ratbot_ws/ ├── scripts/ la commande ratbot, et les outils qu'elle appelle ├── ros2_ws/ le logiciel ROS 2 (le « workspace ») │ └── src/ un dossier par paquet : ratbot_nav, ratbot_slam… ├── firmware/ le programme de la carte du robot ├── deploy/ ce que l'installation pose sur le Raspberry Pi ├── docs/ cette documentation, et la documentation développeur ├── cahier_de_labo/ les mesures : calibrations, réglages sauvegardés ├── conception/ la conception matérielle : électronique, châssis ├── website/ le site www.ratbot.org ├── Dockerfile l'environnement Docker └── compose.yaml son lancement En pratique ----------- .. list-table:: :header-rows: 1 :widths: 30 70 * - Dossier - Ce qu'il faut savoir * - ``scripts/`` - ``ratbot`` est la commande de tous les jours. ``ratbot-calibrate`` guide la calibration d'un robot, à sa mise en service. Les autres fichiers (``ratbot-install``, ``ratbot-config``…) sont appelés par ``ratbot``. * - ``ros2_ws/src/`` - Les paquets ``ratbot_*`` sont ceux du projet (voir :doc:`paquets`). Les autres (exploration, pont avec la carte) sont **récupérés automatiquement** à la première compilation : ne les modifiez pas. * - ``ros2_ws/build/``, ``install/``, ``log/`` - Produits par la compilation, jamais versionnés. Les effacer est sans danger : ``./scripts/ratbot build`` les recrée. Dans Docker, ce sont les dossiers ``*_docker/`` (voir :doc:`docker`). * - ``firmware/`` - Le programme de la carte, à compiler et flasher depuis le PC. C'est un sujet de la documentation développeur. * - ``deploy/`` - Les services et réglages que ``ratbot install`` pose sur le Raspberry Pi, et l'exemple de fiche d'identité d'un robot (voir :doc:`installation_robot`). * - ``cahier_de_labo/`` - Les données des essais : campagnes de calibration, réglages sauvegardés de chaque robot. * - ``conception/`` - Fichiers lourds (KiCad, CAO). À ne modifier qu'en connaissance de cause. Où ranger vos fichiers ---------------------- .. list-table:: :header-rows: 1 :widths: 34 66 * - Fichier - Emplacement * - une **carte** d'un lieu - ``ros2_ws/src/ratbot_maps/maps/`` : ``./scripts/ratbot map save 1 salon`` l'y range seule (voir :doc:`carte`) * - les **réglages** d'un robot - ``cahier_de_labo/config/ratbot1.yaml`` (voir :doc:`parametres`) * - une **campagne** de calibration - ``cahier_de_labo/campagnes/``, un dossier daté par campagne (voir :doc:`calibration`) Tout ce qui est rangé dans le dépôt est conservé, partagé entre le PC et le conteneur Docker, et peut être versionné. Un fichier écrit ailleurs, dans ``~`` en particulier, est perdu à la sortie du conteneur. Ce qu'il ne faut pas modifier ----------------------------- - les **paquets récupérés automatiquement** dans ``ros2_ws/src/`` (ceux qui ne commencent pas par ``ratbot_``) ; - les dossiers produits par la compilation : ils sont recréés ; - sur le **Raspberry Pi d'un robot**, le dépôt lui-même : on n'y modifie rien, on le met à jour depuis le PC (voir :doc:`travailler`).