Синхронизация Intel D455 и лидара Livox Mid-360 на STM32
новости
09.08.2026

Синхронизация Intel D455 и лидара Livox Mid-360 на STM32

Синхронизация Intel D455 и лидара Livox Mid-360 на STM32

Инженеры и разработчики систем автономной навигации часто сталкиваются с проблемой синхронизации данных с камеры глубины и лидара. На примере Intel RealSense D455 и Livox Mid-360 рассмотрен способ аппаратной синхронизации на базе микроконтроллера STM32. Этот метод применим и к другим камерам серии D435, D457 и будущей D585 Pro. Правда, у D455 есть известный дефект цветопередачи, из-за которого её стоит использовать только как монохромную камеру.

Зачем нужна синхронизация? Она позволяет совместить облака точек не только геометрически, но и по времени. Без этого движущиеся объекты оставляют на воксельной карте шлейфы из вокселей, а при движении самого аппарата искажаются и неподвижные объекты. Готовые внешние устройства синхронизации существуют, но они избыточны. Автор предлагает реализовать всё на одной плате STM32, которая уже управляет моторами, используя только периферию микроконтроллера — таймеры, независимо от основного ядра.

Почему выбрана частота 30 Гц? Камера RealSense может выдавать 5, 15, 30, 60 или 90 Гц. Но все эти частоты имеют собственные временные сдвиги: реальная частота 30 Гц — это 30.015 Гц из-за внутренних часов. Если подавать ровно 30 Гц, кадры будут дропаться. Поэтому Intel рекомендует использовать одну камеру как ведущий генератор. Из доступных режимов именно 30 Гц оптимально кратны 10 Гц сканирования лидара.

Почему нельзя просто отправлять кадры на воксельную карту по мере поступления? Временной конвейер показывает, что камера с глобальным затвором захватывает кадр почти мгновенно, а лидар сканирует постепенно, по мере вращения шпинделя. При частоте 30 Гц между кадрами камеры проходит 33.3 мс, а лидар тратит 100 мс на полный оборот. Из-за этого рассинхронизация между кадром и сканом нарастает: первый кадр отстаёт на 15 мс, второй уже на 18.3 мс, а третий — на 51.6 мс. Если аппарат движется, ошибка становится критической. Синхронизация должна обеспечить постоянный и минимальный временной сдвиг.

Дополнительная сложность — случайный азимут лидара. Из-за физических ограничений моторов и дрейфа кварцевых часов точка начала сканирования постоянно плавает. Мотор не может поддерживать идеально точные обороты, поэтому облако точек каждый раз начинается с произвольного места. Всё это делает аппаратную синхронизацию необходимой для корректного объединения данных в единую карту занятости.

Источник: habr.com