flight

AR Drone - Node JS Controller and Camera Feed

Introduction to AR Drone Parrot 2.0

 

AR Drone Parrot is a QuadCopter which comes with a front facing hd camera and a bottom facing camera. The AR Drone is controlled by sending commands over Wifi thus inherently it is programmable

Browser Based Controller and Camera Feed Receiver

Following is the first of the series of Apps I plan to build.

It is a Browser based Command and Control Dashboard for the AR Drone which also show us the AR Drone Camera Feed. There are buttons available in the toolbar to make the AR Drone Take Off, Spin, Stop and Land.

[singlepic id=54 w=800 h=600 float=]

Usage

Setup

  1. Start AR Drone Parrot 2.0
  2. Connect the Laptop to the ar drone wifi
  3. Clone the project from git hub
  4. run $> npm install
  5. run $> node server.js
  6. Open http://locahost:3000 in Chrome browser

Directions

  1. There are two videos shown here
    1. One from Laptop Camera
      1. You will be prompted to allow access to the Laptop Camera
      2. This is based on WebRTC
    2. One from AR Drone Parrot 2.0
      1. If the Video feed shows, than video feed connection to AR Drone is working fine
  2. The AR Drone can be controlled using the buttons on the Toolbar
    1. Take Off - Click the Take Off button to make the AR Drone Take Off
    2. Spin - Click on the Spin button to make the AR Drone Start Spinning
    3. Stop - Click on the Stop button to stop Spinning
    4. Land - Click on the Land Button to Land the Craft
  3. The Dashboard also shows how much of battery is left on AR Drone

Source Code

The source code be found at https://github.com/rohitghatol/ardrone-nodejs-browser-control

[singlepic id=55 w=600 h=480  float=]

[singlepic id=56 w=600 h=480  float=]

Video Demo

http://www.youtube.com/watch?v=js-V--Qen-Q

 

References

This project uses following

  1. NodeJS Express Server
  2. NodeJS Module - ar-drone
  3. NodeJS Module - dronestream
  4. Socket IO to get the feed from backend server to the Browser