Current Status

Dronology is currently under development in an incubation phase.  It already has lots of features that work, but also some that we are still working on.  Our plans are to release the first version in the early Spring of 2018.  For now, we’ll list some of its features:

Core Dronology Controller

  • Dispatches and tracks UAS flights.
  • Manages physical and simulated UAS interchangeably enabling scalable experiments, or mixed physical/simulated experiments.
  • Supports both waypoints and vector commands.
  • Written in Java

Ground Control Station

  • Serves as a communication bridge between the dronology controller and UAVs
  • Detects physical UAVs that are pre-registered with the system
  • Receives status messages from UAVs (e.g., current location, battery level, velocity) and sends commands from Dronology to the UAVs
  • Written in Python and communicates to UAVs using DroneKit Python (based on MavLink)
  • Communicates to Dronology via middleware and is therefore easily replaceable

User Interface

  • Middleware for UI development -- allows UIs to register for events and to create and submit routing information to Dronology


  • Well we aren't there yet. Collision avoidance is currently under construction.

Planned Features

  • Collision avoidance (currently in progress)
  • Swarming
  • Greater flexibility -- to allow various features to be replaced (statically and/or at runtime)

Screen shot of a UI developed to plan and track UAS flights.
Progress towards Spring 2019 Release

We have released an initial version of system artifacts on our research datasets page:

We still have several major tasks to do before we are ready to publicly release the entire project.  You can see our progress below.

Software Artifacts (requirements, design etc) 71%
User Interface 90%
Testing 35%
Documentation 40%
Installation wizard 24%