Гоночні дрони навчилися автономному польоту в мінливій обстановці

Швейцарські інженери розробили алгоритм управління для гоночних дронів, що дозволяє їм автономно літати в мінливій обстановці, наприклад, по трасі з контрольними точками, що рухаються. Одне з головних досягнень полягає в тому, що цей алгоритм не потребує точної моделі траси і може працювати на платі, встановленій на самому дроні, розповідають автори роботи, опублікованої на arXiv.org.


Дрони, що використовуються в гоночних змаганнях, управляються пілотами по радіозв'язку, яка може бути нестабільною через перешкоди. Деякі інженери розробляють мультикоптери, здатні пересуватися через трасу з перешкодами самостійно, але поки вони недосконалі. Багато подібних розробок можуть пересуватися тільки по статичній трасі і зіставляють своє поточне положення з її високоточною моделлю. Але навіть при такій схемі автономний політ - знімки з рухомого дрона можуть бути «змащені», що ускладнює визначення місця розташування. Крім того, нейромережеві алгоритми, які використовуються для обробки зображення з камери, як правило, занадто вимогливі до ресурсів, щоб обчислення велося прямо на літальному апараті.


Розробники з Цюріхського університету і компанії Intel під керівництвом Давіде Скарамуцца (Davide Scaramuzza) розробили алгоритм, що дозволяє їм автономно переміщатися гоночною трасою з контрольними точками, використовуючи для обчислень тільки власні ресурси. Алгоритм складається з двох основних частин - нейромережі, яка розпізнає сцену і встановлює мету для подальшого руху, а також низькорівневого алогоритму, який планує маршрут і безпосередньо керує дроном.

Для першого компонента автори використовували модифіковану восьмислійну залишкову нейромережу ResNet-8, яку вони використовували в попередній роботі, присвяченій навчанню дрона польотам у місті на основі записів з автомобілів і велосипедів. Нейромережа отримує на вході кольоровий кадр з камери з роздільною здатністю 300 на 200 пікселів, а потім позначає на ній ціль і бажану швидкість. Ці дані передаються алгоритму-планувальнику маршруту, який відповідає безпосередньо за рухи дрона.

Розробники натренували нейромережу як на даних з симульованої траси, на якому алгоритм повинен був дотримуватися наміченої оптимальної траєкторії, так і з реального треку. У цьому випадку дрон летів на ручному управлінні і фіксував оптимальний маршрут. В якості апаратної платформи інженери використовували саморобний квадрокоптер, обладнаний платою Intel UpBoard для обчислень і плату Qualcomm Snapdragon Flight Kit для візуально-інтерціальної одометрії.

Розробники продемонстрували процес тренування та випробувань дрона на відео:

На ролику можна бачити, що квадрокоптер успішно справляється з польотом по трасі, навіть якщо незадовго до прольоту контрольна точка змінила положення. Інженери порівняли ефективність дрона з професійним пілотом і пілотом-аматором. В обох випадках дрон під керуванням людей пролетів трасу набагато швидше, але з більшою частотою зіткнень з перешкодами.

Група інженерів під керівництвом Скарамуцца давно займається розробками в області безпілотних літальних апаратів. Раніше ці розробники навчили квадрокоптер виконувати агресивні маневри, покладаючись лише на свідчення власної камери, гіроскопа і акселерометра, а також самостійно знаходити собі безпечне місце для посадки. Крім того, інженери навчили дрон спритно керуватися з підвішеним на тросі вантажем, а також створили метод транспортування вантажу двома мультикоптерами, що не потребує додаткових систем позиціонування.


COM_SPPAGEBUILDER_NO_ITEMS_FOUND