chfriedrich98
f65653a391
battery: add internal resistance estimation
2024-07-02 19:05:13 +02:00
chfriedrich98
71029689e7
battery: add replay file for internal resistance estimation
2024-07-02 19:05:13 +02:00
Silvan Fuhrer
f4e76cd392
remove deprecated BAT_ params ( #22872 )
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2024-06-14 14:42:32 +02:00
Silvan Fuhrer
b53d2cdf39
battery: reset current filter when transitioning to FW ( #22256 )
...
VTOLs consume a lot more power in hover copared to fixed-wing fligt.
The remaining flight time thus should reset if one switches from MC to FW,
as otherwise it takes several minutes until the estimate goes down.
2024-06-07 09:28:37 +02:00
Matthias Grob
b87c5285e2
battery: weigh voltage based estimate more when it's low
...
This is a minimal change to make it harder to crash a
vehicle with an empty battery if the capacity was set wrong.
The disadvantage is that the state of charge estimate will
fluctuate more under load.
We need better documentation and improvements to the estimation.
2024-04-02 19:22:28 +02:00
Matthias Grob
4c5f084445
Battery parameters: clarify empty, full voltage description
2024-03-27 17:15:39 +01:00
KonradRudin and Silvan Fuhrer
3576d513cd
battery: make time remaining estimation dependent on level flight cha… ( #22401 )
...
* battery: make time remaining estimation dependent on level flight characteristis for FW
* battery: fix that FW flight is also correctly detected when vehicle_status is not updated
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
* FixedwingPositionControl: Move constant to header file
* flight phase estimation: use tecs height rate reference to check for level flight
---------
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
Co-authored-by: Silvan Fuhrer <silvan@auterion.com >
2024-02-06 17:32:09 +01:00
alexklimaj
d075956c4d
lib: battery allow for 3 instances
2024-01-22 19:29:38 -05:00
Julian Oes
84577ce2c2
battery: skip charge estimation if N cells is 0
...
This triggers the undefined behaviour fuzzer, so let's try to fix it.
Signed-off-by: Julian Oes <julian@oes.ch >
2023-11-13 09:55:39 +01:00
Matthias Grob
ae888b73d0
battery: report over voltage
2023-11-06 18:17:28 +01:00
Matthias Grob
a03af59c5c
battery: show unknown cell count
...
Unkown cell count is the default and
should be possible to select again from the drop down.
2023-09-28 07:32:06 +02:00
Silvan Fuhrer
b16f16598b
VTOL: remove virtual actuator_controls and instead use virtual torque/thrust topics
...
MC/FW rate controller and auto tuner: remove actuator_controls
AirshipAttControl: remove actuator_controls
MulticopterLandDetector: remove actuator_controls
mavlink streams vfr_hud and high_latency2: remove actuator_controls
RoverPositionController: remove actuator_controls
UUVAttitudeController: remove actuator_controls
battery: use length of thrust_setpoint for throttle compensation
VehicleMagnetometer: use length of thrust_setpoint for throttle compensation
Signed-off-by: Silvan Fuhrer
2023-03-16 11:55:45 +01:00
Matthias Grob
6f4d903f45
Battery: address two comments from #2242
...
- use a constant instead of magic number
- fix code comment typo
2023-02-13 13:27:08 +01:00
Yannick Fuhrer and Matthias Grob
98529a5b49
Battery: delay initialization of SoC ( #20729 )
...
* Battery: delay initialization of SoC
* battery: rework of battery initialization delay
Co-authored-by: Matthias Grob <maetugr@gmail.com >
2022-12-26 18:44:22 +01:00
Matthias Grob
9e776741d9
battery: allow for external state of charge injection
2022-11-29 09:27:50 +01:00
mcsauder
87a5705960
Rename math::gradual() to math::interpolate() and add unit tests to cover additional corner cases.
2022-08-18 14:18:02 +02:00
Hamish Willee
e6eed43648
Spelling errors ( #19935 )
2022-07-27 14:33:16 +10:00
Matthias Grob
4f34207c4e
battery_params: increase default empty cellvoltage to 3.6v
...
Based on feedback that very often the battery is used down too low.
I observed this happens consistently when the cell voltage is properly
load compensated. The default load compensation before #19429 was very
inaccurate and resulted in unpredictable estimate.
After that 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 too low for an empty compensated
cell voltage. That was seen in various logs where the compensated
cell voltage was already dropping fast after 3.6V.
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.
2022-05-24 11:26:58 +02:00
Matthias Grob
62edcc7a57
battery: only compensate using sane current
2022-05-23 16:40:32 +02:00
Matthias Grob
2cbdcc9671
battery: default to reasonable internal resistance
...
instead of disabling the load compensation using current.
2022-05-23 16:40:32 +02:00
Matthias Grob
58b1139a21
battery: allow setting precise internal resistance with parameter
2022-05-23 16:40:32 +02:00
Matthias Grob
2c5a7ea118
battery: rather undercompensate for load
...
than over compensate which makes the estimate to high and breaks batteries
beause they get flown for too long.
2022-05-23 16:40:32 +02:00
Matthias Grob
dd28c3e019
battery: update average current also when no capacity is configured
2022-04-04 10:02:55 +02:00
Matthias Grob
13c3eae6d0
battery: use mechanism to keep an up to date armed state
2022-04-04 10:02:55 +02:00
Silvan Fuhrer
3f6ab5ea19
battery: improve flight time remaining improvements
...
- introduce BAT_AVRG_CURRENT param that is used for init of average current estimate
- increase filtering of average current estimation
- only update average current filter when armed
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2022-04-04 10:02:55 +02:00
Matthias Grob
495f1c9165
battery: don't initialize _source without constructor
2021-12-07 21:06:51 +01:00
Matthias Grob
b41e345a5b
battery: correct updateBatteryStatus() description
2021-12-07 21:06:51 +01:00
Matthias Grob
fdc40880d0
battery: separate out publishing from updating
...
to allow smart battery drivers to use the battery class and
filling in additional information in case it makes sense.
2021-12-07 21:06:51 +01:00
Matthias Grob
e70d70468a
battery: pass voltage and current by setter
2021-12-07 21:06:51 +01:00
Matthias Grob
39641494da
battery: pass connected flag in by setter
2021-12-07 21:06:51 +01:00
Matthias Grob
38d23f5345
battery: pass priority in by setter
2021-12-07 21:06:51 +01:00
Matthias Grob
f9fc9a9af6
battery: pass source in by constructor
2021-12-07 21:06:51 +01:00
Matthias Grob
b965923c08
battery: fetch throttle value inside of class
2021-12-07 21:06:51 +01:00
Matthias Grob
ddc6b6bc9c
battery: move MAVLink specific handling out of battery class
2021-12-07 21:06:51 +01:00
Matthias Grob
da2fdf923e
battery parameters: allow usage of 1S battery
2021-12-07 21:06:51 +01:00
Matthias Grob
91c48606ee
battery_status: clearly define and handle zero remaining flight time
2021-11-15 15:44:02 +01:00
Matthias Grob
73287e8e8c
battery: compute remaining flight time
2021-11-15 15:44:02 +01:00
Silvan Fuhrer
40f9b53b90
Remove a couple of unnecessary reboot_required from parameter meta data
...
Signed-off-by: Silvan Fuhrer <silvan@auterion.com >
2021-08-13 10:35:43 -04:00
Daniel Agar
e9f84ba708
keep minimal legacy battery parameters for older QGC usability
...
- BAT_V_EMPTY, BAT_V_CHARGED, BAT_V_LOAD_DROP, BAT_N_CELLS
2021-07-23 15:07:53 -04:00
Daniel Agar
b5430c22c4
AlphaFilter: move from ecl -> mathlib
2021-07-15 10:38:24 -04:00
Daniel Agar
c5b1fe86ca
delete deprecated BAT_* parameters
2021-07-08 22:19:12 -04:00
Matthias Grob
62546350f1
battery: use local instead of global member battery_status message
2021-07-01 14:24:38 +02:00
Matthias Grob
fa976f84b1
battery: clear interface for determineWarning()
2021-07-01 14:24:38 +02:00
Matthias Grob
b824f33ae9
battery: publish measured values also when battery not connected
2021-07-01 14:24:38 +02:00
Matthias Grob
a99ddd0845
battery: don't reset on every loop iteration
2021-07-01 14:24:38 +02:00
Matthias Grob
8d74e52bb7
battery: omit separate publish() function
2021-07-01 14:24:38 +02:00
Matthias Grob
41cc73e555
battery: simplify battery_initialized condition
2021-07-01 14:24:38 +02:00
Matthias Grob
a51d47f8e8
battery: connected check outside of determineWarning()
2021-07-01 14:24:38 +02:00
David Sidrane
17502da493
lib/battery:Fix types
2021-06-16 17:07:47 +02:00
Sander Smeets
517a1d0116
battery_status: factor in total current consumption in battery remaining estimation
2021-03-15 12:32:45 -04:00