I'm looking for a sensor that can track its own position in 3D with an absolute accuracy of around 0.5inch over a 50-100ft area. I think this is better than what GPS or inertial tracking can accomplish. I haven't looked at differential or otherwise enhanced GPS but I think this may be hard to do that way too.

What other ways of doing this exist?

The sensor will move around relatively slowly (let's say 1-2ft/second). The area it moves around in can have navigation aids (beacons or whatever). The area has no RF reflectors (eg metal objects), but it may have RF absorbing objects. In general there is no optical line of sight.

  • 2
    \$\begingroup\$ differential GPS may actually be able to do this. \$\endgroup\$
    – user57037
    Jul 23, 2016 at 5:48
  • 1
    \$\begingroup\$ You say "3D"; do you mean X, Y and Z? \$\endgroup\$
    – EM Fields
    Jul 23, 2016 at 7:27
  • \$\begingroup\$ @EMFields Yes XYZ; I mainly mean height can change as well. \$\endgroup\$
    – Alex I
    Jul 23, 2016 at 10:17
  • \$\begingroup\$ This question is far too broad as it stands. You need to provide a lot more information about your specific application. What is the sensor attached to? What moves it? How big can it be? How much power can it consume? What other objects are in the space and how are they distributed? Clearly, you are presupposing a solution based on RF beacons, but for that to work, you need to be able to measure time to a resolution on the order of 50 ps. Carrier phase measurements on GHz signals can achieve this, but it isn't easy. \$\endgroup\$
    – Dave Tweed
    Jul 23, 2016 at 11:46
  • 1
    \$\begingroup\$ Gerrit Braun, creator of the world largest model railway, put a lot of effort into a very similar problem. You may want to read through his blog and learn from his experiences. \$\endgroup\$
    – Andreas
    Sep 29, 2016 at 17:36

1 Answer 1


Half an inch in 100ft is some going, 1:2400.

As your area is permitted to have navaids, then the technique that springs to mind is to pattern the floor with a 2D pseudo random grid, and give your robot a downwards facing camera.

A pseudorandom maximal length m-sequence based on a 12 bit shift register would be 2^12-1 = 4095 states long. A robot observing any 12 adjacent states would be able to work out its position absolutely from those.

The grid squares would not need to be 1/2" wide, even the meanest webcam will be capable of significant interpolation. This would allow a large view of the area and a less dense floor marking. Markings do not need to be a checkerboard pattern, they could be the more easily marked thin line, or absence of a line. Use one m-sequence in the x direction, a different sequence in y.

The sensor hardware is easily obtained, cheap, and very open, a webcam plus a Beaglebone or Pi.

Perhaps simpler than drawing lines everywhere, print out dozens of different QR-like code squares and stick them down on the floor. As long as the camera has at least one in view, they will provide identification and orientation. I don't know what your software foo is, but I would imagine that open source QR generation and recognition software is available from somewhere.

Another technique is to have optical targets with vertical bar-codes (for identification and fine interpolation) scattered throughout the volume, and an optical scanner on your vehicle. As a simplification, rather than a rotating laser scanner (as you see in warehouse robots), 3 or 4 outward staring webcams will be easier, if lower resolution.

  • \$\begingroup\$ Interesting concept, but OP says, "In general there is no optical line of sight." \$\endgroup\$
    – Dave Tweed
    Jul 23, 2016 at 11:31
  • \$\begingroup\$ In which direction? I took it to be sideways, and assumed any vehicle would have contact with the floor! Could be drones of course! \$\endgroup\$
    – Neil_UK
    Jul 23, 2016 at 11:52
  • \$\begingroup\$ We'll never know unless the OP comes back and clarifies his question. Just as an aside, I once did some preliminary design work for a system like what you're describing, but in that case, I knew that it was a wheeled robot that had a view of the floor. They wanted to automate the movement of potted plants in a greenhouse environment. \$\endgroup\$
    – Dave Tweed
    Jul 23, 2016 at 11:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.