Решён
Какие знания нужны для создания квадрокоптера?

Хочу собрать квадрокоптер с нуля. Не готовый кит, а именно разработать сам, включая полетный контроллер.

Бэкграунд: программист (Python, немного C++), базовые знания электроники на уровне ардуино-проектов. Паять умею. Физику помню на уровне школы.

Что нужно изучить? Интересует полный список дисциплин и тем. Какой порядок изучения? Сколько реально времени займет от нуля до летающего прототипа?

Решение
175
Эксперт • 3 ответа

Отличный проект для обучения. Делал подобное на диплом, сейчас работаю в компании которая производит промышленные дроны. Расскажу что нужно.

Блок 1: Теория полета (2-4 недели)

  • Аэродинамика винтов: тяга, реактивный момент, ground effect
  • Динамика квадрокоптера: 6 степеней свободы, углы Эйлера (или кватернионы, они лучше)
  • Принцип управления: как комбинация оборотов 4 моторов дает крен, тангаж, рыскание

Книга: "Quadrotor Dynamics and Control" - есть PDF в открытом доступе. Плюс лекции MIT по Underactuated Robotics на YouTube.

Блок 2: Теория автоматического управления (4-8 недель)

  • ПИД-регуляторы: понять интуитивно и математически
  • Каскадное управление: внутренний контур (угловые скорости) + внешний (углы) + позиционный
  • Калибровка и настройка коэффициентов
  • Фильтры: комплементарный, Калман (хотя бы базово)

Это самый сложный блок. Без понимания ТАУ полетный контроллер не напишешь. Курс на Coursera от University of Michigan "Robotics: Aerial Robotics" - маст хэв.

Блок 3: Датчики и сенсорный фьюжн (2-4 недели)

  • IMU: акселерометр + гироскоп, понимание погрешностей, дрейфа
  • Барометр для высоты
  • Магнитометр для курса (и почему он глючит везде)
  • GPS для позиционирования
  • Оптический поток и лидары для помещений
  • Фьюжн данных: комплементарный фильтр для начала, потом EKF

Блок 4: Силовая электроника (2-3 недели)

  • Бесколлекторные моторы (BLDC): принцип работы, характеристики
  • ESC: протоколы управления (PWM, OneShot, DShot)
  • Батареи LiPo: разряд, балансировка, безопасность
  • Расчет тяговооруженности

Блок 5: Микроконтроллеры и embedded (4-6 недель)

  • STM32 (F4 или F7) - стандарт для полетников. Arduino слишком медленный.
  • RTOS или голый metal с прерываниями
  • I2C, SPI, UART для датчиков
  • Управление таймерами для PWM

С твоим бэкграундом в C++ это будет ок, но нужно погрузиться в embedded специфику.

Блок 6: Механика рамы (1-2 недели)

  • Центр масс, развесовка
  • Жесткость vs вес
  • Защита от вибраций (мягкие крепления IMU)

Можно купить готовую раму для начала, не парься.

Порядок:

  1. Параллельно: теория полета + теория управления
  2. Симулятор! Обязательно напиши модель в Python/Matlab. Отладь алгоритмы виртуально.
  3. Датчики и фьюжн
  4. Железо: STM32, моторы, ESC, сборка
  5. Интеграция, калибровка, первые полеты на привязи
  6. Свободный полет

Тайминг:
Если фулл-тайм: 4-6 месяцев до летающего прототипа.
Если по вечерам: 8-12 месяцев.
Это при условии что не застрянешь на теории управления, там многие буксуют.

Альтернативный путь:
Начни с существующей прошивки (Betaflight/INAV), изучи ее код, модифицируй. Это быстрее даст летающий аппарат и понимание архитектуры. Потом напишешь свое.

Аватар Максим Сервоприводов

Вау, это прямо учебный план! Спасибо. Начну с курса MIT и симулятора в питоне.

44
Участник • 2 ответа

Зачем изобретать велосипед? Возьми готовый полетник (Pixhawk или Matek), собери по инструкции, полетай, пойми как оно работает. Потом ковыряй прошивку если интересно.

Писать ФК с нуля - это академический проект на пару лет. Если цель летать, а не диссертацию писать - не надо.

Аватар Максим Сервоприводов

Цель именно разобраться как все работает изнутри. Готовый полетник не даст этого понимания.

56
Эксперт • 2 ответа

Главная засада - теория управления. Без нее вообще никак.

ПИД это только начало. Для стабильного полета нужно понимать:

  • Линеаризацию нелинейных систем
  • Передаточные функции
  • Частотный анализ (диаграммы Боде)
  • Запасы устойчивости

И это только для стабилизации! Для автономного полета по точкам нужно планирование траекторий, это еще слой.

Мой совет: найди курс по ТАУ и пройди его полностью. Без халтуры. Все остальное приложится.

88
Эксперт • 1 ответ

Делал похожий проект года три назад.

Самое неожиданное - сколько времени уходит на борьбу с вибрациями. IMU ловит каждую вибрацию от моторов и пропеллеров, данные становятся шумными, фильтры не справляются, коптер трясет и он падает.

Решение: софт-маунт для платы с датчиками, балансировка пропеллеров (да, каждого!), качественные подшипники в моторах. На это убил месяц, хотя думал что соберу за неделю.

Еще совет: первые тесты делай с защитой пропеллеров и на привязи. Коптер с кривым ПИДом взлетает и моментально делает сальто. Был у меня такой, пропеллер в лицо прилетел, хорошо что маленький.

23
Участник • 1 ответ

список такой

  • питон для симуляции норм
  • си или раст для прошивки (питон слишком медленный для реалтайма)
  • теория управления (пид и фильтры)
  • электроника (силовая часть, датчики)
  • немного механики

readdocs у betaflight и ardupilot, там много инфы как все устроено внутри

34
Участник • 1 ответ

Не забудь про правовую сторону. В РФ с 2024 обязательна регистрация дронов тяжелее 150 грамм. Для полетов в городе и вообще в большинстве мест нужно разрешение. Штрафы до 50к для физлиц.

Это не отменяет проект, но летать придется на даче или искать специальные площадки.

Написать ответ

Премодерация гостей

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

Будьте вежливы и соблюдайте правила платформы.