Инженер-алгоритмист / Robotics Software Engineer
Инженер-алгоритмист / Robotics Software Engineer (C++, Perception, LiDAR SLAM)
АО «НИИАС» (дочернее общество ОАО «РЖД») — единственный в стране институт, занимающийся созданием, развитием и внедрением беспилотных технологий и созданием устройств безопасности на железнодорожном транспорте.
Быть частью АО «НИИАС» — значит быть частью инновационной компании и иметь возможность внести свой вклад в создание передовых технологий автоматизации управления движением на железнодорожном транспорте в России и мире.
Мы разрабатываем системы технического зрения для беспилотного железнодорожного транспорта. На полигонах работают несколько направлений:
- БОП МЛ — блок обнаружения препятствий для маневровых локомотивов на сортировочных станциях.
- БОП МЦК — блок обнаружения препятствий для подвижного состава на МЦК (Московское центральное кольцо).
- Стационарные комплексы в Челябинске и на Лужской — ригельные установки с камерами и лидарами, детекция и трекинг объектов в зоне ответственности станции.
- ССК — стационарная система калибровки лидарных и камерных модулей.
Лидар — ключевой сенсор во всех контурах. Мы ищем Инженера-алгоритмиста / Robotics Software Engineer для работы над развитием лидарного стека: от низкоуровневой обработки облаков точек до одометрии, SLAM и детекции препятствий в реальном времени.
Стек технологий проекта:
- C++17/20
- Python
- Eigen
- PCL
- Open3D
- GTSAM
- ICP
- ESKF
- ROS/ROS2
- Linux
- CMake
Что уже есть и куда движемся:
Базовый контур построен на евклидовой кластеризации с эвристической фильтрацией и отдельном perception-сервисе с нейросетевой BEV-детекцией. Этот контур остаётся на поддержке, но имеет известные ограничения по точности, шумам и ложным срабатываниям, и постепенно замещается новой парадигмой.
Новая парадигма — геометрическая, на базе ICP и фактор графов:
- На стационарных комплексах — динамический ICP-матчинг с эталонным облаком (компенсация колебаний ригеля), после чего идёт вычитание точек земли и детекция объектов.
- В стационарной калибровке — ICP против эталонного облака.
- На БОП МЛ — лидарно-инерциальная одометрия с ESKF (error-state Kalman filter, IMU propagation + point-to-plane ICP update), далее статическая фильтрация аккумулированной fused-карты и DBSCAN по кандидатам.
- На БОП МЦК — полноценный лидарный SLAM: ESKF-одометрия + factor graph поверх неё, loop closure через place recognition, детекция через ROI и вычитание инфраструктуры из текущего облака.
Задачи, которые необходимо будет выполнять:
Развитие геометрического стека:
- Улучшение и обобщение ICP-пайплайнов (point-to-plane, point-to-edge), повышение устойчивости к частичным перекрытиям и динамическим сценам.
- Доработка ESKF-одометрии: инициализация, детекция аутлаеров, фьюзинг IMU/LiDAR, компенсация дисторсии.
- Работа с factor graph backend (GTSAM): корректная инициализация графа, place recognition для loop closure, маргинализация.
Детекция и восприятие:
- Детекция подвижного состава, инфраструктуры, препятствий на путях; специфичные объекты — автосцепки, тормозные башмаки, габариты вагонов.
- Борьба с шумом и интерференцией лидаров.
- Ground segmentation, статическая фильтрация, кластеризация (DBSCAN, Euclidean Clustering).
Производительность и интеграция:
- Оптимизация кода под бортовые вычислители.
- Портирование прототипов с Python на C++, профилирование, многопоточность.
- Тестирование на данных реальных полигонных испытаний, unit- и integration-тесты.
Калибровка:
- Развитие ICP-based лидарной калибровки, построение корректных эталонных облаков в целевой системе координат.
- Кросс-модальная калибровка LiDAR ↔ камера ↔ IMU.
Требования к кандидату:
- Вл