🔋sensor_driver
Назначение: Пакет sensor_driver
позволяет взаимодействовать с датчиком тока INA219
Содержание пакета
sensor_driver/
├── CMakeLists.txt
├── package.xml
├── setup.py
├── launch/
│ └── sensor_driver.launch
├── config/
│ └── sensor_driver.yaml
├── scripts/
│ └── main.py
│ └── sensor_driver_dependencies/
│ └── INA219.py
└── examples/
└── example_subscriber.py
Запуск пакета
Пакет
sensor_driver
запускается автоматически при старте устройства.Запуск инициируется через launch-файл
robohead_controller_py.launch
из пакетаrobohead_controller
.
Основные возможности
Пакет sensor_driver
взаимодействует с датчиком INA219 и публикует данные состояние батареи единым сообщением:
Топик:
/robohead_controller/sensor_driver/bat
Сообщение:
sensor_msgs/BatteryState
Поля сообщения:
voltage
Напряжение на батарее, в вольтах
current
Ток через батарею (>0 при зарядке, <0 при разрядке), в амперах
Режим отладки
В режиме отладки пакет sensor_driver
запускается изолированно (отдельно) для тестирования функций, без участия других компонентов системы.
Шаг 1. Остановка всех запущенных пакетов
Остановите фоновый Linux-сервис:
sudo systemctl stop robohead.service
Шаг 2. Запуск пакета вручную
Запустите пакет отдельно через launch-файл:
roslaunch sensor_driver sensor_driver.launch
Шаг 3. Особенности работы в режиме отладки
Пространство имен: топик пакета не имеет приставки
/robohead_controller/
. Используется/sensor_driver/bat
вместо/robohead_controller/sensor_driver/bat
Файл конфигурации: настройки берутся из
sensor_driver/config/sensor_driver.yaml
вместоrobohead_controller/config/sensor_driver.yaml
Шаг 4. Возможности тестирования
Пример работы с топиком на Python
Команда для запуска примера с использованием пакета sensor_driver
на Python, в котором на экран будут выводиться текущее напряжение и ток аккумулятора в течение 5 секунд:
# Запустите в отдельном терминале
rosrun sensor_driver example_subscriber.py
Last updated