📚
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. Глава 1. Начало работы с разработкой приложений ROS Robotics
  2. Подглава 1.1 Начало работы с ROS

Подглава 1.1.4 Почему ROS?

Основная цель создания инфраструктуры ROS, - стать общей программной средой для роботов. Несмотря на то, что до ROS проводились исследования в области робототехники, большая часть программного обеспечения была эксклюзивной для их собственных роботов. Их программное обеспечение может быть с открытым исходным кодом, но его очень сложно использовать повторно.

По сравнению с существующими роботизированными средами, ROS превосходит их по следующим аспектам:

  • Совместная разработка: как мы уже говорили, ROS является открытым исходным кодом и может свободно использоваться для отраслей промышленности и научных исследований. Разработчики могут расширить функциональные возможности ROS, добавив пакеты. Почти все пакеты ROS работают на уровне аппаратной абстракции, поэтому его можно легко использовать для других роботов. Значит, если один университет хорош в мобильной навигации, а другой - в роботизированных манипуляторах, они могут внести свой вклад в сообщество ROS, а другие разработчики могут повторно использовать свои пакеты и создавать новые приложения.

  • Поддержка языков: Коммуникационная структура ROS может быть легко реализована на любом современном языке. Он уже поддерживает популярные языки, такие как C ++, Python и Lisp, и имеет экспериментальные библиотеки для Java и Lua.

  • Интеграция библиотек: ROS имеет интерфейс для многих сторонних робототехнических библиотек, таких как Open Source Computer Vision (Open-CV), Point Cloud Library (PCL), Open-NI, Open-Rave и Orocos. Разработчики могут работать с любой из этих библиотек без особых хлопот.

  • Интеграция с симуляторами: ROS также имеет связи с симуляторами с открытым исходным кодом, такими как Gazebo, и имеет хороший интерфейс с проприетарными симуляторами, такими как Webots и V-REP.

  • Тестирование кода: ROS предлагает встроенную среду тестирования, которая называется rostest, для проверки качества кода и ошибок.

  • Масштабируемость: Платформа ROS разработана для масштабирования. Мы можем выполнять сложные вычислительные задачи с роботами, используя ROS, которые могут быть размещены либо в облаке, либо в гетерогенных кластерах.

  • Настраиваемость: как мы уже говорили, ROS является полностью открытым исходным кодом и бесплатен, поэтому можно настроить эту среду в соответствии с требованиями робота. Если мы хотим работать только с платформой обмена сообщениями ROS, мы можем удалить все остальные компоненты и использовать только это. Можно даже настроить ROS для конкретного робота для лучшей производительности.

  • Сообщество: ROS — это проект, управляемый сообществом, и в основном его возглавляет OSRF. Поддержка большого сообщества - большой плюс для ROS, и можно легко начать разработку приложений для робототехники.

Здесь приведены URL-адреса библиотек и симуляторов, интегрированных с ROS:

  • Open-CV: http://wiki.ros.org/vision_opencv

  • PCL: http://wiki.ros.org/pcl_ros

  • Open-NI: http://wiki.ros.org/openni_launch

  • Open-Rave: http://openrave.org/

  • Orocos: http://www.orocos.org/

  • Webots: https://www.cyberbotics.com/overview

  • V-REP: http://www.coppeliarobotics.com/

Давайте рассмотрим некоторые основные концепции ROS; они могут помочь вам начать работу с проектами ROS.

PreviousПодглава 1.1.3 Роботы и датчики, поддерживаемые ROSNextПодглава 1.2 Основы ROS

Last updated 5 years ago

Was this helpful?