Разработчик SLAM (LiDAR + Visual)
Требования
Местоположение и тип занятости
Компания
Программное обеспечение для роботизированных мобильных платформ
Описание вакансии
О компании
Мы создаём системы лазерного сканирования и навигации для картографии, строительства, промышленности и робототехники — от полевых сканов до высокоточных 3D‑моделей и цифровых двойников.
Роль
Ищем разработчика алгоритмов SLAM для гибридного сканера (лазерный + визуальный). Вы будете отвечать за устойчивую локализацию и построение карты в реальном времени, сшивку облаков точек и интеграцию с многосенсорным стеком (LiDAR/камеры/IMU/GNSS).
Ключевые задачи
- Разработка и оптимизация LiDAR‑SLAM и Visual-/VIO‑SLAM (реальное время, ограниченные ресурсы, большие данные).
- Сшивка облаков точек и геопривязка: интеграция IMU/GNSS, стабилизация траектории, оценка и коррекция дрейфа.
- Работа с трансформами и калибровками: extrinsics/intrinsics, временная синхронизация, tf2/frames.
- GPU‑ускорение: перенос «узких мест» на CUDA (pre-/post‑processing, feature extraction, correspondence search).
- Надёжность в полях: прототипирование, полевые тесты, сбор и анализ логов (rosbag2), быстрая итерация.
- Код промышленного уровня (C++ с уклоном), профилирование, multithreading, CI, код‑ревью, документация.
Обязательные требования
- 3+ года разработки на C++ (C++14/17), уверенное владение современным STL, шаблонами, RAII.
- Практический опыт в SLAM/одометрии (LiDAR и/или визуальный), понимание геометрии и вероятностных моделей.
- Умение работать с трансформами, системами координат, калибровками и временной синхронизацией.
- Point Clouds: опыт с PCL/Open3D; Computer Vision: OpenCV.
- CUDA на уровне написания и профилирования вычислительных ядер.
- Git, умение читать статьи/доки, аккуратная инженерная дисциплина.
Преимущества (большой плюс)
- Опыт с различными 3D‑лидарами (Livox/Ouster/Velodyne/Robosense и др.), знание драйверов и SDK.
- ROS2 (rclcpp, tf2, rosbag2), пайплайны записи/воспроизведения данных, инструменты калибровки.
- Интеграция GNSS/IMU. Python для прототипов и инструментов разработчика.
- Навыки «железячника»: подключить сенсоры, проложить кабель, проверить питание и синхронизацию.
- Возможность выезжать на тестирования, права категории B — как плюс.
- Английский — чтение статей/документации.
Технологии и данные
- Языки: C++ (основной), Python (вспомогательный).
- Либы/стек: ROS2, tf2, PCL, Open3D, OpenCV, CUDA.
- Данные: многолидарные/многокамерные записи, IMU/GNSS, полевые наборы с индустриальных объектов.
Условия
- Сложные инженерные задачи на стыке CV/робототехники/геодезии.
- Современное оборудование и регулярные полевые испытания.
- Полная/частичная занятость, гибридный формат, конкурентный оффер по результатам собеседования, сильная команда.
Процесс
- Скрин интервью (15–30 мин).
- Техническое интервью (алгоритмы SLAM, код на C++/CUDA).
- Практическое задание или разбор ваших прежних проектов/кода.
- Финал с командой.
