Fork me on GitHub

CloudScrapr

Allowing drones to safely and efficiently fly into coordinated formations.

How To Use

General Installation Instructions

            git clone https://github.com/SAREC-Lab/CloudScrapr-python.git
cd CloudScrapr-python/Flask_Code
source bin/activate
pip install -r requirements.txt
          

iOS Instructions

Python Code Instructions

            
cd CloudScrapr-python/Flask_Code

dronekit-sitl copter --home=41.519265,-86.240002,75,0
mavproxy.py --master tcp:127.0.0.1:5760 \
--sitl 127.0.0.1:5501 --out 127.0.0.1:14550 \
--out 127.0.0.1:14551 --map --console
python drone_connection.py --connect 127.0.0.1:14550

#### OR ####

## ./setup.sh 'home coords'
## example:
./setup.sh 41.519265,-86.240002
### then run the connection command which is waiting in the window at the bottom right
python drone_connection.py --connect 127.0.0.1:14550
          
Drag the drones around within the app and press "Let's Fly" when ready.
Drag the drones around within the app and press "Let's Fly" when ready.

We used agile development that encompassed two sprints with two epics.

Agile Development

We completed two, three-week sprints encompassing two epics and many user stories. We used a point based system to mark the difficulty of each user story so that we could ensure fair contributions from each group member.

Drone Avoidance

  1. Reset the simulation by pressing the green check in the upper right corner.
  2. Press keys QWERTYU in order, one at a time to step through the algorithm.

The primary hazard was unsafe flight paths. We avoided this through the use of a modular safety observer that watched our central controller.

Architecture and Design

This diagram details how communication happened throughout our system.

Testing

We took our drones to the flying field and tested flying the drones directly at each other to make sure they could avoid each other. They did! wow.

Glossary