EN CN
Excessive IMU Axis Slipping
  • Hi All,

    Hopefully some clever people are able to shed some light / information about this one, as I'm having trouble finding useful information about how the sensors and components actually work.
    I've recently been setting up a custom built gimbal. All seemed to be going quite well, managed to create a profile which had a nice smooth return to the origin etc. I tested this for a while, put it down, and came back to it later to find that it wouldn't sit straight anymore (sitting with roll on a lean sideways).

    Presuming that a calibration had been messed up somewhere, I hooked it up to the GUI to see what was going on. The software kept showing me that the axis were all correctly 'level', but the 'current position' indicator arrow was constantly spinning for the roll axis. Eventually this became a problem with all the axis (Roll Pitch and Yaw), after leaving it for some time. Doing a basic calibration didn't seem to help, so I figured out how to perform a 6 axis accelerometer calibration with reasonable accuracy, but this had no effect.

    After removing the main board and sensor from the frame to eliminate those variables, I eventually figured out that it seemed to be an issue with the Gyroscope. If I did a Gyro calibration with the sensor sitting still on an undisturbed surface, it seemed to correct the problem reasonably well, until I start to move the sensor around (then the 'slipping' effect gets worse).

    Originally I had the IMU mounted on it's side, with the axis set to orient it correctly, so now with it on the desk, I've defaulted the orientation, and it's the Yaw that is slipping instead of the Roll. I know that Some 'Yaw Slipping' is normal behavior, and about a degree per minute is considered to be normal - according to the manual, but this is much worse, so I've recorded some timings to give you an idea what I mean.

    After calibrating the Gyro (with sensor sitting flat on a stable surface, watching that the stability peak meter is within the 'green' range), the slipping slows down to the times as follows, where each time in seconds is a single degree slipped:

    1. ‎38.22
    2. ‎17.66
    3. ‎16.27
    4. ‎16.91
    5. ‎15.68
    6. ‎22.54
    7. ‎29.30

    So this corresponds to somewhere around 2-4 degrees of slippage per minute.
    Now, I took the sensor, and moved it around a bit in the air, then put it back into it's place, and recorded these times:

    1. 05.14
    2. ‎04.99
    3. 05.31
    4. 05.32
    5. 05.56
    6. 05.32
    7. 05.46
    8. 05.34
    9. ‎05.62

    Which is about 12 degrees per minute. After sitting there for about 30 minutes, it eventually sped up to around 1 degree per second!

    Then I noticed something odd, that if I held the sensor tight against the desk (by holding down two opposite corners) the slipping would stop. So my curiosity wondered what would happen if I calibrated the Gyro in that state, and sure enough, it flipped the issue. while held against the desk in that way, it would be slip at about 1 degree per second, but if I let it go, it would stop.

    Obviously the take away from this, is that the sensor components are highly sensitive, as is mentioned by many, but does this mean that the gyro specifically has to be calibrated 'in the condition that it will be mounted'? It still feels like the gradual slipping, which is accelerated by moving the sensor, is kind of undesirable. Since I have two IMU's (other one's never been used), I tested this also, and it behaves in the same way, so I'm guessing it's more likely to be a configuration or set up issue that I'm missing rather than a hardware fault?

    The other thing I tried was calibrating with the sensor on a non-hard surface (ie pillow), to see if it was anything to do with any vibrations that may have been affecting it while calibrating - but with no success.

    If anyone has any ideas, or any in depth info about how these sensors work, or has already come across this issue before and knows the easy fix, I'd be super grateful to hear from you :)

    Thanks,
    Matt.

  • They are mechanical sensors. Search for MEMS.

    Gyro is typically calibrated after installed, at every startup if not skipped.

    It affects a lot how sensor is installed. two sided tape works well, it does not pend the sensor. Two sided tape + screws does not work, it pends the sensor. Screws only on hard flat surface work, but i mostly use two sided tape.

    Temperature affects also, partially because the materials extend differently when temperature changes.

  • Cheers :)

    Right, so that's why it has the built in Gyro calibration at start-up, yup. But do you think it's normal for it to be drifting at the rate which it is ? I'm interested with your notes about mounting techniques, I planned to mount it with screws on little plastic washers / spacers, which I figure would probably work okay. Don't really want to use tape as I want to be able to get it off later :)

    Just wondering what you mean by 'pends the sensor' exactly?
  • If you have tape under the sensor and tight up it with screws, because of the geometry there will be more pressure in the middle and that will bend the board/sensor.

    It could drift a lot before calibration and for calibration it should be absolutely still. better leave it untouched during calibration. It is though not normal that the drifting speed would vary that much in short time. but better not over analyze it. and if it was not attached anyway, it could be that the sensor it self was actually drifting.

    Two sided tape does not glue it on place premaritally. Screws on little plastic washers / spacers should be ok. Note though, if the frame/installation is conductive, better use nylon screws not to cause ground loops.

    Ps. the earth is rotating about 360/24 = 15 degrees per hour. How it affects the different gyro axis depends of where you are. Anyway, gyro calibration takes care of this.

    Calibration on any moving platform would probably not work well (car, boat, train...) that is why I always skip the gyro calibration at startup (+ it makes start up fast). I have gyro calibration assigned to menu button and do it when needed/possible.
  • Fair points. I see what you mean about the tape and screws thing now with regards to bending. If I use stand-offs that should solve that issue then in that case. I guess I shall press ahead with a secure mount and see how I go (: at least I know what thing to calibrate to correct it now - confused me for some time. Do you know if it's that relevant to calibrate the temperature range?
  • Temperature calibration is good if it will be used on wide range of temperatures. However I would make the gimbal work well with basic calibration and after it does look into the more advanced features.

    normally I start with camera IMU only and one point calibration, set the gimbal working and add the frame IMU and berform better calibrations for the IMUs and do final tuning. It helps to narrow down the potential problems during the setup.