Quote:
Originally Posted by Jared341
You need a quiet settling period during gyro calibration, but if you already know the calibration data they can be power cycled pretty quickly.
How would turning off a gyro ever help, though? Integrated angular position from a gyro drifts over time, and power cycling will reset this drift, but then the gyro is "starting" at an unknown orientation.
|
(Example) GyroA power resets. It's drift is reset to zero, yet all the while during GyroA's reset, GyroB provides (supposedly) accurate data. Software keeps track of which gyro is active and what the overall relative heading is since system start, and it also keeps track of failover status (e.g. if it's unable to read from the second gyro it doesn't reset the first...). For autonomous hovering purposes, resetting the gyros is necessary so that the quadrotor stays in the air autonomously for long periods of time, yet all they control for hovering's purpose is yaw rate. We think of yaw rate as a local discreet-time issue rather than something to track from system startup. So tracking heading for that purpose adds unnecessary overhead to the hovering routines.
We will only need to keep track of true heading if we take it another step further and do autonomous travel. But there are
many hurdles to get over first, like not crashing when tilting forward to go in a straight line ...

. We'll probably put a compass on board at some point too, but as a 3rd heading sensor.
I also wanted to note that it doesn't really make sense to power cycle gyros in FRC unless your robot is trying to spin in place for several rotations and stop at an exact angle. The quadrotor only does it because with environmental effects (e.g. turbulence) on such a lightweight system, the thing winds up spinning 720 degrees over a 10 minute period sometimes.