1

I'm currently building a texture classifier in the c++ api of opencv. I was looking to use this to recognise textures and ideally help a parot ar drone 2.0 to navigate to a specific texture. I have found the documentation on node copter and it's opencv bindings. I wasn't sure about whether this would require me to re write my program in javascript?

If there is some sort of interface then is it feasible to run my program in the background, pull images from the parrot analyse them and send back control commands to the parrot?

I have been working with opencv for about 3 months and have some basic understanding of node.

Thanks in advance!

aheigins
  • 2,574
  • 3
  • 19
  • 26

2 Answers2

2

There are lots of ways to interface with a Parot AR drone. NodeCopter is one option, but there are others. ROS has good AR drone bindings I've used which would give you tons of flexibility at the expense of some complexity.

You might also consider building your C++ program into a stand-alone option and calling it from Node.js. You could also interface with the AR Drone API directly.

Community
  • 1
  • 1
abarry
  • 425
  • 3
  • 16
2

It's not too hard to write a program to control an AR.Drone with some sort of OpenCV-based tracking. Javascript would probably be my suggestion as the easiest way to do that, but as @abarry alluded, you could do it with any language that has bindings for the AR.Drone communications protocol and OpenCV.

The easiest thing would be to have a single program that controls the drone, and processes images with OpenCV. You don't need to run anything in the background.

copterface is a Node.js application that uses node-ar-drone and node-opencv to recognize faces and steer the drone toward them. It might be a good starting point for your application.

Just to give an example in another language, turboshrimp-tracker is a Clojure application that shows you live video from the drone, lets you select a region of the video containing an object, and then tracks that object using OpenCV. It doesn't actually steer the drone toward the tracked object, but that would be pretty easy to add. enter image description here

John Wiseman
  • 3,081
  • 1
  • 22
  • 31
  • Nice one, really interesting! I've scaled back my original project to just focus on classification but will definitely try these out on the side. – aheigins Sep 07 '15 at 22:30