Пакет 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