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
Your analysis is very good, so I am surprised that the solution isn't obvious: add mass to the APM board.
I started by mounting the APM to the frame on 4 x 0.5in^3 pads of DuBro foam. There was some improvement, but the vibration levels were still marginal. Then I sticky-taped a stack of 4 US quarters to the bottom of the APM board and bingo, vibration problem solved.
I understand the concern about mass causing a decoupling of the motion of the frame and APM, but I doubt this is significant at the masses we are dealing with until much higher accelerations than our quads encounter under normal flight conditions.
The problem is that you are measuring your data using a sample method that is way below the required sample rate to have meaningful data. You need to be able to sample data at 400Hz to see if the APM IMU is not experiencing high frequency interference that can potentially create a problematic situation. Fly away has reported by Rob. (you ask for Devs comments, he is a developer!)
Attached is the promised Vibration Analysis Tool for the new system.
Don't be disappointed if your first try at vibration control looks like mine. I had read all the BG (before Gary) advice on vibration control and implemented them all. So I didn't start with the recommended baseline [no isolators, no dampeners, just use double sided tape and stick the APM on tight]. My baseline was motor mount sorbothane (the really light type), spar sorbothane, sorbothane under the APM. The results were:
It may not look horrible, but the statistics told the truth. x = .49g, y = 1.34g, and z = 1.24g
So I slowly replaced sorbothane for earplugs and foams, and ... one at a time and compared ... no improvement.
So then I started removing one at a time each dampener and isolator and compared each step. The numbers started to fall, but I had a long ways to go. At the end, thanks to Gary, I now have this.
With the statistics showing this:
My 99.5% numbers are now .05, .07, .05 for an average of 0.06 g. Why 99.5%? The APM only logs at 200Hz, so it's likely not to see the tops of your vibrations. It's not a law. It's just a number that you don't change so you can measure progress.
Now this part is critical. Do not compare my numbers to yours. This copter has eight rotating 11" blades run by 750KV motors on a ship that was flying its normal payload of 2.36kg (it weighs more if camera system is added) flying over 30 minutes using 12000mAh of batteries. If I add a camera, the z goes down. If I remove batteries, the x, y, z are in the .12 to .18 range. Less than .15 is good enough. If you are not satisfied with the camera results, try for lower.
The Vibration Analysis Tool is attached.
It is interesting to me that my little blog on vibration control has managed to stir up so much dissent.
It's primary purpose was to allow people to achieve sufficient vibration control on a wide variety of traditional and multicopters to be able to control them reasonably when we transitioned to the inertial control paradigm of 3.0.
In fact there are many means of accomplishing vibration reduction including prop and motor balancing (always good) and even by careful frame design and mass placement.
However, although motor and prop balancing are generally achievable to good benefit, frame design and mass placement is often not a reasonable expectancy and is also a great deal harder to typify than remedial techniques.
So while the exercise going on here is certainly interesting from an academic or possibly even top down design standpoint, the simple fact of the matter is that the easiest, least costly and least problematic method of achieving satisfactory for our purposes vibration characteristics is by simple remediation performed by isolation mounting of the flight control system.
Put simply, four 3/4" square pieces of Zeal, Moon or Alpha gel under each corner of the APM in or out of it's box or a PX4 lightly retained with some foam under velcro will provide very satisfactory approximate 1/10 G vibrations in all 3 axes in the vast majority of applications.
And it will not permit adequate low frequency (movement) to cause a significant reduction in control because of out of phase flight controller movement versus the airframe.
The method you have been discussing requires either a very tuned initial design or considerable effort tuning and adjusting an existing design.
The tuned frame and mass balanced approach has merit, especially if you were designing a specific multicopter for sale, but for universal adaptivity and practical application, Kyosho Zeal works really well and is really easy to do.
Vibration Analysis Worksheet - A few people have asked me for an update of this analysis tool that goes after your logs and generates a chart and statistics for more precise measurement.
One pilot sent me three log files and encoded in the log files was a clear message that he wants to do the analysis himself.
So I'm making the following improvements to make this more fool proof and less work for pilots:
o Update the s/w to go after IMU versus RAW records per the latest change in log files
o Update to s/w to the new recording rate
o Add logic that finds stable hover in a flight log containing motor init, takeoff, hover, and land.
o Within hover, find the best 20 seconds of hover (the least x, y, z drift).
o Add logic to allow manual override of that period.
o Update the statistics to analyze that period.
This will take a few hours. I'll post it when done.
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.
-
33
-
34
-
35
-
36
-
37
of 37 Next