Posted by Chris Anderson on September 29, 2008 at 8:30am
I mentioned in a previous post that we plan to make ArduPilot compatible with both 1Hz and 5Hz GPS modules. The problem is that the 1Hz EM406 that we're currently using is a 5v device and all the 5Hz devices we're looking at are 3.3v. So to be compatible with both, we'll have to put a power regulator on the board (right now it just uses the RC receiver as its power supply), and that will delay us another month for board fabrication and testing.
So my question is: how important is 5Hz to you? Plenty of other autopilots, such as the Picipilot, get along fine with 1Hz, and it seems it really only determines how tight your patterns are.
ArduPilot Pro will come with a 5Hz GPS built in, but I'm tempted to leave ArduPilot as it is with the EM406, and keep it true to its basic roots for the first version, at least, for the sake of getting it out there sooner rather than later. What do you think?
>>on some RC-forum i seen info, that 5HZ modules using real 1 Hz and extrapolation<<
All GPS tracks a ~10MHz chip stream to determine the relative timing of satellites. At any time, the hardware can tell you within a fraction of the chip time (~100 nS) the relative timing of the satellites. So effectively, the HW knows continuously the time relationship of each satellite.
Here's something interesting to think about. You have a certain amount of positional noise on each reading. Let's assume the noise is +/-3 units. And let's assume you sample along a path such that your made up lat reading is 1, then 10, then 20. With noise, your readings could be 3, then 7, then 23. So far so good.
But your noise will in be a bit higher at faster update rates, and you'll have less time between each. So, the same path sampled at a 5X faster rate might yield 3,2,1,5,4,7,9,7,...
Thus, the lower sample rate will always yield a monotonic (increasing) result. That is, at a given speed if you are moving north, you'll always see increasing readings. A 5 Hz GPS, at a certain speed, could indeed yield times where you appear still OR going backwards. It's manageable through averaging, of course, and some programming knowledge that might decide things like "a flying airplane will not suddenly reverse at 60 MPH. But that complicates things.
I've actually been pretty surprised how well it works to look just at an averaged rate of turn (deg/sec) and compute that path assuming a constant rate of turn between each second. You can easily generate your own estimated position at whatever rate you wish. Thus, you'll hit a waypoint with accuracy down to the nearest foot or two, depending on your estimation rate. In effect, you are doing what the GPS is doing, except under your own terms which is often a good thing.
Take a look at this plot here: http://www.rcgroups.com/forums/attachment.php?attachmentid=1996752 Red dots are GPS fixes, green dots between fixes are estimates. Pretty darn close, even through turns. Faster speeds mean less bank so it doesn't completely fall apart for a fast model either.
Has anyone taken noise measurements (stdev) of a static 1 Hz and 5Hz GPS? 5 Hz should be higher, right?
Attachment browser: PDAPilot Desktop.jpg by matttay - RC Groups
RC Groups - the most active Radio Control model community: electric and fuel rc airplanes,rc helis,rc boats and rc cars. Features discussion forums,…
Good point. Please note that we've also released generic NMEA-parsing code. If you don't want to use SIRFIII binary and the EM406, you can just replace that subroutine with our generic NMEA parser and any GPS module you use should be fine.
Chris, that is my major reservation with this board, I already have several GPS units most of which are older and output standard NEMA as a default. I have been and will continue to use these older units and simply don't want ot take the time to rewrite code for every propriatary protocal. I have flow with one Hz for a while and it works just fine. I have used both a gyro and a compass to maintain heading and use gps data to maintain that heading, updating. I've been watching this page/project to help get me out of my pic/assembly rut and have been slowly transposing code I know works into C. With a stable plane and a way to hold course, compass or gyro, one Hz works great, even in nearspace flying way too fast.n jan
How about a small adapter board with the 3.3v stuff on it.
Since I have 2 1Hz units waiting for the autopilot I vote for the 1Hz systems..
But then I would probably want to use the 5Hz units for any real tests.
Comments
All GPS tracks a ~10MHz chip stream to determine the relative timing of satellites. At any time, the hardware can tell you within a fraction of the chip time (~100 nS) the relative timing of the satellites. So effectively, the HW knows continuously the time relationship of each satellite.
Here's something interesting to think about. You have a certain amount of positional noise on each reading. Let's assume the noise is +/-3 units. And let's assume you sample along a path such that your made up lat reading is 1, then 10, then 20. With noise, your readings could be 3, then 7, then 23. So far so good.
But your noise will in be a bit higher at faster update rates, and you'll have less time between each. So, the same path sampled at a 5X faster rate might yield 3,2,1,5,4,7,9,7,...
Thus, the lower sample rate will always yield a monotonic (increasing) result. That is, at a given speed if you are moving north, you'll always see increasing readings. A 5 Hz GPS, at a certain speed, could indeed yield times where you appear still OR going backwards. It's manageable through averaging, of course, and some programming knowledge that might decide things like "a flying airplane will not suddenly reverse at 60 MPH. But that complicates things.
I've actually been pretty surprised how well it works to look just at an averaged rate of turn (deg/sec) and compute that path assuming a constant rate of turn between each second. You can easily generate your own estimated position at whatever rate you wish. Thus, you'll hit a waypoint with accuracy down to the nearest foot or two, depending on your estimation rate. In effect, you are doing what the GPS is doing, except under your own terms which is often a good thing.
Take a look at this plot here: http://www.rcgroups.com/forums/attachment.php?attachmentid=1996752 Red dots are GPS fixes, green dots between fixes are estimates. Pretty darn close, even through turns. Faster speeds mean less bank so it doesn't completely fall apart for a fast model either.
Has anyone taken noise measurements (stdev) of a static 1 Hz and 5Hz GPS? 5 Hz should be higher, right?
is it true?
I love the daughterboard idea. That is perfect i mean, the GPS is already not attached, so, just have something in between the two for the 5hz one
That's an interesting idea: a daughterboard with a mounted 5Hz GPS and built in voltage converter. Let me bounce it off Jordi and see what he thinks.
Good point. Please note that we've also released generic NMEA-parsing code. If you don't want to use SIRFIII binary and the EM406, you can just replace that subroutine with our generic NMEA parser and any GPS module you use should be fine.
How about a small adapter board with the 3.3v stuff on it.
Since I have 2 1Hz units waiting for the autopilot I vote for the 1Hz systems..
But then I would probably want to use the 5Hz units for any real tests.
Phil