Tuesday, March 8, 2011

AR Drone 1.6

Once again 1.6 has defeated us. I tried to get it working. Made some headway by stealing a few files from 1.5 but it ended up just causing more problems. It looks like at least while on Linux 1.6 literally wont compile for android. It seems that there are a few syntax errors and other things that just generally don't work. I decided to go back to 1.5 and after a little bit of trouble I was able to get it working. I got the emulator up and running and tested it on the drone. It works. I am now sticking with 1.5. Also I have the drone and will bring it back Thursday or Friday.

Sunday, March 6, 2011

Broken Drone Bumper

I broke one of the AR Drone plastic bumpers today. I'm referring to one of the circular bumpers that are part of the plastic cover. It wasn't a bad break, and I immediately patched it up with tape. I can't say it's as good as new, but it flies just the way it used to. If it's a problem with school I'll buy a new cover. I think they're inexpensive. I felt pretty bad about it when I did it. I wasn't being particularly hard on it or anything, though. My apologies to everybody.

usb/serial cable

This weekend I received the last of the parts for the usb/serial cable. This one is the device that actually transfers the ttl level signals to RS-232 signals. That's at least what I think it does. It's very cool, with its own little circuit board. It will require some special kernel module compiling to work. I think we can get to that after we have an assembled cable. Oh, btw, I believe there's no soldering to be done to connect this particular part. We will need wire, and we will have to solder the wires to the terminals for the small connectors that we've already got...

Friday, March 4, 2011

firmware

Since we already have the newer firmware installed, I vote we keep it for a while and at the same time keep the web location of the older firmware. For the time being we can work with the newer firmware, and if the older is needed later on for some reason we can always go back then.

Old firmware

http://www.ardrone-flyers.com/wiki/V1.1.3

Wednesday, March 2, 2011

urbi doesn't work since firmware update

Since the firmware update Urbi doesn't work. I get output identical to the following.

[00000740] *** ********************************************************
[00000743] *** Urbi SDK version 2.3 rev. 9a84600
[00000756] *** Copyright (C) 2005-2010 Gostai S.A.S.
[00000756] ***
[00000756] *** This program comes with ABSOLUTELY NO WARRANTY. It can
[00000757] *** be used under certain conditions. Type `license;',
[00000757] *** `authors;', or `copyright;' for more information.
[00000757] ***
[00000757] *** Check our community site: www.urbiforge.org.
[00000757] *** ********************************************************
[00000936] ARDrone_0x9bc19c8
before setLocale()
before ardrone_tool_setup_com(NULL)
before ardrone_tool_init(...)
Starting thread navdata_update
Starting thread ardrone_control
Thread navdata_update in progress...
before ardrone_input_add(NULL)
Input device myControl added
Starting thread my_video
Video stage thread initialisation
[00000964] true
[00000996] *** Waiting connection.
Timeout
Tag 19 is not a valid navdata option tag
[Navdata] Checksum failed : 0 (distant) / 25300 (local)
Tag 19 is not a valid navdata option tag
[Navdata] Checksum failed : 0 (distant) / 25733 (local)
Tag 19 is not a valid navdata option tag
[Navdata] Checksum failed : 0 (distant) / 25528 (local)
Tag 19 is not a valid navdata option tag
[Navdata] Checksum failed : 0 (distant) / 25771 (local)
Tag 19 is not a valid navdata option tag
[Navdata] Checksum failed : 0 (distant) / 25495 (local)

I've tried recompiling the urbi ARDrone module with the following patch, but it doesn't work. (The patch applies cleanly and the module actually compiles, but later doesn't work).

https://projects.ardrone.org/issues/show/67

So my question is, what are our options? Does an older version of the firmware exist on line? If it did, could we even install it without bricking the drone? I am going to write to the guy who first published the urbi module for the ARDrone, but until I hear from someone like that I'm just going to work on Android apps.

Tuesday, March 1, 2011

A Sample Android App and Java classes

I have created a sample Android app that is now available on our google SVN repository. As of now the app is very simple, with a simple button and logo. Upon clicking the button the Drone will take off, hover for 5 seconds and then land. This can be expanded out pretty easily and is a good starting point. Most of the logic actually occurs in an external AR Drone class. I hope the final version will take off, fly a certain path, then land.

We have been working with different java classes to try and get better control over the drone but have been struggling so far to find a class that sets the pitch and roll to what we want. All of the classes we're using use AT commands to tell the drone what to do. One would expect a command that sets the pitch and roll to set those values but that doesn't seem to be happening. Instead either nothing happens at all or the change isn't made until we start the drone agan and, thus, it takes off into a different direction (usually right into the wall). We had limited progress with this issue today but found that settings the pitch right before liftoff will have an effect, similar to the one just mentioned.

Upon reading through the SDK documentation we saw that the drone will auto-disconnect if you don't send it a command for 2 seconds. We're thinking of implementing something similar to what Dave has in his Urbi example, where there is a loop that constantly sends the drone commands.

Finally, I put together an extremely basic logo for our final application. And by basic, I mean that it was put together in 5 minutes or less. Enjoy.