KiberCuber
@KiberCuber

Как пишется ПО для дронов или БПЛА и что почитать чтобы это узнать?

заинтересовался курсом от скилбоксов по написанию софта для дронов, но нет доверия к этим ребятам (в плане соотношения цена/качество курсов). Из-за этого хочу самостоятельно, хотя бы на уровне базовых концепций, разобраться в данной сфере, поэтому вопрос - что почитать, посмотреть, погуглить; на каком языке вообще пишется ПО такого рода. Сам уже вышел в интернет с данным вопросом, там узнал, что писать можно от ассемблера до Go, но хотелось бы узнать у кого-то кто работает в этом направлении ответы поконкретнее. Заранее извиняюсь, если суть вопроса плохо изложил
  • Вопрос задан
  • 1647 просмотров
Решения вопроса 1
0. Направление не новое и хорошо изученное.

1. Зависит от того, какое именно ПО.
Что-то пишется на Си, что-то на языках высокого уровня, а что-то реализуется на уровне железа (плис/fpga/asic)
Для моделирования каких-то процессов может использоваться уже упомянутый матлаб, например.

2. Изучать нужно теорию управления и физику, тк по сути всё управление моторами базируется на ней - а это по сути основная и единственная задача, как удержать дрон в воздухе, не сталкиваться с препятствиями при движении, а в случае отсутствия движения - оставаться на месте.
По разработке - собственно Си для микроконтроллеров и verilog для железа. По хорошему ещё электронщиком нужно быть.
Не сильно от обычной embedded разработки отличается, выходит.

А на высоком уровне - там уже на конкретную задачу нужно смотреть. Где-то может даже ML и компьютерное зрение понадобится.
Получается тоже не так уж много отличий от обычной разработки.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 4
yanchick
@yanchick
Программист и учёный из сурового города
Дополню коллег выше. Еще неплохо бы изучить теорию бесплатформенных навигационных систем. Это основной датчик для БПЛА(хотя наверняка на тяжелых могут стоять и платформенные НС). Это затрагивает, хоть и чуток, теория гироскопов и акселерометров.
Ответ написан
Комментировать
@AlexSku
не буду отвечать из-за модератора
Пример для моторов квадрокоптера на Матлабе.
Ответ написан
Комментировать
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Первое скинь ссылку на курс просто интересно.

По теме:

Полетный контроллер по сути тупой автомат имеющий на входе
* GPS
* датчик положения
* возможно датчик скорости

Пишется он на С причем это хардкорный С без этих ваших memoryallocation
Как правило используется либо самописная система либо RTOS с адаптацией под задачи

Итак что имеем верхнее ограничение сервомашинки 20 Мс - 500 раз в секунду ( на самом деле от 20 до 200)
GPS - 10 -20 раз в секунду
В этих пределах и молотит полетный контроллер, он намеренно сделан сильно тупым что бы отрабатывать очень быстро. Все остальные системы это приятные дополнения.
Поиграться и не только можно скачав https://pixhawk.org/

Отдельный вопрос это главные контроллеры. Тут языки высокого уровня, часто с использованием CUDA
Ответ написан
@AleMak
UAVC специальный язык для БПЛА
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы