Computer Control For Hydraulic System

I am starting on a project where I want to build my own input device but I dont' know where to begin. Anyways I want to build my own
device to control some hydraulic machinery but I want a computer layer in between the operator and the machinery, basically to filter the input (safe inputs only) and to return feedback from the machinery to the user on screen or in other forms. So there will have to be some software layer that sits between the operator and machinery, somehow talking to the two which are somehow connected to the computer. So my questions is..
How do you go about designing/connecting the two machines to the computer, and then in software how do you go about doing the actual communication.
Thanks.
------------------
That was a slightly modified repost of something I put in comp.programming.
What I am beginning on is a project that involves taking human input in the form of hand movements, recorded by a custom glove that the user wears, and sends that information to a computer which in turn sends signals to a hydraulic system to mimic the movements of the user's hand.
Where do I start?
Basically I need to somehow attach an array of sensors to the operator's hand, and feed their data into a computer, which can interpret the input and determine the position of all the joints of the hand, and then send output to a hydraulic system to replicate those positions.
I need help on both ends, i.e. what kind of sensors for the "glove", what kind of device do you install in your computer to read those sensors, what programming APIs/languages/operating systems must be used, then how to send the data...
Yikes this is really complicated please help! At least just give me some terms I can look up on google that might get me pointed in the right direction.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

well, many electric valves are solenoid type, so you can use h bridges and call 'em dc motors.
--
Using Opera's revolutionary e-mail client: http://www.opera.com/m2 /

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
I think you must begin with an encoder that help you find position af actuator plus a circuit that work as high voltqage switch that get command from a 5v pin. After that you can find the position and if need open or close the electric valve simply.
- Sadeq www.DSI.ir
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
This type of widget is a "waldo?" (I think)
I would start by delimiting exactly what hand movements you intend to use on the output end, this of course depends on your output device, which to me is the most complex piece of work. Start by defining exactly what hand movements are going to be echoed on the other end. Perhaps you aren't mimicking the hand movements, rather you are using hand "gestures" to execute particular series of operations... (hint, you can use a PC web cam to detect hand gestures...)
My hand can produce a lot of different movements capturing every position of every movable piece of my hand could be somewhat of a pain in the neck.
Ill chime in more as this thread grows...
Thanks

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Imagine putting your hand into a glove with sensors mounted at every joint. Each sensor would measure the angular position of that joint, send that information to the computer, the computer would transform it into something meaningful for the hydraulic hand (i.e. open x valve for 3 seconds or until x joint matches the 35 degrees specified by the "glove").
In this way your movements would be recorded by the computer and then matched by the hydraulic machinery on the other end.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Thanks Jake, that's what I thought you were going for. I wonder if "rethinking" your user interface model might not be an interesting exercise that could lead to other alternatives. As I read your usage model, I still have no idea how the output of a particular hand movement will be translated into useful work on the hydraulic end. I would spend the time to list these "outputs" exactly, not as "move pinky = turn valve 23 13deg clockwise", but rather leave the "gesture" side of the equation empty, i.e. "Action ??? = turn valve 23 13deg clockwise" Of course this would depend on a known set of actions, if you don't yet know, or cant predict, the actions, then you have a divergent set of problems. In any event, you will have to establish some minimum and maximum articulation values for any particular hydraulic movement. For example, a human can only bend a finger so far. If the hydraulic output needs to exceed the range of possible motion, that problem will need to be factored in your interface programming.
If I were you, which I'm not, I would start at the output end and work my way backwards. In my feeble mind.... I will need some way to detect the position of valves and solenoids, otherwise I will not know where any of my hydraulic widgets are, and I will need some way to "capture" the various positions at any given time. I don't simply want to record the movements of the operators levers or valves, rather I want to know the true position of the hydraulic output device, this allows me to "drive" to the desired output regardless of variables, such as load and temperature, which are just two variables in practical hydraulics. Once I can "record" all the interesting hydraulic positions, then I can build an electronic/mechanical interface to play these "recordings" back into. At this point I have a pretty good thing: I can sit at a hydraulic machine, operate it as normal, while recording all my movements, then play these movements back into the machine, sorta like a player piano (or MIDI sequencer for you music geeks) Getting this far would be 90% of the hard work.
Now, if I wanted to use a "glove" interface rather than the machine itself, I simply "patch" my glove UI into the system and as long as it outputs the same types of data as my "recordings" then the rest of the system should respond appropriately.
This type of architecture has several advantages, namely that you can abstract the UI from the output. This allows for all kinds of cool options, perhaps you dump the data glove and go straight to AI, or maybe a keyboard and mouse are just more effective than using the glove...
The MIDI sequencer comment above might not just be a lame joke. MIDI might be an interesting "off the shelf" serial protocol to use for this type of project... hum.. let me know if you want me to expound on that silliness.
Thanks Dan

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

