• It looks almost as if the wires that are right in the middle might be too stiff?  Those soldering and shrink tube usually turn the wires solid so they are transferring the vibration from the frame.  Rotation along the X isn't limited since the wires are  in the middle.  But along the Y, it seems limiting.  Adding the weight probably helped dampened the vibration.  I wonder if switching out to softer wires will help without the weight.  Then add the weight to make it even better.

                • Hi RC,

                   I agree, I am going to re-work those with thinner flexi wires, to get rid of

                  the heatshrink within the loop.

                  Further, on investigation, where the ESC's plug-in on the back, those wires

                  may also have an effect on the dynamics of the FC, as mounted.

                  In the mean time, I have fitted the weight, as per my feedback here.



              • Thanks for the beer proposal! I appreciate that ;-)  Never been at Cape Town, and planning to come.

                Now the controller seems OK, you can try new autotune for sure - can return existing params anytime. Also can reduce the weight to 20 grams, will be enough.

                Best regards,


          • Buy orange foam from Hobbyking and put it under pixhawk together with your antivibration mount....also i got best results when Pix is in sandwich between two plate with foam on both of them...

            • Can you send a photo of the samwhiched pix, like you have it?

    • Can you show us a picture of your build?

      Looks like your frame oscillates on the y-axis...

  • T3

    Same as Rob I copy-and-paste my results here as well:

    What it is all about is that the vibrations seem much higher when looking at the raw 1000Hz IMU data compared to FAST 400Hz and the normal 50Hz logging .

    The question is: is the difference in amplitude in AccZ at 1000Hz a result of the ACCEL_FILTER? I.e. the 50Hz and 400Hz values are filtered and the raw is not?

    It would be good if someone could repeat this test and if someone with some more in-depth knowledge of the code could clarify.

    Thanks and best regards,



    Original Post:

    I made some tests with the current master (which seems to be very similar to 3.3rc7). By accident I enabled RAW IMU logging and was somehow shocked when I looked at the Acc1:AccZ values. Then I made a series of short flights in stabilize with different IMU logging speeds (and some intended roll movements):

    1) IMU

    2) IMU_FAST

    3) IMU_RAW

    What is interesting is that IMU and IMU_FAST show very similar ranges in the vibration data as well as the vibes. IMU_RAW AccX and AccY vales are also similar but the AccZ are a magnitude higher. 

    The Vibes are the same across all speeds.

    I also made an FFT analysis in Mission Planner for the third log and the main frequency is about 25Hz. Hence I assume that a negative influence of these 25Hz should be visible on all three logs. Or?

    This leaves me a little confused since the AccZ values of IMU_RAW are out of the desired range. Is IMU_RAW:ACC1:AccZ really logging the same thing as AccZ at 400Hz and 50Hz?

    IMU 50Hz:





    IMU 400Hz:





    IMU RAW:







    Looking at the screenshots above as well as the code it seems the Vibes are always calculated based on a 5Hz high pass filter. For a better comparison shouldn't they be calculated in relation to the logging frequency, i.e. 5Hz, 40Hz and 100Hz?

    Reply from Randy:

    The IMU_RAW logging does go through quite a different code path than the lower 50hz and 400hz imu logging but I can't immediately see any problems with the RAW logging.  It just seems to write the raw values from the sensor (received as a report from the PX4Firmware) to the dataflash.  I also don't see any problems with the formatting of the message which could lead to a change in the output - they're all logged as floats.  This leaves me thinking that the vibrations levels on this particular vehicle really are much higher in the Z-axis than on the X, Y axis but it's at a high frequency and it's being averaged out on the lower rate logging.

    The 5hz high pass filter on the VIBE message is apparently to try and get rid of the vehicle's actual movements so as far as I understand we shouldn't be changing that based on the logging rate.

    Another one from me:

    The problem we have with this is that according to Nyquist we can currently - based on the existing hardware - not determine higher frequencies. So my condensed questions is: Do you see any problems regarding flight stability with these (most probably high frequency) vibrations visible at 1000Hz, especially if all seems fine at the main loop which is responsible for vehicle stability?

    In detail:

    At 50Hz and 400Hz the vehicle movement is clearly visible in the logs and not shadowed by vibrations. In this case I assume, that it should be easy to control the vehicle for the code. For 1000Hz it is another story, because we only get a very basic idea of the vehicle movement due to high vibrations (at least visually). But since the main loop runs at 400Hz, this should not be a problem - or? Or can there be any impact stemming from high frequency vibrations - especially with very low vibes and the fact there is no clipping? 

    The next thing I am not sure about: Is the output of the 50Hz and 400Hz Acc data filtered or is it just sampled, i.e. only very nth sample is taken from the accelerometer. If it is not filtered then 50Hz and 400Hz logging should show the same characteristics (in terms of the amplitude) as 1000Hz just at a lower rate, because it is just a (random) sub sample. The only difference should be that with 1000Hz you can better analyze the frequencies. Is this correct? If so, then something must be wrong with the logging.

    Regarding the vibes I am wondering why such different vibration levels should cause similar vibe pattern. I understand the idea to remove vehicle movement with a high-pass filter (which is related to continuum removal in spectroscopy). Ah ok, if the vibes are always calculated based on the main loop or the 50Hz signal then for sure there should be no change in the values. I’ll make some tests with the raw data.

    What I am also confused about is how the high frequencies can be transferred if low frequencies are filtered out. It would make sense for a hard mounted autopilot because it would receive any vibrations. Generally, I assume the harder the damping the more high frequencies can be transferred. Also according to the FFT there is no vibration between 300 and 500Hz. Hence it must be a vibration between 500Hz and 1000Hz . The damping would then with act as a wide band-stop filter (which I do not believe) or the HF vibrations are transmitted via cables or air. (Maybe the antenna cable, I’ll check that.)

  • T3

    I made some tests comparing IMU, IMU_FAST and IMU_RAW data. I forgot about this thread and I posted it in the AC3.3 beta discussion.

  • 3702042969?profile=originalI try to try to readjust the T-rex500 main rotor dynamic balance, and then with INS_ACCEL_FILTER and INS_GYRO_FILTER parameter is set to 10Hz, to achieve the effect is very good vibration curve, look, this is a state of shock should be very good .

    • This is a shock to another flight log Availability:


