New approach to ground sensors for legged bots

I found an air pressure sensor made by Freescale that is small and provides a 0-5vdc output. It’s not horribly expensive at around 15.00, but we would need one per leg.

“But Jim have you gone mad, how can you measure pressure on a leg with an air pressure sensor?” :open_mouth:

Well the idea is to mount a rubber end cap on the end of the foot, but include a 0.125" ID plastic tube, and seal the edges with RTV. Now if the robots foot is supporting the robot from virtually any angle there will be pressure on the plastic tube. The sensors are available with sensitivity from 0.30 psi to 58 psi.

“But Jim what sort of pressure is created on the tip of a foot with this rubber end cap and plastic tube.” :confused:

I have no idea, but I’m going to try and find out. 8) I will post the sensors I plan to try when I have time to select them later today. 8)

Putting the sensor on the end of the foot might not be the best way to go. It might be better to have the sensor more towards the center of the foot where presure can be guaranteed to activate it. It may require a custom bracket to accomplish though, but I think one could be made where the sensor could be pointed downward through the center SES hole.

Just an idea. :slight_smile:

8-Dale

For clarification the sensor can be mounted anywhere on the leg or body. It’s got a 1/8" nipple for a tube. It’s what’s connected to the plastic tube that changes the pressure that is being monitored. That being the rubber end cap that is at the tip of the foot.

I’m looking at the Freescale MPX5010GP to test my theory. It’s 1.45 psi. They make 0.87 psi one, but it’s surface mount. I will get it if the 1.45 psi one is not sensitive enough. I’ve been kicking this idea around my cranium for like 5 years. It’s time to see if it will work. :stuck_out_tongue: Oh and it’s only $13.61

Ok here is my test setup. The Freescale MPX5010GP sensor is connected to the Atom Pro analog input on channel 0. There is 14" of 1/8" ID vinyl tubing connected to the sensor and a brass fitting with a rubber endcap installed.

There is an opening on the vacuum side of the sensor. Closing it off prevents the sensor form working. When nothing is connected to the pressure side I get a consistent reading from the Atom of 38. When the tube in installed the readings jump to over 130, but seams to slowly settle with time down to 50.

Here is the code.

[code]cha1 var word

start:
adin 0, cha1
serout S_OUT,i57600,[dec4 cha1\4,13]
pause 20
goto start[/code]

Here are some readings with the base pressure reading of 100.

[code]pressure A to D
on scale reading


0.10 lbs 100
0.25 lbs 110
0.50 lbs 120
0.75 lbs 135
1.00 lbs 150
1.25 lbs 165
1.50 lbs 180
1.75 lbs 200
2.00 lbs 230
2.25 lbs 290
2.50 lbs 340
2.75 lbs 400
3.00 lbs 490[/code]

So some interesting notes. The longer you have no pressure applied to the sensor the lower the reading goes, to a point. The longer you have a consistent pressure on the sensor the higher the readings will go, to a point.

So is this a problem? Maybe not. If you take readings from all the sensors and scale them it should not matter what the average values are. What’s important is the relationship between the values.

Going further. It would be good to find the fittings in plastic for the lower weight. The principle seams to work. This sensor is rated for 1.45 psi. They also have a 0.87 and a 0.57 psi version, but they are surface mount. The lower psi units may be a little more in the range we need. The Phoenix bots weigh around 4.2lbs. The CH3-R bots weigh in at around 5.5lbs. So the sensors shouldn’t see more than 1/3 of the total weight. That’s 1.8lbs max.

a couple of comments to help with some of your observations.
first this is a gauge pressure sensor which means the output is relative to atmosphere, hence the little hole which is the atmosphere side of the membrane.
when you first make your tubing attachment you are trapping a residual amount of air in the assembly so unless you have some sort of vent you get an offset. remember you are using something rated only 1.45psi full scale so it doesn’t take much to create an offset. the reason it “settles” as it sits is because your tubing assembly leaks. probably not much, you are more than likely looking for differential measurements anyway, but eventually the pressure inside the tube will balance out with the pressure outside the tube.
now where this could be a problem is that your reading is single-ended, by which I mean you can’t measure negative pressures, so if the sensor is sitting under pressure for a long period of time and the tubing leaks until it returns 0 volts then when you lift the foot the sensor will see a negative pressure which you can’t read.
unless you can seal the tubing assembly so it doesn’t leak then the only other ovbious option is to go to a sensor that includes negative pressures in its operating range and wire up an amplifier which adds an offset so you can read the results with the unipolar a/d input of the bap. this may not be as bad as it seems, a cheap instrumentation amplifier like the ad623 can be used to do all of the above. what you then need is a non-amplified sensor that works at +/- some pressure range.

