Skip to content

safhossain/Landmine-Detection-Rover

Repository files navigation

CAPSTONE 2024

Remote Control Robot that is connected to the internet and can be controlled using a remote control, a web app or a mobile app It also has a ML model to detect landmines Note: this is a rough Idea

Overview

The robot can have three control configurations

Basic Functionality

  1. Stream video to the webpage
  2. Collect and send sensor data to the webpage
  3. Plot the data in real time
  4. Go to a provided GPS location
  5. Detect land mines using Classification Model (logistic regression or Neural Network)
  6. Mark locations where mines been found
  7. Move obstacles using the arm

Configuration 1

Robot ↔ Server ↔ webpage/mobile app

Robot is controlled using the application, can be autonomous or manually controlled Protocols:

  • Wifi/Internet

Configuration 2

Robot ↔ Server ↔ webpage/mobile app ↔ Controller

Robot is controlled using the controller which is connected to the application, it is manually controlled Protocols:

  • Wifi/Internet

Configuration 3

Robot → Server → webpage/mobile app ↑ Controller

Robot is controlled using the controller which is connected directly to it, It sends sensor data to the server It is manually controlled

Protocols:

  • Wifi/Internet
  • Bluetooth/radio

Networking Issues

Local Area Network

  • The Robot would need to be on the same wifi network as the server
  • This can be fixed by implementing an onboard wifi sim card router making the robot have its own internet connection and it does not need to be on the same network as long as it has a cellular network
  • As for Configuration 3: the controller would need to be connected to the robot directly, this would run into range issues

Sensors

Data To Be Collected

  • Speed
  • Mission_Time
  • Temperature
  • Voltage
  • Gps Altitude
  • Gps Latitude
  • Gps Longitude
  • Gps Satellites
  • whatever data we need to detect landmines

Sensors

  • Ultra Sonic sensors
  • BMP390
  • RTC
  • GPS PA1616S
  • whatever sensors for data needed to detect landmines

Peripherals

  • Camera
  • Wifi Module
  • Bluetooth Module
  • Motors and Servos
  • built in sim card reader for internet connection

Coding Environments

Languages

  • C++ for robot firmware
  • Node.js or Python Django for the server
  • whichever javascript framework is easier make the gui for the frontend
  • Can we port the webapp to a mobile app? or do we gotta use dart?

Databases

Databases can be used to store locations where mines have been found

MongoDb: Pros: - Easy to implement and deploy - Non-relational database - No SQL - in JSON Format (goated) Cons: - TBD (idk im biased towards mongodb)

SQL: Pros: - TBD (idk im biased towards mongodb) Cons: - Annoying to deploy - Relational database - SQL so queries need to be manually made using string concatenation

Deployment

We can deploy this in different ways

  1. We can use a PaaS Pros: - "Easier" to implement Cons: - can get expensive as FUCK - can run into a shit ton of dependency issues - Needs Docker (i think)

  2. Make our own server using a raspberry pi Pros: - Very cool and fun to implement - relatively easy to implement Cons: - Raspberry pis can be expensive (around $150)

I am leaning more towards the raspberry pi option because it is so cool and one wrong click will not kill our bank account

Robot Chassis

  1. Buy it from amazon or something Pros:

    • No extra work Cons:
    • Expensive
    • Lack of creative control
  2. Make it in the CanSat office Pros:

    • Cheap basically free
    • A lot of creative control Cons:
    • Would need to design it, however I can get Jeremiah to make it for us lol

About

Codebase for Landmine Detection Rover module. A mix of frontend, backend, firmware, and container code in addition to schematics and block diagrams

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors