> 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="https://1021729848-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRjxA8VkpxYSN3xTlTEOb%2Fuploads%2Fik1Fl6GICzdUQfaHw0vz%2Fimage.png?alt=media&amp;token=71649ffa-0791-4308-9d53-5852a26cee98" alt=""><figcaption><p>Рабочий стол </p></figcaption></figure>

Запустить терминал <img src="https://1021729848-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRjxA8VkpxYSN3xTlTEOb%2Fuploads%2FRa3Dc1rUa5DT60yuRlFd%2Fimage.png?alt=media&amp;token=6f0b9288-8773-4e84-b93b-5e103f28fbb1" alt="" data-size="line"> нажатием правой кнопкой мыши по рабочему столу и выбрать пункт в меню <mark style="color:purple;background-color:yellow;">"Открыть в терминале"</mark>&#x20;

<figure><img src="https://1021729848-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRjxA8VkpxYSN3xTlTEOb%2Fuploads%2Fcm1RFiZ0GtoJA1oQVLVV%2Fimage.png?alt=media&amp;token=ea153b0d-4e53-445b-b096-a6ac7a74bcd2" alt="" width="375"><figcaption><p>Всплывающее окно</p></figcaption></figure>

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

```
roslaunch clover_simulation simulator.launch
```

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

<figure><img src="https://1021729848-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRjxA8VkpxYSN3xTlTEOb%2Fuploads%2FUJDJSLq2oMQhB3P5vvJ5%2Fimage.png?alt=media&amp;token=0f9cf306-6233-4f2f-aed7-277e30e65050" alt=""><figcaption><p>Окно терминала</p></figcaption></figure>

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

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

<figure><img src="https://1021729848-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRjxA8VkpxYSN3xTlTEOb%2Fuploads%2F4Xo8RlfwlHfOVAp1kO74%2Ftelegram-cloud-photo-size-2-5246941897056968857-y.jpg?alt=media&amp;token=ed02bb9e-2d58-4582-90fb-965f0cc3bddc" alt="" width="375"><figcaption><p>Мир Gazebo с Ровером и Коптером</p></figcaption></figure>

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

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

В папке расположены примеры программ для запуска ровера, также в папке есть файл  <img src="https://1021729848-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRjxA8VkpxYSN3xTlTEOb%2Fuploads%2FBSHz5czBs1LWqszizlFq%2Fimage.png?alt=media&amp;token=58e463c3-015c-4a07-8380-9055e8c148c5" alt="" data-size="line"> в котором находятся готовые функции для передвижения ровера. <img src="https://1021729848-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRjxA8VkpxYSN3xTlTEOb%2Fuploads%2FunABwFa1UYIfJAVTYwMH%2Fimage.png?alt=media&amp;token=cf808c5f-69da-4784-baab-96b631afde26" alt="" data-size="line"><mark style="color:red;background-color:red;">Этот файл редактировать НЕЛЬЗЯ!</mark><img src="https://1021729848-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRjxA8VkpxYSN3xTlTEOb%2Fuploads%2FT0mYGyFAJJCda1VddRZ4%2Fimage.png?alt=media&amp;token=e185f4ef-514e-4978-8600-6ee5d1462711" alt="" data-size="line">

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

<figure><img src="https://1021729848-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRjxA8VkpxYSN3xTlTEOb%2Fuploads%2FKMw5DzJgTQhm2BMDymgt%2Fimage.png?alt=media&amp;token=a35b2ce6-b0f3-4f81-8e9c-a0083ef50e18" alt="" width="375"><figcaption><p>Функции ровера</p></figcaption></figure>

для запуска примера <img src="https://1021729848-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRjxA8VkpxYSN3xTlTEOb%2Fuploads%2Fi27bavYVzuhonW56XrXh%2Fimage.png?alt=media&amp;token=80f30909-cc5a-48f9-b578-57f9e0706959" alt="" data-size="line"> необходимо в терминале ввести следующую команду:&#x20;

```
python3 square.py
```

<figure><img src="https://1021729848-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRjxA8VkpxYSN3xTlTEOb%2Fuploads%2F76JLQbfG9aJ0x2Oc1ocH%2Fimage.png?alt=media&amp;token=332c8b9c-aeb8-4b84-8b5f-4b559b72f289" alt=""><figcaption><p>Окно терминала</p></figcaption></figure>

<img src="https://1021729848-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRjxA8VkpxYSN3xTlTEOb%2Fuploads%2FunABwFa1UYIfJAVTYwMH%2Fimage.png?alt=media&amp;token=cf808c5f-69da-4784-baab-96b631afde26" alt="" data-size="line"><mark style="color:purple;background-color:yellow;">Важно! Запускать код необходимо из папки в которой находится этот код!</mark><img src="https://1021729848-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRjxA8VkpxYSN3xTlTEOb%2Fuploads%2FunABwFa1UYIfJAVTYwMH%2Fimage.png?alt=media&amp;token=cf808c5f-69da-4784-baab-96b631afde26" alt="" data-size="line">

<figure><img src="https://1021729848-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRjxA8VkpxYSN3xTlTEOb%2Fuploads%2FpAFWtoLONEMyO46N94jh%2Fimage.gif?alt=media&amp;token=4bc0fb5b-03bd-47ff-8301-7e698ad0a73f" 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="https://1021729848-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FRjxA8VkpxYSN3xTlTEOb%2Fuploads%2FunABwFa1UYIfJAVTYwMH%2Fimage.png?alt=media&amp;token=cf808c5f-69da-4784-baab-96b631afde26" alt="" data-size="line"><mark style="color:purple;background-color:yellow;">Важно! Вернуть Ровер в домашнюю точку функцией end()</mark>&#x20;
