New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Do not report battery capacity remaining for Sub #15096
Do not report battery capacity remaining for Sub #15096
Conversation
@Williangalvani I'm not a sub maintainer, so I'm not as invested, but I'm not sure if this is really what you want here. The three things that stick out to me:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It does seem odd killing this for every sub out there. Surely someone, somewhere would find it useful.
@WickedShell what's the mechanism used to reset the battery? Do you know if QGC supports it?
OK, so that's |
QGC mainly uses |
This change is in line with the functionality (or lack thereof) that has been present in every ArduSub stable release. We have always populated the sys_status.current_remaining field with -1, no matter what. ArduPilot's current estimation algorithm is unsuitable for ArduSub. We cannot assume that the battery is fully charged at boot; see #1434. It is extremely common to boot without a fully charged battery, for example performing multiple dives during the day on a single charge (most of our users have 18000mAh batteries). The issue is that unless the battery is completely charged at boot, ArduPilot and QGC will mislead the user into believing there is more life in the battery than in reality. The risk+confusion and potential for accidents or loss is not worth supporting this feature. Battery voltage is enough information to meet the same end of determining when the battery is out of juice - and it's secure/reliable. QGC displays the battery telemetry with a capacity estimate if that number is reported, otherwise QGC will display the voltage. We want QGC to always display voltage information, so we never report a capacity remaining estimate.
As above, the problems with this assumption outweigh the utility of the current failsafes.
QGC is the only GCS recommended for ArduSub. @bluerobotics/software-team
The root issue is still present in this situation. If the user neglects to adjust - accidents will happen. |
We can reconsider when the capacity remaining algorithm accounts for the fact that the battery may not be fully charged at boot. |
Subs can easily do multiple flights on one battery, or start flights on a half-charged battery. This makes the user monitor the battery voltage instead of the (possibly bad) percentage reported by Ardupilot.
709af7c
to
9b587bb
Compare
ping @peterbarker to make sure things look ok for gcscommon |
@Jaaaky we had this same issue in Matternet, and solved it by initialising the capacity using a table:
When using the table it inits the capacity when disarmed, then after that calculates capacity based on integrated current, starting from the table value |
@Williangalvani Can this one be closed? Looks like: #15406 is the same as this one and got merged? |
That was merged into a Sub branch, we still need it to make its way to master. I'll try to pick this back up this month. |
Opps didn't notice that part sorry! |
closing in favor of #13712 |
Subs can easily do multiple flights on one battery, or start flights on a half-charged battery. In these cases integrating the battery current would give a false percentage.
This makes Sub always return -1 for battery capacity remaining. QGC interprets the "-1" as "Battery remaining energy not sent by autopilot" as defined in SYS_STATUS spec, and displays voltage instead.
This PR will make users monitor the battery voltage instead of the percentage reported.