I have an odd project, where I need to sense the distance between two balls. Ideally it would be sensors in the balls themselves, as opposed to an external sensor determining the positions.
Can anyone think of a way to accomplish this?
Since I need to sense a range of 3 meters down to millimeters, I was thinking about using two different RF sensors, one for longer range and one for shorter.
RF won't work, any nearby metal objects reflect the signal, multipath mayhem. Pulsed IR
would be much more reliable (indoors) but still suffers from reflection, blocked line-of-sight.
A very small LIDAR?
More practically acoustic ping/response ping and time of flight measurement?
LIDAR and IR suffer the same disadventage : they rely heavily on a clear line of sight. Althought for IR, this seems not to be a problem with relatively high power, cf remote controls... If someone have information about it, I'll be glad to read it!
Can you paint a pattern on one ball, or place LEDs in one ball, and put a camera in the other? And keep them from rotating? Then you could get an estimate of the distance by measuring how many pixels apart the pattern or lights are.
IR LEDs with a visible block/IR pass filter, and some kind of lens that is not wide.
One issue is that the balls may be in any position. We don't have to sense the position while they're rolling, but after they've stopped. I think that eliminates sonar and IR, but maybe not?
the idea of time of flight seems to be the simplest. each has a transmitter and a receiver. one will ping the other, then get a response. measure the time it takes to respond and you have your measurement.
Grumpy_Mike:
I agree with zoomkat there are often lots of fanciful solutions proposed all of which are impracticable. Especially given the range you want:-
some applications scream for multiple technologies. there is no reason that one technology cannot be used for one set of distances and another technology be used for an overlapping set of distances.