battery_params: increase default empty cellvoltage to 3.6v #19700
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Describe problem solved by this pull request
Based on multiple reports the battery is used down too low with the default parameters. I analyzed logs and observed this happens consistently when the cell voltage is properly load compensated using the current measurement. The default load compensation before #19429 was very inaccurate and resulted in an unpredictable estimate. After that pr enabling current based load compensation by default if there is a usable current measurement and the battery is within expected tolerances of the default internal resistance the compensation is pretty good and 3.5V is clearly too low for an empty compensated cell voltage (the value is good for an uncompensated empty voltage under load). That was seen in various logs where the compensated cell voltage was already dropping fast after 3.6V.
Example:
![image](https://user-images.githubusercontent.com/4668506/169849056-1a1dc316-c31a-43f3-bdc9-d481a72431fc.png)
Describe your solution
Increasing the default low cell voltage to the useful linear range of a healthy LiPo battery with current-based load compensated cell voltage readings. Since #19429 is enabled by default with a valid current reading.
Describe possible alternatives
A clear and concise description of alternative solutions or features you've considered.
Test data / coverage
This value was found based on calculations from existing logs where the pilot relied on the voltage based battery estimation with a healthy battery and useful current measurments. The default always lead to a quick drop in battery estimate leading to RTL and then Land without much time to react. Also the vehicle was not able to land before 0% battery. See for example:
![image](https://user-images.githubusercontent.com/4668506/169850759-c6c9199b-6ab3-44c8-9202-dccbfd4bd249.png)
With the higher empty voltage in this pr the load compensated cell voltage is much more on point to harvest the linear range of a LiPo battery. This was also tested and checking how empty the battery was after the flight by recharging it again and comparing with the labeled capacity that estimate was pretty accurate compared to before:
![image](https://user-images.githubusercontent.com/4668506/169851120-e691db05-9ab2-4edc-a1e1-40e9c4f27508.png)
Additional context
In case the voltage is not load compensated the vehicle estimates the state of charge a bit too low which is safer than to high especially for a default configuration. We are currently rather on the limit side even if with an uncompensated voltage and that results in fast non-linear drop of state of charge at the end of the battery life. Hence we also need high percentage thresholds for low, critical and emergency battery levels.