Понимание Time-of-Flight сенсоров: как ToF 3D-камеры измеряют расстояние
Как датчики time-of-flight определяют расстояния? Узнайте больше о ToF-камерах на примере 3D-камеры.
Существует три ведущие 3D-образовательные технологии, конкурирующие за место в вашем смартфоне и автомобиле. Это стереоскопическая визуализация, структурированное световое проецирование и time-of-flight (ToF) камеры. Данные, которые эти устройства генерируют, могут обеспечивать детекцию пешеходов, аутентификацию пользователей по лицевым признакам, детекцию движений рук и питание SLAM (simultaneous localization and mapping) алгоритмов.
Два крупнейших игрока в этом пространстве — ams и Infineon. На момент написания ams несет по одному датчику каждого типа, а Infineon фокусируется только на time-of-flight сенсорах.

Эта статья описывает технологию за time-of-flight сенсорами, фокусируясь на 3D-камере development kit «pico flexx» от pmdtechnologies. (Прежде чем спрашивать, оба «pico flexx» и «pmdtechnologies» представлены в нижнем регистре на их сайте).
pico flexx построен вокруг совместно разработанного 3D-образа сенсора REAL3 от Infineon и pmd.

False-color 3D изображение руки, взятое с pmdtec.com 29 апреля 2019. Цвета отображены на отдельные пиксели на основе расстояния от сенсора к руке (красное — близко, синее — далеко)
Пожалуйста, заметьте, что pmd предоставили устройство для этой статьи.
Что такое Time-of-Flight сенсор?
Time-of-flight сенсоры измеряют время, затраченное чем-то на преодоление расстояния через среду. Обычно это измерение времени между излучением волнового импульса, его отражением от объекта и возвратом к ToF сенсору. Time-of-flight камера — устройство, использующее ToF измерение для определения расстояний между камерой и объектами или окружением, создавая изображения, генерируемые индивидуально измеренными точками.
Применения ToF камер включают лазерные безсканерные LiDAR системы визуализации, сенсирование движения и трекинг, детекцию объектов для машинного зрения и автономного вождения, топографическое картирование и многое другое.
Но как достигаются эти измерения?
Ниже я представил три способа использовать время пролёта для определения расстояния.

Методы использования времени пролёта для определения расстояний
Вверху изображения виден первый метод: посылка импульсов и измерение интервала времени до их возврата после отражения.
В середине изображения показан второй метод: модуляция амплитуды источника света и запись фазового сдвига отражённой волны.
Внизу изображения представлен третий метод: передача квадратной волны с коэффициентом заполнения 50% и запись количества возвращённого света, приходящего в определённый интервал.
ToF-камеры с миллиметровой точностью
Свет и радиоволны движутся почти на 300 000 000 000 мм/с, что переводится в ~3.3 пс для волны, чтобы пройти 1 мм (и ещё 3.3 пс для возврата). Это значит, если вы хотите устройство, способное визуализировать все объекты в комнате с ~1 мм разрешением, ваша тайминговая электроника должна иметь пикосекундное разрешение. Это переводится в тактовую частоту сотен ГГц.
Ни легко, ни экономично проектировать электронные схемы, работающие на таких частотах, поэтому дизайнерам пришлось придумать способ работать на более низких частотах, если они надеялись сделать устройства доступными для потребительского пространства.
Существует два распространённых метода для достижения миллиметровой точности при работе с разумными, суб-ГГц частотами:
- Связывание фазового сдвига синусоидально модулированной волны с расстоянием
- Использование фазового сдвига 50% duty-cycle квадратной волны и дифференциального напряжения для определения расстояния
В следующих разделах мы рассмотрим эти два метода подробнее.
Определение расстояния по фазовому сдвигу амплитудно-модулированной волны
Допустим, вы хотите отмапить небольшой офис или большую гостиную с максимальной линейной размерностью 15 м. Для определения подходящей рабочей частоты для этой длины используйте c = λ · f, где c — скорость света (c=3×108 м/с), λ — одна длина волны (λ=15 м), f — частота. В этом примере f=20 МГц, что является относительно лёгкой частотой для работы.
Всё начинается, когда яркий свет имеет свою выходную модулированную 20 МГц синусоидальным сигналом. Световая волна в конечном итоге достигнет объекта или стены, отразится и развернётся. Приглушённая версия оригинальной модулированной света вернётся к приёмнику. Если объект не находится точно на целочисленном múltiplos 15 метров, фаза будет сдвинута на некоторое количество.
Фазовый сдвиг можно использовать для расчёта пройденного волной расстояния.

