Low cost active dampening?

I would like to dampen the physical oscillations that occur when you move an object like the arm of a robot. Of course, simply ramping up
and then down the speed of the motors is a big help over suddenly starting and stopping the movement, but I would like some sort of active dampening system.
I know there are systems for dampening oscillations in structures. I've seen shows describing the systems put at the top of buildings in earthquake zones. Sensors detect swaying, and move a large weight to stop the swaying. I imagine such a system would be useful for robotics, perhaps moving a counterweight exactly like the earthquake system, or as a feedback system for the main actuator motors.
On the internet, I've found articles on dampening objects hung by cables, but nothing on more rigid structures.
Can anyone recommend some reading or perhaps low-cost (i.e. not million dollar) projects which use such a system?
Joe Dunfee
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
    --Couldn't this just be a variation on balancing a 2-wheeled robot? Just a thought...
--
"Steamboat Ed" Haas : When did 'Pledge Week'
Hacking the Trailing Edge! : turn into 'Pledge Month'?
  Click to see the full signature.
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload

Not a balancing robot, but an animatronic figure of a natural looking animal. The issue in this case is aesthetic... any bouncing around by the figure emphasizes the fact that it is a robot.
The actuators are often acme-screw type electromechanical servo systems, and sometimes a pneumatic-servo system.
We do spend time tweaking each servo for gain, etc, but are unlikely to really get into any type of complex robotic control system that is aware of mass or center of gravity. I was hoping that there might be a simple plug-in system.
Thanks to all for the feedback, and I will check out the links you gave.
Joe Dunfee
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Try putting a low-cost MEMS accelerometer on the moving part and add its output into the derivative term of the servoloop. Then tune by driving the servo goal with a square wave, and turn up the gain on the accelerometer input until the vibration damps out. This is crude, but can work.
There are better approaches. Look up "flexible robotics". But it gets complicated.
                John Nagle
Smiley wrote:

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

For the penumatic system are these proportional valves?
Anyway, for the lead-screw system, I think the answer here is a fairly basic acceleration ramp. Do you have anything in your software now for this?
-- Gordon Author: Robot Builder's Bonanza Budget Robotics: http://www.budgetrobotics.com
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Joe Dunfee (Smiley) wrote:

Yes we use proportional pneumatic valves in some of systems, the high cost prevents us from using them as often as we'd like to. There are also some dumb "bang-bang" type pneumatics for smaller movements. But it is the larger movements (with the proportional valves) where the damping is desirable.
The system consists of a programming software/hardware package from Guilderfluke... it is cumbersome to use and pretty from my point of view (I should point out that I only have a casual understanding of the Guilderfluke stuff). On board the animatronic figure we have our own board with a processor and the servo circuits etc. It is quite customizable. So, I suppose we could do some additional customization there, but as I said in another message, I think our whole method of scripting the movements needs improvement. It seems the ideal solution is to recreate the programming system, and this is the place where we should apply the input shaping. But I wonder if a basic acceleration curve is sufficient.
The final thing we need to balance is the need to get sophisticated vs. keeping things simple. A relatively dumb control system can do nice stuff as long as the person using it is skillful and can take the necessary time to practice while programming the movements. Perhaps a middle-of-the-road approach would be to apply some basic input shaping, and then expect the person programming the movements to use their own finesse to make up for any shortcomings.
Joe Dunfee
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Gordon McComb wrote:

Dynalloy (www.dynalloy.com) sells a proportional valve based on nitinol. It's minuscule in terms of price ($8) and physical size (2") when compared to servo-based valves. The downside is that it requires relatively large amounts of current (+750mA).
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
IMO, to answer this question it's important to know the scale of the system (arm?) you are working with. Some solutions, including passive measures, may work on one one size of robotic arm, but not on the other.
In any case, and depending on the size of the robot you're working with the torque of the motors, static damping with something like a dashpot or even an expansion or compression string may suffice. I'd try that first before working on anything elaborate. While the typical dashpot isn't active (dynamic) it can be made to be. A small servo could adjust the vent, thus changing the resistance of the pot. Airpot is a familiar (and fairly low-cost) dashpot, and you can sometimes find them on the surplus market.
On a much larger system you could use pneumatics or even hydraulics, but again, because you didn't note the scale of the system you're working with it's impossible to know if these options make sense.
As an FYI, technically the correct term is "damping," and not "dampening" -- the latter preferred for uses involving liquid. It's not something most engineering schools test you on, though.
-- Gordon Author: Constructing Robot Bases, Robot Builder's Sourcebook, Robot Builder's Bonanza
Smiley wrote:

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

Sorry, I should have known better. I just replied to another message describing a bit more. I am thinking of animatronic figures at the scale of a dear or bear. The biggest issue is the entire body swaying, not just just a limb. We have used dashpots in a few occasions, but never directly controled their stiffness... thanks for the idea.
Since the entire sequence is played back the same way each time, input shaping is probably a good option, and we have the feedback from our position sensors to get the data. The difficulty we will need to overcome is that the animatronic is currently being programmed by an operator using a joystick, and just recording that data. (a Guilderfluke system)
A system like the earthquake damper might simply be a device we mount inside the animal and just power up without needing to interface with it. But, I am becoming more convinced that we should work on improving our programming system.
Joe Dunfee
Add pictures here
<% if( /^image/.test(type) ){ %>
<% } %>
<%-name%>
Add image file
Upload
Have you considered input shaping beyond smoothing the trajectory - imagine an oscillatory input in some cases. Assuming you have some means of identifying the plant, there are techniques to shape the input to minimise residual vibrations at the output. Besides typical uses in such equipment as gantry cranes etc, this system is applied in such ubiquitous devices as disc drives - on the actuator to improve settle times as well as to minimise acoustics. A quick search on google, provided a couple of good links...
http://www.me.gatech.edu/inputshaping / http://www.aucegypt.edu/faculty/hekman/MENG476/acc_tut.pdf http://www.convolve.com /
Cheers,
Kevin

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.