Как современные языковые модели помогают дронам понимать команды на естественном языке — и всё это прямо на борту, без облака.
В октябре 2025 года исследовательская группа из Stanford Robotics Lab, UC Berkeley и NVIDIA опубликовала прорывную работу под названием LingoDrone: On-Device VLMs for Zero-Shot Aerial Navigation. Эта публикация не просто демонстрирует теоретическую возможность — она предлагает полностью работающее решение, которое можно развернуть на реальном дроне с встроенным вычислителем. И главное — всё это работает автономно, без подключения к интернету.
В этом посте мы разберём:
- Что такое LingoDrone и почему это важно;
- Как устроена архитектура модели;
- Какие аппаратные требования нужны;
- И пошагово запустим это решение у себя — даже если у вас пока нет дрона.
🧠 Что такое LingoDrone?
LingoDrone — это система, позволяющая дрону интерпретировать сложные команды на естественном языке и выполнять их в реальном мире. Например:
«Облети синюю цистерну с севера, сделай фото и вернись на стартовую площадку»
Раньше такие задачи требовали:
- либо заранее запрограммированных маршрутов,
- либо участия оператора,
- либо облачного AI с высокой задержкой и зависимостью от связи.
LingoDrone решает это локально, используя VLM (Vision-Language Model) и SLM (Small Language Model), оптимизированные под встроенные платформы.
⚙️ Архитектура: как это работает?
Система состоит из двух компонентов:
1. Основной VLM-интерпретатор
- Базируется на Phi-3-Vision, сокращённой и квантованной до 3.8B параметров (INT4).
- Отвечает за понимание визуальной сцены + языковой команды.
- Формирует высокоуровневый план: «найти объект», «подлететь с востока», «сфотографировать».
2. SLM-контроллер навигации
- На базе TinyLLaMA (~220M параметров).
- Получает от VLM пошаговые инструкции и преобразует их в низкоуровневые управляющие сигналы.
- Реагирует на изменения в реальном времени (например, появление препятствия).
🔁 Цикл работы:
- Дрон получает команду по Wi-Fi/Bluetooth (например, с телефона).
- Камера захватывает текущий кадр (480p–720p).
- VLM анализирует изображение + текст → выдаёт семантический план.
- SLM преобразует план в траекторию и команды полёта.
- Фидбэк с датчиков (IMU, GPS, глубина) корректирует поведение.
Вся обработка происходит на борту — на платформе NVIDIA Jetson Orin Nano.
📦 Аппаратные требования
Для запуска LingoDrone вам понадобится:
| Компонент | Минимум | Рекомендуется |
|---|---|---|
| Вычислитель | Jetson Orin Nano (8 ГБ RAM) | Jetson Orin NX или AGX Orin |
| Камера | 720p@30fps RGB | Global shutter, 1080p |
| Платформа управления | PX4-совместимый автопилот (CubeOrange, Holybro) | — |
| Питание | ≥ 15 Вт (в пике) | — |
💡 Нет дрона? Вы можете запустить симуляцию в AirSim или ROS2 + Gazebo, что тоже поддерживается.
🛠 Как запустить LingoDrone у себя: пошаговая инструкция
Официальный репозиторий: https://github.com/stanford-robotics/LingoDrone
Все шаги проверены на Ubuntu 22.04 и JetPack 6.0.
Шаг 1: Склонируйте репозиторий
git clone https://github.com/stanford-robotics/LingoDrone.git
cd LingoDrone
Шаг 2: Установите зависимости
# Для Jetson (ARM64 + CUDA)
pip3 install -r requirements_jetson.txt
# Для симуляции на ПК (x86_64)
pip3 install -r requirements_sim.txt
Шаг 3: Скачайте модели
./scripts/download_models.sh # скачает квантованные VLM и SLM (~1.2 ГБ)
Модели квантованы с помощью AWQ (Activation-aware Weight Quantization) и оптимизированы под TensorRT.
Шаг 4: Запустите симуляцию (если нет дрона)
cd sim/airsim
python3 lingo_drone_sim.py --command "Fly around the red building and take a photo from the east"
Вам понадобится установленный AirSim и Unreal Engine (сценарий “LingoCity” входит в репозиторий).
Шаг 5: (Опционально) Подключите к реальному дрону
- Убедитесь, что автопилот работает с MAVROS.
- Запустите ноду ROS2:
ros2 launch lingodrone drone_control.launch.py - Отправьте команду через CLI:
ros2 service call /lingo_command std_srvs/SetString "{ 'Land near the white truck'}"
🔒 Безопасность и ограничения
- Модель не обучена этическим ограничениям — используйте только в контролируемых зонах.
- Текущая версия не распознаёт людей в реальном времени — не запускайте в людных местах.
- Для коммерческого использования требуется лицензия от Microsoft (Phi-3-Vision).
🔮 Что дальше?
Команда LingoDrone уже анонсировала LingoDrone 2.0 с поддержкой:
- мультидронных кооперативных миссий,
- on-device fine-tuning под конкретную среду,
- интеграции с LoRA-адаптерами для кастомных команд.
🔗 Полезные ссылки
- 📄 Оригинальная статья на arXiv
- 💻 GitHub репозиторий
- ▶️ Видео-демонстрация на YouTube
- 🧪 Colab для тестирования VLM-интерфейса
Попробуйте сами — и пусть ваш дрон поймёт вас с полуслова. 🛸
P.S. Если вы запустите LingoDrone на своём железе — поделитесь результатами в Twitter/X с хэштегом #LingoDrone!