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
Reset the simulation by pressing the green check in the upper right corner.
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
Location
A pair of (latitude, longitude) represented as two floating point values
Formation
A 2D shape comprised of the outer perimeter of a set of locations
Shift
All points of a formation are moved by a constant location vector
Native App
An IOS or Android app that allows a user to draw a shape, report the number of drones and report gyro of the phone
Gyro Data
Positioning of phone in space data
Formation Data
Conversion of data from app to Central Control
Flight Control
Converts gyro to shift update data
Shift Updates
Necessary changes for each drone to keep the shape
Ground Control
The module that sends the MavLink messages to the drones
Central Control
The module that handles most algorithm and decides final commands to send to Ground Control