The Joy of Flying AR Drones with Clojure
gigasquidsoftware.com
gigasquidsoftware.com
Quadcopter Presentation
An automated ignite style presentation that sends commands to
a connected Parrot AR Drone via socket.io direct from the
browser.
setup and run https://github.com/bkw/node-dronestream on port
3000 at the same time and you'll get a video stream from the
drone in slide 15
And here's a simulated AR.Drone for voxeljs: https://github.com/shama/voxel-droneMy voice controlled AR.Drone: http://www.youtube.com/watch?v=uhBa11gdbeU
As an aside this talk is amazing, even more so if you've had any exposure to control theory.
http://www.youtube.com/watch?v=C4IJXAVXgIo
(if you get bored the best bit is at 20min)
Still, my personal preference would be a standard quadcopter or plane with an APM [1]. If only I can free up some spending money...
[1] http://store.diydrones.com/APM_2_5_Not_Assembled_p/br-apmpwr...
We had so much fun, in fact, that we integrated AR Drone hacking into the Robotics Club. This started as a few friends messing with 2 drones and its grown to the point where I'm actually teaching NodeJS, Javascript+Coffeescript, a bit of Unix, and various algorithms to 35+ students fresh out of Stanford's Intro to Computer Science course! (Its still mostly the basics, but I've been writing up & posting lesson info here http://drones.johnback.us/).
I'm very excited with what the various AR Drone communities have created so far. The popular Node library[2], a Go implementation (in progress) by the same author[3], and this Clojure option[4] are all amazing avenues for teaching interesting CS languages (that remain largely ignored in formal academics) to students new to CS.
[2] https://github.com/felixge/node-ar-drone
The SDK was fairly well equipped and the examples were well documented (this was iOS 3, GB, and C# examples). I don't know how they did it but they have the starter ready-to-run drone market to themselves. All the competitors I've looked at are 2-3x the price. Even the link the above is $179 just for the MB; excluding sensors, motors, batteries, cameras, and crossframe.
But the programming done here is very imperative and procedural in nature. Not to say it can't or shouldn't be done. It just doesn't seem like a very good case for using a functional programming language, although the title seems to imply that. Anybody attempting to learn Clojure this way is probably missing out on the actual merits of functional programming.
It reminds me of the JESS rule engine. Same kind of principle.
I didn't down vote you, but if I were to, it would be because your comment sounded like discomfort stemming from ignorance. On top of ignorance, you offered your pity for people who are "stuck" using this language, when it's actually almost always a well-informed choice.
Paul Graham's essay: "Beating the average" may be a good starting point for you.