Hey,
I'm a third year university student studying Systems Engineering and currently working on my final project - a Quidditch playing UAV.
With that, I require access to the ARDrone's camera feed. Normally, this is done through Parrot's SDK but I've had no luck with that. Then I discovered ARC and the incredible abilties of the software. I noticed there's a Windows SDK that allows communication with the ARDrone which I am using now (with C#, no luck loading the EZ_B.dll into C++ :/).
I fully understand that the ARC software essentially provides everything required of my project (acknowledging the awesome capabilties, I still need to do this by myself) apart from one aim and with that aim I require a camera feed from the ARDrone.
My question is; is it possible to use the EZ-B SDK purely to gain access to the video feed from the ARDrone and use that feed for Emgu (OpenCV wrapped for C#)? Stated another way, I'd like access to the ARDrone video feed through the SDK so I can apply Emgu to the feed, such as tracking objects?
As it stands, I have used the tutorial file "Tutorial 31 - AR Drone" in C# to connect to the ARDrone and succesfully displayed the video feed, etc. In the same C# form I have managed to display my webcam feed using Emgu (so both compile together). Although I knew it wouldn't work, I did try creating a new Capture type (type from Emgu) and passing that the _capture created by EZ_B but obviously Emgu has no methods for dealing with EZ_B types.
I appreciate any help many thanks
Do a search for ffmpeg and ARDrone and I think you will find what you are looking for.
Here is a link to code using an ARDrone 2 with open cv. I think it will work on the drone 1 with little modification : http://blog.hassannadeem.com/2015/04/cross-compile-opencv-with-ffmpeg-arm.html?m=1
You can access the video feed over an IP address, though it can varry on the amount of delay there is.
My attempt to access the ar drone 2.0 feed.
synthiam.com/Community/Questions/4540&page=2
Click on the Software tab on the top menu of this website
Select Windows SDK from the sub menu
Select Download
Choose the download location for the zip file
Extract the files from the SDK
View the README.TXT
Follow the instructions in the README.TXT for every project that you load
In the C# folder, load the AR Drone example project
There you will see how to connect to the AR Drone video feed. If you wish to pass the feed image off to another library, you can do that as well.
I'm grateful for your suggestions, which I did attempt, but was ultimately unsuccessful :/. thetechguru, that link is pretty much dead :/. The site works but the blog is offline.
Steps 1 through 8 was not a problem and had completed those, but your last statement gave me encouragement that it was at least possible. After a number of hours I managed to pass the video feed from the Parrot to the Emgu library.
Glad it worked for you! Parrot has always been a little hard to deal with on their SDK, and it appears they have completely abandoned any software support for the ARDrone now that they released the BeeBop. They have been promising the addition of Director Mode for Android for years and haven't delivered. Most of the 3rd party developers have therefore also moved onto the BeeBob or DJI and 3DR brands that are more open and supportive (although 3x the price for their cheapest).
Alan
Awesome to hear!
So am I! and exactly my thoughts on the matter! I discovered this fact while researching the SDK. My tutor and I did talk about the BeeBob but nothing much came of that...
So am I! I'll also add that when I discovered ARC, it blew my mind in terms of the capabilities so really well done on that front and I wish you every success.Thanks for the kind words!