Онлайн-курсы

«Программирование дронов» от Скиллбокса: честный обзор

Подготовили для вас максимально подробный обзор на курс «Программирование дронов» от Skillbox.  На курсе вы познакомитесь с устройством летающей робототехники. Научитесь программировать беспилотники и моделировать полёты дронов в различных условиях. Изучите инструменты для решения прикладных задач с помощью беспилотников.

Посмотрим более детально, из чего состоит курс:

Введение в летающую робототехнику

Во введении к курсу рассказывается не только о сферах применения БПЛА с примерами, но и о проблематике автономных дронов, которую придется учитывать при их программировании — проблемы при использовании станции базирования, при мониторинге внутри строящегося объекта, при зарядке, при осуществлении группового полета дронов.

В ходе курса понадобится некоторое специфическое ПО вроде фреймворка Robotics Operating System под Ubuntu, поэтому так же есть инструкции, что и как установить.

Основы аппаратных и навигационных комплексов БАC

Лектор подробно проходится по компонентам дронов, их видам и устройству — электродвигатели, регуляторы оборотов, воздушные винты, системы радиосвязи, автопилоты, батареи, компьютеры, конструктивные элементы. И как все это друг к другу подключается (по сути — как собирается дрон). Отдельно и подробно — про работу навигационных систем. Все — со схемами:

Базовые теоретические основы разработки летающей робототехники

Вот тут уже во всю пригодится математика — не самого сложного порядка, но все же. Блок — про механику движения БЛА на основе математической модели, и предстоит научиться использовать алгоритмы систем управления для моделирования полета дрона. Придется вспомнить векторы, интегралы, производные и углы Эйлера, чтобы разобраться, как с использованием основного уравнения динамики описать полет дрона вдоль осей координат.

Затем — разобраться с работой простейших систем управления с применением различных регуляторов, научиться моделировать систему управления высотой дрона — составлять мат.модель и алгоритмы ее реализации. В конце модуля уже будет полноценное домашнее задание, выполняя которое, вы как раз научитесь программировать простые мат.модели и системы управления.

Разработка симулятора беспилотного летательного аппарата (БЛА)

Дальше — сложнее, рассматриваются более продвинутые математические модели и алгоритмы автопилотов, объясняется, как создавать оптимальные траектории полета БЛА.

Основы разработки ПО для летающей робототехники

Когда с математикой, лежащей в основе работы дрона, разобрались — лектор переходит к ПО для программирования дронов. Вы ознакомитесь с системой конфигурации и моделирования БЛА на основе автопилота РХ4, рассмотрите ключевые алгоритмы цифровой обработки сигналов на конкретных примерах, изучите принцип работы фильтра Калмана для линейной модели, создадите простую систему удержания высоты по лазерному дальномеру.

Основы создания систем технического зрения для автономных БЛА

Рассмотрите применение систем технического зрения в составе автономных БЛА, изучите основные понятия и методы обработки изображений, разоберете принцип работы навигации по реперным маркерам и с использованием оптического потока. Научитесь моделировать автономный полёт БЛА с применением систем технического зрения.

Основы разработки систем предотвращения столкновений и построение карты

Рассмотрите аппаратные средства и датчики, применяемые для дальномерных измерений. Изучите базовые теоретические основы и алгоритмы для построения карты пространства. Научитесь моделировать полёт БЛА и построение карт окружающего пространства. Рассмотрите алгоритмы позиционирования и построения карты.

Основы разработки систем планирования пути и облёта препятствий

Рассмотрите концепции и основные понятия систем планирования маршрута, методы глобального и локального планирования маршрута и метод гистограммы векторного поля для облёта препятствий, основы разработки систем планирования маршрута и облёта препятствий. Обсудите разработку систем облёта препятствий БЛА и изучите метод A* для построения маршрута БЛА.

Основы разработки ПО для группового полёта

Изучите основы создания систем для группового полёта БЛА и алгоритмы планирования маршрута для группового полёта. Рассмотрите простые алгоритмы полёта группы БЛА.

Перспективы профессии

Тут поднимается важный вопрос — что вы должны знать и уметь, чтобы быть востребованным специалистом? Должно быть знание ROS, Linux, языков программирования Python и C++, библиотеки OpenCV, умение визуализировать результат, работать с научной литературой, проводить сравнение и анализ алгоритмов, навык работы с «железом», умение портировать алгоритмы на реальный аппарат. О многом говорилось в курсе и в конце будет большой итоговый проект, который вы должны выполнить — но все равно еще во многом придется разбираться самостоятельно, углублять знания и доводить до автоматизма имеющиеся навыки. Как и в любой профессии, в принципе.