will

don't

this

as

hydraulics.

hydraulic

hard

Dan,
I have been watching this thread with interest. I've been waiting for it to come around to the problem I'm trying to solve. I agree that working backwards and getting the basic hydraulics working first is the way to go. At least in my mind, I always like to solve the hard or unknown problems first. I'm working on an idea that involves computer controlled hydraulics also. My plan is to use a canned electronic valve and position feedback from the hydraulic cylinder, then each hydraulic joint can be effectively treated as a servo. With a basic hydraulic servo in hand, I can then proceed to build all manner of gizmos and do all of the computer control I want. All of the main hydraulic parts are easy enough to come by: Pumps, cylinders, etc. and fairly cheap too. My problem is I'm having trouble finding electronically controllable valves. I found some "electronic proportional" valves somewhere (can't find the link just now), but they were max $. Manual valves or levers are readily available everywhere and very cheap. I have been considering using manual lever style valves and attaching a leadscrew, DC motor, H-bridge and a position feedback pot. The lever then effectively becomes a servo. I could get such a contraption to work, but it just seems like a lot of work and very failure prone (has that tape and bailing wire feel).
So, anyone got any info on where I can find a good electronically controllable hydraulic valve?
--TE
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
ThreadEnder (neat handle BTW) If I were you (thank goodness im not!) I would go with your "bailing wire" solution. Do a good job, and you'll have the ability to manually manipulate the valves AND capture that manipulation. Combined with the actual hydraulic widget location detection you should have enough data to extrapolate interesting information, such as the "valve movement to widget movement" ration which could be useful in figuring out hydraulic performance info, such as load or latency. or not... lol
Alternatively, you might simplify by only using limit sensors on your valve drivers. Your thinking of the entire hydraulic circuit with the location sensors on the output widget as a single servo is pretty cool. If you evaluate position of the output widget then you simply turn the valve until the desired position is reached. You don't really need to know the position of the valve other than to prevent turning it to far and breaking something, hence you only really need limit sensors on the valve mechanics.
But then again, an off the shelf electronic valve would be cool... :-)
Thanks Dan


my

play

MIDI

to

hydraulics

were

The

that

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Dan,

Thank!

It's not SO bad being me! ;-}

manipulate

performance

Yes, I think that one of the advantages (or maybe disadvantages) to hydraulics is that the hydro fluid is non-compressable. So, I THINK that the parameters like ratio and latency would be fairly constant. However, there are other "springinesses" in the system and so those numbers may be most useful as load indicators (which would really be best case since I had planned to use some strain gauges to indicate load anyway).

valve

until

position

something,

As for only needing limit sensors, the main game here is speed control. Consider, for example, a leg with foot, knee and hip joints. If I keep the foot flat on the floor and squat down such that the knee is fully bent, (thinking as standing fully upright is 0 degrees on all joints) then the ankle joint is bent at something more than 45 and less than 90 degrees, the same is true for the leg-hip joint, however the knee joint is more than 135 and less than 180 degrees. Now, if I smoothly move to a standing upright position, then the knee joint has to move further than the ankle and hip joints in the same amount of time. I have already worked all of this out on my robo-one style bot I'm building. Anyway, the deal here is that you need to not only be able to move the joint to a given position, but also control the rate of that movement. There are a number of readily available solenoid on-off type of valves available, it's that magic proprotional valve that I'm looking for. I know they make such things, it's just a question of finding one thats not incredibly expensive. BTW, the current issue of Servo has an 18 foot tall hydraulic robot (I'm so jealous!). So the discussion above applies directly to his problem. I have not had a chance to read the article yet, but as soon as I do I'm going to attempt to make contact with him and see if he just has a serious budget to work with or if he has any info that can help me out.
--TE
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
wrote:

the guy in alaska? ya, it's a lofty goal he's set, and he seems to have enough junk laying around to actually put it together.
--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail /

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
man, what an ambitious project.. wish I could be a part of it (any chance your in the US NW? )
Anyway, I stand by the idea of not really caring about the position of the valve, we care more about the position of the actual joint, i.e. is the hip joint < 180 and > 120? The idea is that the we don't care how far the valve moves, rather how far the joint moves, right? I would add that maybe you can achieve a sort of speed control by simply moving to the desired positions by small steps. For example, to "slowly" move to knee position 90 degs. from current position of 10 degs. You would move by 1 deg steps, pausing at each step for some period of time that would enable you to reach the 90 deg position at the desired time. At really slow speeds this would look strange, but at the speeds you'd be typically moving, maybe the "jerking" wouldn't be an issue.
I don't think proportionality gets you speed control, without something similar to my example above. I think proportionality gives you the ability to hold a position at some position other than fully extended or fully constricted. Don't they do this by simply adjusting the hydraulic pressure by a percentage. I.e 100% of the hydraulic pump pressure = the max articulation. 50% of the pump pressure should = about 50% of articulation.. sound right to you?
I wonder if you could do something similar to Pulse Width Modulation, but in hydraulics? Picture this...
We have a binary hydraulic solenoid, its either all on or all off. Though some clever engineering, and hydraulic amplification we achieve really fast actuation. I suppose the core question is: If we turn the solenoid on and off really fast are we achieving a similitude of PWM, and thereby achieving proportionality of output? Hey, I can barley wrap my head around that.. but my gut tells me it would work. Consider that hydraulic pressure is a standing pressure wave in the system, if we modulate that wave by increasing/decreasing the pressure, even a little, aren't we then modifying the output pressure to a percentage of the standing wave pressure?
Dang, did that come out right :-)
Thanks Dan


