24
1 Воробьев В.В., Моисеев А.И., Ровбо М.А. 22.08.2014/22.10.2017 Установка ROS Рабочий отчет RWR-2014-05-02.4 Содержание ROS Kinetic .................................................................................................................................... 2 Установка системы.................................................................................................................... 2 Создание рабочего окружения ................................................................................................. 3 Написание первой программы под ROS ................................................................................. 4 Примеры взаимодействующих программ ............................................................................... 9 Приложение 1. Основные понятия ROS ................................................................................... 11 Приложение 2. Создание загрузочной флешки USB под Windows ....................................... 12 Приложение 3. Установка Kubuntu ........................................................................................... 14 Установка с многими ОС........................................................................................................ 15 Установка одной ОС ............................................................................................................... 17 Приложение 4. Импорт пакета ROS в среду разработки QtCreator........................................ 19 Приложение 5. ROS Hydro и Indigo ........................................................................................... 21 Установка ROS Hydro ............................................................................................................. 21 Установка ROS Indigo ............................................................................................................. 23 Источники .................................................................................................................................... 24

Установка ROS - RoboFob · 2017-10-22 · 6 opencv_core) Шаг 4. Создайте указанные в параметрах add_executable() файлы с вашей программой

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

1

Воробьев В.В., Моисеев А.И., Ровбо М.А.

22.08.2014/22.10.2017

Установка ROS

Рабочий отчет RWR-2014-05-02.4

Содержание

ROS Kinetic .................................................................................................................................... 2

Установка системы .................................................................................................................... 2

Создание рабочего окружения ................................................................................................. 3

Написание первой программы под ROS ................................................................................. 4

Примеры взаимодействующих программ ............................................................................... 9

Приложение 1. Основные понятия ROS ................................................................................... 11

Приложение 2. Создание загрузочной флешки USB под Windows ....................................... 12

Приложение 3. Установка Kubuntu ........................................................................................... 14

Установка с многими ОС........................................................................................................ 15

Установка одной ОС ............................................................................................................... 17

Приложение 4. Импорт пакета ROS в среду разработки QtCreator ........................................ 19

Приложение 5. ROS Hydro и Indigo ........................................................................................... 21

Установка ROS Hydro ............................................................................................................. 21

Установка ROS Indigo ............................................................................................................. 23

Источники .................................................................................................................................... 24

2

ROS Kinetic

ROS Kinetic Kame на 2017 год является версией, которая будет поддерживаться

наибольшее время (до 2021 года). Она также позволяет, в отличие от ROS Indigo,

пользоваться новыми версиями пакетов, в частности, симулятором Gazebo версии 7.0.

В Kinetic используется OpenCV версии 3.2, в то время как в Indigo

распространённой была версия 3.0 и 2.*. Это вызывает проблемы компиляции у пакетов,

написанных под устаревшую версию OpenCV: сменился API, поэтому части функций

необходимо найти аналог или изменить логику программ, для других достаточно

поменять синтаксис обращения к ним. Некоторые пакеты также устарели и не

присутствуют в этой версии ROS, например, пакет keyboard.

Поскольку многие версии программ и библиотек изменились, то, помимо проверки

возможности сборки, необходимо также следить за поведением программ в работе: оно

могло поменяться как в лучшую сторону, так и обрасти новыми багами.

Тем не менее, переход с Indigo на более новую версию был необходим, т.к.

поддержка (а значит и выпуск патчей, расширение функционала и прочее) у него

заканчивается в 2019 году. Ограничения версии Gazebo 4.0, совместимой с Indigo, также

слишком заметны, в том числе его менее совершенный графический интерфейс.

Установка системы

Инструкция проверялась для конфигурации:

виртуализация VirtualBox (версия VirtualBox Graphical User Interface Version

5.0.40_Ubuntu r115130)

хост ОС Kubuntu 16.04.3 LTS (Xenial)

гостевая ОС Kubuntu 16.04.3 LTS (Xenial)

Оригинальный источник: http://wiki.ros.org/kinetic/Installation/Ubuntu

Шаги установки:

Шаг 1. Добавление репозитория ROS:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc)

main" > /etc/apt/sources.list.d/ros-latest.list'

Шаг 2. Добавление ключа:

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key

421C365BD9FF1F717815A3895523BAEEB01FA116

3

Шаг 3. Обновление списка доступных для загрузки пакетов:

sudo apt-get update

Шаг 4. Установка полной версии пакетов (длительная процедура):

sudo apt-get install ros-kinetic-desktop-full

Шаг 6. Инициализация системы контроля зависимостей rosdep:

sudo rosdep init

rosdep update

Шаг 7. Установка дополнительных утилит (рекомендуется) :

sudo apt-get install python-rosinstall python-rosinstall-generator python-

wstool build-essential

После установки. Установка завершена. Как правило, после этого стоит

выполнить

source /opt/ros/kinetic/setup.bash

и создать новое рабочее окружение, а также добавить его в .bashrc (см. раздел «Создание

рабочего окружения»).

Создание рабочего окружения

Для размещения собственных проектов рекомендуется создавать отдельное рабочее

пространство. Это позволяет не пересекаться с рабочим пространством, установленным из

бинарных пакетов.

Шаг 1. В командной оболочке перейдите в директорию, в которой хотите разместить свое

рабочее окружение. Убедитесь в том, что у вас достаточно прав для работы с этой

директорией.

Шаг 2. Создайте корневую директорию рабочего окружения (она может иметь любое имя,

в данном случае это my_ros_workspace), а затем внутри нее директорию с

названием src. Это действие можно выполнить одной командой:

mkdir -p my_ros_workspace/src

Шаг 3. Перейдите в свежесозданную директорию и инициализируйте рабочее

пространство:

cd my_ros_workspace/src

4

catkin_init_workspace

Шаг 4. После этого рабочее окружение можно собрать, вернувшись в его корень (в

данном случае – в директорию my_ros_workspace):

cd ..

catkin_make

Шаг 5. После сборки в директории появятся каталоги build и devel. Директория devel

содержит файл setup.bash, назначение и принцип использования которого

аналогичны файлу, описанному в п. 7 «Установка ROS» (см. выше):

source devel/setup.bash

Как и в прошлом случае, для автоматической регистрации окружения в командной

оболочке, необходимо добавить обработку этого файла в конец .bashrc. Путь до

setup.bash должен быть абсолютным (в последнем примере он является относительным к

рабочем каталогу my_ros_workspace):

echo "source <путь до рабочего

окружения>/my_ros_workspace/devel/setup.bash" >> ~/.bashrc

Например:

echo "source ~/my_ros_workspace/devel/setup.bash" >> ~/.bashrc

Написание первой программы под ROS

Шаг 1. Перейдите в созданную на прошлом этапе директорию рабочего окружения:

cd my_ros_workspace/src

Шаг 2. Запустите утилиту создания проекта с указанием названия пакета и списком

зависимостей. Для проекта на языке C++ стоит указать в зависимостях

библиотеку roscpp, реализующую взаимодействие с другими процессами по

протоколам ROS, а также std_msgs для передачи базовых типов данных:

catkin_create_pkg my_package roscpp std_msgs

В созданной директории (зайти в my_package: cd my_package) будут находиться

файлы package.xml и CMakeLists.txt. (не путать с CMakeLists.txt, который расположен в

корне рабочего пространства). Параметры пакета изменяются через них.

robolab@robolab-desktop:~/my_ros/src$ catkin_create_pkg my_package roscpp std_msgs

5

Created file my_package/package.xml

Created file my_package/CMakeLists.txt

Created folder my_package/include/my_package

Created folder my_package/src

Successfully created files in /home/robolab/my_ros/src/my_package. Please adjust the values in

package.xml.

robolab@robolab-desktop:~/my_ros/src$ ls

CMakeLists.txt my_package

robolab@robolab-desktop:~/my_ros/src$ cd my_package

robolab@robolab-desktop:~/my_ros/src/my_package$ ls

CMakeLists.txt include package.xml src

Шаг 3. В файле package.xml напишите небольшое описание того, что пакет должен

делать. Описание располагается внутри тега <description>.

Редактируем файл package.xml с помощью текстового редактора, например, с

помощью vim:

vim package.xml

В файле CMakeLists.txt, который находится в src/my_package, задекларируйте

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

качестве заготовок в нем уже содержаться закомментированные строки. Найдите

закомментированный вызов процедуры add_executable и раскомментируйте его:

## Declare a cpp executable

add_executable(my_package_node src/my_package_node.cpp)

Эта функция собирает исполняемый файл my_package_node из файла

my_package_node.cpp, расположенного в src.

Также раскомментируйте строку с подключением каталогов с заголовочными файлами:

## Specify additional locations of header files

## Your package locations should be listed before other locations

include_directories(include)

Для связывания библиотек раскомментируйте данную заготовку:

## Specify libraries to link a library or executable target against

target_link_libraries(my_package_node ${catkin_LIBRARIES} boost_math

6

opencv_core)

Шаг 4. Создайте указанные в параметрах add_executable() файлы с вашей программой –

для примеров выше это будет файл my_package_node.cpp в директории src. Ниже

приведен пример программы, отправляющей в топик сообщения с типом

std_msgs::String и текстами «hello world 1», «hello world 2» и далее с частотой 10

Гц:

#include <ros/ros.h>

#include <std_msgs/String.h>

#include <sstream>

int main(int argc, char **argv)

{

/* Инициализация узла с именем по-умолчанию my_node */

ros::init(argc, argv, "my_node");

ros::NodeHandle n;

/* Создание топика с названием my_topic, второй параметр -

* объем кэша отправки (кол-ве элементов) */

ros::Publisher chatter_pub =

n.advertise<std_msgs::String>("my_topic", 256);

/* "Умный" delay */

ros::Rate loop_rate(10);

int count = 0;

while (ros::ok())

{

std_msgs::String msg;

std::stringstream ss;

ss << "hello world " << count;

msg.data = ss.str();

/* Макрос для вывода информации в отладочную консоль */

ROS_INFO("%s", msg.data.c_str());

/* Отправка сообщения в топик */

chatter_pub.publish(msg);

/* Проведение одной итерации цикла обработки событий

* (таких, как входящие сообщения, запросы и т.д.) */

ros::spinOnce();

/* "Умный" delay */

loop_rate.sleep();

++count;

}

return 0;

}

Шаг 5. Скомпилируйте созданную программу. Для этого необходимо вернуться в корень

рабочего пространства (в примере: директория my_ros_workspace) и запустить

7

оттуда систему сборки catkin:

catkin_make

Примечание. При этом собираются все пакеты в рабочем пространстве с проверкой

зависимостей.

Если компиляция прошла успешно, программу можно запускать с помощью

утилиты rosrun. Только для начала необходимо запустить мастер-сервер ROS

(желательно в отдельной терминальной сессии – например, в новом окне консоли):

roscore

robolab@robolab-desktop:~$ roscore

.. logging to /home/robolab/.ros/log/1834a378-6a34-11e3-9166-0013d40547e9/roslaunch-robolab-desktop-7393.log

Checking log directory for disk usage. This may take awhile.

Press Ctrl-C to interrupt

Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://robolab-desktop:52570/

ros_comm version 1.9.50

SUMMARY

========

PARAMETERS

* /rosdistro

* /rosversion

NODES

auto-starting new master

process[master]: started with pid [7407]

ROS_MASTER_URI=http://robolab-desktop:11311/

setting /run_id to 1834a378-6a34-11e3-9166-0013d40547e9

process[rosout-1]: started with pid [7420]

started core service [/rosout]

8

После этого запускаем нашу программу в том самом рабочем терминале, где мы

были сначала. Первым параметром rosrun выступает название пакета, содержащего

программу, вторым – имя исполняемого файла:

rosrun my_package my_package_node

Примечание. Возможно, придётся перезапускать консоль.

Шаг 6. Контролировать работу процессов можно с помощью различных команд (в новой

консоли):

rosnode list

Выводит на экран список активных процессов-узлов.

robolab@robolab-desktop:~$ rosnode list

/my_node

/rosout

rostopic list

Вывод на экран списка всех топиков.

robolab@robolab-desktop:~$ rostopic list

/my_topic

/rosout

/rosout_agg

9

rostopic echo <имя топика>

Вывод на экран в реальном времени приходящих в топик сообщений.

rosnode kill <имя узла>

Завершение работы указанного процесса.

robolab@robolab-desktop:~$ rosnode kill my_node

killing /my_node

killed

Примеры взаимодействующих программ

/* Пример программы, посылающей сообщения в топик*/

#include "ros/ros.h"

#include "std_msgs/String.h"

#include <sstream>

int main(int argc, char **argv)

{

ros::init(argc, argv, "talker");

ros::NodeHandle n;

ros::Publisher chatter_pub = n.advertise<std_msgs::String>("chatter",1000);

ros::Rate loop_rate(10);

int count = 0;

while(ros::ok())

{

std_msgs::String msg;

std::stringstream ss;

ss << "hello world "<< count;

msg.data = ss.str();

ROS_INFO("%s", msg.data.c_str());

chatter_pub.publish(msg);

ros::spinOnce();

loop_rate.sleep();

++count;

}

return 0;

}

/* Пример программы, читающей сообщения из топика*/

#include "ros/ros.h"

#include "std_msgs/String.h"

void chatterCallback(const std_msgs::String::ConstPtr& msg)

{

ROS_INFO("I heard: [%s]", msg->data.c_str());

}

int main(int argc, char **argv)

10

{

ros::init(argc, argv, "listener");

ros::NodeHandle n;

ros::Subscriber sub = n.subscribe("chatter", 1000, chatterCallback);

ros::spin();

return 0;

}

Примечание

Большое число часто используемых библиотек устанавливается системным

пакетным менеджером в качестве зависимостей во время установки ROS (Boost, Assimp,

PCL и др.). Часть библиотек (например, OpenCV), нужно устанавливать отдельно (ROS

локально устанавливает OpenCV определенной версии для своих нужд). Например,

установка OpenCV из репозитория осуществляется командой:

sudo apt-get install libopencv-dev

Или можно воспользоваться утилитой muon.

Не поленитесь сделать это, несмотря на то, что ROS Kinetic (Hydro), вроде бы,

имеет в своем составе кучу библиотек, тот же OpenCV. Однако эти библиотеки

используются для “внутренних нужд” ROS, поэтому рассчитывать на них не стоит.

11

Приложение 1. Основные понятия ROS

ROS (Robot Operating System) представляет собой надстройку над ОС, которая

позволяет эффективно разрабатывать системы управления роботами. По сути, ROS — это

набор из различных сервисов и библиотек, таких как:

OpenCV — библиотека, содержащая алгоритмы компьютерного зрения и

обработки изображений;

PCL — библиотека для работы с облаками 3D-точек;

Ogre — объектно-ориентированный графический движок с открытым исходным

кодом;

Orocos — библиотека для управления роботами.

и т.д.

Также в ROS входят драйверы для различных манипуляторов и сенсоров (включая

Microsoft Kinect). Основополагающим преимуществом, отличающим ROS от других

наборов библиотек, является клиент-серверная архитектура ROS — разработчики

реализовали механизм пересылки сообщений между различными объектами, возможность

построения распределенных систем и предоставление «brige'ей» к языкам С++ и Python.

Основные понятия

Пакет (package). Наименьшая единица файловой системы (ФС). Представляет

собой директорию, содержащую в себе какие-либо данные, библиотеки, исполняемые и

конфигурационные файлы и т.д. и т.п., логически объединенные в какой-то полезный

модуль. Цель такого структурирования — повышение удобства и возможности

повторного использования.

В свою очередь, пакеты объединяются в стеки.

Узел — это запущенный процесс, который умеет общаться с другими процессами.

Шина — именованный канал, соединяющая различные узлы.

Узлы и шины формируют асинхронный механизм обмена данными.

12

Приложение 2. Создание загрузочной флешки USB под Windows

Для запуска Ubuntu (KUbuntu) с USB следует использовать накопитель объемом

минимум 2GB. Далее следует скачать и установить USB-установщик. Например, с сайта

pendrivelinux.com (http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/).

Скачать программу вроде Universal-USB-Installer-1.9.5.1.exe, следовать

простейшим инструкциям:

1. Выбрать подходящий вариант (KUbuntu, Ubuntu Desktop Edition и проч.) из

списка.

2. Нажать 'Browse' и открыть загружаемый ISO-файл.

13

3. Выбрать USB-устройство и нажать 'Create'.

Примечание. Иногда созданию загрузочного устройства могут мешать антивирусы

(тот же AVAST может реагировать на этот процесс неадекватно). Тогда рекомендуется

антивирус временно отключить.

Источники:

http://www.ubuntu.com/download/desktop/create-a-usb-stick-on-windows

http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/

14

Приложение 3. Установка Kubuntu

Доступные способы установки ОС Kubuntu на компьютер зависят от того,

единственная ли это ОС на нём. Нередко устанавливается пара из Windows и GNU/Linux

ОС. Если диск чистый (или данные на нём не нужны) и планируется использование

Установка (устаревшая инструкция, но должна работать) описана в разделе «Установка

одной ОС». Установка вместе с другими ОС описана в следующем разделе («Установка с

многими ОС»). Если на одном компьютере должны одновременно стоять Windows и

GNU/Linux, то первым удобнее устанавливать Windows.

Для установки Kubuntu необходимо создать как минимум один раздел на диске,

который будет корневым (стандартная метка ‘/’). Для ROS, сопутствующих библиотек,

самой ОС и прочих распространённых программ стоит выделить около 60 Гб этому

разделу (лучше 80+). Можно обойтись и меньшим количеством памяти, но точное

значение зависит от конкретной версии ОС, а также библиотек, необходимых для работы

с разрабатываемым ПО.

Распространённой конфигурацией является выделение также разделов диска /boot и

/swap. Под раздел /boot выделяется 300 Мб и в него будет установлен загрузчик GRUB2 и

образ ядра операционной системы. Последний необходим для запуска соответствующей

ОС, а загрузчик — это то, что будет загружаться перед запуском операционной системы и

позволит выбрать из списка нужную (например, Windows или Kubuntu). После установки

GRUB2 попробует автоматически обнаружить установленные системы и, скорее всего,

сможет успешно самостоятельно внести в список Windows и другие версии GNU/Linux,

установленные на компьютере. Раздел /swap — это место на жёстком диске, которое

используется как расширение оперативной памяти. Если на компьютере менее 4 Гб

оперативной памяти, то стоит создать этот раздел как минимум для установки системы

(после установки можно и рекомендуется вместо него использовать swap-файл), иначе при

установке может произойти сбой из-за недостатка памяти. Обычно под этот раздел

выделяется в 2 раза больше объёма, чем имеется оперативной памяти.

Операции с изменением таблицы разметки диска, созданием, перемещением, и

изменением размеров файловых систем на нём удобно делать с помощью программы

GParted. Такие операции, как правило, требуют запуска системы с загрузочного диска.

Для этих целей можно воспользоваться образом GParted Live

(https://gparted.org/download.php ), включающим саму программу GParted.

Отдельно стоит отметить, что BIOS сейчас активно вытесняется UEFI системами,

15

несколько отличающимися от него, которые до какой-то степени обратно совместимые.

Существуют некоторые нюансы установки, связанные с этим, в частности, если Windows

установлен в BIOS режиме, то нужно устанавливать GNU/Linux в BIOS режиме, а если в

UEFI, то, соответственно, в UEFI. Загрузочный образ также может иметь отдельную

версию для UEFI (некоторые подходят для обоих режимов одновременно), а при запуске

системы с него, нужно выбирать соответствующий режим. Раздел /boot и некоторые

элементы установки также меняются для UEFI систем, в частности, создаётся /efi раздел.

Указанная ниже инструкция подходит для BIOS совместимых конфигураций. UEFI

установка отличается не сильно, но здесь не описана и стоит ознакомиться с её

отличиями, если требуется UEFI система.

Установка с многими ОС

Шаг 1. Перераспределяем место на диске (рекомендуется использовать программу

GParted с загрузочного диска GParted Live), создаем необходимые разделы (см.

выше). Этот шаг требует отдельного подробного описания, но ограничимся здесь

лишь данными в начале раздела рекомендациями.

Шаг 2. Заходим на страницу загрузки Kubuntu с официального сайта (для старых версий

—http://cdimage.ubuntu.com/kubuntu/releases/, для новых —

https://kubuntu.org/getkubuntu/), Рис. 0.1.

Рис. 0.1. Слева — для старых версий; справа — для новых

Шаг 3. Нажимаем «64-bit Download», если у нас 64-битная система и «32-bit Download»,

16

если 32-битная.

Шаг 4. Записываем скачанный образ Kubuntu на флешку 2+ Гб (например, с помощью

программы Rufus https://rufus.akeo.ie/ ) или на DVD диск (Windows имеет

встроенные средства для этого), но не копированием (на ней не должно быть

просто файла *.iso / *.img), а в виде образа диска, создав таким образом

загрузочный диск.

Шаг 6. Не вынимая флешки / диск, перезагружаем компьютер и заходим в BIOS; для

этого нажимаем кнопку del несколько раз во время загрузки компьютера. (До

того, как появится загрузочный экран Windows или любой другой установленной

операционной системы).

Шаг 7. В BIOS'е выбираем вкладку Boot и меняем порядок загрузки так, чтобы

установочный диск шёл первым. Другим вариантом является открыть меню

запуска с устройства и запустить систему с нужного устройства только этот раз.

Нажать «сохранить и выйти», если компьютер не начал перегружаться

самостоятельно.

Шаг 8. После перезагрузки компьютера запустится Kubuntu с загрузочного диска.

Выбрать на рабочем столе 'Установить Kubuntu'. Во вкладке разбиения диска и

использования разделов выбрать 'Вручную' (Manual) и выбираем 'Продолжить'.

Шаг 9. Выбираем свободную область и создаем 3 раздела с помощью кнопки 'Add':

Выбрать корневой раздел (‘/’), пометить Use as: ext4, Mount point: /

Жмем 'Ок';

Раздел /swap: Размер около 4 Гб, Use as: раздел подкачки.

Жмем 'Ок';

Раздел /boot, use as ext4, mount point /boot;

(Опционально) Раздел /home: Размер около 20 Гб, Use as: ext4, Mount point:

/home.

ВАЖНО: выбрать внизу в раскрывающемся списке устройство (например,

/dev/sda), в которое будет помещён загрузчик GRUB2. Это поместит в начало этого

устройства (в неразмеченное как раздел пространство) код, который позволит запустить

GRUB2 при загрузке компьютера и предложить выбор операционной системы, которая

будет загружаться дальше. Возможно, что это может помешать загрузчику Windows,

поэтому, если устройств (жёстких дисков) на компьютере более одного, то лучше

установить GRUB2 на другой диск, на котором нет загрузчика Windows. После установки

17

нужно будет изменить в BIOS порядок приоритета загрузки устройств, выставив

устройство с загрузчиком GRUB2 на первое место.

Жмем 'Ок'.

Шаг 10. Выбираем 'Установить сейчас'. Следуя инструкциям, установить систему. После

конца установки и перезагрузки компьютера, не забыть вынуть загрузочный диск

\ флешку, чтобы избежать загрузки с него (и поменять приоритет загрузки).

Установка одной ОС

Шаг 1. Скачиваем Kubuntu с официального сайта (для старых версий —

http://cdimage.ubuntu.com/kubuntu/releases/, для новых —

https://kubuntu.org/getkubuntu/ ) и жмем “Download an image” (Рис. 0.1).

Шаг 2. Жмем “Download Kubuntu”.

Шаг 3. Жмем “Begin 32-bit (recommended) download”.

Шаг 4. Записываем скачанный образ Kubuntu на флешку 2+ Гб (например, с помощью

программы Rufus https://rufus.akeo.ie/ ) или на DVD диск (Windows имеет

встроенные средства для этого), но не копированием (на ней не должно быть

просто файла *.iso / *.img), а в виде образа диска, создав таким образом

загрузочный диск.

Шаг 5. Не вынимая флешки / диск, перезагружаем компьютер и заходим в BIOS; для

этого нажимаем кнопку del несколько раз во время загрузки компьютера. (До

появления загрузочного экрана Windows или любой другой установленной

операционной системы)

Шаг 6. В BIOS'е выбираем вверху вкладку Boot. Если флешка не была вынута, то будет

видна вкладка Hard Disk Drives. (Если ее нет, вставьте флешку, перезагрузите

компьютер и снова войдите в BIOS). Выбираем ее и во вкладке 1-st Drive меняем

устройство, которое было указано в нем (Жесткий диск) на флешку (Выбираем

имя флешки).

Шаг 7. Во вкладке Boot выбираем Boot Device Priority и в 1-st Boot Device также

указываем флешку.

Шаг 8. Нажимаем F10 и Ok. (Выходим и сохраняем изменения).

Шаг 9. После перезагрузки компьютера вы увидите установочный экран Kubuntu.

Нажимаем F2 и выбираем русский язык (на самом деле, лучше - английский).

Жмем 'Запустить Kubuntu'.

18

Шаг 10. После загрузки выбираем 'Установить Kubuntu', затем 'Продолжить'. Ставим

галочку в меню 'Вручную' и выбираем 'Продолжить'.

Шаг 11. Выбираем свободную область и создаем 3 раздела с помощью кнопки 'Add':

Раздел под систему: Размер около 15 Гб, Use as: ext4, Mount point: /

Жмем 'Ок'.

Раздел под Swap: Размер около 2Гб, Use as: раздел подкачки

Жмем 'Ок'.

Раздел /home: Размер около 20 Гб, Use as: ext4, Mount point: /home

Жмем 'Ок'.

Шаг 12. Выбираем 'Установить сейчас', затем 'Продолжить' и 'Продолжить'.

Шаг 13. Вести имя учетной записи и пароль и выбрать 'Продолжить'.

Шаг 14. Ждем, пока программа установит Kubuntu.

19

Приложение 4. Импорт пакета ROS в среду разработки QtCreator

Интегрированная среда разработки QtCreator обладает всем необходимым

функционалом для ведения разработки интегрированных в ROS приложений. Среда

полностью поддерживает системы сборки cmake и catkin.

QtCreator должен запускаться из среды, в которой объявлены переменные среды

ROS. Для этого необходимо либо настроить окружение рабочего стола на обработку

файлов setup.*sh, либо настроить ярлык приложения, либо запускать QtCreator из bash (в

этом случае будут использованы переменные, ранее добавленные в .bashrc).

Пример порядка импорта проекта

Шаг 1. Запустить QtCreator из bash: в терминале выполнить команду

qtcreator

Примечание: Если при установке ROS был выполнен опциональный пункт в шаге 7,

то переменные среды будут доступны в рабочем окружении, что позволяет запускать

QtCreator его средствами.

Шаг 2. Файл > Открыть файл или проект... (File > Open file or project) или Ctrl + O.

Шаг 3. Выберите файл CMakeLists.txt из папки пакета (важно не перепутать с

CMakeLists.txt в корне рабочего окружения).

Шаг 4. В диалоге выбора (рис. а) директории для сборки выбрать директорию build/<имя

пакета> из корневой директории рабочего окружения. Далее/Next.

а) б)

Шаг 5. В следующем диалоге (рис. б) предпочтительно указать в качестве аргумента

CMake определение

-DCATKIN_DEVEL_PREFIX=<путь до директории devel рабочего окружения>.

20

После этого выполняйте Run CMake. Если при оформлении пакета не было

допущено ошибок, CMake должен выполниться успешно, после чего станет доступна

кнопка Finish.

21

Приложение 5. ROS Hydro и Indigo

Установка ROS Hydro

В этом разделе описывается установка ROS Hydro в дистрибутивах, использующих

пакетную базу Ubuntu.

Оригинальный источник: http://wiki.ros.org/hydro/Installation/Ubuntu

Шаг 1. Определите версию пакетной базы, которую использует ваш дистрибутив. ROS

Hydro поддерживает версии Precise (соответствует Ubuntu 12.04, выпуск с

длительным сроком поддержки), Quantal (12.10) и Raring (13.04).

Получить информацию о версии установленной системы можно с помощью

команды:

lsb_release -a

Шаг 2. Добавление репозитория ROS выполняется с помощью одной из ниже

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

Ubuntu 12.04 (Precise):

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu precise main" >

/etc/apt/sources.list.d/ros-latest.list'

Ubuntu 12.10 (Quantal):

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu quantal main" >

/etc/apt/sources.list.d/ros-latest.list'

Ubuntu 13.04 (Raring):

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu raring main" >

/etc/apt/sources.list.d/ros-latest.list'

Шаг 3. Добавьте сертификат для проверки подлинности пакетов в репозитории:

wget http://packages.ros.org/ros.key -O - | sudo apt-key add -

Шаг 4. Обновите список доступных для загрузки пакетов:

sudo apt-get update

Шаг 5. Установите необходимые пакеты.

22

Мета-пакет ros-desktop-full содержит большинство основных библиотек и утилит,

таких как ros-comm, rviz, rqt, библиотеки и узлы для навигации, компьютерного

зрения, симуляции и др. Установка выполняется командой:

sudo apt-get install ros-hydro-desktop-full

Примечание. Эта процедура занимает достаточно много времени. При установке на

все вопросы отвечайте «да» (y).

Опционально. Для установки минимального набора компонентов (только система

сборки, пакетный менеджер, средства коммуникации, без библиотек и GUI-

утилит):

sudo apt-get install ros-hydro-ros-base

Опционально. Поиск остальных пакетов в репозиториях осуществляется с

помощью утилиты apt-cache:

apt-cache search "часть имени искомого пакета"

Шаг 6. Перед запуском приложений ROS необходимо инициализировать систему

контроля зависимостей rosdep:

sudo rosdep init && rosdep update

Шаг 7. Установленное окружение ROS необходимо зарегистрировать в командной

оболочке:

source /opt/ros/hydro/setup.bash

Выполнение данной команды сохраняет эффект только в рамках активной сессии. Для

того чтобы она выполнялась при открытии каждой новой сессии, добавьте ее в конец

файла .bashrc (расположен в корне домашней директории) с помощью любого

текстового редактора, либо с помощью команды:

echo "source /opt/ros/hydro/setup.bash" >> ~/.bashrc

Для проверки активности рабочего окружения ROS в текущей сессии, можно

проверить, определены ли переменные среды:

export | grep ROS

На экран должны быть выведены значения переменных ROS_ROOT,

ROS_PACKAGE_PATH и других:

23

robolab@robolab-desktop:~$ export | grep ROS

declare -x ROSLISP_PACKAGE_DIRECTORIES=""

declare -x ROS_DISTRO="hydro"

declare -x ROS_ETC_DIR="/opt/ros/hydro/etc/ros"

declare -x ROS_MASTER_URI="http://localhost:11311"

declare -x ROS_PACKAGE_PATH="/opt/ros/hydro/share:/opt/ros/hydro/stacks"

declare -x ROS_ROOT="/opt/ros/hydro/share/ros"

Опционально: Для того, чтобы переменные среды ROS существовали в рамках сессии

рабочего окружения KDE, необходимо поместить подобную команду в файл с

расширением .sh и разместить его в ~/.kde/env, только вместо setup.bash необходимо

использовать setup.sh.

Шаг 8. Опционально. Для установки некоторых пакетов может потребоваться утилита

rosinstall. Ее установка выполняется аналогично установке ROS и системных

пакетов.

Например:

sudo apt-get install python-rosinstall

Установка ROS Indigo

Здесь все аналогично тому, что описывалось для Hydro.

Оригинальный источник: http://wiki.ros.org/indigo/Installation/Ubuntu

Вкратце, шаги установки выглядят так:

Шаг 1. Определение версии пакетной базы.

lsb_release -a

Шаг 2. Добавление репозитория ROS:

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu trusty main" >

/etc/apt/sources.list.d/ros-latest.list'

Шаг 3. Добавление сертификата:

wget https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -O - |

sudo apt-key add -

Шаг 4. Обновление списка доступных для загрузки пакетов:

sudo apt-get update

Шаг 5. Установка пакетов (длительная процедура).

sudo apt-get install ros-indigo-desktop-full

24

Шаг 6. Инициализация системы контроля зависимостей rosdep:

sudo rosdep init

rosdep update

Шаг 7. Установка окружения ROS:

echo "source /opt/ros/indigo/setup.bash" >> ~/.bashrc

source ~/.bashrc

Шаг 8. Опционально. Установка утилиты rosinstall:

sudo apt-get install python-rosinstall

Источники

Официальный сайт ROS http://www.ros.org/wiki/

Документация http://wiki.ros.org/

Русскоязычная документация по ROS http://robocraft.ru/page/robotics/#ROS

Документация по топикам http://wiki.ros.org/ROS/Tutorials/UnderstandingTopics

Официальный сайт Kubuntu http://www.kubuntu.org/

Официальный сайт Lubuntu http://lubuntu.net/

Шпаргалка по ROS Hydro http://clearpath.wpengine.netdna-cdn.com/wp-

content/uploads/2014/01/ROS-Cheat-Sheet-Landscape-v2.pdf

ROS Kinetic, оригинальный источник: http://wiki.ros.org/kinetic/Installation/Ubuntu

Воробьев В.В., Моисеев А.И., Ровбо М.А. Установка ROS // Рабочий отчет RWR-2014-05-

02.4, -М.: Robofob Lab, 2017