Robox is an advanced AI-powered autonomous mobile robot built using Raspberry Pi 4, Python, OpenCV, and embedded hardware control. Robox features real-time obstacle avoidance, intelligent path navigation, local face recognition/training, and an interactive Flask Web Controller Dashboard (groot.html) for live video streaming and teleoperation. It also integrates cloud-based vision models (via OpenRouter) for high-level scene reasoning and natural language interaction.
Important
📥 Official Presentation & Project Documentation:
- 📄 Slide Deck (PowerPoint):
project/Robox_rise of autobots.pdf.pptx(Complete presentation slide deck covering hardware design, vision models & teleoperation) - 📑 Presentation Document (PDF):
project/ppt.pdf(Printable PDF slides for project review)
| Slide # | Slide Topic | Engineering Content Highlighted |
|---|---|---|
| 01 | Title & Concept: Robox — Rise of Autobots | Robotic architecture overview, mission statement, and hardware stack. |
| 02 | Hardware Specifications & Chassis | Raspberry Pi 4 BCM pinout, L298N motor driver module, and 4-wheel differential drive. |
| 03 | Multi-Sensor Ultrasonic Array | 3-way HC-SR04 configuration (Front-Left, Front-Right, Rear) with 5V/3.3V logic level safety dividers. |
| 04 | Computer Vision & Face Recognition | OpenCV LBPH face recognizer training pipeline (train_face_recognizer.py) and live video stream. |
| 05 | Cloud AI Vision Integration | OpenRouter vision model API integration for natural language scene analysis. |
| 06 | Groot Web Teleoperation Suite | Responsive HTML5/JS dashboard (groot.html) for live controls, speed presets, and telemetry. |
| 07 | Autonomous Exploration Mode | State machine logic (robot_explorer.py) for obstacle avoidance and maze traversal. |
| 08 | Conclusion & Future Enhancements | ROS 2 Slam integration, LiDAR navigation, and industrial payload capabilities. |
graph TD
subgraph Hardware Layer
RPi[Raspberry Pi 4 Master Controller]
L298N[L298N Motor Driver Driver + 4x DC Motors]
HC[3x HC-SR04 Ultrasonic Array - FL / FR / Rear]
CAM[Pi Camera Module / USB HD Cam]
RPi -->|GPIO BCM 17/27/22/23/24/25| L298N
RPi -->|Trig/Echo GPIO| HC
RPi -->|CSI / USB| CAM
end
subgraph Perception & AI Layer
CAM -->|Video Stream| CV[OpenCV Engine]
CV -->|Local Detection| FR[LBPH Face Recognizer]
CV -->|Cloud Vision API| OR[OpenRouter Vision Model]
HC -->|Distance Metrics| NAV[Autonomous Obstacle Avoidance Engine]
end
subgraph User Teleoperation & Control
RPi -->|Flask Web Server| DASH[Web Teleoperation Dashboard - groot.html]
DASH -->|WebSockets / HTTP REST| RPi
end
- 🛡️ Autonomous Obstacle Avoidance: 3-way ultrasonic array (Front-Left, Front-Right, Rear) with dynamic thresholding and automatic collision prevention.
- 👁️ Computer Vision & Face Recognition: Built-in LBPH (Local Binary Patterns Histograms) face recognition training pipeline (
train_face_recognizer.py) and live target identification. - 🎮 Web Teleoperation Dashboard (
groot.html): Feature-rich web GUI with joystick motor controls, speed customization, telemetry feeds, and live camera streaming. - 🧠 Multimodal AI Reasoning: Integrates OpenRouter vision model endpoints to analyze scenes, describe surroundings, and execute high-level instructions.
- ⚡ Modular Hardware Abstraction Layer (HAL): Clean separation between high-level robot behaviors (
robot.py,robot_explorer.py) and low-level motor drivers (t1.py/gpiozero).
Below is the verified hardware pinout for Raspberry Pi 4 BCM pin numbering:
| Function | BCM Pin | Physical Header Pin |
|---|---|---|
| Left Motor IN1 | GPIO 17 | Pin 11 |
| Left Motor IN2 | GPIO 27 | Pin 13 |
| Right Motor IN3 | GPIO 22 | Pin 15 |
| Right Motor IN4 | GPIO 23 | Pin 16 |
| Left Enable (PWM) | GPIO 24 | Pin 18 |
| Right Enable (PWM) | GPIO 25 | Pin 22 |
| Sensor Position | Trigger Pin (BCM) | Echo Pin (BCM) | Voltage Level Note |
|---|---|---|---|
| Front Left | GPIO 5 (Pin 29) | GPIO 6 (Pin 31) | |
| Front Right | GPIO 13 (Pin 33) | GPIO 19 (Pin 35) | |
| Rear | GPIO 20 (Pin 38) | GPIO 21 (Pin 40) |
⚠️ Safety Note: HC-SR04 Echo lines output 5V logic. Always use a 1kΩ / 2kΩ voltage divider resistors on Echo lines to protect 3.3V Raspberry Pi GPIO pins.
Robox-AI-Autonomous-Robot/
└── project/
├── Robox_rise of autobots.pdf.pptx # Official Project Slide Deck Presentation
├── ppt.pdf # Presentation Slides (PDF Format)
├── main.py # Main Flask Application & Server Entry Point
├── robot.py # High-Level Robot Helper Class & Animations
├── robot_explorer.py # Autonomous Exploration & Navigation Logic
├── train_face_recognizer.py # OpenCV Face Recognition Trainer Script
├── test_detection.py # Camera Verification Utility
├── t1.py # Low-level Motor Controller & GPIO Abstraction
├── groot.html # Main Web Teleoperation & Dashboard Interface
├── index.html # Secondary Control Interface
├── WIRING.md # Complete Pinout & Hardware Wiring Spec
├── FLASK_SETUP.md # Web Server Setup & Configuration Guide
└── QUICK_REFERENCE.md # Command Reference & Troubleshooting Guide
Clone the repository and install required dependencies on your Raspberry Pi:
cd Robox-AI-Autonomous-Robot/project
pip install flask opencv-python gpiozero numpy requestsIf face datasets are available in images/:
python train_face_recognizer.pyStart the Flask web server and autonomous motor routines:
python main.pyOpen your browser and navigate to: http://<YOUR_RASPBERRY_PI_IP>:5000 to access the Groot Teleoperation Dashboard.
Distributed under the MIT License. See project/LICENSE for details.