Accurate and durable measuring tool

I need help with my new project. I want to build an accurate distance measuring tool. It is suppose to work both inside and outside and any day time. It also should recognize any type of object.

The main drawback is that the project should be low cost and homemade.

LiDAR always looks like the better option. How can I make one homemade? If not a LiDAR, any other ideas for such tool?

What accuracy? What range of distances?

Measuring the distance to a mountain 1200 miles away, to within 0.001 inches is not going to be possible with an Arduino.

mightyaad: I need help with my new project. I want to build an accurate distance measuring tool. It is suppose to work both inside and outside and any day time. It also should recognize any type of object.

The main drawback is that the project should be low cost and homemade.

A click-wheel on the end of a stick would satisfy all those requirements, for a given level of accuracy (and give you some exercise, too! BONUS).

mightyaad: LiDAR always looks like the better option. How can I make one homemade?

First off - if LIDAR was simple and cheap to build, don't you think they'd sell them cheaply, somewhere? Well - in honesty, they do sell a couple of cheap alternatives - you've got the Parallax 1D system, for one. Then there is the 2D LIDAR module on top of the Neato XV-11 vacuum robot (cheapest 2D LIDAR system on the planet - even brand-new, by ripping it off the robot, it's only around $400.00 USD - that's cheap). Some people have tried hacking the few true-laser based laser tape measurement devices, too...

On the homebrew front, you can google for a number of potential devices - but all have issues. My personal favorite:

http://letsmakerobots.com/node/2651

mightyaad: If not a LiDAR, any other ideas for such tool?

Well, there's always ultrasonic distance measurement, but it doesn't work on every type of surface/objects, can be inaccurate, etc.

You could try to use twin (identical) web-cameras or similar, set up in a stereo fashion, then use something like OpenCV or similar vision processing techniques to implement a stereo-vision system to measure distance to a given pixel/point the cameras look at. Not possible on the Arduino, though - and it probably isn't a very accurate system to begin with, if you got it working - limited by the resolution and FPS of the cameras (unless you start going into machine learning techniques, then it's output would likely be probability based - similar to how a human can look at an object and judge just about how far away it is, with so much degree of accuracy); it also would have problems at night (unless you take off any IR blocking lenses from the cameras, and add high-power IR spotlights or something).

There's a reason why LIDAR is the chosen way to measure distances - there's also a reason why such systems are very expensive, and mostly out of the realm of homebrew. While you could (potentially) make a time-of-flight or phase-modulation change LIDAR system homebrew, it will take a more than a bit of skill and measurement equipment just to start (phase modulation would require at minimum a frequency generator and an oscilloscope - both around the 100 MHz range - for instance; along with the laser, high-speed detector, plus some kind of rigid but adjustable mounting system).

Which is why most homebrew LIDAR solutions are parallax distance measurement systems - they tend to be easier and cheaper to build on a homebrew budget, and don't require much in the way of fancier measurement equipment.