Now that we have version 2.9 and inertial primary control for the Z axis and soon to have it for X and Y axes as well it is necessary to take vibration dampening and isolation of the flight control board much more seriously.
Primary improvements can certainly be made by balancing the props and motors.
So far it seems that the more rigid the frame the better because frame flex introduces undesirable mechanical delay (hysteresis) in translating motor induced actions to the centrally located flight control board. (Do NOT shock mount the motor Arms).
It may be reasonable to somewhat vibration damp the motor mounts themselves because they are on one end of the mechanism.
However, primary damping gains will be made by vibration isolating and or dampening the flight control board itself.
So far we have undertaken this process simply by trial and error sticking on of Foam or Gel pads or using O-ring suspension of the board to outboard standoffs.
This has achieved (barely) acceptable results, but is certainly by no means optimum.
The crucial fact that we have not properly addressed is that the amount and type of dampening medium needs to be matched to the weight (mass) of the item we are trying to isolate.
In fact we are trying to isolate a flight control board that weighs under an ounce or less than 2 ounces in its case which is a very small mass.
Our current "solutions" are actually designed for much larger masses and are not nearly as effective for the light mass of our flight control board as they ought to be.
I have done some on line research which did fully verify this inadequacy.
Virtually all off the shelf solutions (either pad or stud type) basically require a suspended mass that would weigh at a minimum 5 to 10 times what an APM or PX4 / IO board(s) weigh or more for optimal effectiveness.
This includes all pre-made Sorbothane, Alpha gel, memory foam or other silicone or urethane gel or foam mounts including Lord Micro mounts.
However, Alpha Gel or 30 durometer Sorbothane or Kyosho Zeal Gel double sided tape do appear to be the best possible solutions at this time so long as you use small enough pieces of them.
Simply putting a double sided pad under the entire board as we normally do now is entirely inappropriate for maximum vibration isolation and it is amazing it works at all.
Optimally you would use pads of them smaller than 1/2" square (possibly even 1/4" square) on each corner of the board or APM enclosure box. (smaller for the bare board than the board in the box obviously).
You could also improve isolation somewhat by sandwiching the board / enclosure between pads on both sides in slight compression.
So far we have done a dismal job of approaching this like engineers, but the reality is that with the massive excess quantities of vibration absorbing materials that we are using versus the mass of the APM (or PX4) has produced better results than not using them, but no where near what could be achieved by using the proper weight and size of dampening / isolation material.
The basic solution is to reduce the actual isolation medium to the 4 smallest pads you can get by with on each corner and using the softest commercially available dampening materials you can find.
A further gain can be made by placing the item to be damped in 10 to 20 percent compression between 2 pieces of the dampening material.
Thickness of the dampening material does improve dampening and isolation but is not nearly as important as selecting the right material and the right size of the supports made from it.
I believe that Kyosho Zeal tape is 2/10 of an inch thick and that is probably plenty for our use and the frequency range we are trying to damp.
I would very much like to see 3D Robotics produce a APM (and PX4 / IO board for that matter) case with proper internal shock mounting of the board(s) with dampening data for it.
I actually suspected this result from the start of my investigation and a little thoughtful research has completely confirmed it.
Another significant gain in vibration isolation can be had by using a high flex wire and strain relief approach to all wires connected to the Flight control board (and using the minimum number of wires necessary as well.)
I have used the concept of vibration isolation and dampening somewhat interchangeably in this discussion.
Isolation is simple undamped (spring or rubber band support) which allows the movement of the isolated object largely separate from the containing object.
Dampening is the conversion of vibration into heat energy by a shock absorbing medium (car shock absorber for instance.)
Our ultimate goal here is to provide the most high and medium frequency reduction while still allowing low frequency actual board movement to take place with a minimum of delay.
So realistically our methods embody both Dampening and Isolation.
I have covered a lot of ground here, but this is at least a good start for designing some real world vibration solutions that are bound to work better for us than what we have done so far.
Please try your own experiments and kick in your own thoughts here, that's how we get better and this is just a launching point.
Here is an excellent link to some definitive research and testing that will help:
http://fpvlab.com/forums/showthread.php?4251-Vibration-Dampening-amp-Isolation-Solutions-Guide
Replies
I did some flying today and noticed that my alt hold was almost perfect providing i turned off the sonar. With my sonar on, every now and then my logs would show a spike up or down, while the rest of the accel Z was very close to 10 and looked a lot like the wiki good graph pic. I dont think i remembered this happening prior to my upgrade to 3.0.1, so im wondering is the vibration nasties a result of bad sonars. If one looks at the graph the sonar peaks and valleys seem to follow the barometer, but they are more irregular and violent. While it was a windy day, most of the time alt hold with sonar off was very nice, just like marcos vid. But if i turn on sonar alt hold is nice but the spikes appear. Is this the *bug* that is mentioned in the 3.0.1 thread in the initial post ? Is this the reason why Marco didnt use sonar in the vid when he demo'd alt hold ?
There really should be params to control the scaling and limits of accelerometer values. If theres a jump greater than +/-10 then it sholuldnt use the full value but clamp it because that cant be right.
Forrest, I'm trying to understand what you are proposing here, and struggling a bit. IMO, the only thing you have proved here, is that bolting the APM securely to the frame is better than bad vibration isolation. And on that point, I don't disagree. I have seen plenty of bad isolation methods, and have come up with a few myself.
I've also tried the setup that you are suggesting. A rigidly bolted frame, with the APM rigidly fixed to the same plate as the battery. It hovered OK, even in Alt_Hold, but then it had a proclivity to fly away due to the Alt_Hold vibration problem when Alt_Hold requested full power. Some failure modes cannot be detected in a lab at hover.
You have not proven that your method is better than good isolation. You haven't shown any results from your testing that show <1/10G vibration levels. This has been achieved with good vibration damping. I've done it as have a few others.
I'm afraid that your campaigning in this direction may hurt the good work that Gary and others have done in promoting vibration reduction levels.
Here's a few key problems with your theories:
1) First, you have stated this: "Anything that delays, dampens or isolates the link between the motor mast and APM creates a less stable craft"
While this is generally true, you have not actually considered the reality of this situation. The fact is, that motor vibrations are on the order of 100+Hz. However, the control bandwidth of the actual multicopter system is only about 10-20Hz. This provides a rather wide window where damping the control system can be effective. Despite claims to the contrary, nobody is actually controlling the copter at 400Hz, and especially not the absurd claim to 800 Hz (coughDJIcough).
Are you aware that the MPU6000 is actually filtering the vibration at 20Hz before sending it to the APM? This is one of the radical changes that Leonard implemented, that bucked the trend to higher and higher control frequencies.
A well designed APM damping system with a natural frequency >20hz will have little effect on the stability of the system. Fact is, with no vibration damping, the APM "can't see the forest for the trees". Sure, it may have no delay in what it's sensing, but it also can't make sense of the mess of gyro data coming at it.
2) Further to the misunderstanding about control frequency response, you are also ignoring the actual frequency range of the vibration and what the effect of that is on the system.
Part of the problem is that we are all relying on data from the data logs which is logged at what... 5-10Hz? Not to mention, that data has also been passed through a 20Hz filter in the MPU6K. The only thing you are seeing in the data is a general representation of the amplitude of the vibration, not the frequency. And the frequency is VERY important. The MPU6K is set to sample at 200Hz. Any vibration that comes in at 200Hz will alias onto the discrete sample period of the MPU. 200Hz equates to 12,000 RPM, which is exactly the range that our props will typically spin at at full throttle. Especially for the smaller machines with smaller faster motors.
That is where we get into trouble with Alt_Hold flyaways.
However, your testing is not looking at this problem. You're looking at 5Hz data, and trying to detect aliasing that occurs upstream on a sensor sampling at 200Hz. If you really want to go in-depth on your theory, you would have to log the 200Hz data coming right out of the MPU.
So this is the crux of the problem with your theory. You are only looking at amplitude, and not frequencies. The problems we have with control, occur when high frequency vibrations alias onto a lower frequency control signal. But we don't log the high frequency data. All the discussion about vibration amplitude ignores this.
The simple fact is, that decoupling the APM from the vibrating frame, and possibly increasing it's mass, always serves as a low-pass filter. It only passes lower frequency through to the MPU6K. Anything you do reduce the natural frequency of the APM below 200 Hz is going to help. And the lower you get that, the more effective your damping of the higher frequencies. However, there is a limit. If you get too close to 10-20Hz, then you can set up a control response problem. 30-50Hz is a nice place to be.
The damping systems that Gary and others have demonstrated not only reduce the amplitude of the vibration, as reported in the logs, but also reduce the frequency of those vibrations, and this is NOT shown in the logs, but it's very very important.
Hi Forrest.
I have now built 2 ‘H’ frame copters with the motors separated and they both fly well with very little vibration.
The Mk2 blog is here.
http://diydrones.com/profiles/blogs/mk-ii-h-frame-quad-now-flying
The 2 motor arms are held on by silicone rings.
I am now working on Mk3 which will be an x8 with a separate ‘flying frame’ with folding motor arms.
Sneak CAD preview picture, unfinished. Vibration damping rings are not shown but fit between the carbon pegs.
How did I get to the following result for an Octa V with twice the vibration energy of the quads?
By testing every vibration control devices out there and finding out that for the APM, they are a waist of time and money (the story is still untold for the camera). This included testing the following (and appropriate combinations) against a baseline using the test setup shown in the video.
What was learned?
So what worked? With the exception of holding the APM by hand, the best approach was to firmly lock the motors to the frame, the frame to the platform, the APM to the platform, and then firmly secure to that platform as much of the copter weight as possible (but don't add unnecessary weight).
This result, for now, only applies to the APM and not a camera mount.
I'd like to suggest to the APM engineers that the future CPU plastic container use 4-40 screws so we can use Nylon bolts to secure it to our platforms. This will save folks like me from drilling through holes in the container and circuit board so it can be firmly mounted.
Vibration Test Stand - For those trying to rapidly try different designs, this test stand is working for me to iterate about ten different designs per day. It's not dependent on calm days and the tests flights can be fairly identical to compare the vibration results. It uses the following.
Copter Vibration Test Stand.wmv
for much larger masses and are not nearly as
effective for the light mass of our flight
control board as they ought to be."
What if the APM were heavier? What if the case were made of lead? Wouldn't it be easier to vibration-isolate something if it had more mass to work with?
The following shows the importance of designing 2-mass multicopter systems. The first mass (M1) is the motors/props and sometimes a motor boom. The second mass is the rest of the copter. The physics behind this are:
Does this mean I've given up on isolators and dampeners? Of course not. I'm going to listen to all of your successes and carefully test the before and after changing only one variable at a time. I'm especially intrigued by isolating the prop/motor from the frame (go after the cause). When the prop passes over the motor mast, a reflection occurs (just like water hitting a sea wall) and causes compression, complex waves, and and feedback that might be causing a problem that Vince may have solved.
Anyway, here is the graph of the six sucessive flights where I coupled the APM to additional mass one battery at a time. The ship in this form doesn't have any isolators or dampeners other than the fact that it's a 2-mass system that is a deampener in itself.
Excellent and right on.
But, we need a standard measuring system with before and after comparisons. Otherwise we are just going to get mush. In the Wiki discussion on vibration control, there was a graph showing accel-x, y, and z. But didn't see anything in MP when I double clicked on the graph legend. Is that the test we should be using? How do I get to it? What is the test procedure (lock the ship, full throttle, or what?