Tobie Horswill wrote: > My problem is the following. "Domestic" GPS receivers (as opposed to > dynamic GPS or military GPS) have a granularity of approximately 30-50 feet. > The boat may take anywhere from 10 seconds to a minute to travel that > distance depending on winds, currents and so on. The GPS needs a > displacement in order to find a heading, so even in the best of conditions > the PIC will only get the boat's heading every 10 seconds or so. So the > PIC's sample/calculate/correct refresh rate can be anything between 0.1Hz > and 0.016Hz. Many things can happen during that rather long period, the boat > could get turned around by a wave, it could hit something and deviate etc... > Under these conditions, I'm afraid the PIC's corrections will always be > erroneous and it will either end up in a sort of feedback loop zigzagging > (overshooting) or taking a very long time to correct small heading > discrepancies instead of keeping a straight line. > You can't do this (I think) just with the data you have; you need to have some additional data which tells you the boat isn't heading the right way. My $0.02 would be to add a magnetic compass. This could be quite low res and will give you enough to keep the heading "close" to what you want. Sort of limit the size of the Zigs.. Should be cheap too, but I've never interfaced to one so this is pure speculation. > > Is there any way you can think of to shorten the sample period to let's > say 1 second without adding too much expensive hardware (gyroscopes, > accelerometers and such) ? Perhaps some kind of linear regression algorithm > or a PID loop? > I think that information theoretic arguments will tell you this notion is snake-oil, but I've not given it deep thought and am willing to be convinced otherwise :-) /Kevin -- Kevin J. Maciunas Net: kevin@cs.adelaide.edu.au Dept. of Computer Science Ph : +61 8 8303 5845 University of Adelaide Fax: +61 8 8303 4366 Adelaide 5005 SOUTH AUSTRALIA -- http://www.piclist.com hint: To leave the PICList mailto:piclist-unsubscribe-request@mitvma.mit.edu