PR2 / pr2_power_drivers

Power drivers for the PR2 robot.
2 stars 9 forks source link

power_monitor reports battery charge level at 13% after 45 minutes plugged in (ros ticket #4310) #46

Closed ahendrix closed 11 years ago

ahendrix commented 11 years ago

On pr1013, the power_monitor reports a change level of 13%, even though the robot has been plugged in for almost 45 minutes. The IBPS battery levels report ~90% for IBPS 0 and 1, and ~54% for IBPS 2 and 3.

I'm not sure what the difference in IBPS levels is either.

trac data:

ahendrix commented 11 years ago

[watts] Sorry, I'm not sure why the IBPS devices are reading such different values.

ahendrix commented 11 years ago

[tfield] Curt - any idea why batteries 2.3, 2.4, 3.3 and 3.4 are reporting such a low capacity?

This data is published in pr2_msgs/BatteryState2.battery[x].battery_register[0x0F].

ahendrix commented 11 years ago

[watts] I'm moving the pr1013 problems to a different trac.

Tim, is there anything the power monitor can do here? Does it make sense to warn for wide variations of battery charge or something? Why does it use the low value for the power estimate?

If there's no action on power_monitor, just "wontfix" this.

ahendrix commented 11 years ago

[tfield] My understanding was that power is shut off once the minimum voltage over each battery crossed a threshold. If there's no cell balancing then isn't the power estimate correct?

You're right - we should definitely be warning about such wide variations. If you tell me what the bounds on that variation should be, I'll update power_monitor to output a warning message.

ahendrix commented 11 years ago

[cmeyers] I can't tell by the posted image if those weak batteries are charging, need to see the individual battery currents.

My guess is that the 4 low batteries held off on charging if they are indeed charging because of a temperature problem or they where so low that they had to first start with a slow trickle charge before they ramp up.

A battery charging at full rate will be at 2A current, sometimes even higher if it's pair is not charging.

ahendrix commented 11 years ago

[watts] If you check the "power_no_good" field of the battery state, that should do it. If this field is enabled, the batteries are hosed. I'm not sure what the proper "power level" should be in this state. Maybe it can warn/error every 10 seconds that it can't calculate a charge estimate?

We're looking for this in the diagnostics, so users will see an error there.

ahendrix commented 11 years ago

[watts] Since we're reporting this in the diagnostics, it's not critical that the power_monitor do anything. It should probably report an error or modify the estimate if it sees a "No Good" value.

ahendrix commented 11 years ago

[tfield] I don't understand how the power system behaves when batteries are reporting "No Good." I guess the IBPS is clever enough to not drain them, so a crude adjustment would be to multiply the charge remaining estimate by the fraction of good to total batteries, i.e. in this case 4/16 were bad, so we'd multiply the estimate by 0.75.

I'm inclined to say let's not bother. As you say, this'll show up in the diagnostics logs.

I will, however, make power_monitor report an error if it sees any bad batteries whenever it estimates the remaining charge.

ahendrix commented 11 years ago

[watts] That works. If the battery reports "No Good", any estimate is bogus.

ahendrix commented 11 years ago

[tfield] Being reported in diagnostics - nothing power_monitor can do here.