Ниже перечислены основные языки, фреймворки и программное обеспечение из нашей инженерной практики. Состав стека может отличаться в зависимости от проекта и этапа разработки.
Языки программирования
C, C++ (C++14 и новее) — встраиваемые системы, автопилоты, алгоритмы управления и обработки данных
Python, Bash — инструменты разработки, автоматизация и прототипирование
Фреймворки и платформы
ROS (Robot Operating System), PCL, SLAM
Qt, WPF — разработка инфраструктурных приложений
ArduPilot, PX4, INAV, Betaflight — разработка и интеграция систем автопилотирования
STM32, ARM Cortex-M — прошивки, драйверы и ПО для электроники на микроконтроллерах
Инструменты и ПО
Linux — основная среда разработки и эксплуатации
Git — контроль версий
Docker — контейнеризация и воспроизводимые сборки
MATLAB — математическое моделирование
Unity — 3D-моделирование и симуляция
Алгоритмы и прикладная математика
HDMap — создание и редактирование карт высокой точности, картография
Компьютерное зрение, машинное и глубокое обучение
Фильтр Калмана, PID-регуляторы, кватернионы
Вычислительная геометрия, линейная алгебра, дискретная и непрерывная оптимизация
Теория оптимального управления, теория вероятностей
Аппаратная интеграция и протоколы
Лидар, камеры, радар — источники данных для навигации и картографирования
СНС, инерциальные модули — навигация, ориентация и стабилизация
Протоколы и интерфейсы: UART, CAN, USB, SPI, I2C, SD, PWM