Single axis gimbal: pitch errors only when yawing
  • Hello

    First off I want to say thanks to basecam for writing some solid software! i built a self balancing robot and i'm using a BGC 3.0 with a single axis gimbal to stabilize the camera as the robot overshoots/undershoots pitch to stay balanced. Everything works perfectly, i've calibrated, tuned, have the gimbal controller controlled from my main interface mcu via pwm. But one issue:

    The camera is stabilized, there's no drift other than when i yaw the robot. If I turn 180 degrees, the gimbal will point the camera maybe 10-15 degrees higher, then i rotate back and it goes back to 0 degrees increased tilt. I'm guessing this is it trying to stabilize in at least 2 axis instead of just 1. I tried turning the pids for roll to 0, so it wouldn't attempt to correct, but my pitch still gets off when turning.

    i just to emphasize it's not drifting over time, purely as a function of yaw. Adding a second axis isn't an option as it's not needed and it would increase weight for a very small robot
  • Hello!

    Thank you for high appreciation of our work!
    Regarding the problem: no, our system in 1-axis configuration stabilizes only single axis. I guess the problem is in the IMU calibrations. It may be an accelerometer wrong calibration, or a gyroscope, as well. The gravity vector, estimated by the IMU, does not match with the real gravity, that causes mismatch when it is rotated by the YAW axis. If after such fast rotation IMU corrects itself after a while, it means that accelerometer is correct, but the problem is in a gyrocope.

    Try to re-calibrate gyroscope just before use. Observe how the IMU performs at startup, is there a drift.