# Установка и запуск ROS

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

{% embed url="<https://youtu.be/LLURoZYOLsg?t=433>" %}

### Установка ROS

Инструкция установки ROS для Ubuntu <http://wiki.ros.org/noetic/Installation/Ubuntu>&#x20;

*Обратите внимание на особенности форматирования инструкции, в частности в полях где написаны команды периодически встречаются инструкции (их надо учитывать) и команда в две строки может быть на самом деле двумя командами.*&#x20;

Краткая последовательность команд, но лучше читать инструкцию (все что с новой строки -  одна команда), верно только для тех кто делал все с нуля Ubuntu 20 + ROS Noetic:

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

`sudo apt install curl`

`curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -`

`sudo apt update`

`sudo apt install ros-noetic-desktop-full`

`source /opt/ros/noetic/setup.bash`

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

`source ~/.bashrc`

`sudo apt install python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential`

`sudo apt install python3-rosdep`

`sudo rosdep init`

`rosdep update`

### **Настройка рабочего окружения (Важно)**&#x20;

Инструкция: <http://wiki.ros.org/ROS/Tutorials/InstallingandConfiguringROSEnvironment>

Кратко последовательность команд:

`printenv | grep ROS`

`source /opt/ros/noetic/setup.bash`

`mkdir -p ~/catkin_ws/src`

`cd ~/catkin_ws/`

`catkin_make`

`source devel/setup.bash`

После выполнения всех команд, запустите:

`echo $ROS_PACKAGE_PATH`&#x20;

В ответ вы должны увидеть:

`/home/home/catkin_ws/src:/opt/ros/noetic/share`

### Запуск ROS

Запуск ROS  осуществляется командой `roscore`

{% hint style="info" %}
В будущем для выполнения любого задания с ROS необходимо, чтобы работала мастер-нода ROS. Для ее запуска в консоле необходимо запустить программу`roscore`

Если запустить мастер-ноду с командой `roscore &`, то процесс запустится в фоне и консоль останется "свободной" для дальнейшего использования
{% endhint %}
