42 comments

[ 3.4 ms ] story [ 90.0 ms ] thread
Positioning is a really huge concern in robotics; how do you know where your robot is? Just because you told it to move doesn't mean it did, or that it got there. So that's why this is really cool. Millimeter accuracy would be better, I don't even know if that's possible with GPS at all.
It isn't possible in real-time, but surveying grade GPS receivers can approach that level of accuracy with long collection times and post-processing.
See my above post.

There are self-contained systems that do this in real-time.

is centimeter accuracy even possible with GPS? http://www.gps.gov/systems/augmentations/ cites 10-15 centimeter accuracy under their NDGPS modernization efforts, but don't even say they've gotten there yet.
It's not possible, even with pretty ideal conditions.

Edit: I excluded RTK stuff in that comment :)

It is, using RTK (real time kinematic) and 2 different receivers: http://www.kickstarter.com/projects/swiftnav/piksi-the-rtk-g...
And there you have it.

This is from the datasheet of the Trimble R10 surveying receiver:

real time Kinematic surveying

Single Baseline <30 km

Horizontal ...................................... 8 mm + 1 ppm RMS

Vertical ....................................... 15 mm + 1 ppm RMS

Network RTK3

Horizontal ..................................... 8 mm + 0.5 ppm RMS

Vertical ...................................... 15 mm + 0.5 ppm RMS

RTK start-up time for specified precisions4 .....................2 to 8 seconds

Trimble CenterPoint RTX

Horizontal .................................................. 4 cm

Vertical .................................................... 9 cm

RTX convergence time for specified precisions12 ........... 30 minutes or less

RTX QuickStart convergence time for specified precisions12 .... 5 minutes or less Trimble xFill5

Horizontal ................................. RTK6 + 10 mm/minute RMS

Vertical ................................... RTK6 + 20 mm/minute RMS

Yes but that somewhat limits the practicality because you need two receivers, a clear signal path between them and one has to be relatively static.

It's fine for surveying but for dynamic applications which are far more common, it's a pain.

Then you engineer another source of correction and incorporate that into your project.

The US Navy has been doing accurate position determination using ZERO satellite availability. How do you think a submarine knows where it is?

http://www.liveleak.com/view?i=aba_1332656862

In agriculture, it is not uncommon to get correction data over mobile data connections, where the static receiver is provided by a third-party service provider.
Welll.....that's not strictly true. If you've got an environment free of multipath, you use differential or WAAS-enabled GPS receivers, you can get pretty good accuracy.

Source: http://www.oc.nps.edu/oc2902w/gps/gpsacc.html

Please note that all of these things depend on many factors and can be considered nearly "heroic" measures when it comes to position accuracy, but the Navy has historically been pretty damn concerned about knowing where their assets are and is somewhat obsessive about error-factors where that's concerned.

