Управление поворотными устройствами (PTZ Controller) — различия между версиями
Материал из Integra-S Wiki
Wikiadmin (обсуждение | вклад) (→Замечания) |
Ipe (обсуждение | вклад) (→Назначение) |
||
(не показано 26 промежуточных версий 2 участников) | |||
Строка 1: | Строка 1: | ||
__FORCETOC__ | __FORCETOC__ | ||
== Назначение == | == Назначение == | ||
− | # Поворот устройства PTZDevice в расположение(position) наблюдаемой точки, | + | # Поворот устройства видеокамеры(PTZDevice) в расположение(position) наблюдаемой точки, датчика, по номеру preset или тур по поворотным точкам. |
− | # Поворот устройства | + | # Поворот устройства видеокамеры PTZDevice за подвижной целью(MoveableObject), находящейся в зоне. |
− | |||
# Создание фотоснимка цели после позиционирования на ней и запись его в trace_snapshot. | # Создание фотоснимка цели после позиционирования на ней и запись его в trace_snapshot. | ||
+ | |||
+ | == Создание схемы == | ||
+ | |||
+ | В редакторе СКАДА необходимо добавить элементы, для этого необходимо: | ||
+ | ::1. Перейти на вкладку "Типы элементов" и выбрать в списке элемент '''Компьютер (Computer)'''. | ||
+ | [[File:computer.jpg|центр]] | ||
+ | ::2. Дважды нажать на элемент Компьютер, после чего появится окно для добавления элемента. | ||
+ | [[File:add_element.jpg|центр]] | ||
+ | ::3. Нажать кнопку "Добавить". Элемент появится на рабочей области. | ||
+ | ::4. Аналогично пункту 2 добавить элементы: Менеджер устройств (AcuarioManager), EGS Модуль (EGSModule), ПО Интегра-Видео 7, IP поворотная камера, Наблюдаемая точка, Зона. | ||
+ | ::5. PTZ Controller (Скрипт необходимо импортировать отсюда [http://maps.integra-s.com:5434/resources/typedef2017/egs/PTZ%20Controller.put PTZ Controller]). Для того, чтобы импортировать скрипт необходимо сначала скопировать и вставить вышеуказанную ссылку в адресную строку браузера, нажать на клавиатуре Enter, в окне браузера нажать правой кнопкой мыши, в появившемся контекстном меню нажать на сохранить как и выбрать удобное для Вас местоположения сохранив скрипт с расширением .put. В редакторе СКАДА нажать на меню Действия > Импорт элементов > выбрать сохраненный скрипт. | ||
+ | Необходимо добавить следующие связи: | ||
+ | ::1. PTZ Controller: EGS вход:EGSInput + EGS Модуль: EGS Выход:EGSOutput. | ||
+ | ::2. Менеджер устройств: Менеджер устройств:ManagingContainer + EGS Модуль: Привязка к менеджеру:ManagingContent. | ||
+ | ::3. Менеджер устройств: ПО:SoftwareContent + Компьютер или Сервер: Установленное ПО:SoftwareContainer. | ||
+ | ::4. Менеджер устройств: Менеджер устройств: ManagingContainer + ПО Интегра-Видео 7: Привязка к менеджеру:ManagingContent. | ||
+ | ::5. ПО Интегра-Видео 7: ПО:SoftwareContent + Компьютер: Установленное ПО:SoftwareContainer. | ||
+ | ::6. ПО Интегра-Видео 7: Медиаданные:MediaContainer + IP поворотная камера: Медиаданные:MediaContent | ||
+ | ::7. IP поворотная камера: Приемник наблюдателя: | ||
+ | [[File:схема в скаде.png|центр]] | ||
+ | |||
+ | ==Проверка== | ||
+ | |||
+ | После запуска скрипта в параметре Хеш появится хеш текста скрипта, который должен быть равен тексту по следующей [http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/PTZ%20Controller.put&path=0/params/hash/value ссылке], в том случае если скрипт не был изменен. | ||
== Настройка == | == Настройка == | ||
+ | |||
# У компьютера/сервера должен быть настроен параметр сетевой адрес (ip). | # У компьютера/сервера должен быть настроен параметр сетевой адрес (ip). | ||
# Параметры PTZController: | # Параметры PTZController: | ||
Строка 13: | Строка 37: | ||
### url - адрес веб-сервиса IntegraVideo7, например: http://localhost:1986/axis2/services/Iv7Server; | ### url - адрес веб-сервиса IntegraVideo7, например: http://localhost:1986/axis2/services/Iv7Server; | ||
### tracer - настройки слежения: | ### tracer - настройки слежения: | ||
+ | #### iterations - количество итераций алгоритма расcчитывающего положение движущейся цели в будущем, например: 10. | ||
#### enabled - задействовать автоматическое слежение; | #### enabled - задействовать автоматическое слежение; | ||
− | #### | + | #### update_trace_time - обновление времени на позиционирование. |
+ | #### busy_recent_alarm - считать устройство занятым если оно находится в состоянии "недавней тревоги" т.е. не вышел alarm_timeout. Если устройство занято, то оно не будет поворачиваться. | ||
+ | #### busy_alarm - считать устройство занятым если оно находится в состоянии тревоги прямо сейчас. | ||
### snapshot - настройки фотоснимка: | ### snapshot - настройки фотоснимка: | ||
#### width - ширина фотоснимка в пикселях, например: 320; | #### width - ширина фотоснимка в пикселях, например: 320; | ||
#### height - высота фотоснимка в пикселях, например: 240. | #### height - высота фотоснимка в пикселях, например: 240. | ||
### update - настройки обновления параметров: | ### update - настройки обновления параметров: | ||
− | #### trace_time - обновлять параметр Время на позиционирование | + | #### trace_time - обновлять параметр Время на позиционирование(trace_time) поворотной камеры; |
#### point_ptz - обновлять параметры Панорамирование(pan), Наклон датчика(tilt) и Зум(zoom) поворотной точки; | #### point_ptz - обновлять параметры Панорамирование(pan), Наклон датчика(tilt) и Зум(zoom) поворотной точки; | ||
#### device_ptz - обновлять параметры pan, tilt и zoom поворотной камеры. | #### device_ptz - обновлять параметры pan, tilt и zoom поворотной камеры. | ||
+ | #### interval - интервал опроса PTZ поворотных камер. | ||
+ | ### trace_disabled_timeout - переключать поворотную камеру на автоматическое управление по выходу этого таймаута, т.е. задействовать параметр Слежение включено(trace_enabled), если он не сбрасывался в false в течении указанного времени. | ||
+ | ### alarm_timeout - интервал в течении которого датчик подключенный к зоне считается тревожным, даже если тревожное состояние уже сброшено. Используется при автоматическом повороте по тревоге от датчика | ||
+ | ### logon - вкл\выкл вызова функции ИВ7 logon перед выполнением команды. | ||
+ | ### analytics - специальный пресет включающий аналитику на камере: | ||
+ | #### pause - пауза между командой на поворот в точку и командой на включение аналитики. | ||
+ | #### enabled - задействовать автоматическое включение аналитики. | ||
+ | ### observe - настройки автоматического поворота по тревоге от датчика: | ||
+ | #### all_cameras - поворачиваться всеми вариантами текущего выбранного способа. | ||
+ | #### all_manner - поворачиваться на тревожный датчик всеми возможными способами. | ||
+ | #### tour_rounds_number - количество кругов тура по поворотным точкам (0 - бесконечный тур). | ||
+ | #### expansion - искусственное расширение калибровочных зон поворотного устройства. | ||
+ | ### dependencies - зависимости некоторых управляемых параметров: | ||
+ | #### point_ptz - при изменении хотя бы одного из указанного списка параметров поворотной точки очистить ее pan, tilt и zoom (т.е. pan = tilt = zoom = 0). | ||
+ | #### detection_zonenames - список имен регионов детекции для поворотных камер. | ||
+ | ### simulate - словарь типов\масок\значений как обычно, где: | ||
+ | #### первичный ключ - тип устройства источника. | ||
+ | #### вторичный ключ - маска состояния устройства источника (NB: реакция будет только на тревоги). | ||
+ | #### значение - структура вида: {"method": "ewriter_remote:insert_event", "event_type": 20107, "alert": "red", "jsontime": "5", "paths": ["ZoneLink/Zone/ZoneLink/VideoCamera"]} | ||
+ | ##### method— метод на веб-сервисе ИВ ewriter_remote:insert_event. | ||
+ | ##### event_type— номер события 20107 — именно на него будут реагировать детекторы. | ||
+ | ##### alert - 'yellow' или 'red' — красная или желтая. | ||
+ | ##### jsontime - '5' — время в минутах, на которое детекторы на этом сервере переходят в заданный тревожный режим. | ||
+ | ##### paths - один или более пути для поиска камеры по устройству источнику (см. Поиск связанных элементов), например для нахождения всех камер в той же зоне ZoneLink/Zone/ZoneLink/VideoCamera. | ||
− | == | + | == Дополнительно == |
# Для поворота камеры необходимо чтобы был запущен клиент Интегра-Видео и acuariomanager на одной физической машине. | # Для поворота камеры необходимо чтобы был запущен клиент Интегра-Видео и acuariomanager на одной физической машине. | ||
− | # Камера должна быть подключена к корректно настроенной зоне | + | # Камера должна быть подключена к корректно настроенной зоне: |
## area - область обслуживания; | ## area - область обслуживания; | ||
## area_heights - высота области; | ## area_heights - высота области; | ||
Строка 49: | Строка 100: | ||
## trace_types - список типов целей на которые данному устройству разрешено поворачиваться (пустой список означает, что разрешены все типы целей); | ## trace_types - список типов целей на которые данному устройству разрешено поворачиваться (пустой список означает, что разрешены все типы целей); | ||
## trace_time - среднее время на позиционирование в секундах, начальное значение необходимо указать пользователю, затем если в настройках включено update_trace_time, то скрипт будет пересчитывать данное значение. | ## trace_time - среднее время на позиционирование в секундах, начальное значение необходимо указать пользователю, затем если в настройках включено update_trace_time, то скрипт будет пересчитывать данное значение. | ||
+ | ## analytics_preset - специальный пресет включающий аналитику на поворотной камере. Выключение аналитики происходит автоматически при следующем повороте камеры. | ||
+ | # У линка ZoneLink соединяющего поворотную камеру с зоной Zone может быть указан следующий параметр: | ||
+ | ## constweight - запретить автоматическое управление весом поворотной камеры в этой зоне. | ||
# У самой же цели MoveableObject должны быть корректно настроены следующие параметры: | # У самой же цели MoveableObject должны быть корректно настроены следующие параметры: | ||
## position - расположение; | ## position - расположение; | ||
− | ## trace_zones - список | + | ## trace_zones - список идентификаторов зон, в которые входит цель в данный момент; |
## trace_order - числовой приоритет цели, чем меньше тем выше, но отрицательные значения исключают цель из слежения. | ## trace_order - числовой приоритет цели, чем меньше тем выше, но отрицательные значения исключают цель из слежения. | ||
# У наблюдаемой точки(ObservablePoint) должен быть корректно настроен параметр расположение(position). | # У наблюдаемой точки(ObservablePoint) должен быть корректно настроен параметр расположение(position). | ||
Строка 59: | Строка 113: | ||
# Если preset меньше 0, а pan, tilt и zoom равно 0, но точка имеет position и altitude и камера откалибрована (т.е. имеет calibrationMatrix), то выполняется расчет и запись pan, tilt и zoom по позиции точки. | # Если preset меньше 0, а pan, tilt и zoom равно 0, но точка имеет position и altitude и камера откалибрована (т.е. имеет calibrationMatrix), то выполняется расчет и запись pan, tilt и zoom по позиции точки. | ||
# При изменении параметров pan, tilt, zoom поворотной камеры проставляется флаг observed той ее поворотной точке, которая указывает приблизительно в тоже место с допусками указанными в pan_error, tilt_error и zoom_error поворотной камеры. | # При изменении параметров pan, tilt, zoom поворотной камеры проставляется флаг observed той ее поворотной точке, которая указывает приблизительно в тоже место с допусками указанными в pan_error, tilt_error и zoom_error поворотной камеры. | ||
+ | # All_cameras - поворачиваться всеми вариантами текущего выбранного способа: | ||
+ | ## Во все связанные с источником точки (всеми связанными с точками камерами). | ||
+ | ## Всеми связанными с источником камерами. | ||
+ | ## Всеми камерами во всех связанных зонах. | ||
+ | # All_manner - означает только одно - что следует искать поворотное устройство по зоне даже если источник связан соответствующими линками с точкой и\или камерой. | ||
+ | |||
+ | == Пример работы == |
Текущая версия на 15:52, 2 февраля 2022
Назначение
- Поворот устройства видеокамеры(PTZDevice) в расположение(position) наблюдаемой точки, датчика, по номеру preset или тур по поворотным точкам.
- Поворот устройства видеокамеры PTZDevice за подвижной целью(MoveableObject), находящейся в зоне.
- Создание фотоснимка цели после позиционирования на ней и запись его в trace_snapshot.
Создание схемы
В редакторе СКАДА необходимо добавить элементы, для этого необходимо:
- 1. Перейти на вкладку "Типы элементов" и выбрать в списке элемент Компьютер (Computer).
- 2. Дважды нажать на элемент Компьютер, после чего появится окно для добавления элемента.
- 3. Нажать кнопку "Добавить". Элемент появится на рабочей области.
- 4. Аналогично пункту 2 добавить элементы: Менеджер устройств (AcuarioManager), EGS Модуль (EGSModule), ПО Интегра-Видео 7, IP поворотная камера, Наблюдаемая точка, Зона.
- 5. PTZ Controller (Скрипт необходимо импортировать отсюда PTZ Controller). Для того, чтобы импортировать скрипт необходимо сначала скопировать и вставить вышеуказанную ссылку в адресную строку браузера, нажать на клавиатуре Enter, в окне браузера нажать правой кнопкой мыши, в появившемся контекстном меню нажать на сохранить как и выбрать удобное для Вас местоположения сохранив скрипт с расширением .put. В редакторе СКАДА нажать на меню Действия > Импорт элементов > выбрать сохраненный скрипт.
Необходимо добавить следующие связи:
- 1. PTZ Controller: EGS вход:EGSInput + EGS Модуль: EGS Выход:EGSOutput.
- 2. Менеджер устройств: Менеджер устройств:ManagingContainer + EGS Модуль: Привязка к менеджеру:ManagingContent.
- 3. Менеджер устройств: ПО:SoftwareContent + Компьютер или Сервер: Установленное ПО:SoftwareContainer.
- 4. Менеджер устройств: Менеджер устройств: ManagingContainer + ПО Интегра-Видео 7: Привязка к менеджеру:ManagingContent.
- 5. ПО Интегра-Видео 7: ПО:SoftwareContent + Компьютер: Установленное ПО:SoftwareContainer.
- 6. ПО Интегра-Видео 7: Медиаданные:MediaContainer + IP поворотная камера: Медиаданные:MediaContent
- 7. IP поворотная камера: Приемник наблюдателя:
Проверка
После запуска скрипта в параметре Хеш появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке, в том случае если скрипт не был изменен.
Настройка
- У компьютера/сервера должен быть настроен параметр сетевой адрес (ip).
- Параметры PTZController:
- Включен (enabled) - задействовать триггер.
- Настройки (settings) - настройки скрипта имеют следующие параметры:
- url - адрес веб-сервиса IntegraVideo7, например: http://localhost:1986/axis2/services/Iv7Server;
- tracer - настройки слежения:
- iterations - количество итераций алгоритма расcчитывающего положение движущейся цели в будущем, например: 10.
- enabled - задействовать автоматическое слежение;
- update_trace_time - обновление времени на позиционирование.
- busy_recent_alarm - считать устройство занятым если оно находится в состоянии "недавней тревоги" т.е. не вышел alarm_timeout. Если устройство занято, то оно не будет поворачиваться.
- busy_alarm - считать устройство занятым если оно находится в состоянии тревоги прямо сейчас.
- snapshot - настройки фотоснимка:
- width - ширина фотоснимка в пикселях, например: 320;
- height - высота фотоснимка в пикселях, например: 240.
- update - настройки обновления параметров:
- trace_time - обновлять параметр Время на позиционирование(trace_time) поворотной камеры;
- point_ptz - обновлять параметры Панорамирование(pan), Наклон датчика(tilt) и Зум(zoom) поворотной точки;
- device_ptz - обновлять параметры pan, tilt и zoom поворотной камеры.
- interval - интервал опроса PTZ поворотных камер.
- trace_disabled_timeout - переключать поворотную камеру на автоматическое управление по выходу этого таймаута, т.е. задействовать параметр Слежение включено(trace_enabled), если он не сбрасывался в false в течении указанного времени.
- alarm_timeout - интервал в течении которого датчик подключенный к зоне считается тревожным, даже если тревожное состояние уже сброшено. Используется при автоматическом повороте по тревоге от датчика
- logon - вкл\выкл вызова функции ИВ7 logon перед выполнением команды.
- analytics - специальный пресет включающий аналитику на камере:
- pause - пауза между командой на поворот в точку и командой на включение аналитики.
- enabled - задействовать автоматическое включение аналитики.
- observe - настройки автоматического поворота по тревоге от датчика:
- all_cameras - поворачиваться всеми вариантами текущего выбранного способа.
- all_manner - поворачиваться на тревожный датчик всеми возможными способами.
- tour_rounds_number - количество кругов тура по поворотным точкам (0 - бесконечный тур).
- expansion - искусственное расширение калибровочных зон поворотного устройства.
- dependencies - зависимости некоторых управляемых параметров:
- point_ptz - при изменении хотя бы одного из указанного списка параметров поворотной точки очистить ее pan, tilt и zoom (т.е. pan = tilt = zoom = 0).
- detection_zonenames - список имен регионов детекции для поворотных камер.
- simulate - словарь типов\масок\значений как обычно, где:
- первичный ключ - тип устройства источника.
- вторичный ключ - маска состояния устройства источника (NB: реакция будет только на тревоги).
- значение - структура вида: {"method": "ewriter_remote:insert_event", "event_type": 20107, "alert": "red", "jsontime": "5", "paths": ["ZoneLink/Zone/ZoneLink/VideoCamera"]}
- method— метод на веб-сервисе ИВ ewriter_remote:insert_event.
- event_type— номер события 20107 — именно на него будут реагировать детекторы.
- alert - 'yellow' или 'red' — красная или желтая.
- jsontime - '5' — время в минутах, на которое детекторы на этом сервере переходят в заданный тревожный режим.
- paths - один или более пути для поиска камеры по устройству источнику (см. Поиск связанных элементов), например для нахождения всех камер в той же зоне ZoneLink/Zone/ZoneLink/VideoCamera.
Дополнительно
- Для поворота камеры необходимо чтобы был запущен клиент Интегра-Видео и acuariomanager на одной физической машине.
- Камера должна быть подключена к корректно настроенной зоне:
- area - область обслуживания;
- area_heights - высота области;
- trace_factor - дополнительный делитель числового приоритета для зоны.
- У поворотного устройства PTZDevice должны быть корректно настроены следующие параметры:
- trace_enabled - флаг выключения автоматики оператором;
- geo_position - географические координаты;
- geo_height - географическая высота;
- calibrationMatrix - калибровочная матрица;
- url - сетевой адрес камеры в формате IntegraVideo7;
- min_zoom_distance - дистанция до цели, менее которой приближение камеры будет всегда минимальным;
- min_zoom_limit_factor - коэффициент ограничивающий минимальное приближение камеры, от 0.0 (0%) до 1.0 (100%);
- max_zoom_distance - дистанция до цели, более которой приближение камеры будет всегда максимальным;
- max_zoom_limit_factor - коэффициент ограничивающий максимальное приближение камеры, от 0.0 (0%) до 1.0 (100%);
- focus_time - время необходимое на фокусировку в секундах;
- zoom_time - время необходимое на полное приближение в секундах;
- pan_speed - скорость горизонтального поворота в градусах в секунду;
- tilt_speed - скорость вертикального поворота в градусах в секунду;
- parallel_ptz - флаг указывающий на возможность одновременного поворота, приближения и фокусировки;
- pan_error - максимальная допустимая разница между параметрами pan камеры и точки;
- tilt_error - максимальная допустимая разница между параметрами tilt камеры и точки;
- zoom_error - максимальная допустимая разница между параметрами zoom камеры и точки;
- trace_types - список типов целей на которые данному устройству разрешено поворачиваться (пустой список означает, что разрешены все типы целей);
- trace_time - среднее время на позиционирование в секундах, начальное значение необходимо указать пользователю, затем если в настройках включено update_trace_time, то скрипт будет пересчитывать данное значение.
- analytics_preset - специальный пресет включающий аналитику на поворотной камере. Выключение аналитики происходит автоматически при следующем повороте камеры.
- У линка ZoneLink соединяющего поворотную камеру с зоной Zone может быть указан следующий параметр:
- constweight - запретить автоматическое управление весом поворотной камеры в этой зоне.
- У самой же цели MoveableObject должны быть корректно настроены следующие параметры:
- position - расположение;
- trace_zones - список идентификаторов зон, в которые входит цель в данный момент;
- trace_order - числовой приоритет цели, чем меньше тем выше, но отрицательные значения исключают цель из слежения.
- У наблюдаемой точки(ObservablePoint) должен быть корректно настроен параметр расположение(position).
- Наблюдаемая точка должна быть подключена к поворотной камере.
- Если preset больше или равно 0, то выполняется поворот по пресету. Калибровка не нужна. pan, tilt и zoom не заполняются.
- Если preset меньше 0, а pan, tilt и zoom не равно 0, то выполняется поворот по pan, tilt и zoom.
- Если preset меньше 0, а pan, tilt и zoom равно 0, но точка имеет position и altitude и камера откалибрована (т.е. имеет calibrationMatrix), то выполняется расчет и запись pan, tilt и zoom по позиции точки.
- При изменении параметров pan, tilt, zoom поворотной камеры проставляется флаг observed той ее поворотной точке, которая указывает приблизительно в тоже место с допусками указанными в pan_error, tilt_error и zoom_error поворотной камеры.
- All_cameras - поворачиваться всеми вариантами текущего выбранного способа:
- Во все связанные с источником точки (всеми связанными с точками камерами).
- Всеми связанными с источником камерами.
- Всеми камерами во всех связанных зонах.
- All_manner - означает только одно - что следует искать поворотное устройство по зоне даже если источник связан соответствующими линками с точкой и\или камерой.