Программист C++ (автономная навигация / робототехника)
Описание
Локация: Томск, проспект Развития, 8; работа на месте работодателя
Компания
Команда разрабатывает программное обеспечение для автономной навигации и робототехнических систем.
Что делать
Разрабатывать ПО на C++ для компактных вычислителей и одноплатных компьютеров под управлением Linux или RTOS.
Переносить прототипы навигационных алгоритмов из ROS 2 и Python в оптимизированный продакшн-код на C++.
Реализовывать и оптимизировать алгоритмы фильтрации, оценки ориентации и слияния данных, включая анализ полётных логов.
Разрабатывать взаимодействие с бортовой периферией, датчиками и камерами.
Документировать ПО, изучать существующую кодовую базу и развивать её.
Работать в тесном контакте с разработчиками аппаратного обеспечения.
Требования
Профессиональное владение C++, знание ООП, многопоточности, асинхронной обработки данных и архитектуры распределённых систем.
Практический опыт с ROS 2 и понимание его архитектуры.
Математическая база, понимание основ навигации и опыт применения фильтров Калмана, графовой оптимизации или других методов слияния данных.
Навыки низкоуровневой оптимизации, работы с кэшем, поиска утечек памяти и профилирования CPU.
Опыт разработки для Linux или RTOS, а также базовые знания Python.
Уверенное владение Git, CMake, Docker и понимание интерфейсов UART, SPI, I2C и CAN; английский для чтения технической документации.
Хорошо, если есть
Опыт анализа научных статей и переноса описанных алгоритмов в рабочий код.
Опыт работы с автопилотами ArduPilot или PX4.
Опыт написания драйверов периферии для Linux или RTOS.
Опыт работы с компьютерным зрением и OpenCV.
Культура и преимущества
Оформление в соответствии с ТК РФ.
Современный комфортный офис и гибкое начало рабочего дня.
Компенсация спортивных активностей, профильных курсов и конференций.
Добровольное медицинское страхование.
Полная занятость; уровень зарплаты обсуждается по результатам собеседования.