Skip to content
Phil Wilkins edited this page Feb 26, 2018 · 2 revisions

Welcome to the droneAPI wiki!

Introduction

For those who attended the first London Oracle Developer Meetup will know that we have a little project as a theme for a few of the meetup sessions. The API Enabling a Drone and then using various tech to pilot the drone such as writing small apps and running them on Container Cloud Service or the soon to be released Cloud Native offering which will support serverless such as Project Fn.

The APIs will be managed through the API Platform and then implemented on the backend using the SDK that comes with the Parrot Drones (we have got a Bebop 2 quadcopter to actually control now).

For the backend, we would propose that the solution be build by using Springboot which can then be deployed if wanted into a WebLogic server. We’ll develop the backend so that it can be used to manage multiple drones.

Building the solution

All the artefacts generated for the solution will be made available through our GitHub repository (here). As we want to follow API First principles the first step is to use Apiary to define the APIs. As this means we can share the development activities and allow people experiment with developing code to pilot the drone.

The first APIs that should be to get the drone to be ready to fly, issue controls such as reference points and configuration to the drone such as a geofence to limit where the drawn can safely fly.

The other big challenge to be cracked is that drones operate by creating their own local Wi-fi hot spot that controller(s) connect to. So if we want our API services accessible on the local Network which is stable and predictable then we need to establish an easy way to bridge the Network traffic.

What about the rules for flying Drones

New legislation is coming in about the flying of drones in and out of doors. This raises a practical question of how can we demo the drone control through the API. Flying drones outside in London is going to be a bit of a challenge. But, for first person flying and racing drones in doors there is an exception as you can through the site https://www.fpvuk.org/. The Bebob 2 drone has a camera so can be controlled as a. First person device. So now we need someone to act as a spotter. So if we’re flying in 1st person then what are the APIs going to do? Well we will the APIs to instruct the drone and the first person will be able. To override if necessary.

But this also gives a good use case for the API Platform which we can set the policies such that no dangerous commands can be sent for example preventing instructions that could make the drone do a manoeuvre that is dangerous e.g. trying to fly too fast or too high for example.

Additionally we’ll video demonstrations of the drone control so people can see it all at work. The video(s) will be added here when we’ve recorded them.

Progress

So far we have created APIs for the basic configuration and flight services. But as we are going to use the 1st person to control/override things we don’t want to direct the video streams back to the API Platform.

Hope that you join us at the meetups and participate in the project

Phil & Luis