PR2 / pr2_power_drivers

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

power monitor only publishes to power_state topic once every 30-40 seconds (ros ticket #3729) #32

Closed ahendrix closed 11 years ago

ahendrix commented 11 years ago

It tries to publish at 10 hz, but most of the time only gets here:

Node: /power_monitor Time: 1264457298.637042000 Severity: Debug Location: /u/wim/ros/pkgs/pr2_power_drivers/power_monitor/src/power_monitor.cpp:PowerMonitor::publishPowerState:213 Published Topics: /rosout, /power_monitor/parameter_descriptions, /power_monitor/parameter_updates, /power_state

Nothing observed

trac data:

ahendrix commented 11 years ago

[cmeyers] Tim add all that fancy stuff... looking at it I would guess that either you have batteries that are not reporting their voltage and currents or you haven't waited long enough for the nodes to accumulate enough battery information to fill out all these fields.

Can you tell us how you where running this, what the circumstances are, what robot and how we might reproduce it.....I am not a mind reader.

ahendrix commented 11 years ago

[tfield] "Nothing observed" from power_monitor means that it hasn't received any BatteryServer2 messages from ocean_battery_driver (should be on the /battery/server2 topic.)

Do you see anything with "rostopic echo /battery/server2"?

ahendrix commented 11 years ago

[wim] Yes, there are messages coming in on the /battery/server2 topic at 1 Hz.

{{{ header: seq: 134 stamp: 1264526362847595000 frame_id: id: 3 last_system_update: 1264526362847594000 time_left: 599940000000000 average_charge: 99 message: last_controller_update: 1264526357345964000 battery: [ present: True charging: False discharging: False power_present: True power_no_good: False inhibited: False last_battery_update: 1264526357409961000 battery_register: [0, 660, 10, 0, 0, 0, 0, 0, 3041, 16720, 0, 0, 2, 100, 94, 6227, 6416, -1, -1, -1, 0, 16800, 224, 8, 6600, 14400, 16, 15069, 19690, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] battery_update_flag: [False, True, True, True, False, False, False, False, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False] battery_register_update: [rostime.Time[0], rostime.Time[1264526317507602000], rostime.Time[1264526317507602000], rostime.Time[1264526317507602000], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[1264526317507602000], rostime.Time[1264526317507603000], rostime.Time[1264526357409962000], rostime.Time[1264526317507603000], rostime.Time[1264526317635603000], rostime.Time[1264526317635604000], rostime.Time[1264526317635604000], rostime.Time[1264526317635604000], rostime.Time[1264526317635604000], rostime.Time[1264526317635604000], rostime.Time[1264526317635604000], rostime.Time[1264526317763481000], rostime.Time[1264526317763481000], rostime.Time[1264526317763482000], rostime.Time[1264526317763482000], rostime.Time[1264526317763482000], rostime.Time[1264526317763482000], rostime.Time[1264526317763482000], rostime.Time[1264526317859472000], rostime.Time[1264526317859472000], rostime.Time[1264526317859472000], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0]], present: True charging: False discharging: False power_present: True power_no_good: False inhibited: False last_battery_update: 1264526357729834000 battery_register: [0, 660, 10, 0, 0, 0, 0, 0, 3048, 16734, 0, 0, 5, 100, 93, 6161, 6522, -1, -1, -1, 0, 16800, 224, 8, 6600, 14400, 16, 15069, 19874, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] battery_update_flag: [False, True, True, True, False, False, False, False, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False] battery_register_update: [rostime.Time[0], rostime.Time[1264526318259230000], rostime.Time[1264526318259230000], rostime.Time[1264526318259230000], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[1264526318259231000], rostime.Time[1264526318259231000], rostime.Time[1264526357729835000], rostime.Time[1264526318259231000], rostime.Time[1264526318387230000], rostime.Time[1264526318387231000], rostime.Time[1264526318387231000], rostime.Time[1264526318387231000], rostime.Time[1264526318387231000], rostime.Time[1264526318387231000], rostime.Time[1264526318387232000], rostime.Time[1264526318531102000], rostime.Time[1264526318531102000], rostime.Time[1264526318531102000], rostime.Time[1264526318531102000], rostime.Time[1264526318531102000], rostime.Time[1264526318531103000], rostime.Time[1264526318531103000], rostime.Time[1264526318611098000], rostime.Time[1264526318611098000], rostime.Time[1264526318611098000], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0]], present: True charging: False discharging: False power_present: True power_no_good: False inhibited: False last_battery_update: 1264526357809838000 battery_register: [0, 660, 10, 0, 0, 0, 0, 0, 3055, 16717, 0, 0, 2, 99, 96, 6352, 6551, -1, -1, -1, 0, 16800, 224, 8, 6600, 14400, 16, 15069, 19664, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] battery_update_flag: [False, True, True, True, False, False, False, False, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False] battery_register_update: [rostime.Time[0], rostime.Time[1264526318994978000], rostime.Time[1264526318994978000], rostime.Time[1264526318994979000], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[1264526318994979000], rostime.Time[1264526318994979000], rostime.Time[1264526357809839000], rostime.Time[1264526318994979000], rostime.Time[1264526319122982000], rostime.Time[1264526319122982000], rostime.Time[1264526319122982000], rostime.Time[1264526319122982000], rostime.Time[1264526319122982000], rostime.Time[1264526319122982000], rostime.Time[1264526319122983000], rostime.Time[1264526319250854000], rostime.Time[1264526319250854000], rostime.Time[1264526319250855000], rostime.Time[1264526319250855000], rostime.Time[1264526319250855000], rostime.Time[1264526319250855000], rostime.Time[1264526319250855000], rostime.Time[1264526319330848000], rostime.Time[1264526319330849000], rostime.Time[1264526319330849000], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0]], present: True charging: False discharging: False power_present: True power_no_good: False inhibited: False last_battery_update: 1264526357905712000 battery_register: [0, 660, 10, 0, 0, 0, 0, 0, 3065, 16710, 0, 0, 3, 98, 94, 6263, 6526, -1, -1, -1, 0, 16800, 224, 8, 6600, 14400, 16, 15069, 20070, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0] battery_update_flag: [False, True, True, True, False, False, False, False, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, True, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False] battery_register_update: [rostime.Time[0], rostime.Time[1264526319730607000], rostime.Time[1264526319730607000], rostime.Time[1264526319730608000], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[1264526319730608000], rostime.Time[1264526319730608000], rostime.Time[1264526357905712000], rostime.Time[1264526319730608000], rostime.Time[1264526319842625000], rostime.Time[1264526319842625000], rostime.Time[1264526319842625000], rostime.Time[1264526319842625000], rostime.Time[1264526319842626000], rostime.Time[1264526319842626000], rostime.Time[1264526319842626000], rostime.Time[1264526319986481000], rostime.Time[1264526319986481000], rostime.Time[1264526319986481000], rostime.Time[1264526319986481000], rostime.Time[1264526319986482000], rostime.Time[1264526319986482000], rostime.Time[1264526319986482000], rostime.Time[1264526320066474000], rostime.Time[1264526320066474000], rostime.Time[1264526320066474000], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0], rostime.Time[0]]] }}}

ahendrix commented 11 years ago

[wim] This seems very easy to reproduce. Just bring up any of the beta robots with the latest svn.

ahendrix commented 11 years ago

[tfield] OK, this was due to a recent change to (incorrectly) discard battery observations with current=0 (which happens whenever the robot is plugged in).

Not sure where you're seeing a publish rate of 10Hz? The default for the frequency parameter is 0.1.

Fixed in trunk on r30072. I need to release pr2_power_drivers with this update.

ahendrix commented 11 years ago

[tfield] pr2_power_drivers 1.0.1 released with this fix.

ahendrix commented 11 years ago

[wim] Great! Tested on prh and works as expected.