Let's Make Robots!

How would you register the sligtest touch?



I have an idea for a really fantastic little project (IMO :) I'll show it later, but I have run into a little challenge that I did not see when I woke up in the middle of the night with the overal concept crystal clear in my head.

I need a "probe" - a small thin stick - like a long fat needle - to move forward towards an object, and with none, or only a slight touch, register when it touch the object.

Now, in my dream that was easy, because I'd just make some form of push switch; Either out in the end of the probe, or at the other end of it -- A mechanical sollution, simple, no problem.

However, in reality it turns out that this object to be touched quite often is rude enough not to be at a right angle to the probe, and so it is just sliding off, which is devastating for the project.

Imagine a ping pong ball, with a knitting needle moving towards it like a rocket - only very slowly :D I need to know when that needle touches anywhere - even the outside edges - of that ball.

I do not mind what the needle is made of (could be a laser, or a tentacle from a space monkey, what ever, just that long thin shape) - and I just need to know when it is touching something.

A good idea would be to make an apparatus shaped like the letter U, with a laser on one end, pointing towards a sensor in the other end. That would give the effect: Put down the ping pong ball between the two, and you would interrupt the laser, and know someting was there.. Only that would not do, because I need to know the distance - how far did the needle go before it touched the freakin ball.


I made a mechanical solution with a combined touch-and side-move switch, reistering when the needle is either stopped, or pulled slightly to one side or the other. I just do not hink it is very elegant.


I cannot hook up the ping pong ball with electric current, though that would be a perffect solution: The instant the needle touch the object, a current could flow. But electrifying the object (ping pong ball in the example) will not do.


Damn, I am stuck on this one. I keep moving my finger slowly towards stuff, and sense just the moment I touch it. Why can I not do that with a sensor? (No; HOW do I do that with a sensor?)


I think I will send a present to the person who can give me a good idea here :)





First I want to thank you all for some excelent thinking! I was merely hoping to get a single respond, and figured that perhaps it could inspire me to think different.. but I received some very, very good and concrete ideas, really fast!

You guys are very talented and nice persons, thank you :)

Then, since you take me so serious, so you actually come up with good ideas, I figured I'd better share my idea:

I had this idea: Did you guys see the Tintin cartoon, where the professor makes a machine to copy things? He has 2 plates, on one he places an object, and the machine copies it to the other. I would like to make something like that :)

If I made a very simple system that would enable a probe to poke at all possible angles on a rotating object - just by using 3-4 servos in total, not regarding angles much, just making sure the the object was poked in all sorts of angles and directions, one servo step inside another servo loop at a time.. Could take all night! Poke, change angle, poke, poke, poke..

When the probe reaches the object, it instantly retracts, servo moves, and the next point, just somewhere next to it is touched.


Where would that take us?


Well.. Based on the fact that 2 servos whith the same signal will move the same way, I would just make 2 of these machines. Only the other would have a drill instead of a probe. And instead of the object, a block of an easy to drill-material should be.

Drill till the surface on the sensor was reached, drill, baby, drill. From that direction, and from that :D



The 2 machines could have long wires between them, one in another house. Almost teleportation! :D And since it's only simple servo signals, it would be easy to transmit over air as well. Or hey - over the Internet?

And as the machines would be made by simple servos, you could build one as well, and I could teleport my shape to your machine :D

And what about detecting colors on the tip as well? And on the shaping-end, an ink-jet head. That would be sick!


When done with the copying things, instead of a surface detecting probe, I could place perhaps a light detection. And then I could physically shape the rays from a flashlight shining on a diamond-shaped crystal..

Or how about sensing magnetism, and shape it in ral form? 

Heck, place a noisy speaker there, and detect sound, see how it would go out from the speaker :D


But first I wanted to copy objects, and I need a good way to detect them. I could use laser, see when the ray was broke, but that would not give me "introvert" shapes - only the outsides of a cup, not the insides..


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Google this. It's very sensitive and probably close to what you are looking for.  Simple ones can be made with just a pin or two from a microcontroller.  There are also custom chips for more complex solutions.


Thanks, ckiik!

That was the pro solution! I am sure this would be the best.

Your suggestion made me read a lot, and I ended here:


That is a really nice product, and I have asked for a quote - but it defeats the object of a simple and cheap copy machine. I tried to see if I could make one myself, but it turns out that an LD293D is getting very hot already at 1.5 kHz - even without resistance. I did not know that; They do not like switching sides that fast :D

To make this work, I'd need about 10 times that frequency.

So I'd have to make a more complex setup than I hope to do this with.

But it is by far the best "pro" idea. And I am happy to learn that this is actually something one can do - it's not that complicated, they have a very good explanation here:


One just needs to alter current on 2 nearby surfaces, then the third will "feel" it, if something is closing in on the magic area around this. I freaking knew that something like this could be done, and you helped me to find out how, thank you for that :) unfortunately I had to realize that it could not be done with the minimal setup I am going for.

Thanks again :)

an xbox 360's switch is very sensitive!

Fantastic idea - only I will never, never, never include anything from MS in my projects. :D

CMM = Coordinate Measuring Machines. You should look into DIY probes for CNC machines. They need to know when a specific point has been reached.

Thank you - that was a very good pointer, birdmun! (no pun intended :D) Good angle, thanks :)

CMM and probes installed on CNC machines are used for a similar purpose with respect to the first part of your project (ie they can produce what is known as a point cloud.

Also, there is such a thing as 3d imaging that uses lasers as a line source vs a point source and then software converts the laser line image into a 3d image due to the fact that a straight line on a curved surface will only look straight when viewed when one is in exactly the same plane as the laser line. Once you look at it from a different angle you will perceive the line to be curved and from that curve and knowing other data you can build a 3d model. Check out David3d. 

was a bit of fun to play with... have a look  regardless 

  1. Is the ball already moving?  If not you can use a sensitive accelerometer in the ping pong ball/whathaveyou and determine if it starts to vibrate/move?  (its difficult to touch something without making it move at least very slightly).  I've heard of sensitive accelerometers with up to 24 bits of precision.  You can even pair a basic semi-sensitive accelerometer with an instrumentation amplifier (laser trimmed ones Texas Instruments makes are great) to greatly increase sensitivity.
  2. Use an IR emitter and reciever (ie QRD1114) and measure with an ADC to determine the threshold where it touches. If the surface of the ping pong ball/whathaveyou completely blocks the IR detector then you should read a zero.  An additional IR emitter/detector placed back 2mm (so it is further away than the "touching" IR detector) will let you know there is definitely something there, while the one that is closer sees nothing, indicating it is in fact touching.

Just a couple of ideas, perhaps not suitable for your project since I don't know what you are doing exactly- best of luck!

Hi rogue,

Thanks a lot for 2 very original ideas!

1: Yes, I have thought of that. Well, I probably would go even lower-tech, by perhaps making a ring of conducters connected to a ring os inputs; If one input no longer had contact, the object would be pushed slightly. Because using an accelerometer in my workshop with floors of wood, would either need me to sit very, very still and watch - or cause false readings ;)

It's a fun idea to detect if the object is moved, very good thinking, thanks :)


2: That is a very, very good idea. Unfortunately it does not apply, because I would have to have a complete half-sphere covered, and that would take at least 3-4 IR Emit/Receiver pairs - and that would be hard to fit in the needle-shape I am looking for. Very good thinking though, thanks for that as well :)