Gyro not calibrated warning on prearm but gyro sensors reading out still. At sea now so stuck. Any help welcome
@kaosrulz Can you let me know exactly what the message says? You can turn off arming checks in the Safety tab on the Vehicle Setup page.
Ahrs not healthy n ekf bad n gyro not calibrated. The rov armed twice but lost stable control on dive n the horizon would disappear as rov dived nose down badly. Gyro not calibrated was the last persistent warning. The on screen data showed compass n pitch working but lost control on dive in depth hold.sensors tab showed accelerometer n compass as calibrated.
Sorry Jacob, the full message was prearm gyro not calibrated. Rov was fine at 3am this morning b4 the dive. Have physically checked all wiring and all looks good
Ok, the gyro calibration occurs at boot, it’s not a one-off like the accelerometer and compass calibration. It is not unusual for it to fail when performed on a boat, but it should not prevent normal operation.
- Does the ROV perform as expected in manual mode and stabilize mode? If not, I think you should verify your motor directions are correct with the ROV out of the water.
- The BlueROV2 does not have the ability to control pitch directly, it sounds like it might be pulling on the tether as it tries to dive. Can you describe the ROV behavior in more detail? If the motor directions are incorrect on the vertical motors, it can cause the ROV to diverge from the target depth, and you will see the ROV enter a rapid ascent or descent when you enter depth hold mode. Again, you should verify that the motor directions are correct in manual mode.
- Can you get me a telemetry log exemplifying the bad behavior? QGC saves logs by default to Documents/QGroundControl/Telemetry. A new file will be created when you open QGC, and saved when you close QGC. Make sure that the option to ‘Save telemetry log after each flight’ is checked in the Application Settings page.
We got the same message at sea yesterday and were unable to arm. We had updated to Ardusub 3.5, and tested with the latest QGC (did not work due to video lag; rolled back.) We tested successfully in the lab multiple times, then at sea were unable to arm. Two messages: “Critical: PreArm: Gyros not calibrated” and “Critical: PreArm: Logging failed”. Compass, pitch, video, depth sensors were functioning. Tried rolling back QGC etc, no luck. We did not think about disabling prearm checks.
Thanks Jacob for moving topic as I am challenged at sea in a moving boat with a touch screen.
Back in civilization so will go through the steps for turning off prearm checks.
The tether drag could be an issue as it has not been mounted on reel yet. This definitely could cause pitch issues.
The sea conditions were really flat for my area so, if gyro won’t calibrate, what is the impact on functionality of the Rov?
@kaosrulz, this shouldn’t impact functionality at all. In fact, it’s likely always been the case, we just haven’t been checking it in the past.
ArduSub is derived from code originally intended for multicopters, where a very accurate (and calibration-compensated) measurement of the rate of change in vehicle attitude is super important for stable flight. This is why the check exists in the first place. The motions of the vehicle underwater are very dampened compared to an aerial vehicle, so we don’t have to worry about this much.
Thanks for bringing this to our attention, I’ve been looking into a better default setup that works well when launching from either land or sea. I develop at my desk and almost all of the water testing is done launching from a dock. This isn’t representative of conditions on open water. I’m sorry for your inconvenience last night, and that it wasn’t clear what needed to be done to fix it. I’m always trying to improve on this, but this area with warnings that prevent arming clearly needs some work.
In the meantime, there are currently two solutions to the ‘PreArm: Gyros not calibrated’ warning:
- Disable gyro calibration at boot by setting the INS_GYR_CAL parameter to ‘Never’ (0) from the Parameters tab of the Vehicle Setup page.
- Disable the ‘INS’ (inertial navigation system) pre-arm check by unchecking the box in the Safety tab of the Vehicle Setup page.
I think the first solution is the better one, because the INS checks also check the accelerometer, and that the attitude and heading reference system (AHRS) is in good condition.
PS: The blue-red flashing light pattern that the autopilot displays at boot indicates that the gyro is calibrating. If the vehicle isn’t moving during this procedure, it only lasts about a second. If the vehicle is moving (like the deck of a boat), it will take longer, and it will give up after 30 seconds. If the calibration times out, then you will run into the original issue described here.
@kaosrulz, I see that you also observed warnings about the AHRS and EKF. The AHRS warning would be covered by the ‘INS’ checks. You can increase the threshold of the EKF failsafe with the FS_EKF_THRESH parameter, or disable the EKF failsafe (FS_EKF_ACTION).
The fact that you have seen all of these warnings is concerning, and I recommend re-calibrating the accelerometer on dry land when you can.
I have updated the Safety tab in QGC to more clearly lay out all of the failsafes and corresponding thresholds. You can get that here. For those that experience video lag on windows, you can get it here with video recording disabled.
Thanks for the comprehensive reply Jacob. I will do a recalibration tonight n implement changes for params.
I was thinking about my problem of tether twist n wondering if a turn indicator was possible so that I could keep track of rotations of Rov.
Not necessary but would help tether management.
Absolutely! I’ve done this, it just needs to work it’s way through the pipeline. Values that will be available to select for display (where the depth and temperature data is now): Tether turn count, Camera tilt angle, Lights 1/2 levels, pilot gain level, and altimeter/rangefinder distance.
Legendary answer. Keep 1 step ahead of me coz I’m liking it. Big thanks
This happened to me in first deploy with new update/unit. I disabled ins, but will go back and try the tweak parameters. Boats definitely aren’t steady enough for the calibration, but I once in the water it behaved fine. I didn’t try diving down, disarming, enabling the check and arming… it’d only work if you weren’t tugging on tether. Definitely sounds like the initial user to make this post was yanking their tether, something I find upgrading to 8 thruster heavy reduces as an issue in open ocean deployments.
The tether was twisted and so the deeper I went, the tighter the twist. It pulled the rov out of a stable position and made it dive nose down coz of drag from tether. Note to self, keep tether untwisted
Just a small followup/update: I have been working on clarifying the arming message in QGC, and I’m looking at disabling the gyro calibration altogether, but I need to evaluate that route further.
I have disabled gyro at boot and if weather holds out, I will splash off the wharf this afternoon and let you know what I found. So far it has not hindered the rov in its performance
Weather issues, will have to wait till Monday until it blows thru. Winter blues