К содержимому
  1. Главная
  2. Блог
  3. Система из четырёх камер на Raspberry Pi Compute Module 3/3+

Система из четырёх камер на Raspberry Pi Compute Module 3/3+

6 января 2020 · По материалам Arducam

Чем Compute Module отличается от Raspberry Pi

Большинству знакомы стандартные модели Raspberry Pi — Raspberry Pi 2, 3, 3B+, 4. Кроме этих потребительских моделей, в семействе Raspberry Pi есть линейка для промышленного применения — Raspberry Pi Compute Module.

Compute Module на несущей плате
Raspberry Pi Compute Module на несущей плате ввода-вывода

Raspberry Pi Compute Module построен на той же SoC, что и соответствующая стандартная модель Raspberry Pi. Например, у Compute Module 3 (CM3) тот же процессор BCM2837 и 1 ГБ ОЗУ, что и у Raspberry Pi 3, но более гибкий форм-фактор. Compute Module выполнен как вычислительный модуль (SoM) и подключается к несущей плате с периферией ввода-вывода через стандартный разъём DDR2 SODIMM. Кроме того, Compute Module не нужна SD-карта: опционально на плате распаяна флеш-память eMMC на 4 ГБ.

Arducam как крупного производителя камер для Raspberry Pi интересуют прежде всего дополнительные возможности Compute Module для камер. В отличие от стандартных моделей Raspberry Pi, у Compute Module 3 выведены 2 штатных интерфейса камеры, и к нему можно одновременно подключить 2 камеры Pi. Это открывает многие задачи, которые на стандартных Raspberry Pi невозможны.

CM3: больше чем стереозрение

Выпустив плату HAT для стереокамеры для Raspberry Pi, Arducam задумалась о дальнейшем развитии решений с несколькими камерами в экосистеме Raspberry Pi. Синхронизированная стереокамера теперь доступна на любой Raspberry Pi — как синхронизировать ещё больше камер?

Пришло время попробовать Raspberry Pi Compute Module. Плата HAT для стереокамеры Arducam представляет пару камер системе как один модуль камеры в одном разъёме, а у Raspberry Pi Compute Module разъёмов камеры два.

Два разъёма камеры на Compute Module
Две платы HAT для стереокамеры подключены к двум разъёмам CM3

Если к CM3 можно подключить две камеры, значит, можно подключить и две платы HAT для стереокамеры Arducam. К каждой плате HAT подключается 2 модуля камер, так что на Compute Module можно запустить 4 камеры.

Четыре камеры на Compute Module

4 камеры MIPI одновременно снимают видео в Raspbian

У Arducam уже был адаптер для нескольких камер, который выводит изображение с 4 камер на Raspberry Pi. Но камеры в нём работают по очереди, и частота кадров низкая. Теперь сделан следующий шаг: Arducam запустила в Raspbian 4 камеры MIPI, которые снимают видео одновременно.

Вывести изображение с 4 модулей камер непросто — для этого нужны дополнительное оборудование и ПО. Кроме Raspberry Pi Compute Module понадобятся две платы Arducam Stereo Camera HAT и две стереоплаты камер Arducam.

Можно взять 4 синхронизированных модуля камер с одинаковым сенсором или 2 стереоплаты с внутренней синхронизацией и разными сенсорами. Для интереса Arducam выбрала второй вариант и поставила на стереоплаты камеры двух типов: одна — стереоплата на OV5647 в стиле камеры Raspberry Pi V1.3, другая — стереоплата на монохромных камерах OV9281 с глобальным затвором. Две камеры OV5647 синхронизированы между собой, две камеры OV9281 — тоже.

Стереоплата камер OV5647, подключённая к плате HAT
Стереоплата OV5647
Стереоплата камер OV9281, подключённая к плате HAT
Стереоплата OV9281

Работу всей системы обеспечивает собственный драйвер камер MIPI Arducam, работающий в пространстве пользователя (userland). Он выводит полное объединённое изображение стереопары и позволяет использовать на Raspberry Pi модули камер MIPI с разными сенсорами — со скользящим и глобальным затвором, разрешением до 18 Мп.

Видео на YouTube показывает, как Arducam запустила одновременную съёмку видео с 4 модулей камер на Raspberry Pi Compute Module.

Зачем 4 камеры и больше

Когда Arducam выпустила плату HAT для стереокамеры, компания кратко рассказала, чего можно добиться с двумя камерами. В одной демонстрации плата HAT для стереокамеры строила карту глубины, которая показывает расстояние от камеры до объекта. В другой два объектива «рыбий глаз» превращали Raspberry Pi в 3D-камеру для панорамных фото и видео.

Карта глубины в реальном времени по видео
Карта глубины
Видео 360° со стереоплатой HAT
Панорамное видео 360°

Если системе с двумя камерами по силам столько задач, зачем ставить во встраиваемую систему ещё больше камер?

Возьмём для примера виртуальную реальность (VR). Устройствам VR нужно несколько камер, чтобы отслеживать несколько объектов — шлем и контроллеры. Раньше такие камеры подключали к ПК, и из-за лишних кабелей и проводов всю систему было трудно переносить.

Поэтому позже несколько камер встроили прямо в шлем — для полного погружения без внешних камер слежения. В Oculus Rift S четыре широкоугольные камеры по углам шлема отслеживают его положение в пространстве.

В прототипе шлема VR следующего поколения от Facebook появится отслеживание взгляда для ещё более сложных функций, например дисплеев с переменным фокусом. Для этого в шлем придётся встроить ещё больше камер.

Следующий шаг для систем с несколькими камерами

Arducam давно расширяет возможности решений с несколькими камерами в экосистеме Raspberry Pi. Всё началось с мультиплексоров, которые быстро переключаются между модулями камер, а теперь плата Arducam Stereo Camera HAT и проект камер MIPI от Arducam выводят работу нескольких камер на Raspberry Pi на следующую ступень.

Коротко: принцип Arducam — делать невозможное возможным, а сложное — простым. Раньше синхронная работа двух стандартных камер на Raspberry Pi была невозможна, а теперь плата HAT для стереокамеры Arducam даёт стереозрение любой Raspberry Pi. И вы не ограничены модулями камер V1 на OV5647 и V2 на IMX219: с драйвером камер MIPI от Arducam стереозрение становится доступно для любой камеры MIPI на любой Raspberry Pi.

В Arducam уверены, что с появлением новых задач для камер потенциал Raspberry Pi раскроется ещё больше, и рады участвовать в этом процессе.

А что с Raspberry Pi Compute Module 4?

Raspberry Pi CM4 немного отличается от CM3, но для этой задачи используется практически так же. Единственное заметное отличие — подключение перемычек: для CM4 нужна другая схема перемычек, чем для предыдущей версии. Впрочем, выводов GPIO там не так много.

Ещё по теме

Запросить цену

Укажите количество — пришлём коммерческое предложение.