Code used on our drone competing in the AUVSI SUAS competition.
- Control code
- Mission planning & surveying
- Collision avoidance
- Flight simulation
- Failsafe
- Vision code
- Camera interface
- Target identification
- Shape/letter classification
- Determining GPS location of targets
- Gimbal control
- Synthetic image generation (for testing)
- Ground station
- Antenna tracker
- Telemetry multiplexer (from Wi-Fi and serial interface)
- Build and deployment scripts to drone
This project uses continuous integration to avoid breaking old code as new features are introduced. Read more about the best practices of CI here:
These guidelines are also meant to make our code more portable and easier for new developers to install. In addition, it allows for tests to be automatically run on any new code that is checked into this repository, which evaluates everything from target identification accuracy for the vision system to safety and reliability for the control software.
Travis-CI is used to automatically build every commit that is pushed to this Github repository. Results from these builds can be found here:
Sonarqube is also used to check the quality of the code in this repository and find potential bugs and "code smells" that may cause trouble down the line. This tool is designed to make our code maintainable in the long run by giving automated feedback on all the changes that we make.
Please see the Setup documentation.
- Arducopter as the flight controller platform
- Dronekit for interfacing with the flight controller over serial
- Dronekit SITL for flight controller simulation and testing
- OpenCV for image filtering and segmentation
- Tensorflow for image classification