Last verified: 27 Apr 2025
Target HW: Raspberry Pi 4 Model B (4 GB)
Target OS: Ubuntu 20.04 LTS (headless) with ROS Noetic
Pollux-AMR is a ROS-driven mobile robot that patrols a kitchen countertop, disinfecting the surface with a UV-C LED strip while staying clear of cliffs and obstacles. The original project used a rules-based brain; we now train a real-time PPO agent on-board via rl_brain_node.py for continuous improvement.
① Flash Ubuntu 20.04 to the µSD card, boot once to expand the FS
② SSH in and run:
git clone https://github.com/nhathout/pollux-AMR.git
cd pollux-AMR
chmod +x setup_env.sh && ./setup_env.sh
③ Reboot (systemd service now auto-starts every node)
Need only a demo video?
- Links to video demonstrations of Pollux's major functionalities (UV indicator LED, cliff detection, and obstacle avoidance):
- UV indication & cliff detection: click here
- Obstacle Avoidance: click here
| Sub-system | Status | Gotchas & Quirks |
|---|---|---|
| Sensor I/O (hw_publisher.py & hw_publisher_2.py) | ✅ stable | Uses BCM pin numbers; wrong ECHO wiring can fry GPIOs. |
| Motor driver (motor_cmd_node.py) | ✅ stable | H-bridge inrush >1 A; keep a 2 A buck or Pi browns out. |
| LED safety (led_gyro_node.py) | ✅ stable | IMU IRQ sometimes locks; power-cycle to clear. |
| RL brain (rl_brain_node.py) | 🟡 beta | Seems to work and learn; first 100 s policy is random. |
| Service file (pollux-robot.service) | ✅ stable | Update WorkingDirectory= if you move the repo. |
- Ultrasonic crosstalk → fire downward sensors 50 ms apart.
- RAM-starved RL → set SWAP = 1024 MB.
- Clock drift hurts reward timer → run timedatectl set-ntp true.
- Wi-Fi sleep kills SSH → set wifi.powersave = 2 in NetworkManager.
- The best power supply for the job.
| Area | Content |
|---|---|
| Mechanical | Switch to 12 V steppers for torque & battery life. |
| CV / DL | Add Pi Cam 3 + YOLO-Nano for obstacle detection. |
| DevOps | Stream TensorBoard via MQTT → Grafana. |
| Research | 24 h on-board RL study → short research paper. |
pollux-AMR/
├─ hardware/
├─ images/
├─ nodes/
│ ├─ hw_publisher.py
│ ├─ hw_publisher_2.py
│ ├─ motor_cmd_node.py
│ ├─ led_control_node.py
│ ├─ led_gyro_node.py
│ └─ rl_brain_node.py
├─ launch/
├─ models/
├─ scripts/
└─ systemd/
DISCLAIMER: Some links and documents may require BU account to view.
Software stack → README_SOFTWARE.md
Hardware build → README_HARDWARE.md
User Manual → click here
Customer Installation Report → click here
Final Test Plan & Report → click here
Winning Shark Tank Video → click here
Critical Design Review (CDR) Presentation → click here
Shark Tank Presentation → click here
2nd Prototype Test Report → click here
1st Prototype Test Report → click here
Preliminary Design Review (PDR) Presentation → click here
MIT License — © 2025 Pollux-AMR contributors