Skip to content
This repository has been archived by the owner on Aug 10, 2019. It is now read-only.
/ suas-2019 Public archive

Drone code for UAS@UCLA

Notifications You must be signed in to change notification settings

uas-at-ucla/suas-2019

Repository files navigation

UAS@UCLA 2019 Drone Code

Code used on our drone competing in the AUVSI SUAS competition.

CI Tool Status of master
Jenkins Jenkins Build Status
Travis.CI Travis.CI Build Status

FlightDeck Ground Interface

Contents

  • 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

Continuous Integration and Tests

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.

Installation

Install docker, tmux, and python2.7. After that, ./uas will list all of the possible commands that can be run. Use ./uas controls build to build the controls code.

Platforms and Libraries Used

  • PX4 Firmware as the flight controller software stack and simulator.
  • Docker for containment of the development environment.
  • OpenCV for image filtering and segmentation
  • Darkflow for image classification
  • MAVLink Common Messages for communicating between Ground Control Station and the UAV
  • Bazel, a fast, scalable, multi-language and extensible build system
  • Gazebo for 3D simulation