Работа с полем ArUco-маркеров
В комплектации идёт готовая распечатанная карта меток, которая записана в систему бортового компьютера при установке образа.
Помните, что точность навигации напрямую зависит от качества калибровки камеры, освещенности и физического состояния меток. Регулярно проверяйте систему и при необходимости повторяйте калибровку.
Подключение
- Убедитесь, что воздушные винты сняты
- Включите БВС используя АКБ либо кабель USB Type-C
- Подключитесь к сети Wi-Fi БВС (к точке доступа БВС или к роутеру, к которому он подключён)
- Откройте браузер и введите в адресной строке введите IP-адрес устройства: http://192.168.11.1 (адрес по умолчанию) или другой, указанный в вашей сети
После подключения доступен Веб-интерфейс с основными веб-инструментами:
- Документация
- Список всех топиков
- Список топиков для работы с камерой
- Работа камеры
- Онлайн терминал
- 3D визуализация
- Блочное программирование
- Логи БВС

Вход в систему
- В веб-интерфейсе найдите и откройте раздел Web Terminal

- В открывшемся терминале введите пароль:
raspberry
Символы пароля не отображаются при вводе в целях безопасности
- После успешного ввода вы увидите командную строку:

Команды генерации файла карты ArUco-маркеров бортового компьютера
Подробности описаны в статье «Навигация по картам ArUco-маркеров»
Для создания файла карты необходимо выполнить команду с заданными параметрами.
Определите следующие значения для вашей карты:
- length - длина стороны маркера в метрах (например, 0.3)
- x - количество маркеров по оси X (столбцов)
- y - количество маркеров по оси Y (строк)
- dist_x - расстояние между центрами маркеров по оси X (м)
- dist_y - расстояние между центрами маркеров по оси Y (м)
- first_ID - ID первого маркера
- --top-left — нумерация с верхнего левого угла (важный параметр, так как это стандарт для большинства полей)
Выполните команду генерации
В терминале выполните следующую команду, подставив свои параметры:
rosrun aruco_pose genmap.py <length> <x> <y > <dist_x > <dist_y > <first_ID> > ~/catkin_ws/src/sverk/aruco_ws/src/sverk/aruco_pose/map/<Имя_файла>.txt --top-left
Стандартное имя файла карты —
map.txt. Если вы укажете другое имя при генерации, его необходимо прописать в конфигурационном файлеaruco.launch(параметр<param name="map" value="$(find aruco_pose)/map/ВАШ_ФАЙЛ.txt"/>)
Настройка ROS-ноды для работы с новой картой:
- Откройте конфигурационный файл:
nano ~/catkin_ws/src/sverk/sverk/launch/aruco.launch
- Найдите строку и отредактируйте параметр map:
<arg name="map" default="map.txt"/>
- Замените map.txt на имя вашего файла:
<arg name="map" default="sverk.txt"/>
- Сохраните изменения и выйдите из редактора: Нажмите Ctrl+X, затем Y, затем Enter
aruco.launch - это файл запуска ROS, предназначенный для детектирования ArUco-меток. Он обычно запускает узлы, которые принимают изображения, обрабатывают эти изображения, публикуют координаты меток
aruco.launch позволяет вашей роботизированной системе "видеть" и отслеживать специальные квадратные маркеры ArUco в реальном времени.
Пример генерации карты ArUco-меток
На изображении ниже показана физическая карта ArUco-меток
Параметры для генерации ArUco-меток обозначены под каждой из них:
- length - 0.3 - длина стороны маркера (м)
- x - 3 - количество маркеров по оси X (столбцов)
- y - 2 - количество маркеров по оси Y (строк)
- dist_x - 0.5 - расстояние между центрами маркеров по оси X (м)
- dist_y - 0.5 - расстояние между центрами маркеров по оси Y (м)
- first - 42 - ID первого маркера
Назовем файл sverk.txt
Из вышеуказанных данных собираем команду:
rosrun aruco_pose genmap.py 0.3 3 2 0.5 0.5 42 > ~/catkin_ws/src/sverk/aruco_pose/map/sverk.txt --top-
Поскольку в качестве первой метки мы указали метку №42 теперь наша карта сгенерируется, имея метки по порядку возрастания начиная с №42: 43, 44, 45, 46, 47, 48. Однако, у нас номера иные. Необходимо отредактировать ранее созданный файл.
Редактирование карты ArUco-меток
Необходимо внести изменения в карту ArUco-меток. Размер метки для для взлета должен составлять 1,5×1,5 см
Для удобста использования добавляйте метку 1,5×1,5 см на свои карты
Откройте файл с помощью команды:
nano ~/catkin_ws/src/sverk/aruco_pose/map/sverk.txt
Внесите изменения
Поменяем первый столбец исходя из наших номеров меток и размер первой метки для взлета:
Для замены значения перемещайтесь внутри файла спомощью стрелок
Было:

Стало:

Сохраните и выйдите:
Ctrl+X,Y,Enter.Большинство параметров, необходимых для полета, хранится в папке:
catkin_ws/src/sverk/sverk/launch/Зайти в папку:
cd ~/catkin_ws/src/sverk/sverk/launch/Открыть файл aruco.launch:
nano aruco.launch

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

Поменяем на sverk.txt:

Сохраните и выйдите:
Ctrl+X,Y,EnterДля применения изменений перезагрузите сервис БВС:
sudo systemctl restart sverk.service
Проверьте вид сгенерированной карты ArUco-меток:
Откройте веб-интерфейс

В веб-интерфейсе перейдите в раздел View image topics (web_video_server)
Откройте топик /aruco_map/image

Убедитесь, что карта ArUco-меток корректно сгенерировалась - в соответствии с изначальным примером
