Технологии
Технологический стек, который мы применяем при разработке систем автономного управления, навигации и технического зрения для наземного транспорта и беспилотных аппаратов

Ниже перечислены основные языки, фреймворки и программное обеспечение из нашей инженерной практики. Состав стека может отличаться в зависимости от проекта и этапа разработки.

Языки программирования

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