A search and rescue drone simulator, using machine learning to find the best team composition and search pattern for different situations
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs
src
.gitignore
LICENSE
README.md
requirements.txt

README.md

plithos

Plithos in action
plithos searching for objective

Installation

Mac

Install pygame requirements

brew install sdl sdl_image sdl_mixer sdl_ttf portmidi hg

Clone this repo and move to the dir

git clone https://github.com/ckcollab/plithos.git && cd plithos

Install python requirements

pip install -r requirements.txt

Test it

python src/run.py

OPTIONALLY install cuDNN if you have a discrete GPU

Machine learning scoring

  • Give 1 point for exploring some area that hasn't been explored in 1 min or something like that, diminishing returns for places that have already been explored. So if you explore the same place, then wait 10 seconds, you get like 15% of the reward. If you explore it immediately after you get a -1??

  • Have a "goal area" where we think the objective may be, give + some points for going towards it???

  • Reward for moving away from other drones??

  • Penalize for moving out of the area?

  • Mark "explored" areas in green and slowly turn back to black again

  • Show sensor radius around drones

Getting state

The state will be the entire map (WIDTH, HEIGHT) where:

  • 0 is unexplored, nothing there
  • 1 is a drone
  • 2 is the objective
  • < 0 is explored, but updated each tick. So -1 was just explored, -0.99 was explored 1 tick ago.. something like that

Crazy ideas

  • Add a "objective movement predictor" that marks the most likely location of the objective. This predictor can change it's prediction based on given values like: current, wind, temperature, etc.

Todo:

  • Draw a map with drones; show x, y, z
  • Add multiple kinds of drones
    • Speedy
    • Weak
    • Strong
    • Slow
  • Scenarios like:
    • Drifting in water
    • Stuck on a steep cliff
    • Multiple drones losing sensors
    • Multiple drones being destroyed in an area (hopefully they learn to avoid that area? fires?)
    • Saving multiple people
    • Allow objective to wander... and to wander OFF the map!