6.4 Мониторинг батареи ноутбука
Last updated
Was this helpful?
Last updated
Was this helpful?
Was this helpful?
Если ваш робот содержит ноутбук на борту, то вы можете следить за состоянием батареи ноутбука и публиковать результат в массиве /diagnostics. Затем мы можем использовать эту информацию, чтобы узнать, когда аккумулятор находится в неисправном состоянии или компьютер нуждается в подзарядке.
К счастью для нас, люди в Willow Garage давным-давно создали узел для мониторинга батареи ноутбука Turtlebot с помощью системного файла /proc/acpi/battery/BAT1. Мы включили измененную версию этого сценария под названием laptop_battery.py и его можно найти в подкаталоге rbx2_bring up/nodes.
Если вы работаете на ноутбуке, когда читаете это, вы можете протестировать сценарий следующим образом:
$ roslaunch rbx2_bringup laptop_battery.launch
Файл запуска определяет скорость публикации диагностических данных (по умолчанию 1 Гц) и путь apci_path к файлу батареи (по умолчанию /proc/acpi/battery/BAT1). Предполагая, что файл запуска работает без ошибок, взгляните на данные, опубликованные в разделе /diagnostics:
$ rostopic echo /diagnostics | more
Вывод на экран должен выглядеть примерно так:
header:
seq: 21 stamp:
secs: 1395878798
nsecs: 494307994
frame_id: ''
status:
- level: 0
name: Laptop Battery
message: OK
hardware_id: ''
values:
-
key: Voltage (V)
value: 15.12
-
key: Current (A)
value: -19.232
-
key: Charge (Ah)
value: 27.412
-
key: Capacity (Ah)
value: 33.46
-
key: Design Capacity (Ah)
value: 46.472 --
-
Как вы можете видеть, узел батареи ноутбука публикует исходные значения напряжения, заряда и емкости в виде пар «ключ-значение». То, что не очевидно, пока вы внимательно не посмотрите на сценарий laptop_battery.py,который заключается в том, что общий уровень диагностики всегда будет равен 0 (т. е. ОК) до тех пор, пока батарея обнаружена и ее состояние было своевременно обновлено. Другими словами, опубликованный здесь статус не связан с зарядом батареи—он только отражает, присутствует ли батарея или нет, и может быть отслежен. Новый сценарий, подробно описанный в следующем разделе, опубликует диагностическое сообщение, основанное на самой зарядке.