Настройка бортового компьютера и ArUco-навигации для БВС
Эта инструкция описывает создание и настройку карты ArUco-маркеров, необходимых для работы режима удержания позиции (Position) на платформе "Обрик". Без них стабильный автономный полет невозможен. Система ArUco обеспечивает взлет/посадку, навигацию по ID маркеров и следование по маршруту. Точность зависит от калибровки камеры и качества маркеров
Помните, что точность навигации напрямую зависит от качества калибровки камеры, освещенности и физического состояния маркеров. Регулярно проверяйте систему и при необходимости повторяйте калибровку
Бортовой компьютер
Бортовой компьютер представляет собой компактное устройство, основу которого составляет процессорная плата Raspberry Pi: Этот миниатюрный одноплатный компьютер размером с ладонь построен на базе мобильного микропроцессора ARM.
Материнская плата: Данное устройство обеспечивает возможность подключения дополнительных элементов к модемной плате и оснащено слотом для SD-карты.
Основная структура образа
clover/ ├── aruco_pose/ # ROS-пакет для работы с ArUco-маркерами │ ├── map/ # примеры карт маркеров │ ├── map.txt # стандартная карта (id, pose, размер) │ └── ... # дополнительные карты │ ├── clover/ # основной ROS-пакет Clover (API автономных | \полётов) │ ├── launch/ # launch-файлы Clover │ ├── clover.launch # главный launch-файл, запускает весь стек │ │ Clover │ ├── mavros.launch # конфигурация MAVROS │ ├── main_camera.launch # запуск и конфигурация основной камеры │ ├ aruco.launch # настройка ArUco-навигации │ └── led.launch # запуск подсветки и эффектов │ ROS-пакета │ ├── clover_blocks/ # блочное программирование │ (Blockly-интерфейс) │ ├── clover_simulation/ # симуляция Clover (Gazebo + PX4 SITL) │ ├── airframes/ # airframe-конфиги PX4 │ ├── launch/ # simulator.launch + другие файлы симулятора │ └── resources/ │ └── worlds/ # миры для Gazebo: clover.world, │ clover_aruco.world └── README.md # общее описание проекта
Подключение
- Подключите питание 5V к бортовому компьютеру с помощью кабеля USB Type-C
- Подключитесь к сети Wi-Fi БВС
- Откройте браузер и в адресной строке введите IP-адрес: http://172.20.10.7
После подключения доступен Веб-интерфейс с основными веб-инструментами:
- Документация
- Список топиков образа
- Доступ к топику на котором можно увидеть работу камеры
- Онлайн терминал
- 3D визуализация
- Блочное программирование
- Логи БВС

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

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

Основные команды для работы с бортовым компьютером
Для уверенной работы в системе вам понадобятся основные команды Linux, а также специализированные утилиты платформы “Сверх”
Работа с файловой системой и редактором
- Показать список файлов в текущей директории:
ls - Перейти в папку по указанному пути:
cd catkin_ws/src/clover/clover/launch/ - Вернуться в домашнюю директорию:
cd - Перейти на директорию выше:
cd .. - Удалить файл или папку с именем “name”:
rm -rf name
Операция выполняется без подтверждения и безвозвратно. Будьте осторожны!
- Команда позволяет создавать и редактировать файл:
nano - Вывести путь к текущей директории:
pwd - Создать и открыть файл с названием “file”, с расширением.py (Python) в редакторе:
nano file.py
Если файл уже создан, то он открывается для редактирования
- Редактировать файл с названием “file”, с расширением “.txt” по полному пути (из любой директории):
nano ~/catkin_ws/src/clover/clover/launch/file.txt
Символ ~ обозначает домашнюю директорию вашего пользователя. Если вы уже находитесь в ней, можно обойтись командой “cd”
- Сохранить изменения и выйти из nano:
Нажмите последовательно: “Ctrl”+”X”, затем “Y”, затем “Enter” - Для вставки текста в терминале Linux используются сочетания клавиш Shift+Insert или Ctrl+Shift+V
- Для копирования текста в терминале Linux используется сочетание клавиш Ctrl + Shift + C
- Остановка текущей активной программы: Нажмите Ctrl + C. Эта комбинация отправляет сигнал прерывания (SIGINT) программе
Управление системой и процессами
- Позволяет выполнять команды с правами суперпользователя (администратора), если у текущего пользователя есть на это разрешение:
sudo - Полная перезагрузка БВС:
sudo reboot - Перезапуск сервисов БВС:
sudo systemctl restart clover - Самопроверка систем БВС:
rosrun clover selfcheck.py - Запуск Python-скрипта “myprogram.py”:
python3 myprogram.py - Принудительная остановка запущенной программы:
Сочетание клавиш “Ctrl”+”C”.
Команды генерации файла карты 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/clover/aruco_ws/src/clover/aruco_pose/map/<Имя_файла>.txt --top-leftПример: rosrun aruco_pose genmap.py 0.3 3 2 0.5 0.5 0 > ~/catkin_ws/src/clover/aruco_pose/map/sverk.txt --top-left
Стандартное имя файла карты —
map.txt. Если вы укажете другое имя при генерации, его необходимо прописать в конфигурационном файлеaruco.launch(параметр<param name="map" value="$(find aruco_pose)/map/ВАШ_ФАЙЛ.txt"/>)
Настройка ROS-ноды для работы с новой картой:
- Откройте конфигурационный файл:
nano ~/catkin_ws/src/clover/clover/launch/aruco.launch - Найдите строку и отредактируйте параметр map:
'
' - Замените map.txt на имя вашего файла:
'
' - Сохраните изменения и выйдите из редактора: Нажмите Ctrl+X, затем Y, затем Enter
Примечание: aruco.launch - это файл запуска ROS (Robot Operating System), предназначенный для детектирования маркеров 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 первого маркера
Для обеспечения автоматического взлета используются ArUco-метки размером 1×1 см (левая верхняя метка), что позволяет камере уверенно их распознавать,но при генерации все метки будут одинакового указанного размера, ее необходимо отредактировать. Меток взлета на карте может быть несколько
Назовем файл sverk.txt
Из вышеуказанных данных собираем команду:
rosrun aruco_pose genmap.py 0.3 3 2 0.5 0.5 42 > ~/catkin_ws/src/clover/aruco_pose/map/sverk.txt --top-left
Поскольку в качестве первой метки мы указали метку №42 теперь наша карта сгенерируется, имея метки по порядку возрастания начиная с №42: 43, 44, 45, 46, 47, 48. Однако, у нас номера иные. Необходимо отредактировать ранее созданный файл.
Редактирование карты ArUco-меток
Необходимо внести изменения в карту ArUco-меток. Размер метки для для взлета должен составлять 1×1 см
Откройте файл с помощью команды:
nano ~/catkin_ws/src/clover/aruco_pose/map/sverk.txt
Внесите изменения.
Поменяем первый столбец исходя из наших номеров меток и размер первой метки для взлета:
Было:
Стало:

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

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

Для применения изменений перезагрузите сервис БВС:
sudo systemctl restart clover
Проверьте вид сгенерированной карты ArUco-меток:
- В веб-интерфейсе перейдите в раздел web_video_server
- Откройте топик /aruco_map/image
Наведите камеру БВС на маркеры. Убедитесь, что они корректно определяются, а их ID отображаются поверх изображения

Генерация карты ArUco-меток для печати
Установите генератор карт ArUco-меток:
- iOS
Windows
Запустите приложение на компьютере
Во вкладке «Словарь ArUco» выберите необходимый тип меток. Для БВС используется словарь DIST_4X4_100

Откройте файл с конфигурацией карты ArUco-меток на бортовом компьютере, используя команду:
nano ~/catkin_ws/src/clover/aruco_pose/map/ВАШ_ФАЙЛ.txt
Не забудьте заменить ВАШ_ФАЙЛ.txt на актуальное название файла
Скопируйте всё текстовое содержимое открытого файла и вставьте его в программу для генерации карты

Установите формат бумаги. Для печати больших полей рекомендуется задать произвольный размер. Для этого выберите пункт «Custom» и укажите параметры в миллиметрах
Нажмите Рассчитать размер поля для автоматической настройки

Нажмите кнопку «Обновить». Проверьте правильность карты и, если всё верно, нажмите «Скачать в PDF»

Распечатайте карту ArUco-меток и разместите её в полетной зоне
После расчета размера поля, формат поля измениться на Custom
⚠️ Важное требование к печати
Печать обязательно должна быть матовой. Если метки будут бликовать, камера БВС не сможет их распознать, и автономный полет будет невозможен.
Пример сгенерированной карты ArUco-меток
Используйте карту, созданную в предыдущем примере
| # id | length | x | y | z | rot_z | rot_y | rot_x |
| 42 | 0.01 | 0.0 | 0.5 | 0 | 0 | 0 | 0 |
| 18 | 0.3 | 0.5 | 0.5 | 0 | 0 | 0 | 0 |
| 12 | 0.3 | 1.0 | 0.5 | 0 | 0 | 0 | 0 |
| 27 | 0.3 | 0.0 | 0.0 | 0 | 0 | 0 | 0 |
| 43 | 0.3 | 0.5 | 0.0 | 0 | 0 | 0 | 0 |
| 5 | 0.3 | 1.0 | 0.0 | 0 | 0 | 0 | 0 |
- Скачиваем в PDF или SVG. Откройте в любом PDF, SVG редакторе
После печати поля проверьте размеры ArUco-меток