📚
ROS Robotics Projects
  • Титульная страница
  • Термины
  • Глава 1. Начало работы с разработкой приложений ROS Robotics
    • Подглава 1.1 Начало работы с ROS
      • Подглава 1.1.1 Дистрибутивы ROS
      • Подглава 1.1.2 Поддерживаемые операционные системы
      • Подглава 1.1.3 Роботы и датчики, поддерживаемые ROS
      • Подглава 1.1.4 Почему ROS?
    • Подглава 1.2 Основы ROS
      • Подглава 1.2.1 Уровень файловой системы
      • Подглава 1.2.2 Уровень графов вычислений
      • Подглава 1.2.3 Уровень сообщества ROS
      • Подглава 1.2.4 Общение в ROS
    • Подглава 1.3 Клиентские библиотеки ROS
    • Подглава 1.4 Инструменты ROS
      • Подглава 1.4.1 Rviz (Визуализатор ROS)
      • Подглава 1.4.2 rqt_plot
      • Подглава 1.4.3 rqt_graph
    • Подглава 1.5 Симуляторы ROS
    • Подглава 1.6 Установка ROS kinetic на Ubuntu 16.04 LTS
      • Подглава 1.6.1 Начало работы с установкой
        • Подглава 1.6.1.1 Настройка репозиториев Ubuntu
        • Подглава 1.6.1.2 Настройка source.list
        • Подглава 1.6.1.3 Настройка ключей
        • Подглава 1.6.1.4 Установка ROS
        • Подглава 1.6.1.5 Инициализация rosdep
        • Подглава 1.6.1.6 Настройка среды ROS
        • Подглава 1.6.1.7 Получение rosinstall
    • Подглава 1.7 Настройка ROS на VirtualBox
    • Подглава 1.8 Настройка рабочего пространства ROS
    • Подглава 1.9 Возможности для ROS в отраслях и исследованиях
    • Подглава 1.10 Вопросы
    • Подглава 1.11 Заключение
  • Глава 2. Обнаружение и отслеживание лиц с использованием ROS, OpenCV и Dynamixel Servos
    • Подглава 2.1 Обзор проекта
    • Подглава 2.2 Аппаратные и программные предпосылки
      • Подглава 2.2.1 Установка зависимых пакетов ROS
        • Подглава 2.2.1.1 Установка пакета usb_cam ROS
          • Подглава 2.2.1.1.1 Создание рабочей области ROS для зависимостей
    • Подглава 2.3 Взаимодействие Dynamixel с ROS
      • Подглава 2.3.1 Установка пакетов ROS dynamicixel_motor
    • Подглава 2.4 Создание ROS-пакетов для трекера лица
      • Подглава 2.4.1 Интерфейс между ROS и OpenCV
    • Подглава 2.5 Работа с ROS-пакетом для отслеживания лиц
      • Подглава 2.5.1 Понимание кода трекера лица
      • Подглава 2.5.2 Понимание CMakeLists.txt
      • Подглава 2.5.3 Файл track.yaml
      • Подглава 2.5.4 Файлы запуска
      • Подглава 2.5.5 Запуск узла отслеживания лица
      • Подглава 2.5.6Пакет face_tracker_control
        • Подглава 2.5.6.1 Файл запуска start_dynamixel
        • Подглава 2.5.6.2 Файл запуска контроллера панорамирования
      • Подглава 2.5.7 Файл конфигурации контроллера панорамирования
      • Подглава 2.5.8 Файл конфигурации параметров сервосистемы
      • Подглава 2.5.9 Узел контроллера трекера лица
      • Подглава 2.5.10 Создание CMakeLists.txt
      • Подглава 2.5.11 Тестирование пакета управления трекером лица
      • Подглава 2.5.12 Соединение всех узлов вместе
      • Подглава 2.5.13 Закрепление кронштейна и настройка цепи
      • Подглава 2.5.14 Финальный запуск
    • Подглава 2.6 Вопросы
    • Подглава 2.7 Заключение
Powered by GitBook
On this page

Was this helpful?

  1. Глава 2. Обнаружение и отслеживание лиц с использованием ROS, OpenCV и Dynamixel Servos

Подглава 2.4 Создание ROS-пакетов для трекера лица

Давайте начнем создавать новое рабочее пространство для хранения всех файлов проекта ROS для этой книги. Вы можете назвать рабочую область ros_robotics_projects_ws.

Загрузите или клонируйте исходный код книги с GitHub, используя следующую ссылку.

$ git clone https://github.com/qboticslabs/ros_robotics_projects

Теперь вы можете скопировать два пакета с именем face_tracker_pkg,а также face_tracker_control из chapter_2_codes папки в src папку из ros_robotics_projects_ws,

Сделать catkin_make построить два пакета проекта!

Да, вы настроили пакеты отслеживания лица в своей системе, но что, если вы хотите создать свой собственный пакет для отслеживания? Сначала удалите текущие пакеты, которые вы скопировали в папку src, и используйте следующие команды для создания пакетов.

Обратите внимание, что вы должны быть в src-папке из ros_robotics_projects_ws при создании новых пакетов, и не должно быть никаких доступных пакетов из кода GitHub.

Перейдите в папку src:

$ cd ~/ros_robotics_projects_ws/src

Следующая команда создаст face_tracker_pkg ROS-пакет с основными зависимостями, такими как cv_bridge, image_transport, sensor_msgs, message_generation, а также message_runtime,

Мы включаем эти пакеты, потому что они необходимы для правильной работы пакета отслеживания лица. Пакет отслеживания лица содержит ROS-узлы для обнаружения лиц и определения центроида лица:

$ catkin_create_pkg face_tracker_pkg roscpp rospy cv_bridge image_transport sensor_msgs std_msgs message_runtime message_generation

Далее нам нужно создать ROS-пакет face_tracker_control. Важной зависимостью этого пакета является dynamicixel_controllers. Этот пакет используется для подписки на центроид от узла отслеживания лица и управления Dynamixel таким образом, чтобы центроид лица всегда был в центральной части изображения:

$ catkin_create_pkg face_tracker_pkg roscpp rospy std_msgs dynamicixel_controllers message_generation

Хорошо, вы создали пакеты ROS самостоятельно. Что дальше? Прежде чем приступить к написанию кода, вам, возможно, придется понять некоторые концепции OpenCV и его интерфейса с ROS. Кроме того, вы должны знать, как публиковать сообщения с изображениями ROS. Итак, давайте сначала освоим концепции.

PreviousПодглава 2.3.1 Установка пакетов ROS dynamicixel_motorNextПодглава 2.4.1 Интерфейс между ROS и OpenCV

Last updated 5 years ago

Was this helpful?