.takeOff();

Welcome to the first proper blog post about my Final Year Project (FYP)!

Since my first post on here (‘I have a blog.’) I’ve been looking into the legalities and applications of drones currently in the big wide world (pretty dry stuff). What I’ve really wanted to do instead is get the laptop out and start writing code. Up to this point however, I haven’t had the luxury of a ‘clean room’; a windless, relatively uncluttered, large, indoor space.

Today, I am glad to announce, I was finally able to sit down and work on programming my Parrot AR 2.0 drone (Dave, or dUAVe as he is known) in a spacious, indoor environment on campus at Brunel.

The goal of the day was to write a simple program on my laptop that would tell the drone what to do. The logic being that if I can get that element to work, I can write a whole PC-based program to communicate with the drone.

After a steady start I was able to follow along with an amazing tutorial I found on the Instructables website. This tutorial goes over connecting the drone to your laptop and sending basic commands to it through node.js, as well as  how to program a basic set of instructions for your drone to play out at the click of a button.

After 3 hours of fiddling with the code and witnessing dUAVe survive two fairly serious encounters with the wall, the end result can be seen on my YouTube channel. In the video you can see me hit enter on the keyboard and let the drone carry out the basic set of instructions sent to it.

Tips on the guide I used (Instructables):

  1. Firstly, it is very well written but if like me you have the attention span of a gnat, you’ll miss out on the handy bits of info at the end of each step so make sure to read each step all the way through before starting!
  2. In step 5 you are recommended to use Sublime as a text editor. This isnota good text editor. It is a one way ticket to launching your laptop through the window/drone. Try Notepad++ instead!
  3. When trying to run your automated program for the first time in step 6, make sure you haven’t stored jsin the folder titled nodejs. I did this, it will not work. Instead make sure to create a separate folder for it (called Drone or similar), in the same directory as the nodejs folder and ensure that you run ‘npm install ar-drone’ in the command line while in the new Drone folder you’ve created. By this I mean re-do step 3 in the Instructables guide for the Drone folder. Google the use of ‘cd’ to navigate through directories in command line if you’re unsure of how to get around in there.
  4. As ever, pay attention to any errors thrown back to you within the command prompt when running your program to find any rogue semicolons/brackets!

To help out, the code used in the video is in the image below  (Click to enlarge).

12038916_10156081370915722_1200142344215504560_o1

So there we are, a solid achievement for the first day of programming. Now to figure out how to get dUAVe to use his camera while we’re flying…

Please let me know if you have any questions or comments about this post or any other, I’ll do my best to answer any questions and all feedback is welcome!

Mark.

Note: In the above examples I am using a Windows 7 laptop so I will have very limited knowledge of Linux/OSX instances of this project!

Originally osted on September 26, 2015 Categories: Brunel FYP, Drone Programming

Advertisements

Published by

mvee1987

Hey, I joined WordPress and started blogging during my final year studies in Computer Science (BSc) at Brunel University, back in 2015. I started blogging as I realised that when it took me 100 Google searches to just about figure out how something technical worked, it'd probably be best that I write it down and see if someone else can benefit from it rather than them having to potentially do another 100 searches! I've got a different way of learning compared to the way most programming/technical guides out there are laid out - I find learning much easier when some of the assumed knowledge is taken out and I can find a way to relate logically to the content I'm learning. I imagine I'm not the only one who learns this way, so I present to you, mveeprojects! Nowadays my general motto is, if it took me more than 2 hours to figure out, I'll see if I can write something that can be completed in 30 minutes or less (by anyone with an interest in programming) to solve the same issue. Please feel free to comment or message me if you have any questions, queries or general feedback to help me provide the clearest and most accessible information possible. Cheers, Mark

One thought on “.takeOff();”

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s