Программное обеспечение мехатронных и робототехнических систем. ПОМРС1. Лабораторная работа 1 Установка среды ros и навигация в её файловой системе
Скачать 3.11 Mb.
|
/catkin_ws/Лабораторная работа №1 Установка среды ROS и навигация в её файловой системе. Цель лабораторной работы: установить на персональный компьютер среду ROS. Изучить файловую структуру ROS и освоить команды для навигации в ней Задание к работе: К работе допущен: Расчет выполнил: Работу защитил: Теоретическая часть ROS (Robot Operating System) — Операционная система для роботов — это экосистема для программирования роботов, предоставляющая функциональность для распределённой работы. Для работы в системе ROS в рамках лабораторного практикума она устанавливается на операционную систему Ubuntu Linux, запущенную на виртуальной машине. После установки рабочей среды ROS её надо настроить. Настройка осуществляется через терминал операционной системы Linux. Команда printenv | grep ROS вывод на экран переменные окружения ROS. Например, среди них есть переменная ROS_PACKAGE_PATH, в которой хранится путь к рабочей директории ROS. Для того, чтобы было возможно исполнять команды ROS в терминале нужно запустить файл setup.bash, находящийся по пути source /opt/ros/ Для создания рабочего пространства в среде ROS используются команды: mkdir -p $ catkin_make Эти команды создают в домашней директории операционной сети папки рабочего пространства и компилируют в них пакеты, нужные для работы ROS. Файловая система ROS состоит из пакетов и манифестов. Пакеты являются программной единицей организации кода ROS. Каждый пакет может содержать библиотеки, исполняемые файлы, сценарии или другие артефакты. Манифест — это описание пакета. Он служит для определения зависимостей между пакетами и для сбора метаинформации о пакете, такой как версия, сопровождающий, лицензия и т. д. Код распространяется по многим пакетам ROS. Навигация с помощью инструментов командной строки, таких как ls и cd, может быть очень утомительной, поэтому ROS предоставляет инструменты, которые помогут в работе. Это команды rosls и roscd, которые работают также, как и схожие системные команды Linux, но, в отличии от них, не требуют полного написания пути к папке или файлу. Команда rospack позволяет получать информацию о пакетах. В этом уроке мы рассмотрим только опцию find, которая возвращает путь к пакету. Практическая часть Настройка рабочего окружения 1.Для начала работы в консоли необходимо выполнить команду source (рисунок 1) чтобы команды ROS нашего рабочего окружения работали. Рисунок 1 – Доступ к командам ROS 2.Для того чтобы убедиться правильно ли работает наша среда мы проверяем установлены ли переменные среды, такие как ROS_ROOT и ROS_PACKAGE_PATH , с помощью команды printenv |grep ROS(рисунок 2) Рисунок 2 – Переменные среды ROS 3. Для создания рабочего пространства мы создадим в домашней директории папку catkin_ws с подпапкой src (рисунок 3) Рисунок 3 – Создание рабочего пространства Переходим в созданную директорию (рисунок 4) Рисунок 4 – Созданная директория Инициализируем рабочее пространство (рисунок 5) Рисунок 5 – Результат инициализации В результате работы создаётся файл CMakeLists.txt в нашей папке src. Инициализация созданного рабочего пространства (рисунок 6) Рисунок 6 – Инициализация рабочего пространства Для проверки правильности установки убеждаемся, что переменная среда ROS_PACAGE_PATH включает каталог, в котором мы находимся (рисунок 7) Рисунок 7 – Проверка настройки Настройка произведена корректно – есть указание на рабочую директорию. Таким образом мы можем выполнять дальнейшую работу в среде ROS. Навигация по файловой системе ROS. 1.Для дальнейшей работы устанавливаем пакет ros-tutorials (рисунок 8). Рисунок 8 – Установка пакета ros-tutorials 2. Rospack find – позволяет получать информацию о пакетах (рисунок 9). Рисунок 9 – Путь к пакету Команда выдала путь, по которому находится пакет roscpp 3. Roscd является частью пакета rosbash. Это позволяет нам быстро указать путь до пакета. (рисунок 10). Рисунок 10 – Путь до пакета Текущая директория поменялась на путь, по которому находится путь roscpp. С помощью этой команды можно перейти не только в пакет, но и в подпапку, находящуюся в этом пакете (рисунок 11). Рисунок 11 – Путь до папки 4.Команда roscd log приведёт нас к папке, в которой ROS хранит файлы (рисунок 12). Рисунок 12 – Путь к папке с файлами Обращаю внимание на то что программа выдала строку No active roscore. Это говорит о том, что мы ещё не запускали какие-либо программы ROS и что они не существуют. 5. Rosls является частью пакета rosbash. Это позволяет нам выполнять непосредственно в пакете по имени, а не по абсолютному пути. (рисунок 13) Рисунок 13 – Список объектов Команда вывела в командное окно список объектов, папок и файлов, которые находятся в пакете roscpp_tutorials. 6. Вводить полное имя пакета может быть утомительно. В предыдущем примере roscpp_tutorials — довольно длинное имя. К счастью, некоторые инструменты ROS поддерживают завершение TAB. (рисунок 14). Рисунок 14 – Незаконченная команда Нажимаем TAB (рисунок 15) Рисунок 15 – Законченная команда Двойное нажатие TAB выводит на экран список всех возможных дополнений команды. Заключение В ходе данной лабораторной работы мы установили и настроили рабочее окружение среды. Были изучены основные команды: rospack, roscd, rosls. |