> For the complete documentation index, see [llms.txt](https://dh-organization.gitbook.io/droneshub-rover-kontakt/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dh-organization.gitbook.io/droneshub-rover-kontakt/virtualnaya-sreda-programmirovaniya-gazebo/zapusk-rovera-v-gazebo-v-mire-s-kopterom.md).

# Запуск Ровера в Gazebo в мире с Коптером

Рабочий стол виртуальной машины:

<figure><img src="/files/gIwofs4X7IBbZe9d1uk6" alt=""><figcaption><p>Рабочий стол </p></figcaption></figure>

Запустить терминал <img src="/files/ES0fU79mL2Y36raYHAST" alt="" data-size="line"> нажатием правой кнопкой мыши по рабочему столу и выбрать пункт в меню <mark style="color:purple;background-color:yellow;">"Открыть в терминале"</mark>&#x20;

<figure><img src="/files/l7kKKuAHYN28x544T4fW" alt="" width="375"><figcaption><p>Всплывающее окно</p></figcaption></figure>

Для запуска симулятора необходимо ввести команду в терминале:&#x20;

```
roslaunch clover_simulation simulator.launch
```

Как это будет выглядеть у вас на ПК:

<figure><img src="/files/eTtXwWusqw5VALlTdgCI" alt=""><figcaption><p>Окно терминала</p></figcaption></figure>

После загрузки Симулятора Gazebo появится мир в котором находятся:

* Квадрокоптер Clover
* Ровер "Контакт"

<figure><img src="/files/4kBaPtSybSJFM4qMnMZq" alt="" width="375"><figcaption><p>Мир Gazebo с Ровером и Коптером</p></figcaption></figure>

Для запуска ровера необходимо зайти в папку:&#x20;

```
/home/clover/catkin_ws/src/bebop_simulator/bebop_gazebo/exempls
```

В папке расположены примеры программ для запуска ровера, также в папке есть файл  <img src="/files/rLyi16ZwPARptVs5HQ5l" alt="" data-size="line"> в котором находятся готовые функции для передвижения ровера. <img src="/files/lYCeMLIEObpMcNmCVCfM" alt="" data-size="line"><mark style="color:red;background-color:red;">Этот файл редактировать НЕЛЬЗЯ!</mark><img src="/files/UGMCY6BrF7ILruT8llDZ" alt="" data-size="line">

В данной версии ровера реализованы следующие функции:&#x20;

<figure><img src="/files/1eFjpvEjznzEUitgkURD" alt="" width="375"><figcaption><p>Функции ровера</p></figcaption></figure>

для запуска примера <img src="/files/B1YdF1Q3sYzSSGabdVdl" alt="" data-size="line"> необходимо в терминале ввести следующую команду:&#x20;

```
python3 square.py
```

<figure><img src="/files/e6pVU0cYJbTVudJtF0Uy" alt=""><figcaption><p>Окно терминала</p></figcaption></figure>

<img src="/files/lYCeMLIEObpMcNmCVCfM" alt="" data-size="line"><mark style="color:purple;background-color:yellow;">Важно! Запускать код необходимо из папки в которой находится этот код!</mark><img src="/files/lYCeMLIEObpMcNmCVCfM" alt="" data-size="line">

<figure><img src="/files/wf7In79qtSpbigoT3jGN" alt=""><figcaption><p>Пример кода - Поиск Ровера</p></figcaption></figure>

Обязательная шапка всех программ для Ровера. Подключение существующих функций и импортирование библиотек:&#x20;

```python
import rospy
import random
import math
import time
from geometry_msgs.msg import Twist
from gazebo_msgs.msg import ModelState
from gazebo_msgs.msg import ModelStates
from functions import left
from functions import right
from functions import forward
from functions import backward
from functions import end
model_name = ""
model_state_pub = None
model_state_sub = None
t=0
orient = 0
rospy.init_node('moving_helipad')
model_name = rospy.get_param("~model_name", "r1_rover")
seconds_before_moving = rospy.get_param("~seconds_before_moving", 1)
model_state_pub = rospy.Publisher("gazebo/set_model_state", ModelState, queue_size=1)
rospy.sleep(seconds_before_moving)
```

Пример программы для передвижения по квадрату:&#x20;

```python
forward(0.8, 1)
left()
forward(0.8, 1)
left()
forward(0.8, 1)
left()
forward(0.8, 1)
left()
end()
print("End")
```

<img src="/files/lYCeMLIEObpMcNmCVCfM" alt="" data-size="line"><mark style="color:purple;background-color:yellow;">Важно! Вернуть Ровер в домашнюю точку функцией end()</mark>&#x20;