With orbit and clock corrections delivered to the receiver in ~real time (such as Fugro's G2), you'll get <10cm (95%) on a standalone receiver.
translation: I didn't know about RTK before I posted. Thanks for schooling me.
You can already get a $20 GPS module, Arduino compatible. Just take any random GPS mouse, they will be talking NMEA over some serial line.

Of course you don't get "centimeter accurate", but that's a lie anyway, so nothing lost.

GPS mouse? Unless you mean module (DYAC), can you please give a pointer?
Here's one:

http://www.royaltek.com/index.php/rgm-3600

There are dozens of variants, some with USB, some with RS232, some with bluetooth. "Mouse" is common nomenclature for this kind of device, I don't know why.

Basically, they all deliver continuous NMEA data over a serial line.

http://gpstracklog.com/2007/08/whats-a-gps-mou.html

The term "GPS mouse" refers to the shape and size of the device, and has come to mean any wired or wireless GPS receiver that doesn’t come with any sort of interface. It merely outputs position data to a laptop, cell phone, etc.

Huh, I have always referred to them as "pucks".
This is a full microcontroller that happens to have onboard GPS, not a GPS board that you can connect to a microcontroller.
Title is misleading - as far as I know centimeter accuracy is only possible with an RTK base station in the area where you're using the GPS, e.g. in a survey. I'm guessing the chipset allows capturing of raw data that can be post-processed.

http://en.wikipedia.org/wiki/Real_Time_Kinematic

They have a $50 version that supports raw data. Although, without a high quality antenna I wonder if RTK is even going to help much?

>> NS-RAW: carrier phase raw measurement GPS receiver, max 5Hz update rate, RTKLIB supported S1315F-RAW in the form of plug-and-play NavSpark

Yep, even WAAS is only considered to be accurate to 3m, IIRC.
Cheap GPS, cheap pocket tri-copters, fun fun fun!

I really don't care about taco service but it would be nice if I could call someone at home and say "I forgot my under 8 oz item at home" they could attach it to the copter and send it to my 15 miles away at work.

Soon, if not already, that will be an off the shelf capability.

I know I have a twisted mind, but I envisioned a quad copter delivering a grenade, a bomb or a shot to the head. Creepy me, I know.
The ability to do the same with a RC car has existed for a couple decades.
True, just not as flexibly. Most targets that might be threatened in this way have various barriers between them and a would be RC car assasin. Although the sequence in the move "The Dead Pool" tried to envision this threat with respect to an actual vehicle target.
I predict that the first legal consequences will be due to creepsters flying RC with cameras near people's windows.
I funded hoping for a couple. I imagine the centimetre accuracy will be hard yo achieve,but what sort of accuracy is required to calculate average speed over 200 m to within 2 km/h?

Suppose you smooth the input will it be sufficient or does 2 m accuracy mean that it oscillates so wildly within that circle that it's only worth it for positioning alone?

In general, assuming a perfect clock, t seconds over 200m with an independent measuring error of x/2 at both ends will measure as t seconds over (200 +/- x) m [1], for a speed of

  200/t +/- x/t   m/s
So, for a given x, the error grows as 1/t. The longer t (= the slower your movement), the lower the absolute error.

For a snail, you don't even need a GPS; just say "2 km/h" and you will be within 2 km/h.

However, things are better, as measuring errors for GPS for nearby (in time and place) positions aren't independent. If your position is of by x meters in direction D now, chances are it will still be more or less of by x meters in direction D in a few seconds.

Back to your question: I wouldn't know, but I think you want to rephrase it in terms of relative error or specify at what speed you want to know the answer.

[1] the math is the other way around, but that doesn't matter much.

Arduino compatible is misleading in a lot of these cases. It usually means it works with the standard library included with the Arduino IDE, but most of the 3rd party external libraries (note...interesting and useful, and almost always necessary when connecting devices/screens, etc) don't end up working without changes to the libraries themselves.

Take a look at the amount of work that the Teensy3 community has done to make Arduino (atmel) specific libraries compatible with the ARM chip on the Teensy3. They're one of the few communities that have wide-ranging support with an ARM chip, but have put in a lot of time and effort to get it there.

“Arduino compatible” is often also used to refer to the structure of the pins. This one claims to be “Breadboard compatible.”
is it? the attiny85 is still marketed as being arduino compatible, but with only 6 i/o pins, it is nothing like any other arduino product.
They appear to mean compatible with breadboards (i.e. you can attach pins to it with standard spacing), not some sort of hardware form factor similarity.

"Arduino compatible" refers to the structure of the pins for external accessory hardware, but not for actual microcontrollers, which is what this is.

They also clarify a bit farther that they are, in fact, referring to software compatibility:

    ARDUINO COMPATIBLE

    NavSpark is designed to run Wiring, the same simple code as the Arduino platform. There is no need to learn any new programming language or environment. Your standard Arduino sketches run on NavSpark.
>Source code of the customized Arduino IDE will also be made available; the GPS / Beidou / GLONASS navigation kernel library integrated will remain in library file format.

Sounds like the guts are in a binary blob.

So, the most interesting thing is that this is a Sparc V8 32-bit arch, with floating-point support.

It can run a real operating system, I think.

Jolly good show!