# Настройка ПК

Как было сказано ранее **ROS** - это МЕТА-операционная система, а значит для ее работы требуется основная операционная система поверх которой будет развернута ROS.

Есть несколько вариантов установки ROS.

Есть ROS под Windows, есть под Debian, ArcLinux и даже MacOS. Но самым распространенным вариантом является установка его под Linux. Для начало необходимо установить Linux (дистрибутив Ubuntu). Чтобы загрузить дистрибутив Ubuntu перейдите по ссылке: [https://ubuntu.com/#download](https://releases.ubuntu.com/focal/)&#x20;

Выберите ***64-bit  PC (AMD64) desktop image*** и начнётся загрузка.

{% embed url="<https://youtu.be/qmNkVpabwDI>" %}
Установка Linux Ubuntu в VirtualBox
{% endembed %}

## Установка Linux Ubuntu

Перед тем как мы перейдем непосредственно к установке, необходимо выбрать [версию дистрибутива Ubuntu](https://releases.ubuntu.com/), которую необходимо установить. Она связана с версией ROS, которая будет использоваться. Мы будем использовать **ROS Noetic**, и он устанавливается под версию [Ubuntu 20.04 Focal Fossa](https://releases.ubuntu.com/focal/). Кстати, первые буквы в имени дистрибутива ROS и Ubuntu соответствуют порядковому номеру стабильной версии, такой же принцип наименования используется и в версиях Android.

Мы будем устанавливать Linux в виртуальную машину под Windows. Однако установка на чистый компьютер или как вторую операционную систему по сути не отличается от установки в виртуальную машину.

### Установка виртуальной машины

Давайте сначала установим виртуальную машину. Для этого перейдем по ссылке: <https://www.virtualbox.org/wiki/Downloads>

Выберем ***Windows Hosts*** и скачаем установочный файл.

![](https://278680980-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8k5AErXJnw5qW5Fo5HbH%2Fuploads%2FWsVnFU4jmIVnPtO46pnh%2FDownloadVM.png?alt=media\&token=2624572d-3215-445e-a0e7-db172e73a1ec)

После окончания загрузки файла запустим установщик VirtualBox.

### Конфигурирование виртуальной машины

Для того, чтобы добавить новую виртуальную машины нажмём ***Создать**:*

![](https://278680980-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8k5AErXJnw5qW5Fo5HbH%2Fuploads%2F7lRRYCm5jrAuXHM11orB%2FVM_create.png?alt=media\&token=0cac2419-e3ea-4424-b894-90ea81c23504)

Далее, введём имя ВМ (если мы введем имя "ubuntu" то ВМ автоматически определит, что мы хотим установит Linux Ubuntu):

![](https://278680980-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8k5AErXJnw5qW5Fo5HbH%2Fuploads%2FwnyPNfXACCEM19fWLKyv%2FVM_name.png?alt=media\&token=f7ec3775-40c0-44a4-b5b3-ff6f1d812c06)

Размер памяти виртуальной машины выбираем в зависимости от имеющегося у вас объема оперативной памяти. Желательно не менее 2-х гигабайт.

Выберем тип виртуального жёсткого диска **VDI.** Размер виртуального жесткого диска рекомендуется устанавливать не менее 20 гигабайт. Желательно - 50-60 гигабайт для комфортной работы.&#x20;

После создания ВМ перейдем к её настройке. Для этого на вкладке созданной ВМ нажмём ***Настроить***:

![](https://278680980-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8k5AErXJnw5qW5Fo5HbH%2Fuploads%2FgzirBmmVIucEe8mIbxus%2FVM_param.png?alt=media\&token=95a565c7-9ef9-434b-983d-1ff4eb07a530)

Во вкладке ***Система -> Процессор*** выберем количество ядер ЦП. Это индивидуальный параметр и зависит от конфигурации вашего компьютера.&#x20;

Во вкладке ***Сеть -> Адаптер 1*** установим галочку ***"Включить сетевой адаптер"*** и тип подключения ***NAT***.

Во вкладке ***Сеть -> Адаптер 2*** установим галочку ***"Включить сетевой адаптер"*** и тип подключения ***Сетевой мост.*** В качестве имени выберем активный сетевой интерфейс. Если компьютер подключен к сети по Wi-Fi - это будет Wi-Fi адаптер, если по сетевому кабелю - какой-то ethernet-адаптер

Мы настроили нашу виртуальную машину и всё готово к установке Ubuntu.

### Установка Ubuntu в ВМ

Файл образа Ubuntu нужно указать для установки в оптический привод нашей виртуальной машины. Для этого в разделе ***"Носители"*** кликнем по ***\[Оптический привод] Пусто*** и выберем наш образ.

![](https://278680980-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8k5AErXJnw5qW5Fo5HbH%2Fuploads%2F1XpXJWS9XUofkgLsoe6T%2FVM_choose_ubuntu.png?alt=media\&token=69edafe1-1f9a-496f-8f2e-43c8dee9c7af)

Запускаем установку.

\
Сначала нам предлагается выбрать язык. Рекомендуется выбрать английский - по умолчанию. Это связано с тем, что основной язык общения комьюнити Linux - английский. И когда вы получите какую-нибудь ошибку при установке ROS или пакета под ROS, или, например, при создании вашей программы, вы сможете просто скопировать эту ошибку в Google, чтобы найти ответ.

![](https://278680980-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8k5AErXJnw5qW5Fo5HbH%2Fuploads%2FhrbBtmpAGeGcOumGA6a8%2F1.png?alt=media\&token=e977236c-c673-4b33-add2-a5bcbaf31c79)

Далее выберем тип установки:

* Normal installation - установка различных утилит, игры и медиаплееров
* Minimal installation - установка минимально необходимого софта

![](https://278680980-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8k5AErXJnw5qW5Fo5HbH%2Fuploads%2FWS95hQX5q8P6BAvxmJK4%2F2.png?alt=media\&token=3a8c7d9c-b219-414b-948d-61ec41d364d5)

Также в ходе установки введем имя пользователя и пароль:

![](https://278680980-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8k5AErXJnw5qW5Fo5HbH%2Fuploads%2FDbZkKFTMmr9dr1leMHUm%2F5.png?alt=media\&token=7a89a043-bec3-4793-865d-d4493611d7f1)

После окончания установки, Ubuntu попросит перезагрузить ВМ. После перезагрузки операционная система загрузится в нормальном режиме:

![](https://278680980-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8k5AErXJnw5qW5Fo5HbH%2Fuploads%2FuOm2CMTzcn6M4DkDl1pi%2F6.png?alt=media\&token=d21165f0-f323-4e0b-8530-d59b1830f5ad)

Установка ОС Ubuntu прошла успешно.

### Установка дополнения гостевой ОС

После запуска необходимо слегка донастроить Ubuntu, чтобы она корректно работала в виртуальной машине. Для этого установим дополнения гостевой ОС. Выберем вкладку "Устройства" -> Подключить образ...

![](https://278680980-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8k5AErXJnw5qW5Fo5HbH%2Fuploads%2FGRne01UuWxX4flboBbfW%2FVM_guest_OS.png?alt=media\&token=c10adec6-22e5-471c-991c-7961a7a825f6)

Далее нажмём "Run" и установка запустится автоматически.

После завершения установки перезагрузим ВМ. После установки дополнения Гостевой ОС вам будут доступны следующие функции:

* **Интеграция указателей мыши**
* **Общие папки**
* **Улучшенная поддержка видео**
* **Режим интеграции экрана**
* **Общие каналы связи хоста/гостя**
* **Общий буфер обмена и т.д.**

### Установка дополнительного ПО

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

#### Редактор кода Visual Studio Code <a href="#install-vscode" id="install-vscode"></a>

Мы рекомендуем для работы с кодом установить редактор кода **Visual Studio Code**. Для **Ubuntu** это можно сделать через стандартную программу Ubuntu Software, набрав в поиске `Code Studio` и выбрав соответствующую программу:

![Install Visual Studio Code](https://files.gitbook.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LQhu652yC0EsOGaAHA-%2Fuploads%2FvXhOmXRkHdVnVAWjLitu%2Fvs-code.png?alt=media\&token=60325bbe-f071-4e75-b33b-54ebde54d938)

Или можно воспользоваться [инструкцией с официального сайта Visual Studio Code](https://code.visualstudio.com/docs/setup/linux), открыть терминал и ввести следующую последовательность команд:

```
sudo apt-get install wget gpg
# после этой команды необходимо ввести пароль от Ubuntu

wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/
sudo sh -c 'echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/trusted.gpg.d/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list'
rm -f packages.microsoft.gpg

sudo apt install apt-transport-https
sudo apt update
sudo apt install code
```

#### Пакет net-tools

**net-tools** — комплект консольных утилит, включающих классические инструменты управления сетевой подсистемой в **GNU Linux** операционных системах. Для установки этого пакета введем в терминале следующую команду:

```
sudo apt install net-tools
```

#### Среда Arduino IDE

Одной из самых удобных сред программирования для Arduino считается Arduino IDE. Установить в **Ubuntu** Arduino IDE можно через стандартную программу Ubuntu Software, набрав в поиске `Arduino IDE` и выбрав соответствующую программу:

![](https://278680980-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F8k5AErXJnw5qW5Fo5HbH%2Fuploads%2FTjXRbmuuX0Me9b6lCvqx%2Finstall_arduino.png?alt=media\&token=b224249f-f725-4113-84fd-b9c452b6c933)

Или можно воспользоваться [инструкцией с официального сайта](https://docs.arduino.cc/software/ide-v1/tutorials/Linux#run-the-install-script).

{% hint style="info" %}
После установки Arduino IDE обязательно в терминале выполните следующую команду:

`sudo usermod -a -G dialout $USER`
{% endhint %}
