I’ll start this post by saying I did, for the first time, intentionally set the BATT_FS_LOW_ACT to 1:RTL prior to flight (hey it sounds perfectly prudent until you keep reading). Also, my battery was severely sagging and/or the volt/current meter is not calibrated correctly - so I have some work to do there.
The Flight:
I took off in FBWA, climbed out at about 60% throttle and, almost immediately I hear “RTL” from Yaapu telemetry - and the plane takes off into the sky at full speed to presumably get into position to start circling.
I’m a 22 year experienced RC pilot (new to Ardupilot however) and so I immediately switched to manual to figure it out. The problem is that almost immediately after switching to manual it auto switches back to RTL! This fight for literal control continues for the rest of the flight with me mad pressing manual mode, having a second of control followed by an automatic switch back to RTL (with full power out in random directions). I never truly regain control, but manage to get it lower with each cycle and force ditch the plane into the ground at a high rate of speed. It was a hard hit, and did I mention this is an old school wooden plane! I got lucky and only broke the horizontal stab. Not to mention a few more gray hairs.
Specs:
- Plane: 1.5M powered wooden frame glider - custom electric engine pod - flies really well in manual, FBWA and FBWB (if you can keep it there!)
- FC: Pixhawk 1-2M, running 4.1dev.
Log:
https://drive.google.com/file/d/1dWr-bzZf_sFzpE1eCRGUvZ9Qp2w7b4wi/view?usp=sharing
Some observations:
- Compass calibration is off and yeah it warns about that in the log - and I didn’t have that in my arming checks (woops). However, I’m not sure that matters much to this scenario.
- Increased throttle seems clearly related to voltage drop and “seems” to correlate to the auto RTL as you would expect from BATT_FS_LOW_ACT.
Questions:
So here’s where I need help:
In the logs:
- (see log) why would all of the reason codes for the switch to mode RTL state code 1? From the enumerated list in ModeReason.h, 1 is RC_COMMAND. Should it not have been a 4 for BATTERY_FAILSAFE?
- Why does the log show a switch to RTL twice each time (filter by mode and you will see)? Maybe it doesn’t matter, but when fighting for manual control it would be nice to not be out ruled twice each time!
Lessons already learned:
- Disable BATT_FS_*** until further notice!
- Add Compass to arming checks!
- Troubleshoot voltage sensor.
- Troubleshoot battery sag.
- Lower throttle max - its WAY too high for a glider at full power in auto mode.
The three big questions I need help with:
-
Am I correct in thinking that BATT_FS_LOW_ACT was the primary issue here? What else am I missing?
-
And… if so, can someone please explain how a pilot is expected to land a plane using BATT_FS_LOW_ACT and/or BATT_FS_CRT_ACT (without a land mission set) when the system keeps flipping back in to RTL as the voltage goes above and below the critical levels? Battery sag is a real thing even if your system is tuned properly.
-
The most critical thing for me is: How can I override all auto mode switching and keep the damn thing in manual if this ever happens again?
Final thoughts
- Thank god for audible telemetry telling me about the automatic mode switching in the moment.
- I did think about disarming as i do have that on a switch, but I couldn’t remember if it would disable control surfaces (turns out it doesn’t) or, if it did, would I regain arming. So yeah, in hindsight I could have flipped to disarm and glided gently to my feet. Still would be nice to find a proper master override that keeps me in control of the throttle and doesn’t bypass throttle safety.
Thanks for reading till the end. I appreciate any and all help.
Here’s a pic of the plane:
https://drive.google.com/file/d/1dZYUQqbjcdvD9Bldff-KWwmtmgOW1Bxz/view?usp=sharing