Awesome
Argus -- Parrot AR Drone Ruby API
Current Status
- Experimental
- Subject to change
- Use at your own risk
- May cause cancer
Example
require 'argus'
drone = Argus::Drone.new
drone.start
drone.take_off
sleep 5
drone.turn_right(1.0)
sleep 5
drone.turn_left(1.0)
sleep 5
drone.hover.land
sleep 5
drone.stop
Using with external socket
You can also use Argus by providing an externally created socket. For example, if you are using Artoo (http://artoo.io), which makes use of celluloid-io (https://github.com/celluloid/celluloid-io). Normally in this use case, you would want to NOT use the automatic navigation callbacks, as they are not guaranteed to be thread safe within Celluloid.
require 'argus'
require 'celluloid/io'
include Celluloid::IO
socket = UDPSocket.new
drone = Argus::Drone.new(socket: socket)
drone.start(false) # do not auto-notify on nav callbacks
drone.take_off
sleep 5
drone.turn_right(1.0)
sleep 5
drone.turn_left(1.0)
sleep 5
drone.hover.land
sleep 5
drone.stop
Download the SDK
For additional reference, you can download the AR Drone Developer Guide (https://projects.ardrone.org/attachments/download/365/ARDrone_SDK_1_7_Developer_Guide.pdf) after signing up here (https://projects.ardrone.org/).