ThorWebFlight — встроенный веб-интерфейс для визуального программирования квадрокоптера ТОР на базе Blockly. Программное обеспечение разворачивается непосредственно на борту дрона и не требует установки, прошивки или стороннего ПО. Управление осуществляется через браузер по Wi‑Fi соединению.
Основные возможности
- Визуальное программирование полётных миссий с использованием Blockly
- Автоматическая генерация Python-кода
- Запуск миссий в реальном времени без перепрошивки
- Работа через локальный веб-интерфейс
- Просмотр видеопотока с фронтальной камеры
- Поддержка Apriltag-меток для сценарной логики
- Встроенная функция аварийной посадки
Системные требования
1. Аппаратные требования:
- Квадрокоптер Thor с предустановленным веб-сервером
- Компьютер, планшет или смартфон с Wi-Fi
2. Программные требования:
- Современный браузер (рекомендуется Yandex Browser)
- Доступ к локальной сети квадрокоптера (порт 1024)
Подключение и запуск
После включения квадрокоптер Thor автоматически разворачивает веб-сервер. Подключение осуществляется через Wi‑Fi сеть дрона, после чего интерфейс ThorWebFlight открывается в браузере по локальному IP-адресу.Интерфейс ThorWebFlight
Интерфейс включает визуальный редактор Blockly для сборки миссий, вкладку с автоматически сгенерированным Python-кодом, панель управления миссией и встроенное окно видеопотока.
Блоки управления
- Константы — числовые параметры и математические значения
- Взлёт — подъём на заданную высоту
- Посадка — стандартное завершение полёта
- Перемещения — полёт в локальной системе координат
- Контроль — задержки выполнения команд
- Метка — логика выполнения по Apriltag
- Завершение работы — обязательный финальный блок миссии
- Аварийная посадка — экстренное завершение полёта
Система координат
Перемещения выполняются в локальной системе координат квадрокоптера: ось X направлена вперёд, ось Y — вправо, ось Z — вверх. Азимут (yaw) задаёт ориентацию дрона относительно исходного направления.
Работа с миссиями
Миссии сохраняются и загружаются в формате XML. Python-код генерируется автоматически и используется только для исполнения, ручная загрузка скриптов не предусмотрена.Ограничения и рекомендации
Рекомендуемая высота полёта составляет от 0.7 до 2 метров. Для корректной работы датчиков требуется контрастная поверхность под дроном и отсутствие прямого солнечного света в зоне работы дальномера.
Безопасность
В системе предусмотрена функция аварийной посадки, позволяющая немедленно приземлить квадрокоптер при зависании или некорректном выполнении миссии.
Поддерживаемые технологии
- Blockly
- Python
- MAVSDK
- ROS 2
- Apriltag