Подглава 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. Итак, давайте сначала освоим концепции.
Last updated
Was this helpful?