Если вы можете точно измерить фазовый угол, вы можете точно определить расстояние, на котором находится отражающий объект от сенсора/приёмника.
Как измерить фазовый угол синусоиды
Так, как быстро измерить фазовый угол синусоиды? Это включает измерение амплитуды принятого сигнала в четырёх равноудалённых точках (т.е. разделение 90° или 1/4 λ).
φ = ArcTan ((A₁ - A₃) / (A₂ - A₄))
Я попытался проиллюстрировать отношение между измерениями и фазовым углом ниже. Отношение разности между A₁ и A₃ и разности между A₂ и A₄ равно тангенсу фазового угла. ArcTan — это на самом деле двухаргументная арктангенс функция, отображающая соответствующие квадранты и определяющая, когда A₂=A₄ и A₁>A₃ или A₃>A₁ как 0° или 180° соответственно.

Нажмите на диаграмму, чтобы увидеть более сложное изображение, иллюстрирующее, как разности переменных A₁, A₂, A₃, A₄ вписываются в единичный круг.
В иллюстрации выше, далеко слева на графике две вертикальные числовые линии показывают результат вычитания A₁ и A₃ (представлено как тёмно-жёлтый) и A₂ и A₄ (представлено как синий). Измеренные значения показаны как вертикальные линии в синусоидальных графиках посередине.
Обратите внимание, что эта графика не учитывает отражение (которое эффективно сдвигало бы всё на 180°).
Определение рабочей частоты для заданного расстояния
Возвращаясь к нашему примеру, расстояние до цели определяется уравнением:
d = (c · φ) / (4 π · f)
Где c — скорость света, φ — фазовый угол (в радианах), f — частота модуляции.
Измерение фактического time-of-flight фотона требует 333 ГГц электронику. Этот метод требует максимум 4x частоту модуляции, что в данном случае 4×20 МГц = 80 МГц. Это феноменальное сокращение ресурсов. Но вы будете рады узнать, что некоторые хитрые инженеры нашли способ снизить максимальную частоту ещё дальше.
Определение фазового сдвига через дифференциальное измерение напряжения заряженных конденсаторов
Следующая измерительная ситуация включает стробоскопический источник света и CMOS образцовый сенсор с двумя конденсаторами на пиксель.
Тактовый генератор производит 50% duty cycle квадратную волну и эта квадратная волна управляет ярким стробоскопическим источником света, а также соединением с конденсаторами накопления заряда внутри каждого пикселя.
Пример такой системы представлен на изображении ниже:

Изображение из «A Fast Calibration Method for Photonic Mixer Device Solid-State Array LiDARS». Это показывает CMOS пиксель с двумя конденсаторами накопления заряда, которые поочерёдно подключаются для записи входящего света.
Свет уходит от источника, отражается от объекта и попадает на пиксель, где он будет записан как заряд в конденсаторе CA или CB, показанных выше. Конденсаторы поочерёдно подключаются к пикселю на той же частоте, что и источник освещения, используя тот же тактовый генератор.
Это умное упорядочивание означает, что дифференциальный заряд в конденсаторах напрямую связан с фазовым смещением. А фаза определяется длиной волны и расстоянием до цели и обратно.

Изображение из «A Fast Calibration Method for Photonic Mixer Device Solid-State Array LiDARS»
Объект может быть освещён столькими циклами, сколько нужно для заполнения конденсаторов. Пока расстояние постоянно, пропорции заряда останутся теми же.
Time-of-Flight сенсоры в действии
Насколько хорошо работает этот метод? Лучше, чем вы могли ожидать.
Сенсор, предоставленный AAC, в сочетании с сопровождающим ПО, имеет способность записывать до 45 fps. На более низких частотах обновления система легко визуализирует морщинки на рубашке.

На изображении выше отображены (x,y,z) вершинные локации каждого захваченного пикселя от камеры pmd pico flexx.
Глубинные данные сами по себе трудно визуализировать. Поэтому глубинное изображение часто комбинируется с фотографией или показывается с использованием ложного цветования для более лёгкой интерпретации сцены.

Ложно-цветное наложение глубины на низкоразрешающее изображение делает сцену легче для интерпретации. Изображение автора, захваченное с pmd Royal Viewer software и CamBoard pico flexx 3D development kit.
Time-of-flight сенсоры могут использоваться в ряде применений, включая создание 3D-карты окружения при комбинировании хитрых физических принципов с инженерией.
Вы когда-нибудь использовали 3D-камеры в своей работе? Что можете рассказать о дизайнерских ограничениях использования time-of-flight сенсоров? Поделитесь опытом в комментариях ниже.
Промышленные технологии
- Wi-Fi Calling: как работает, зачем нужен и чем полезен
- Управление кадровыми проблемами: стратегии найма и удержания талантов в условиях дефицита кадров
- Как работают SCADA-системы: мониторинг и контроль промышленных процессов
- Понимание детекции частичных разрядов в РУ: ключ к надежным операциям
- Когда обновлять рабочее оборудование: умные бизнес-решения
- Как работает щеточный двигатель постоянного тока: простая механика и надежная мощность
- Датчики уровня Biz4Intellia: производительность, долговечность и применение
- Ускорение производства: сокращение времени переустановки с SMED и стандартизированной работой
- Как работают воздухосушители: поддержание сжатого воздуха чистым и эффективным
- ToF vs FMCW LiDAR: технический разбор для обоснованных решений