Page 1 of 1

Drone for flight control programming?

Posted: 01 Nov 2018, 00:46
by westofpluto
Hi All
I am looking to get a drone platform for research purposes, in particular I'd like to find a drone that has APIs/SDKs to allow programming of the drone. It seems that when one searches for "programmable drone", what one gets is information on drones that are designed for kids for educational purposes to "learn how to code." This is NOT what I am looking for. I am an experienced engineer (with expertise in guidance/nav/flight control, AI, deep learning, vision systems, etc) and I want to be able to program a drone in C/C++, python, Java, etc and even implement my own flight control systems. Yes I suppose I could build a drone from scratch and build it as basically a flying Linux box or Raspberry Pi, but then I'd have to build ALL the software from scratch. That isn't what I want either. I want a fully functioning drone that allows me to experiment with the flight control algorithms, implement vision systems, etc.

The only thing I found thus far was the DJI Matrice that costs $3500. That's too expensive for me. I'm looking in the $100-$500 range if possible, could go up to $1000 if necessary.

Ideally it will have a Linux OS running ROS, and it would also expose the code for flight control, guidance, path planning, SLAM, vision-based obstacle detection, etc.

So does anyone know of any decent drone that is fully functional but also fully programmable in this way, not just a beginner's "learn to program" toy?

Re: Drone for flight control programming?

Posted: 01 Nov 2018, 10:09
by AR.Tommy
Hello and welcome to the board,

I moved this thread into the AR.Drone Development section because I think the AR.Drone will fit almost all of your requirements. The AR.Drone is a little old but cheap available with lot of sources and many different languages to start with.

Thread overview:

And some examples:

Node JS: ... =72&t=7209

MAVLink / QGroundControl ... =72&t=7992

Mathlab: ... drone.html

Advanced Object Tracking:

Re: Drone for flight control programming?

Posted: 01 Nov 2018, 20:14
by westofpluto
No this is not what I was looking for. The AR Drone has a proprietary/closed onboard flight controller and receiver. The only way to "program" the drone is to write the code on your computer/laptop or smartphone, connect to the drone's WIFI SSID and then send commands via the program to the drone. The AR Drone API is very high level - you can tell it to takeoff or go somewhere, but you cannot implement your own PD control loop on the onboard flight controller to control the attitude of the drone.

Instead I am looking for a drone with an onboard Linux computer (like the Raspberry Pi Zero for example) where the actual realtime flight control software is open for tinkering. Ideally the flight control software would be based on the ROS architecture. Ideally it would be possible to make low level changes to the onboard flight control software - for example:
1. Download the source code for the flight control software onto my computer
2. Make changes
3. Upload flight control software to the drone
4. Fly the drone

Does this sort of thing exists? I can see a few places online that show how to build a simple Rasp Pi drone from scratch, but I was hoping for something a little more partially built.

Re: Drone for flight control programming?

Posted: 02 Jun 2019, 16:58
by voss23
I basically have the same question and wanted to see if you had made any progress?

I'm surprised that there is not more on this subject.