Hi EddieB,

Yup you are exactly right. I found that the fitting was leaking a little. I changed it to a slightly larger fitting / rubber end cap and put a little RTV on the threads before I slid the end cap on. This made a big difference in how the sensor behaved. Before we left for the night we recorded these values. With no leaks the range is better.

[code]pressure A to D
on scale reading


0.10 lbs 14
0.25 lbs 22
0.50 lbs 67
0.75 lbs 138
1.00 lbs 206
1.25 lbs 308
1.50 lbs 466
1.75 lbs 531
2.00 lbs 608
2.25 lbs 680
2.50 lbs 799
2.75 lbs 922
3.00 lbs 1010[/code]

Unfortunately this morning I’m having trouble repeating the results. Now it stays at 14 till about .75 lbs of force is applied to the assembly. It’s not making a great deal of sense to me. :open_mouth: I removed the fitting from the tube, and replaced it. It’s now reading about 150 and is holding. It’s working normally otherwise. I think I should put a “T” fitting inline and experiments with capping off the open end without adding pressure. I will be fiddling with it later today.

BTW I am very happy with the omnidirectional aspect of the sensor. It easily reads the pressure from 45° off horizontal.

Ok I figured it out. With nothing connected to the sensor port the A to D readings are around 35. The first time I tried it without leaks I must have collapsed the tube while pressing it on the fittings. This cause a slight vacuum which cause the sensor to read 14. I have added a “T” in the tube and installed the sensor and foot pod first, then close off the short part connected to the “T” with pliers, then insert a plug, then remove the pliers. This results in a slight vacuum as before, but more importantly it offers a way to reproduce the same results on all 6 sensors. Here is a video illustrating the sensor with an audio feedback proportional to the pressure applied. You can see it’s quite reliable and can detect pressure from even more than 45°. The sensor has a good range of 0 - 4 lbs, with 0 - 5vdc out.

youtube.com/watch?v=EF7J57X3bFM

Here is an image of some of the components. They’re not expensive at all.

Probably better than pinching the tube and plugging it, would be to use one of the “T” fittings that has a pipe thread on it to cap off the assembly at 0 pressure offset. I just need to find small plastic threaded caps for the fittings. I haven’t been able to find them yet.

You may want to look at aquarium supplies for small air valves and other air fittings. Shop at the local pet store or walmart.

google.com/products?q=aquari … &scoring=p

Very cool.

Another option might be to use a “needless valve”. These are typically used in medical/research type settings I presume. In addition to the ‘T’ fitting I linked to, SmallParts also carries an end fitting, as well as the male components that might be needed to actuate the valve easily.

Good idea on the aquarium valves. Inexpensive for sure. The only drawback is you may need to open and close the values with the legs off the ground to calibrate them before use. I will be posting images of a new leg that uses the sensors later today.

Hi Jim,

I just saw your vid, you could also build a sound machine with it! :smiley:

I think that a hex would look pretty cool with all the tubing! Maybe I overlooked something but do you also need 6 air-pressure sensors? I’m looking forward to see the leg!

Great work!

Xan

No, you didn’t miss anything. It does require one sensor per leg. It’s not the cheapest way to go, but it’s very easy, and it’s proving to be very reliable.

Here is my new Tibia design. In addition to the ground sensor it also adds some additional dexterity to the normal SES 3DOF legs. This leg can move like the Phoenix legs. 8) Let me know what you think.

http://ecx.images-amazon.com/images/I/41mGoTmNQoL.AA280.jpg

Check out www.smallparts.com for all kinds of tubes and fittings:

Great job Jim!

I like the way you’ve mount it and the looks of the tube coming out the side! The compact upper position also opens new possibilities. Can you also make a pic from the side? I would like to see how thick it is…

Xan

The only issue I see with this is that code would vary from user to user. Since we live at different elevations then there would be different ATM pressure. Each persons reading would be different.

I didnt see any mention of this in this post.

Paul

The sensors are measuring the pressure relative to atmosphere. Once you open the valve with the leg not touching anything it should be calibrated for the barometric pressure you’re running it at. Beyond that there are ways to “massage” the readings to convert absolute readings into percentages, 0-100% thereby removing the differences.

Other things also affect the readings. Like the length of the tubing, and even the rigidness of the tubing.

I really think these minor drawbacks can be overcome.

I will try… It’s made from 4 x 1/8" pieces, so lesse, carry the 12, divide by pie, um, 1/2", or 11.8mm. 8)