Idea for 3 axis optical positioning sensing system

Thread Starter


Joined Feb 23, 2020
Hey I have had this idea for some time now and am wondering about your opinion for it's viability.

Basically I work with CNC machine tools, three axis robots. What I am thinking of is a method of getting the position in 3d space of the location of a ball bearing reflector, to a very very high degree of accuracy.

There are systems that use interferometry and corner cube reflectors, but that's not what I am thinking. I am thinking something much cheaper and simpler.

Basically you take a metal rod, lathe it to put a conical indentation in the end, then put a highly polished ball bearing in that conical indentation. So the ball is highly precisely located in the same axis as the rod.

Next, this is the electronics and optical part:
Take the bed of the machine, and put three sensors on it, I guess at the corners. Or it can be a removable plate. The sensors consist of: a laser diode without any collimating or focusing optics. So it emits approximately a cone of light. The kind often used in fiber optics, which can be modulated at high speed. And next, a semi silvered mirror, and a photodiode, arranged to recieve light along the same cone as the laser emits it. You know these types of emitter/detector/ mirror things, they are common in barcode scanners etc.

Ok, you might want or need filters or whatever to improve the signal to noise ratio at this point.

But now here is the critical part. The photodiode and the laser are connected with an amplifier to form an oscillator which will oscillate at a frequency that is determined by the total delay time around the amplifier loop, which includes the distance from laser to reflector back to photodiode.

Now, you just measure the frequency, to determine relative in optical path length changes.

It's not time of flight. It takes a while to determine the average frequency the system is oscillating at. In a way, it is like a time of flight system that takes the average of a huge number of measurements.

Secondly, frequency is much easier to measure to high accuracy than short time periods. The resolution of all the timing circuitry can be much lower while still acheiving micron level accuracy. With the use of a highly accurate canned oscillator I think you might be able to measure optical path changes to within like a part per million no problem. That means less than a micron in this context. Which is great.

Then, of course you have three different sensors, and calculate the true position of the center of the ball bearing by triangulation.

The ball bearing I think makes a uniquely good reflector cuz the returned light will be coming from close to exactly the point closest to the reflector, and it is easy to know the true center location of ball; just add one radius to the optical path along the same axis that returned eat of light travelled. Plus they are super cheap and of accurate diameter.

You think it could work? What kind of electronics would it take to build the oscillator and frequency measurement stuff? I could proto type it with an oscillator and just use an oscilloscope to measure the frequency. Attach the ball to a micrometer and see how well it works.


Joined Jun 4, 2014
Light takes about 3ns to travel 1 metre so a change of distance of 1mm will change the time by just 30ps. I think that time difference will be very difficult to detect.

Thread Starter


Joined Feb 23, 2020
Light takes about 3ns to travel 1 metre so a change of distance of 1mm will change the time by just 30ps. I think that time difference will be very difficult to detect.
We are detecting frequency, not period.

Suppose the speed of light is 300 million meters per second, then the resonant frequency of a meter long path is 300 MHz. A change on 1 micron corresponds to a change of 300 Hz. Again, like I said, a 1ppm frequency change is I think not that hard to quantify, especially with digital counting techniques which literally just count every oscillation.


Joined Jan 23, 2018
CNC machines used for production not only need to work fast, they need to set up fast and be totally repeatable. I am sure the concept has been considered and had an issue someplace.