The XL-EZ ultrasonic rangefinder series by sparkfun have a digital output for distance. It is, i believe, 58 pulses per CM, so that would make a difference of approx. 6 pulses per mm. The XLez 01 has a broad beam, while the XLezo4 has a narrow one. But they are extremely costly, in the range of 50 dollars.
I would have to say that there is a big differnce in a wicked-clean bench test and the real world... Sure there are sensors out there (as described above) that are accurate down to 1 mm however, this would be when on a test bench, with very clean power, shooting at a nice big target that is solid, smooth and exactly 90 degrees to the sensor. Real life doesn't work like this... I have done measurement tests on my ultrasound sensors and with everything solid and stationary, have seen numbers jump around quite a bit.
Oh yeah, add to all of that... You gotta figure on what is reading the results. I don't know for sure but I would assume there would be a difference between a pic controller reading the results and an oscilloscope doing the reading.
It might work, but I am not that much concerned with pressure applied to the given surface. And I can’t use motor amp changes to indicate when the “leg” is in contact with a surface because of inertia and movement speed of the “leg” that constantly changes. My pressure applied so to speak of will only be applied for rather short time periods and would almost constantly differ in pressure. Or would it work if I give the code a range from say 0.1kg to 20kg as one function that rules that specific line to secure a touch no matter the pressure. But then it brings the problem of uneven weight distribution and might cause certain slip perimeters that I can’t tolerate. Or is there sum thing that allows me to change the speed of a given object via motor control and cancel out the fact that speed change for the same distance and object means more or less current draw for the motors. The “leg” speed will be controlled form sensors that detects objects from a distance. If no obstacles that is over a certain “size” is detected in advance then the robot will be moving at full speed, if an object is detected that will cause a serious change on the level of the body then the “leg” movement of the robot will have to compensate and slow down to allow it to keep its body level as it over comes the obstacle and then accelerate again. Is there a good sensor that I can use to detect the distance of the “leg” from its contact point, or any way to allow different current draw for the same motors at different times dependent of the speed of the robot and still secure a good grip to allow very little slip. I am afraid that the current drawn from the motor during acceleration matches that of the current drawn when the motor takes the robots mass. And this would clearly be a problem.