# Создание Aruco карты

Для локализации квадрокоптера в помещении используют карту Aruco меток. Эта карта должна быть знакома квадрокоптеру. С этой целью эту карту создают в его исполняющих файлах на образе.

Файл карты может быть сгенерирован с помощью инструмента genmap.py:

```python
rosrun aruco_pose genmap.py length x y dist_x dist_y first --bottom-left > ~/catkin_ws/src/clover/aruco_pose/map/test_map.txt
```

Скопируйте всю строчку и вставьте в командную строку терминала:

![](https://2176758188-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MdqITQbWJUL8n4CbfRn%2F-MdqhnH5yPofRqnvSL_t%2F-MdqiE3ZK4jUG7i87nPh%2F8PDKmFFO5FI.jpg?alt=media\&token=1d9845d0-c598-49af-81d8-063d3d1e0997)

Вместо **length** написать размер метки в метрах

Вместо **x** – количество меток по оси x (в ширину)

Вместо **y** – количество меток по оси y (в длину)

Вместо **dist\_x** – расстояние между центрами меток по оси x (в ширину)

Вместо **dist\_y** – расстояние между центрами меток по оси y (в длину)

Вместо **first** – номер первой метки (левая нижняя на карте)

Вместо **test\_map.txt** — имя файла карты меток (придумайте любое). Расширение оставьте .txt

***Пример:*** имеется следующая карта Aruco меток. Размеры все указаны.

![](https://2176758188-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MdqITQbWJUL8n4CbfRn%2F-MdqhnH5yPofRqnvSL_t%2F-MdqiVHOcoBfwABxUNkc%2FL5_hQLMQ3To.jpg?alt=media\&token=877ba883-9a4b-4e00-98b6-ed7fb4996270)

Глядя на изображение можно увидеть и посчитать, что (номера меток обозначены по черной меткой):

length — 0.3

x — 3

y — 2

dist\_x — 0.5

dist\_y — 0.5

first — 27

Назовем файл alex.txt

В результате получите следующее:

```python
rosrun aruco_pose genmap.py 0.3 3 2 0.5 0.5 27 --bottom-left > ~/catkin_ws/src/clover/aruco_pose/map/alex.txt
```

Введем эту команду в терминал и нажмем "Enter":

![](https://2176758188-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MdqITQbWJUL8n4CbfRn%2F-MdqhnH5yPofRqnvSL_t%2F-Mdqj6_U4xqqGFQX3g-h%2Fi_kDMc8UGKE.jpg?alt=media\&token=ed98b758-f606-456f-8b73-694220f3cb5b)

{% hint style="info" %}
Поскольку, в качестве первой метки мы указали метку №27 теперь наша карта построится, имея метки по порядку возрастания начиная от №27: 27, 28, 29, 30, 31, 32. Однако, у нас номера иные. Необходимо отредактировать ранее созданный файл.
{% endhint %}

Теперь перейдем по следующему пути, чтобы отредактировать наш файл карты:

```python
catkin_ws/src/clover/aruco_pose/map
```

![](https://2176758188-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MdqITQbWJUL8n4CbfRn%2F-MdqhnH5yPofRqnvSL_t%2F-MdqjcHIcYJZxzKCbend%2FdAdxKtlqRXA.jpg?alt=media\&token=8175e979-3a3e-4c6f-bf81-b992c1d5e929)

Открываем файл **alex.txt:**

![](https://2176758188-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MdqITQbWJUL8n4CbfRn%2F-MdqhnH5yPofRqnvSL_t%2F-Mdqjm876micB5GNcRYI%2FHxQcUGmvyCw.jpg?alt=media\&token=ce7cfbf6-b6c6-4b6a-8ecf-9e3578cc1f40)

Поменяем первый столбец исходя из наших номеров меток:

![](https://2176758188-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MdqITQbWJUL8n4CbfRn%2F-MdqhnH5yPofRqnvSL_t%2F-Mdqjv44hcEkRHGzEpYA%2FrU-agpL6MXQ.jpg?alt=media\&token=2015422f-601d-4737-b612-5dc3ebe264b1)

{% hint style="warning" %}
Для того, чтобы выйти из редактора с сохранением всех изменений нажмите последовательно следующие клавиши: ctrl+x, затем Y, после чего нажмите клавишу Enter.
{% endhint %}

Отлично теперь необходимо прописать, чтобы исполняющий файл использовал именно наш файл с картой. Для этого давайте вернемся в домашнюю папку, введите **cd** и нажмите «Enter».

![](https://2176758188-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MdqITQbWJUL8n4CbfRn%2F-MdqkAPGe7c5Oj11XVEv%2F-MdqkviTGo0N5cooFxNm%2FM4AuS0ktQxQ.jpg?alt=media\&token=ebd70b32-3f20-4758-a6b3-aeff8672b87b)

Теперь перейдите по следующему пути:

```python
catkin_ws/src/clever/clever/launch
```

![](https://2176758188-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MdqITQbWJUL8n4CbfRn%2F-MdqkAPGe7c5Oj11XVEv%2F-Mdql5KDReZhSiWFE9an%2FTGXTLsDpePc.jpg?alt=media\&token=b7a2f639-10a9-4753-a90b-e824e866a7f3)

&#x20;Откройте файл **aruco.launch** в нем хранятся все настройки, связанные с картой Aruco меток:

![](https://2176758188-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MdqITQbWJUL8n4CbfRn%2F-MdqkAPGe7c5Oj11XVEv%2F-MdqlGe_uhD6AxZjedh4%2F9kQWlYA7NTE.jpg?alt=media\&token=699fc622-aa69-46f7-9383-ca37313162d7)

Найдем строчку, где прописан путь и файл исполнения карты. Поменяем на нашу alex.txt:

![](https://2176758188-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MdqITQbWJUL8n4CbfRn%2F-MdqkAPGe7c5Oj11XVEv%2F-MdqlUhSkyD5SRcjnoyX%2FkeVFAjrKavQ.jpg?alt=media\&token=87589a04-168a-477d-9d80-c0508c474dd6)

![](https://2176758188-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MdqITQbWJUL8n4CbfRn%2F-MdqkAPGe7c5Oj11XVEv%2F-MdqldJQ9f4Xd90H8Y50%2Fy9NJtab4_hg.jpg?alt=media\&token=e6e81870-b6c5-4c9c-8712-3cb58a86127e)

Выходим и сохраняем документ. поздравляю процесс настройки прошел успешно.

{% hint style="warning" %}
Для того, чтобы выйти из редактора с сохранением всех изменений нажмите последовательно следующие клавиши: ctrl+x, затем Y, после чего нажмите клавишу Enter.
{% endhint %}

Чтобы проверить верно ли произвели настройки, давайте перейдем по адресу <http://192.168.11.1> и откроем топик *View image topic*

Далее выберем топик *aruco\_map/image*

![](https://2176758188-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MdqITQbWJUL8n4CbfRn%2F-MdqkAPGe7c5Oj11XVEv%2F-MdqlqGdJSe8uZflmndy%2F_9K24JAuMvU.jpg?alt=media\&token=34aa74d6-7fae-4ce2-80e8-cc831c001e87)

Перед нами получившаяся карта, которая точь-в-точь повторяет исходную:

![](https://2176758188-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MdqITQbWJUL8n4CbfRn%2F-MdqkAPGe7c5Oj11XVEv%2F-Mdqm2Emiq0cr5yQvtrZ%2FyoO43UNFZIE.jpg?alt=media\&token=cc268daa-97af-41e9-a1f1-52c22893e8af)

{% hint style="info" %}
Подробная информация о создании карты меток находится по ссылке:   [https://clover.coex.tech/ru/aruco\_map.html](https://vk.com/away.php?to=https%3A%2F%2Fclover.coex.tech%2Fru%2Faruco_map.html\&cc_key=)
{% endhint %}
