Some guys have put together a radio contol airplane that can detect Wifi networks. I am posting this here since in there 'How do I put this together'-section, they mention diydrones because they use an ArduPilot: http://rabbit-hole.org/howto.html
I was messing around with my simulator some time ago, and found that the ground course, returned from the binary GPS decoder, in GPS_EM406.pde returned false heading between 300 and 360 degrees. This is also mentioned in the comment.
The problem is that the number returned from the GPS module is returned times 100, as the comment suggest, this means values between 0 and 36000.
if(ground_speed >= 50){
//Only updates data if we are really moving...
intUnion.byte[1] = gps_buffer[j++];
intUnion.byte[0] = gps_buffer[j++];
ground_course = intUnion.word; // degrees * 100
ground_course = abs(ground_course);//The GPS has a BUG sometimes give you the correct value but negative, weird!!
}else{
Since the integer used in the intUnion is a 16 bit signed integer, only numbers up to 32768 is supported, this fact yields negative values when the value is above, from the bit pattern interpretation.
The solution is to use the longUnion instead of the intUnion. This solves the buggy ground course.
if(ground_speed >= 50){
//Only updates data if we are really moving...
longUnion.byte[1] = gps_buffer[j++];
longUnion.byte[0] = gps_buffer[j++];
ground_course = longUnion.dword; // degrees * 100
//ground_course = abs(ground_course); //The GPS has a BUG sometimes give you the correct value but negative, weird!!
We've changed the channel that reads the throttle on basic ArduPilot from pin 13 to pin 11. That's because pin 13 shares an LED, and it's causing problems with some low-voltage RC receivers. Pin 11 is clean.
The above picture shows the correct jumper wire configuration. If you've been using pin 13, please switch it to pin 11.
In the code, you tell ArduPilot which pin you're using with this line:
//3-1 #define THROTTLE_PIN 11 // pin 13, or pin 11 only (13 was old default, 11 is a better choice for most people)
Sorry about this messiness, but it's all in the service of extracting as much utility as possible out of the basic ArduPilot board (which was originally designed not to control the throttle at all--those were simpler days!). Later this year we'll release a new version of the ArduPilot board which will clean up everything nicely (same features, so nobody will be left behind), but for now, please whip out your soldering iron and switch the jumper.
The manual has been updated with the new instructions.
Jani sent over some pictures of the first beta ArduCopter retail units going out to the dev team. Yes, the dev team is that big now!
We'll announce pricing, package options, pre-ordering procedures and final specs within the month. I'm guessing that we'll be able to start shipping retail units by the end of September. We want to make sure that the code is pretty bulletproof, so the contents of those boxes will have to do a lot of flying between now and then!
Initially, we will be selling via our affiliate, PhiFUN (note: that site is not ready for ordering yet. Ignore the preorder offer for now--it doesn't work yet!) and directly via the DIY Drones store.
Please understand that ArduCopter is a full UAV, not a RC toy, so we have to comply with export and other regulations. So, for example. sales via the DIY Drones store may be US-only and require compliance with a no-export agreement. For those outside the US, PhiFUN will be the primary distributor, although we'll be looking for a European partner, too.
It's here! The first beta of the retail ArduCopter frame arrived today, and it's GORGEOUS. Jani has totally outdone himself. Above is the box, which is surprisingly small--just 13" x 4.5". Nice label, tells you what's inside. (This box is just the frame. If you'd ordered the other bits, such as the APM autopilot, GPS, motors, ESCs and props, they would have come in smaller boxes, and they'd all be packed up in one bigger box.)
Everything fits in really neatly.
Here all the parts are laid out. Each subsystem is in its own sealed bag, labeled and numbered.
An example of one bag: the power distribution PCB. Front...
...and back.
An example of the CNC'd parts. Love the little touches, like the name etched in the dome components.
Parts list
Introductory instructions. Full instructions are online.
Stickers!
Next steps: the beta testers are going to build and fly the quads with the latest software. Based on that feedback, we'll finish the documentation and decide on a release candidate of the code, and burn that into the boards. Jani will stock up on a LOT of the component parts, including motors, ESCs and props, and we'll announce a release date and prices for all of the versions, from just the frame to a complete ArduCopter UAV kit with everything included.
Totally thrilling. This project has been a long time in development, starting with the original ArduPilot board, and it's really gratifying to see it hit commercial maturity like this. Jani, you're a star!
Some quickie shots from my phone, along with first impressions. Above, the cardboard inner box. Same basic setup as the prototype: an indoors protective foam ring body, and a second (yellow/orange) smaller body for outdoors. No other big changes that I can see. Same brushless motors, cameras, props.
I see that DANGER is part of the selling point (that explains these obnoxious promotional videos. There's a little skull in the logo at the center there...
Awww. The cover over the electronics is now opaque. You can't see the gorgeous circuit board and chips :-(
Thankfully, they've fixed the motor wires. Those were the #1 point of failure on the prototype. Now they've got a proper connector and are tucked away nicely.
Also, no silly rubber feet like the ones that kept falling off on the prototype.
When I get my iPhone charged up, I'll try the software.
I get the whole cheeky viral video thing, but this one from the Parrot AR.Drone team just seems obnoxious and irresponsible. Or am I just being over-sensitive?
Speaking of the AR.Drone, my production version just arrived. I'll add unboxing pictures in a few...[Update: here]
UPDATE: There's a second one, even worse. Now they're tormenting animals:
"I guess it’s cold enough up thar in Norway that even UAVs need their own little comfy modernist Scandinavian drone huts that look rather a lot like mailboxes. They’re part of Scandicraft’s ScanCam perimeter security system, and the idea is that the huts act as base stations for roving semi-autonomous quadrotors that are controlled remotely. The quadrotors can launch, recover, and recharge themselves at their huts (or “hangars” I guess), and when it snows (which I hear it doesn’t do once or twice a year), the bots can stay snug at home, enjoying their stylish furnishings which you can find at your friendly neighborhood IKEA as part of the new Röböüüüt collection.
Good news: you can now use the standard ArduPilot GCS with ArduPilot Mega!
Just select option 2 ("ArduPilot Legacy") in your GCS protocol in the config file of the latest code, and APM will drive the GCS just like ArduPilot. Try tilting the APM board and watch the artificial horizon move along. Very cool
//0-4 Ground Control Station: #define GCS_PROTOCOL 2
// 0 = Ardupilot Mega Standard Binary // 1 = special test, // 2 = Ardupilot Legacy // 3 = Xplane // 4 = Ardupilot IMU out // 5 = Jason's GCS, // -1 = no GCS (no telemetry output)
Automatik is hard at work updating the GCS to support APM natively, with all the additional functionality it brings, but for now you've got a great GCS with all the cool stuff like moving maps and voice synthesis, all ready to go.
Posted by Gary Mortimer on August 10, 2010 at 11:30pm
Have been flight testing this back to basics wing, very pleased with it so far.
If you want one ask Rob @ Flying Wings http://www.flyingwings.co.uk Very simple task, Canon IXUS 100IS for 15 minutes in the air.
Thats the IXUS at the front, this is only the second one we have built so its not covered and a little raw!!! But it flies very well. I'm out of the door to fly it again.
It will be part of the YellowPlane stable and I guess we originally thought of calling it Manta 4 as its the forth version of a flying wing UAV that we have made. During design it acquired the nickname prawn cracker (don't ask) and the original task request made a natural name change. No prizes for guessing the agency that wants one.
Good data from Doug Weibel today, who was testing the uBlox GPS vs the onboard absolute pressure sensor on ArduPilot Mega with his NexStar Mini EP. In general the uBlox is performing great. And we love the onboard datalogging on APM!
Doug explains the modest data diversion between the two sensors:
"You can see that in the area from roughly 1600 to 2500, there is greater difference between the two altitude measurements. This coincides with when I let my son fly the plane and took it out of fly by wire mode and put it in manual. He was busy trying to get the little NexStar Mini EP to do some aerobatics. Since he was spending a lot of time in very high bank and pitch angles I would guess that the uBlox performance was suffering and the baro altitude was more correct."
The first Open Hardware Summit will be held September 23rd in New York City, DIY Drones will be there, along with most of the other leaders in the emerging open source hardware movement. The group organizing this needs donations to cover costs, so please consider donating any amount--$20, $50, even $100--and help sponsor the conference. Sponsors get call-out love!
Posted by Graham Dyer on August 9, 2010 at 11:30pm
While not autonomous, the amazing stability in the video's belie the relatively simple (& cheap) build. Strangely some of the components required are out of stock at HobbyKing.com... :)
I designed this protocol since few months ago but it lost in hole of internet.
I hope it helps someone.
Everyone using video transmitters on UAV/FPV planes and audio channels empty or only transmitting propeller sound, this is why i designed this telemetry protocol on audio ;)
Advantages of Audio Telemetry Protocol (ATP)
You don't need any extra hardware except your Autopilot/OSD's processor for transmitting datas
You can receive all data without any hardware with your PC/laptop
Audio channel less noisy than video
%90 of video Tx/RX modules supports ATP's 2000-1300hz audible waves without any problem
How ATP Works?
ATP uses AFSK method to sending telemetry data over VideoTX’s audio
channel. The carrier is 2100Hz and a byte starts with one 1300hz wave(start bit), ATP sends
data bits after the start bit. and it sends minimum 10 carrier wave(zero) before a new start bit.
This code generates static 2100hz square waves, put a 100nf capacitor on outside of processor and connect it on Audio in of TX, now you have a sinus on RX side ;)
You can send the bytes any time in your main code flow because AFSK protocol following waves not time sensitive protocol. modem[] is an byte array that filled with data to send. modem_byte is an integer for selecting byte of modem[] array modem_bit is an char for counting sinus waves of AFSK
This code sends start bit at start and 8 bit of byte, you should wait for 5ms for next byte for balancing sinus waves on audio stream, then you can send another byte also.
modem_bit = 0;while (modem_bit<18) //wait for all bit waves {
if ((modem_bit%2==0) && ((PINB & (1 << 2))) ) // wait for 1 on PWM output. { if (modem_bit==0) // start bit { TCNT1H = 1; // this values creates small delay for increasing the wave width TCNT1L = 180; // and AFSK decoder can detect this big waves to 1, other small(2100hz) waves 0 }
if (modem_bit>1) { if (modem[modem_byte] & (1<<((modem_bit-2)/2))) // if bit of bte is 1, change the wave width for 1 on AFSK { TCNT1H = 1; // this values creates small delay for increasing the wave width TCNT1L = 180; // and AFSK decoder can detect this big waves to 1, other small(2100hz) waves 0 } }
modem_bit++; }
if ((modem_bit%2==1) && (!(PINB & (1 << 2)))) // wait for 0 on PWM output { modem_bit++; } }
ATP Modem Software
I wrote a modem software for reading AFSK waves without any hardware (maybe a serial 100k resistor on microphone in)
This is only software modem on the planet (or i didn't see another) :)
It is decoding AFSK codes from microphone input like an oscilloscope and giving output values from TCP for 3th party softwares. You can design your loggers, goggle earth interfaces or more with this plug.
It is using 20byte data pack for transmitting and software can separate them
First 16 byte is data bytes last 3 byte is line end and CRC
Pack of Bytes
[0-3] Latitude (4 byte = 32 bit long integer of coordinates)
[4-7] Longitude (4 byte = 32 bit long integer of coordinates)
[8-9] Altitude (2 byte = 16 bit long integer of altitude)
[10] Heading Angle (multiply it with 1.4 for finding angle value)
[11] Battery 1 voltage (divide 10 for value, 111 mean 11.1Volt)
[12] Battery 1 voltage (divide 10 for value, 74 mean 7.4Volt)
[13] Current Sensor 1 (multiply with 0.4 for value, 101 mean 40.4Ah
[14] Current Sensor 2 (multiply with 0.4 for value, 101 mean 40.4Ah
[15] RSSI (It is percentage of maximum value, 35 mean %35)
[16] Speed (km/h)
[17] Line End 1 (value 10)
[18] Line End 2 (value 13)
[19] CRC ( 8 bit totals of first 19 btye)
If you uses my original data pack Software Modem giving this type output from port 1976 (my birth year)
then you can decode your data bytes(first 16 byte)
This software only part of ATP i didn't share the codes because i want to share the protocol with all autopilot/OSD producers and i want to use their 3th party tools too.If I share the code, they can change only AFSK frequency and visuals for non compatible products.
New Features
I added direct KML file based live view for Google Earth on the new version of modem software.
You can click on plane_tracker.kml file and Google Earth connects your Modem Software to tracking the plane :)
It is already primitive because we have some connection problem on Google Earth since few months :(