Commit Graph

47 Commits

Author SHA1 Message Date
nanthony21 0c2b9dc0b8 Fix formatting 2018-04-10 14:03:06 +02:00
nanthony21 d3e9ee88a0 Use filtered throttle for battery estimation instead of raw. 2018-04-10 14:03:06 +02:00
Beat Küng 7937f9e82c refactor Battery: replace BlockParam* with Param* classes 2018-03-22 08:19:08 +01:00
Beat Küng 32eaf278ad Battery: remove unnecessary updateParams() call in constructor 2018-03-13 17:35:15 +01:00
Matthias Grob d39a8b5a48 Battery: Switch thrust based load compensation back to linear
To account for the parameter definition.
My tests if quadratic is actually better in practise were anyways not conclusive.
2018-03-02 21:07:09 +01:00
Matthias Grob 611ab577d8 Battery: Fix estimate initialization
On the Intel Aero and probably also other specific platforms
the first measured voltage values despite connected battery are unuasable.
The solution here is to start filtering and determining warning
only after a measurement above 2.1V was received.
2018-02-24 16:27:44 +01:00
Matthias Grob 83ac74367c Battery: move member initialization values to class declaration 2018-02-24 16:27:44 +01:00
nanthony21 a637063965 fix formattting 2018-02-11 14:08:02 +01:00
nanthony21 53b4f6406f cell_voltage is no longer constant 2018-02-11 14:08:02 +01:00
nanthony21 9c7de38b75 battery compensation is now performed on the cell voltage rather than the total voltage 2018-02-11 14:08:02 +01:00
Matthias Grob 8c998c1309 Battery: enhanced voltage, capacity estimate fusion, set empty voltage to a useful value for reasonable lipo usage 2018-01-11 08:36:03 +01:00
Matthias Grob 919b6ae239 Battery added proper initialization for the capacity voltage fusion and doubled the time constant 2018-01-11 08:36:03 +01:00
Matthias Grob 663913a1dc Battery: added simple fusion of capacity based estimate and voltage based estimate 2018-01-11 08:36:03 +01:00
Matthias Grob 823d423456 Battery: refactor current integration to be easier understandable 2018-01-11 08:36:03 +01:00
Matthias Grob 9fbd6b912d Battery: adapt output constraints to possible values, only calculate remaining capacity if capacity is configured 2018-01-11 08:36:03 +01:00
Matthias Grob 60cc132c8a Battery: refactor _param out of the variable names and use 0.f for zero floats to make code more readable 2018-01-11 08:36:03 +01:00
Matthias Grob 90b326f3b5 Battery: get rid of the duplicate filtering, just use the already existing methods 2018-01-11 08:36:03 +01:00
Matthias Grob 101aeadf03 Battery: revised voltage drop calculation to fit the new simpler easier to verify estimation 2018-01-11 08:36:03 +01:00
Matthias Grob 52e2aecaf1 Battery: simplify linear voltage relation, currently neglecting the real world voltage drop under load 2018-01-11 08:36:03 +01:00
Dennis Mannhart 8a0a8e20e1 mc_pos_control: use correct altitude as limit
fadfdasf
2017-10-10 10:28:07 +02:00
Dennis Mannhart 115e7246b0 battery: only propagate warning state in upwards 2017-10-10 10:28:07 +02:00
David Sidrane 24eb56aa27 battery:Only change the warning level on a connected battery.
Connected is assumed when the battery voltages is greater than
   a predefined level.
2017-09-29 10:13:51 -04:00
Beat Küng bb3b11e87a battery.cpp: initialize _current_filtered_a 2017-07-18 12:54:28 +02:00
David Sidrane 8e8510f398 Added Power Brick related battery_status.msg fields
system_source - This battery status is for the brick that is
                   supplying VDD_5V_IN
   priority      - Zero based, This battery status is for the brick
                   that is connected to the Power controller's
                   N-1 priority input. V1..VN. 0 would normally be
                   Brick1, 1 for Brick2 etc

  Battery now assigns connected from the api in the
  updateBatteryStatus, as well as system_source and priority
2017-07-17 21:02:50 -10:00
Lorenz Meier 029c6de4a9 Battery estimator: Warn on dangerously low levels.
We need to differentiate between a level where the user should act and where we are about to fall out of the sky (emergency). This helps performing more suitable failsafe actions.
2017-02-27 09:03:20 +01:00
Daniel Agar e927f3e040 clang-tidy modernize-use-nullptr 2017-02-01 22:15:50 -05:00
Dennis Shtatnov 37641042cc Explicit internal battery resistance params 2016-11-19 14:55:52 +01:00
Dennis Shtatnov a634c14582 Scale throttle outputs by battery level. Fixes #4751 2016-11-19 14:55:52 +01:00
Lorenz Meier f3ee22b22c Battery lib: Set valid flag 2016-05-15 15:38:20 +02:00
sander 9a09c5af5c Add low pass filtered current draw 2016-05-10 21:34:11 +02:00
Lorenz Meier ebaca071f6 Battery charge estimation: Factor in voltage drop for idle props 2016-05-06 18:14:34 +02:00
Lorenz Meier bbd2b763a3 Fix battery charge level filter 2016-05-05 16:13:58 +02:00
Lorenz Meier 6de02c460a Battery estimation: Widen thresholds and filter more 2016-05-03 12:35:35 +02:00
Lorenz Meier 567364317a Fix formatting in battery 2016-04-29 11:16:41 +02:00
Lorenz Meier 1b133931a6 Battery charge estimation: Refactor the filtering strategy and move it to the backend, doing integration before and filtering the resulting charge estimate 2016-04-29 11:05:44 +02:00
Lorenz Meier 3345a586d2 Battery: Initialize lowpass value properly 2016-04-28 13:24:53 +02:00
Lorenz Meier a676af3d42 Battery: Deal with symmetric throttle 2016-04-28 13:05:44 +02:00
Lorenz Meier 3003ed8d40 Make battery failsafe limits configurable 2016-04-25 08:44:51 +02:00
Lorenz Meier 1ecfaff6ea Fix up power consumption estimation 2016-04-23 17:51:24 +02:00
Lorenz Meier b402cd9336 Battery: Fix code style 2016-04-23 15:51:44 +02:00
Lorenz Meier ba817c7e45 Battery handling: Make critical state accessible 2016-04-23 15:47:20 +02:00
Lorenz Meier 4b0f1a6fb1 Battery lib: Fix interfaces and params 2016-04-23 14:25:21 +02:00
Lorenz Meier c2f88c78b4 Fix battery current integration issue 2016-04-21 21:32:18 +02:00
Mark Whitehorn f097e118df assign timestamp 2016-04-19 21:19:44 +02:00
Julian Oes 4ddd1bbf03 battery: fix segfault
The name was set NULL which lead to a segfault on POSIX.
2016-04-11 18:01:47 +02:00
Julian Oes 1cc43a00d6 battery: astyle 2016-04-11 18:01:47 +02:00
Julian Oes 32c3135788 commander: move battery calculations to systemlib
The commander used to consume the battery_status topic and write the
contents after some calculations into the system state. Instead, the
calculations now happen in library calls in systemlib/battery.

This moves the battery fields out of the vehicle_status message into the
battery_status topic.

This brought quite some changes in all modules that need battery
information. The current state is compiling but untested.
2016-04-11 18:01:47 +02:00