Inmoov's Touch Sensors

 
#1

The other day DJ suggested an easy way to make a touch sensor, see this thread
https://www.ez-robot.com/Community/Forum/Thread?threadId=7692.

So I started playing with that idea and made a couple of touch sensors by soldering a piece of foiling tape (I "borrowed" some from my wife's stain glass supplies) to the end of a wire. I attached the wire to an ADC Port and put the foiled end on the robot. Wrote a script and it works pretty good.

Here's a picture of the sensor.
User-inserted image

A short video of them working.




Thanks for the idea DJ !

#2

I'm so jealous that you have a Inmoov Grin
If you touch the shoulder, the robot should automatically look into the right direction. same function as a NAO robot and very human like.

#3

Good job Bob.... Simple but effective touch sensor..... are you thinking about putting these sensors in his hands too?

#4

Great idea Bob...The thread to also caught my attention.
A conductive mesh over the silicone caps on the fingertips would do a good job.

Now you have to script your Inmoov to serve wine to your wife into a bare stain glass...
Ask Richard how to. Winky

#5

Bob,
I second that "great idea"! Love your Inmoov, and can't wait to get started on
mine, once I figure out space to build it.

I would be interested in the script you wrote, can you post it?

Cheers,
Chris.

#6

Very cool Bob. Thanks for the video.

#7

Thanks for the comments. The foiling tape works well as it is copper and has an adhesive backing. I have also found that by putting a piece of electrical tape under the sensor improves the sensitivity. I have a sensor on each shoulder and one each forearm now and probably will try them in the hands.
Here's the code.

Code:


:loop
#Get ADC value
$TS0 = GetADC(ADC0)#left shoulder
$TS1 = GetADC(ADC1)#Right shoulder
$TS2 = GetADC(ADC2)#left arm
$TS3 = GetADC(ADC3)#right arm

if($TS0 >150 or $TS0 <35)
sleep(500)
ControlCommand("Auto Position", AutoPositionFrame, "Head Left", 25,2,2)
$sent = "You are touching my left shoulder"
ControlCommand("2 Text to Speech", ScriptStart)
Sleep(2500)
ControlCommand("Auto Position", AutoPositionFrame, "Rest",25,2,2)
Sleep(2000)

elseif($TS1 >150 or $TS1 < 35)
Sleep(500)
ControlCommand("Auto Position", AutoPositionFrame, "Head Right", 25,2,2)
$sent = "I feel you touching my right shoulder"
ControlCommand("2 Text to Speech", ScriptStart)
Sleep(2500)
ControlCommand("Auto Position", AutoPositionFrame, "Rest",25,2,2)
Sleep(2000)

elseif($TS3 > 175)
ControlCommand("Auto Position", AutoPositionFrame, "Look down right",25,2,2)
$sent = "you are touching my right arm"
ControlCommand("2 Text to Speech", ScriptStart)
Sleep(2500)
ControlCommand("Auto Position", AutoPositionFrame, "Rest",25,2,2)
Sleep(2000)

elseif($TS2 > 175 or $TS2 <35)
ControlCommand("Auto Position", AutoPositionFrame, "Look down left",25,2,2)
$sent = "I feel you touching my left arm"
ControlCommand("2 Text to Speech", ScriptStart)
Sleep(2500)
ControlCommand("Auto Position", AutoPositionFrame, "Rest",25,2,2)
Sleep(2000)
endif

Sleep(3000)
Goto (loop)



In the video I didn't have it running in the "loop" and I activated the script with a voice command. If it is running in the loop it will sense your touch whenever you touch a sensor. I had to play with the values using the ADC Value control to know what settings to use.

#8

I need to print one of these inmooves

#9

Look at what I have found you might be interesting to implement

Working on a HDMI cable to fit in my Inmoov's arm, I discover a conductive mesh that can fit easily on hand's fingers.


User-inserted image

#10

I got back to working on these touch sensors, however, they don't work now and I'm trying to figure out why. I don't get any change in the ADC value when I touch the copper sensor. When I originally made the sensors and programmed them, I would get huge value changes. I have tried a couple of different v4's - same result - no change and I tried different ports as well. I have also tried other types of sensors on these v4's and they work so I know the ADC ports are working. Putting a small capacitor in line doesn't make any difference either. I'm stumped!

Does anyone have any thoughts on why these sensors won't work any more?

Thanks