Control a Parrot AR Drone with Linino Using Arduino

Parrot AR Drone

Performing the control of the AR.Drone with the iOS or Android apps is really difficult. The controls are very unstable because the app virtual joystick hasn’t a good sensitivity response. The idea was to use a real joystick instead of the Parrot application itself:Parrot AR Drone

So, to create an application to control the quadcopter, you need Linino with Node.js and the Ideino development environment on-board, that include a library for managing the pins of the board in Node.js. For installing Node.js and Ideino on the Yun, please refer to this guide: http://wiki.linino.org/doku.php?id=wiki:nodejscript

https://github.com/felixge/node-ar-drone

After setting up Node.js and Ideino, we looked around for a node module implementing all the necessary commands to pilot the AR.Drone. We found that the most used is ar-drone. The source code of the ar-drone module is available on GitHub (https://github.com/felixge/node-ar-drone). ar-drone module comes with a detailed documentation from which I deduced that the main commands for controlling the AR.Drone:

  • take-off
  • land
  • stop
  • left / right
  • front / back
  • up /down
  • clockwise / counter clockwise

The following picture show how we associate the ar-drone commands with the joystick shield controls

Note that the Take Off / Landing commands are performed by a single button switch, located under the two potentiometers of the joystick.joystick commands

To start write the Node.js code in Ideino, we need to setup our environment. The First step is to setup the mcu with a sketch, generally to work with ideino and the ideino-linino-lib you need to load the firmata sketch that allows Linino to comunicate with the board. With ideino-linino-lib are distributed  two .hex files:

  • firmata_spi.hex
  • firmata_spi_pullup_enabled.hex

Read more:  Control a Parrot AR Drone with Linino

Leave a Comment

Your email address will not be published. Required fields are marked *