Шлагбаум или ворота, которые будут автоматически открываться для своих, — весьма популярная задача. Решений на рынке много, но все они имеют те или иные недостатки. Чаще всего требуется облако, то есть удаленный сервер, который отвечает за вычисления. Картинка передается на сервер, он распознает номер, после чего принимает решение: пустить или нет.
Поэтому нас весьма заинтересовало решение, которое разработал интегратор BARY в Воронеже, — локальная автоматизация ворот и шлагбаума. За последние годы производительность чипов значительно возросла, теперь ее достаточно и для задач распознавания. Особенно если взять чип, который специализирован под нейронные вычисления.
Ниже мы про него подробно расскажем.
Дополнительные фото
Как устроена автоматика?
Интегратор выбрал одноплатный компьютер Khadas VIM3 Pro на чипе Amlogic A311D с четырьмя ядрами Arm Cortex-A73 и двумя Cortex A53. Чип обеспечивает производительность ИИ 5,0 TOPS NPU и поддерживает Tensorflow, Caffe и другие среды глубокого обучения. Нейронная сеть, выбранная для распознавания номеров, отлично на нем работает.
В качестве камер выбрали Reolink, так как они могут фиксировать движение и отдавать текущий кадр в виде картинки через API. В противном случае пришлось бы брать кадры из видеопотока и конвертировать их в картинки, что существенно снизило бы производительность.
В щит также установлен модуль реле WBIO-DO-R10R-4, который хорошо подходит для управления воротами/шлагбаумом, — из-за наличия сдвоенных реле, в которых единовременно замкнут только один выход на открытие или закрытие. Для контроля за состоянием ворот использовано необычное решение — вольтметр WB-MAP3EV, который измеряет напряжение на обмотках электродвигателя ворот и по его величине определяет, в каком направлении ворота движутся. За счет того, что конденсатор между прямой и обратной обмоткой поворачивает фазу на 90 градусов, напряжение на незадействованной обмотке будет подниматься примерно до 280 В. По этому признаку можно определить, на какую обмотку подано питание.
Решение подходит не для всех типов двигателей, но если нет концевиков, то это единственный способ контролировать направление. Если концевики есть, то используется модуль дискретных входов WBIO-DI-WD14.
Дополнительные фото
Программное решение
На микрокомпьютер установлен софт BARY СКУД. Модуль СКУД конфигурируется довольно просто. У плагина Reolink есть опции по сохранению картинок с заданной периодичностью, а также только по наличию движения. Эти опции у камер активированы на въезд и выезд, указаны отдельные папки для каждой. У плагина СКУД указаны те же папки для каждой камеры, а также сами камеры для создания событий, там же указаны исполнительное и контролирующее устройства.
Когда автоматику запустили, то столкнулись с проблемой: вахтер может нажать кнопку по своей инициативе, хотя автоматика уже начала работать, а вахтер этого не заметил. В таком случае кнопка распознается как повторный сигнал и ворота переключаются на закрытие. Поэтому при срабатывании автоматики кнопку вахтера нужно отключать. Для этого предусмотрели перемычку, которая подключена к реле. Сделана соответствующая настройка: блокируем кнопку, если работает автоматика.
На воротах стоят фотоэлементы с обеих сторон, чтобы не допустить недоразумений в виде застрявшего на переезде автомобиля, например. Фотоэлементы подключены через WBIO-DI-WD14. Никакие правила создавать не нужно, СКУД управляет воротами автоматически.
Дополнительные фото
Алгоритм работы
Система дважды в секунду опрашивает обе камеры на наличие движения. Если движение обнаружено, то плагин начинает с интервалом в секунду сохранять текущую картинку с камеры (также он может обрезать картинку по заданной области).
Плагин СКУД при этом постоянно анализирует содержимое папок с картинками и при обнаружении новых картинок запускает нейронную сеть, которая распознает переданные ей картинки и результат обработки передается в плагин СКУД, который проверяет наличие автомобиля в белом списке.
Если автомобиль из белого списка был обнаружен, то кнопка вахтера блокируется (если необходимо) и ворота открываются.
Если ворота начали открываться под внешним воздействием (например, с кнопки вахтера до ее блокировки), то повторно команда не отправляется.
Если ворота были в процессе закрытия, то команда на закрытие отменяется и ворота открываются.
После того, как автомобиль проедет, СКУД анализирует наличие движения на любой из камер, и если его нет, закрывает ворота. Также можно закрывать ворота автоматически по таймауту после срабатывания фотоэлементов.
Факт проезда автомобиля добавляется в журнал событий, в котором цветом показано, есть ли автомобиль в белом списке (система фиксирует все проезжающие автомобили), его номер и кадры с камеры. Все обработанные изображения могут перемещаться в архив с изменением разрешения.
Максимальный размер хранилища задается в настройках, и старые кадры удаляются автоматически.
Что доступно жильцам?
Автоматические ворота стоят в коттеджном поселке «Северная Гардарика» под Воронежем. Для управления жильцам достаточно поставить приложение BARY на мобильное устройство (поддерживаются iOS и Android), но также есть доступ через веб-интерфейс.
В приложении жильцы могут редактировать список допущенных автомобилей и создавать временные пропуски. Они могут вручную открыть/закрыть ворота с помощью смартфона. Решение умное, и если в зоне ворот находятся машины или люди, то закрытия не произойдет. Если ворота уже открыты, то команда «открыть» будет проигнорирована системой.
Жильцы имеют доступ к журналу проезжающих автомобилей, они также могут следить за происходящим на КПП с помощью камер видеонаблюдения. Но права доступа ограничены: можно смотреть только свой журнал и управлять своим белым списком.
Наконец, интегратор добавил поддержку Siri через CarPlay, ее тоже можно использовать для управления воротами.
Заключение
Задачу автоматизации ворот или шлагбаума вполне можно решить локальными вычислениями без обращения в облако. Нас приятно порадовали возможности современных SoC, которые предлагают высокую производительность вычислений ИИ. К одноплатному компьютеру Khadas VIM3 были добавлены реле, счетчики и дискретные входы Wiren Board, запрограммирована логика и написан софт.
Систему автоматизации изначально развернули в коттеджном поселке под Воронежем, она показала себя хорошо. Такую систему вполне по силам собрать самостоятельно и написать код. Но можно обратиться и к интегратору, который сделает все за вас.
Проект оказался весьма успешным, позднее интегратор BARY автоматизировал еще один коттеджный поселок с несколькими воротами и шлагбаумами, десятью камерами и тремя одноплатными компьютерами, между которыми распределяется нагрузка. В сутки в закрытую зону проезжают больше 2 тысяч автомобилей, так что решение вполне хорошо масштабируется.
А что вы думаете о рассмотренном в статье решении? Можно ли его улучшить? Возможно, у вас есть своя система автоматизации ворот и шлагбаума, которой вы хотите поделиться с читателями? Пишите в комментариях.
Автор: Дмитрий