TurtleBro Инструкция
  • Инструкция робота TurtleBro
  • Обновление ROS2
  • Безопасность
  • Полезные ссылки
  • Обновление платформы
  • Обновление колесной базы
  • Первое включение и настройка робота
    • Сборка робота
    • Подключение робота к Сети
    • Подключение по SSH к роботу
    • Подключение к ROS на роботе
    • Веб-интерфейс
    • Выключение робота
  • Администрирование ROS
    • Raspberry Pi
    • Сервисы TurtleBro
    • Сборка пакетов ROS
  • Пакет turtlebro
    • Описание
    • Установка и обновление пакетов
    • Параметры и настройка через launch
    • Работа с лидаром
    • Работа с камерой
    • Работа с камерой (v0.10)
  • Платформа TurtleBoard
    • Системная плата
    • Обновление микропрограммы
      • Обновление микропрограммы с помощью USB-UART переходника
      • Обновление микропрограммы с помощью программатора ST-LINK V2
  • Плата TurtleBoard
    • Доступные топики
    • Доступные cервисы
    • Работа с Arduino
Powered by GitBook
On this page
  • Пакет uvc_camera
  • Пакет cv_camera
  • Работа с камерой через OpenCV
Export as PDF
  1. Пакет turtlebro

Работа с камерой

PreviousРабота с лидаромNextРабота с камерой (v0.10)

Last updated 3 years ago

При включении робота автоматический стартует вещание видео необходимое для работы web интерфейса. Для этого используется launch файл camera_stream.launch, который запускает ROS ноду mjpg_camera

Web интерфейс для просмотра видео и управления роботом доступен на URL http://192.168.0.100:8080 где 192.168.0.100 IP вашего робота. Данный способ работы с камерой не создает ROS топика с данными камеры. Но его удобно использовать для работы с камерой в браузере, без дополнительных настроек.

Работа с камерой через ROS

Если вам необходимо получить данные из камеры в ROS, то вам необходимо поменять запускаемый launch файл для работы с пакетом uvc_camera.

Для запуска ноды uvc_camera необходимо использовать файл camera_ros.launch

Две ноды не могут одновременно работать с камерой, поэтому необходимо переконфигурировать файл запуска /etc/ros/turtlebro.d/turtlebro.launch в части:

<arg name="run_turtlebro_web" default="true"/>
<arg name="run_camera_ros" default="false"/>

Выключить веб интерфейс run_turtlebro_web и включить run_camera_ros

Пакет uvc_camera

Пакет публикует сжатые данные sensor_msgs/CompressedImage в топик front_camera/compressed

Официальная документация пакета

Пакет cv_camera

Данный пакет работает с камерой через библиотеку ОpenCV, может работать как в режиме node , так и вnodelet

Конфигурация в файле camera_cv.launch данные в формате sensor_msgs/Image в топик front_camera/image_raw Данные передаются в RAW формате (без компрессии), что удобно для дальнейшей программной обработки.

Работа с камерой через OpenCV

На роботе установлена библиотека OpenCV, поэтому с камерой можно работать напрямую, подключившись к камере "стандартной" для opencv функцией вида cap = cv2.VideoCapture(0)

Далее производить с видео все необходимые манипуляции, и после этого, при необходимости, публиковать видео в топики.

Конвертация из sensor_msgs/Image в формат OpenCV возможна через библиотеку

Пример программы на pytnon, которая, используя opencv , следит за цветным мячиком и управляет роботом:

http://wiki.ros.org/uvc_camera
http://wiki.ros.org/cv_bridge
ball_tracking.py