This repository contains the container source code and tests for the Raspberry Pi side of a ROS 2 mobile robot. Runtime orchestration and configuration live in the separate robot-stack repository. Jetson anomaly detection lives in the separate jetson-stack repository.
Raspberry Pi 5
├── DRV8833 motor control through GPIO
├── RPLidar, RealSense, SLAM, AMCL and Nav2
├── rosbridge WebSocket on port 9090
└── Foxglove bridge on port 8765
Jetson Orin
└── YOLO anomaly detection through rosbridge
The active motor path is rpi_direct. Wheel encoders, the TCA9548A multiplexer and Arduino serial motor control are not part of the deployed configuration.
| Directory | Active responsibility |
|---|---|
bridge_cont |
Direct Raspberry Pi GPIO motor control through DRV8833 |
laser_driver_cont |
RPLidar ROS 2 driver |
realsense_cont |
RealSense RGB, depth and IMU streams |
slam_cont |
Mapping, map persistence and laser odometry fallback |
nav_cont |
Nav2, AMCL, command multiplexing and safety filtering |
sensor_fusion_cont |
IMU correction and robot localization |
rosbridge_cont |
ROS topic access for the Jetson client |
foxglove_bridge_cont |
Foxglove visualization endpoint |
bag_recorder_cont |
MCAP experiment recording |
db_cont |
PostgreSQL/PostGIS storage |
healthcheck_cont |
Runtime and ROS graph health checks |
ai_kit_cont and camera_cont remain source components but are not part of the documented anomaly-detection path.
Do not configure this repository directly for deployment. Use the files mounted by robot-stack/docker-compose.yaml, especially:
config/containers/bridge_rpi_direct.envconfig/containers/nav_cont.envconfig/containers/slam_cont.envconfig/containers/realsense_cont.envconfig/containers/sensor_fusion_cont.envconfig/containers/nav2_params.yaml
The active Jetson topic and inference configuration is stored in jetson-stack/config.
- Active hardware
- Current wiring
- Jetson anomaly pipeline
- Navigation container
- Motor bridge
- Database container
python -m pip install -r tests/requirements-ci.txt
pytest -q testsShell syntax and Python compilation are also checked by GitHub Actions.