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

В стандартной комплектации на робот установлена фронтальная камера. В настройках по умолчанию обработка камеры отключена с целью экономии ресурсов.

Подключить работу камеры необходимо в настройках файла turtlebro.launch или запустить командой

roslaunch turtlebro uvc_camera.launch

Для простого визуального наблюдения через камеру рекомендуется использовать uvc_camera

Пакет uvc_camera

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

Официальная документация пакета http://wiki.ros.org/uvc_camera

Пакет cv_camera

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

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

Конвертация из sensor_msgs/Image в формат OpenCV возможна через библиотеку http://wiki.ros.org/cv_bridge

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

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

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

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