robot-planning | robot-server | robot-client | plastic_detection
Navan is an autonomous robotic boat built to address the growing problem of plastic pollution in waterbodies. Using computer vision and intelligent navigation, Navan can detect, locate, and navigate towards plastic waste for collection, helping keep our rivers, lakes, and coastal areas clean.
The system combines:
- AI-powered detection using fine-tuned YOLOv8
- Intelligent planning on Raspberry Pi
- Web-based control interface
- ESP32 hardware control for motors
- Plastic Detection: Fine-tuned YOLOv8 model identifies various types of plastic waste underwater
- Smart Navigation: Automatically navigates towards detected plastic debris
- Adaptive Speed: Adjusts speed based on distance to target for precise approach
- Search Patterns: Performs systematic search when no plastic is detected
- Web Interface: Intuitive browser-based control dashboard
- Keyboard Controls: Quick manual operation via keyboard shortcuts
- Real-time Monitoring: Live camera feed and status updates
- Speed Control: Variable speed adjustment (0-9 levels)
- Dual Mode Operation: Seamlessly switch between manual and autonomous modes
- WiFi Communication: Wireless control via ESP32 integration
- Live Video Feed: Real-time camera monitoring
- Status Monitoring: Connection, speed, and direction indicators
The Navan project is organized into four specialized repositories:
Brain of Navan - AI & Control Systemstem
- Flask REST API for system control
- YOLOv8 integration for plastic detection
- Autonomous navigation logic
- Camera image processing
- Runs on: Raspberry Pi
Tech Stack: Python, Flask, OpenCV, YOLOv8
2. robot-server
Web Control Interface
- Responsive web dashboard
- Real-time camera feed
- Manual control interface
- Mode switching (Manual/Auto)
- Visual feedback and status monitoring
Tech Stack: HTML5, CSS3, JavaScript (Vanilla)
3. robot-client
Hardware Control Layer
- ESP32 WiFi TCP server
- Brushless Motor control
- ESC calibration
- Real-time command execution
- Runs on: ESP32 microcontroller
Tech Stack: C++, Arduino, ESP32
AI Model Training
- Fine-tuned YOLOv8 model
- Underwater plastic detection
- Pre-trained model weights
Tech Stack: Python, YOLOv8
- Camera captures images of the waterbody
- YOLOv8 model detects plastic waste in real-time
- System calculates distance and position of detected plastic
- Boat automatically navigates towards the waste
- Speed adjusts based on proximity (slower when close)
- If no plastic detected, performs search pattern
- Operator controls boat via web interface
- Commands sent to Raspberry Pi Flask API
- API forwards commands to ESP32 via WiFi
- ESP32 controls motors directly
- Live camera feed provides visual feedback