Скажіть або напишіть
Натисніть 🎤 і продиктуйте, наприклад: «злети, пролети 2 метри вперед, поверни праворуч на 90 градусів і сядь». Українською чи російською, метри й секунди розуміє сам.
Увесь курс проходиться в браузерному симуляторі — дрон не потрібен. Але якщо у вас є DJI Tello, фінальний модуль «Реальний політ» покаже, як ті самі маршрути виконати наживо: через наш Android-застосунок RealDrone Agent.
Сайт сам з дроном не з'єднується. Застосунок працює на телефоні, підключеному до Wi-Fi дрона, і виконує список команд або точок, який ви в нього вставляєте. Python із курсу застосунок не запускає — у модулі ви вчитесь переводити місію з симулятора в такий список (і навіть пишете для цього функцію на Python).
Не обов'язково вчити команди напам'ять: скажіть або напишіть, що має зробити дрон, — застосунок з допомогою штучного інтелекту перетворить фразу на список команд.
Натисніть 🎤 і продиктуйте, наприклад: «злети, пролети 2 метри вперед, поверни праворуч на 90 градусів і сядь». Українською чи російською, метри й секунди розуміє сам.
Застосунок покаже розпізнані команди й попередить, якщо немає зльоту чи посадки. Якщо фраза неточна («лети трохи вперед»), він перепитає, скільки саме.
Список лише потрапляє в поле команд. Дрон злітає тільки після вашої кнопки «Виконати», а STOP і EMERGENCY завжди працюють самі, без ШІ.
Вхід у DroneLab у застосунку (один раз), активна підписка й інтернет на телефоні. Wi-Fi дрона виходу в мережу не має, тому або тримайте увімкненими мобільні дані, або розпізнайте команду до підключення до дрона. Значення поза безпечними межами ШІ не «підганяє», а відхиляє з поясненням. Керувати дроном в реальному часі голосом застосунок не вміє: це планування маршруту, а не пульт.
Заряджений дрон (DJI Tello (SDK 2.0)). Заряд — не нижче 50% перед польотом.
Застосунок працює по Wi-Fi дрона; мобільний інтернет при цьому лишається вільним.
Мінімум 3×3 м, рівна підлога, без людей, тварин і крихких речей поруч. Спершу — в приміщенні без протягу.
Перший модуль курсу безкоштовний; підписка відкриває всі модулі, підсумковий проєкт і застосунок для Android.
dronelab-realdrone.apk кнопкою вище прямо з телефона (або з комп'ютера й перекиньте кабелем / через Telegram).RealDrone Agent 0.4.2.TELLO-XXXXXX → Підключити (пароля немає).У нижнє поле введіть команди — по одній на рядок — і натисніть «Виконати». Увесь список перевіряється до злету: помилка в рядку 5 не залишить дрон висіти в повітрі.
takeoff forward 50 land
Далі — маршрут «квадрат 1×1 м» точками (осі як у симуляторі: x — праворуч, y — вперед, в сантиметрах від місця зльоту; # починає коментар):
takeoff speed 40 goto 0 100 # 1 м вперед goto 100 100 # 1 м праворуч goto 100 0 # 1 м назад goto 0 0 # 1 м ліворуч — додому land
Логіка однакова, але одиниці й набір команд відрізняються: симулятор рахує в метрах (дробові), дрон — у цілих сантиметрах від 20 до 500. 1 м = 100 см.
| Симулятор (Python) | RealDrone Agent | Відмінність |
|---|---|---|
| початок сесії | кнопка «Підключити» (connect) + battery | У симуляторі й на Tello політ однаково починає takeoff; заряд і місце ви перевіряєте самі, перед запуском. |
drone.takeoff(1.5) | takeoff або takeoff 150 | Tello завжди злітає на ~80 см; takeoff 150 після цього додає up 70. Висота — в см (100–300). |
drone.land() | land | Мотори вимикаються самі після посадки. |
forward(m) · backward(m) · left(m) · right(m) · up(m) · down(m) | forward N · back N · left N · right N · up N · down N | N — цілі сантиметри 20–500. 1.5 м → 150. Назва backward теж працює. |
turn_right(deg) · turn_left(deg) | rotate_right N · rotate_left N | Кут 1–360°. Назви turn_right/turn_left теж працюють. |
move_to(x, y, z) | goto X Y [Z] | Ті самі осі: x — праворуч, y — вперед, z — висота. Але в см і відносно точки зльоту, а не карти. Далекі переліти розбиваються на відрізки ≤ 5 м. |
set_speed(m/s) | speed N | 10–100 см/с (0.1–1.0 м/с). Діє на goto. |
hover(s) · hold(s) | wait N | Пауза 1–60 с. Назва hover теж працює. |
| — (лише на справжньому дроні) | flip_forward · flip_back · flip_left · flip_right | Переворот («сальто») у повітрі. Потрібен вільний простір; на низькому заряді прошивка Tello може відмовити. Без аргументів. Голосом: «зроби сальто назад». |
| — (лише на справжньому дроні) | temp · tof · attitude · baro · time · wifi | Запити стану дрона, відповідь потрапляє в лог. Разом із battery, height і pos. |
return_home() | goto 0 0 + land | Окремої команди немає. |
abort() | stop (зависання) або land | Кнопка EMERGENCY глушить мотори — дрон падає. Лише коли політ небезпечніший за падіння. |
position() · battery_level() · sensors.altitude() | pos · battery · height | pos — розрахункова позиція з відданих команд, не GPS: вітер і знос не враховуються. |
distance_ahead() · sensors.wind() · mark() · grab()/release() | немає | Tello не має датчика перешкод попереду, датчика вітру й захвату. Перешкоди оминаєте самі. |
takeoff, land.| Симптом | Що робити |
|---|---|
| «Підключити» висить, відповіді немає | Телефон має бути підключений саме до TELLO-XXXXXX, а не до домашнього Wi-Fi. Перезавантажте дрон (вимкнути/увімкнути). |
| Часто «Зв'язок втрачено» | Вимкніть автоперемикання на мобільні дані (крок 3), тримайтесь ближче до дрона, оновіть застосунок до версії 0.4.2. |
| «Невідома команда» / дрон сів сам | Встановлена стара версія. У першому рядку лога має бути RealDrone Agent 0.4.2; інакше видаліть застосунок і поставте новий файл. |
| Програму не запущено, список помилок | Застосунок показує номери рядків із помилками й нічого не виконує — виправте їх і запустіть знову. |
| Дрон приземлився не там, де чекали | Позиція рахується з команд, без датчиків: вітер і гладка підлога дають знос у кілька сантиметрів на метр. |
Він не впливає на завершення курсу й сертифікат — це бонус для тих, хто має Tello.