This reply was deleted.


DIY Robocars via Twitter
RT @a1k0n: Did I get rid of hand-tuned parameters? Yes. Am I still hand-tuning more parameters? Also yes. I have a few knobs to address the…
6 hours ago
DIY Robocars via Twitter
RT @a1k0n: I'm not going to spoil it, but (after charging the battery) this works way better than it has any right to. The car is now faste…
6 hours ago
DIY Robocars via Twitter
RT @a1k0n: Decided to just see what happens if I run the sim-trained neural net on the car, with some safety rails around max throttle slew…
12 hours ago
DIY Robocars via Twitter
DIY Robocars via Twitter
RT @SmallpixelCar: @a1k0n @diyrobocars I learned from this. This is my speed profile. Looks like I am too conservative on the right side of…
DIY Robocars via Twitter
RT @a1k0n: @SmallpixelCar @diyrobocars Dot color is speed; brighter is faster. Yeah, it has less room to explore in the tighter part, and t…
DIY Robocars via Twitter
RT @a1k0n: I'm gonna try to do proper offline reinforcement learning for @diyrobocars and throw away all my manual parameter tuning for the…
DIY Robocars via Twitter
RT @circuitlaunch: DIY Robocars & Brazilian BBQ - Sat 10/1. Our track combines hairpin curves with an intersection for max danger. Take tha…
DIY Robocars via Twitter
RT @SmallpixelCar: Had an great test today on @RAMS_RC_Club track. However the car starts to drift at 40mph. Some experts recommended to ch…
Sep 11
DIY Robocars via Twitter
RT @gclue_akira: 世界最速 チームtamiyaのaiカー
Sep 10
DIY Robocars via Twitter
RT @DanielChiaJH: Always a good time working on my @diyrobocars car at @circuitlaunch. Still got some work to do if I’m to beat @a1k0n howe…
Sep 10
DIY Robocars via Twitter
RT @SmallpixelCar: My new speed profile for @RAMS_RC_Club track
Sep 10
DIY Robocars via Twitter
RT @SmallpixelCar: Practiced at @RAMS_RC_Club today with my new @ARRMARC car
Aug 28
DIY Robocars via Twitter
Aug 24
DIY Robocars via Twitter
RT @gclue_akira: 柏の葉で走行させてるjetracerの中身 #instantNeRF #jetracer
Jul 4
DIY Robocars via Twitter
Cool web-based self-driving simulator. Click save when the AI does the right thing
Jul 4