

Getting started with drones - PStamatiou
http://paulstamatiou.com/getting-started-with-drones-quadcopters

======
route3
Comments from previous discussion (8 days ago):
[https://news.ycombinator.com/item?id=8108855](https://news.ycombinator.com/item?id=8108855)

------
silverlight
I'd be interested in information like this for drones that are fully
programmable (wasn't there one that could run NodeJS?)

~~~
bri3d
The Parrot AR.Drone runs Linux off the shelf, and its downward-facing camera
and optical flow algorithms make it a great (very stable) platform. The main
drawback is a lack of payload capacity and non-open flight control firmware.
It's probably what you heard of with respect to Node.JS, because
[https://github.com/felixge/node-ar-drone](https://github.com/felixge/node-ar-
drone) is very popular. However, that project doesn't run Node.JS on the
copter itself but rather on a control node, transmitting commands to the
copter over WiFi.

To build "fully programmable," self-contained drones in a more open manner,
I've started with an off-the-shelf flight control system (in my case, an
ArduPilot knockoff) and then attached an Android phone as payload, wired in to
provide some control input via UART. This way the off-the-shelf flight control
system can handle the hard real-time PID loops without worry, and the Linux
side can run a conventional kernel and userspace with whatever algorithms I
need to run, providing me with softer timing requirements.

So far I've had good luck using ArduCopter, an older Nexus phone, and OpenCV
via the NDK to implement a basic "follow a shape" quadcopter. My goal is to
build a simple "follow me" functionality for recording cool car and sports
videos.

~~~
mdda
For the control input via UART are you connecting a USB->UART interface to the
phone, and then talking MAVlink to the ArduPilot (essentially like [1])? Or
are you going lower level and talking multichannel RC control signals, which
would then interface to even dumber PID loop-only kind of controllers (eg:
KK)?

[1]
[http://www.youtube.com/watch?v=31ULjsqjiYs](http://www.youtube.com/watch?v=31ULjsqjiYs)

~~~
bri3d
The former.

I thought about something like the latter, but I had my ArduCopter setup
working really well before I started the project.

