Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 

Repository files navigation

🤖 Robox — AI-Powered Autonomous Mobile Robot

Build Platform Language Framework Presentation License


📌 Overview

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.


📊 Project Presentation & Slide Deck Showcase

Important

📥 Official Presentation & Project Documentation:

📑 Presentation Slide Deck Overview

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.

🏗️ System Architecture

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
Loading

✨ Key Features

  • 🛡️ 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).

🔌 Hardware Wiring & Pinout

Below is the verified hardware pinout for Raspberry Pi 4 BCM pin numbering:

⚙️ Motor Driver (L298N)

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

📏 Ultrasonic Sensors (HC-SR04)

Sensor Position Trigger Pin (BCM) Echo Pin (BCM) Voltage Level Note
Front Left GPIO 5 (Pin 29) GPIO 6 (Pin 31) ⚠️ 5V to 3.3V Divider Required
Front Right GPIO 13 (Pin 33) GPIO 19 (Pin 35) ⚠️ 5V to 3.3V Divider Required
Rear GPIO 20 (Pin 38) GPIO 21 (Pin 40) ⚠️ 5V to 3.3V Divider Required

⚠️ 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.


📂 Project Repository Map

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

⚙️ Quick Start Guide

1. Environment Setup

Clone the repository and install required dependencies on your Raspberry Pi:

cd Robox-AI-Autonomous-Robot/project
pip install flask opencv-python gpiozero numpy requests

2. Train Face Recognizer (Optional)

If face datasets are available in images/:

python train_face_recognizer.py

3. Launch Robox Server

Start the Flask web server and autonomous motor routines:

python main.py

Open your browser and navigate to: http://<YOUR_RASPBERRY_PI_IP>:5000 to access the Groot Teleoperation Dashboard.


📜 License

Distributed under the MIT License. See project/LICENSE for details.


Developed by A Sharath — ECE Placement Portfolio

About

Robox is an AI-powered autonomous robot developed using Raspberry Pi, Python, and computer vision technologies. The robot is designed for intelligent navigation, obstacle avoidance, object detection, and voice interaction, providing a foundation for future autonomous robotic systems.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages