> For the complete documentation index, see [llms.txt](https://copter-space.gitbook.io/uchebnik-mashinnoe-zrenie-tom-2/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://copter-space.gitbook.io/uchebnik-mashinnoe-zrenie-tom-2/razdel-2/razdel-2.-sreda-ros-robot-operating-system.md).

# Раздел 2. Среда ROS (Robot Operating System)

&#x20;**ROS (Robot Operating System)** обеспечивает разработчиков библиотеками и инструментами для создания приложений робототехники. ROS обеспечивает аппаратную абстракцию, предлагает драйверы устройств, библиотеки, визуализаторы, обмен сообщениями, менеджеры пакетов и многое другое. ROS выпускается в соответствии с условиями BSD лицензии и с открытым исходным кодом. Описание системы ROS - <http://wiki.ros.org/ru>

### Установка системы ROS на компьютере

Одновременнно сообществом поддерживается несколько дистрибутивов системы ROS, некоторые из которых являются более стабильными (**LTS – long term support**, пакеты с длительным сроком поддержки), другие – с более коротким сроком поддержки, но подходящие для более новых платформ и с более новыми версиями пакетов. На английском языке процесс установки описан на странице <http://wiki.ros.org/ROS/Installation> . На платформе copter.space на момент написания учебного пособия используется дистрибутив **ROS Kinetic**.

Ниже приведён порядок установки ROS Kinetic на Linux Ubuntu. Порядок действия для установки на прочие системы можно прочитать по ссылке <http://wiki.ros.org/kinetic/Installation> .

ROS Kinetic поддерживает только дистрибутивы **Wily (Ubuntu 15.10), Xenial (Ubuntu 16.04) and Jessie (Debian 8).**

1\. Нужно разрешить загрузку из интернет репозиториев **Ubuntu** типа **Restricted, Universe, Multiverse**:

![](/files/-M27nfKumBWutjMdW2G4)

&#x20;2\. Добавить в источники ПО загрузку пакетов с сайта ros.org:

```
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
```

3\. Добавить ключ для загрузки ПО

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

4\. Обновить пакеты Ubuntu:

```
sudo apt-get update
```

5\. Установка полного дистрибутива **ROS**:

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

6\. Инициализация менеджера rosdep. Rosdep позволяет автоматически устанавливать системные зависимости для компиляции из исходного кода, а также требуется для некоторых ключевых компонентов ROS.

```
sudo rosdep init
rosdep update
```

7\. Установка переменных окружения – обычно, удобно настроить автоматическое добавление переменных окружения ROS при старте сессии командной строки:

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

8\. Установка дополнительных инструментов для компиляциии пакетов. Для того, чтобы создавать и использовать собственные рабочие пространства ROS, требуется установаить некоторые дополнительные инструменты, которые распространяются отдельно:

```
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
```

На этом установка **ROS** завершена. Протестировать установку можно с помощью учебных заданий, доступных по ссылке <http://wiki.ros.org/ROS/Tutorials> .
