Работа с полем ArUco-маркеров

В комплектации идёт готовая распечатанная карта меток, которая записана в систему бортового компьютера при установке образа.

Помните, что точность навигации напрямую зависит от качества калибровки камеры, освещенности и физического состояния меток. Регулярно проверяйте систему и при необходимости повторяйте калибровку.

Подключение

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

После подключения доступен Веб-интерфейс с основными веб-инструментами:

  • Документация
  • Список всех топиков
  • Список топиков для работы с камерой
  • Работа камеры
  • Онлайн терминал
  • 3D визуализация
  • Блочное программирование
  • Логи БВС

input password

Вход в систему

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

result password

  • В открывшемся терминале введите пароль: raspberry

Символы пароля не отображаются при вводе в целях безопасности

  • После успешного ввода вы увидите командную строку:

result password

Ознакомьтесь с основными командами для работы с терминалом

Команды генерации файла карты 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

Параметры для генерации 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
    

    opnen path sverk.txt

  • Внесите изменения

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

    Для замены значения перемещайтесь внутри файла спомощью стрелок

    Было:

    was sverk.txt

    Стало:

    become sverk.txt

  • Сохраните и выйдите: Ctrl+X, Y, Enter.

  • Большинство параметров, необходимых для полета, хранится в папке:

    catkin_ws/src/sverk/sverk/launch/
    
  • Зайти в папку:

    cd ~/catkin_ws/src/sverk/sverk/launch/
    
  • Открыть файл aruco.launch:

    nano aruco.launch
    

open aruco.launch

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

    find row aruco.launch

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

    find row aruco.launch

  • Сохраните и выйдите: Ctrl+X, Y, Enter

  • Для применения изменений перезагрузите сервис БВС:

    sudo systemctl restart sverk.service
    

    restart

Проверьте вид сгенерированной карты ArUco-меток:

  • Откройте веб-интерфейс

    restart

  • В веб-интерфейсе перейдите в раздел View image topics (web_video_server)

  • Откройте топик /aruco_map/image

    restart

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

    aruco xyz

results matching ""

    No results matching ""