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.