wire"

widget

had

location

the

the

135

on

need

control

solenoid

I'm

finding

an

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Dan,

The 18 foot robot guy is in Alaska. He envisions a "Robot Wars" type of event with the combatants riding inside of these "Mecha-Warriors". If he can get past all of the legal and insurance problems, then it will be great fun! I'm in south Texas.

we

by

from

each

In principal I agree: we only ultimately care about the position of the actual joint. But I care about both the position of the joint and it's rate of movement. Small steps would work, but without any rate control, you would end up with some really jerky motion. As for overall speed, it depends on the cylinder volume and the pressure and max flow rate you can get out of your pump, valves, lines, etc. Of course, I want to get the highest speed I can get for the lowest price possible. In terms of a robot, the term "nimble" comes to mind.

ability

pressure

articulation..

No, I rented a small hydraulic "mini-backhoe" from a local equipment rental place. It works like this: When the lever (valve) is in the center the cylinder holds whatever position it is in. When you move the lever forward the cylinder extends and when you move the lever backward the cylinder retracts. The further from center you move the lever (forward or back), the faster the cylinder moves (extends or retracts).

in

fast

and

achieving

modifying

A good idea, but I don't think it will work because the common electronic valves are solenoid based: Either open or closed. While this would seem ideal for a PWM scheme (similar to an H-bridge) they are simply not designed for that kind of operation. Picture the hydraulic lift for your car at the local auto repair shop. They have a button for UP and a button for DOWN. If you pressed the button 100 times per second and only held it down for a half second at a time (50% duty cycle 100Hz PWM), I douby that the lift would move at all because the solenoid would never actually switch. It would likely get hot and melt though...
--TE
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
I work in this field in the offshore mining industry. You need to contact a Bosch/Rexroth hydraulics agent in your area. They specialise in proportional hydraulics and have some really fancy equipment that suits your application perfectly. I do motion control of vessel motion heave compensation controlling 192 metric tons with millimeter accuracy, speed controlled from less than a millimeter per second up to over 2 meters per second. Bosch is your first port of call, but don't even think of going there without a hefty budget.
Regards, Mike
You can send me a message at mr_miyagiREMOVE_2003CAPS at yahoo dot you-know-what.

chance

great

valve,

<

moves,

positions

"jerking"

rate

robot,

rental

forward

the

but

Though

that..

a
designed

the

Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Sensor for hand:
Try the Nintendo Power glove? It has material in the joints that varies resistance as you bend it.
how about two cameras, one above your hand, one on the side. You should be able to tell which fingers are bent from the camera above, and how far they are bent from the camera to the side. you could make the software easier by wearing a white glove, with large dots of color on each joint of each finger. Make them different colors for each finger.
or get a glove that is made of thin material, and start epoxying rotary encoders or potentiometers to each joint. I count 14 joints on my hand, not including the ability of the thumb + palm to fold onto the hand.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Polytechforum.com is a website by engineers for engineers. It is not affiliated with any of manufacturers or vendors discussed here. All logos and trade names are the property of their respective owners.