battery plasmoid and remaining time..

Andrew Coles andrew_coles at
Tue May 19 13:44:22 CEST 2009

> 1) what methods of time estimation can we think of? (eg. the current one-point 

> method, averaging over X amount of time...)

Without being able to add sensors into the battery itself, what we are left with is a machine learning problem: predict, on the basis of what can be measured, the remaining battery life.  The two biggest influences on this are the remaining capacity, obviously, and the power draw - if we draw exactly double the current, the battery won't last exactly half as long.  Temperature is another influence, but I'll leave that for now.  With these measurements, we then need some sort of model on which to base our predictions.  This is where the learning comes in: battery models depend on what battery it is, how old it is, how it's been used etc. etc. We cannot possibly hope to guess what a reasonable battery model is, but we can approximate one over time.

One way to do this is to record an average figure of how long each % of battery life lasts, normalising for power draw.  We'd have a figure d for how long the % from 96 to 95 lasts, obtained over n discharge cycles, and every time we get a new figure c for this (on the current discharge cycle):

d' = (n*d + c) / n + 1

Then, to find remaining time - given the current power draw - sum these figures from the current charge to 0%, and adjust for power usage.

(Wrapped up in that is the assumption that we can 'normalise for power draw'.  That necessitates a separate model, using similar techniques: learn the relationship between the load and the discharge rate.)

So, doing this 'right' is non-trivial, which is probably part of the reason why it hasn't been done before.  It comes back to what Aaron was saying: there's so much going on, it's hard to be precise.  We could do a bit better than the current situation, providing estimated time remaining for current conditions, so at least reported time left adjusts for a USB toaster being plugged in.  We could also report how much time is left if the user cuts back on power usage.

It's still an open area of research, if you want to do a literature survey - without being able to put sensors into the battery, we're basically left with software models.  It's not something I have time to do myself, but I can put my Dr Coles hat on to field questions on the learning/prediction/AI side of things if someone else wants to work on this topic.



More information about the Plasma-devel mailing list