Управление поворотными устройствами (PTZ Controller) — различия между версиями
Материал из Integra-S Wiki
								
												
				Ipe (обсуждение | вклад)  (→Настройка)  | 
				Ipe (обсуждение | вклад)   (→Назначение)  | 
				||
| (не показано 10 промежуточных версий этого же участника) | |||
| Строка 1: | Строка 1: | ||
__FORCETOC__  | __FORCETOC__  | ||
== Назначение ==  | == Назначение ==  | ||
| − | # Поворот устройства PTZDevice в расположение(position) наблюдаемой точки,   | + | # Поворот устройства видеокамеры(PTZDevice) в расположение(position) наблюдаемой точки, датчика, по номеру preset или тур по поворотным точкам.  | 
| − | + | # Поворот устройства видеокамеры PTZDevice за подвижной целью(MoveableObject), находящейся в зоне.  | |
| − | # Поворот устройства PTZDevice за подвижной целью MoveableObject, находящейся в зоне.  | ||
# Создание фотоснимка цели после позиционирования на ней и запись его в trace_snapshot.  | # Создание фотоснимка цели после позиционирования на ней и запись его в trace_snapshot.  | ||
| − | ==   | + | == Создание схемы ==  | 
В редакторе СКАДА необходимо добавить элементы, для этого необходимо:  | В редакторе СКАДА необходимо добавить элементы, для этого необходимо:  | ||
| Строка 25: | Строка 24: | ||
::7. IP поворотная камера: Приемник наблюдателя:  | ::7. IP поворотная камера: Приемник наблюдателя:  | ||
[[File:схема в скаде.png|центр]]  | [[File:схема в скаде.png|центр]]  | ||
| + | |||
| + | ==Проверка==  | ||
| + | |||
| + | После запуска скрипта в параметре Хеш появится хеш текста скрипта, который должен быть равен тексту по следующей  [http://maps.integra-s.com:5434/resources/typedef2017/jsonpath.php?url=/egs/PTZ%20Controller.put&path=0/params/hash/value ссылке], в том случае если скрипт не был изменен.  | ||
== Настройка ==  | == Настройка ==  | ||
| Строка 37: | Строка 40: | ||
#### enabled - задействовать автоматическое слежение;  | #### enabled - задействовать автоматическое слежение;  | ||
#### update_trace_time - обновление времени на позиционирование.  | #### 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 поворотных камер.  | #### interval - интервал опроса PTZ поворотных камер.  | ||
| − | ### trace_disabled_timeout -   | + | ### trace_disabled_timeout - переключать поворотную камеру на автоматическое управление по выходу этого таймаута, т.е. задействовать параметр Слежение включено(trace_enabled), если он не сбрасывался в false в течении указанного времени.  | 
| − | + | ### alarm_timeout - интервал в течении которого датчик подключенный к зоне считается тревожным, даже если тревожное состояние уже сброшено. Используется при автоматическом повороте по тревоге от датчика  | |
| − | |||
| − | ### alarm_timeout - интервал в течении которого датчик подключенный к зоне считается тревожным, даже если тревожное состояние уже сброшено.  | ||
### logon - вкл\выкл вызова функции ИВ7 logon перед выполнением команды.  | ### logon - вкл\выкл вызова функции ИВ7 logon перед выполнением команды.  | ||
### analytics - специальный пресет включающий аналитику на камере:  | ### analytics - специальный пресет включающий аналитику на камере:  | ||
| − | #### pause - пауза   | + | #### pause - пауза между командой на поворот в точку и командой на включение аналитики.  | 
| − | #### enabled -   | + | #### enabled - задействовать автоматическое включение аналитики.  | 
### observe - настройки автоматического поворота по тревоге от датчика:  | ### observe - настройки автоматического поворота по тревоге от датчика:  | ||
#### all_cameras - поворачиваться всеми вариантами текущего выбранного способа.  | #### all_cameras - поворачиваться всеми вариантами текущего выбранного способа.  | ||
#### all_manner - поворачиваться на тревожный датчик всеми возможными способами.  | #### all_manner - поворачиваться на тревожный датчик всеми возможными способами.  | ||
#### tour_rounds_number - количество кругов тура по поворотным точкам (0 - бесконечный тур).  | #### tour_rounds_number - количество кругов тура по поворотным точкам (0 - бесконечный тур).  | ||
| − | #### expansion - искусственное расширение   | + | #### expansion - искусственное расширение калибровочных зон поворотного устройства.  | 
### dependencies - зависимости некоторых управляемых параметров:  | ### dependencies - зависимости некоторых управляемых параметров:  | ||
#### point_ptz - при изменении хотя бы одного из указанного списка параметров поворотной точки очистить ее pan, tilt и zoom (т.е. pan = tilt = zoom = 0).  | #### point_ptz - при изменении хотя бы одного из указанного списка параметров поворотной точки очистить ее pan, tilt и zoom (т.е. pan = tilt = zoom = 0).  | ||
| Строка 65: | Строка 67: | ||
#### первичный ключ - тип устройства источника.  | #### первичный ключ - тип устройства источника.  | ||
#### вторичный ключ - маска состояния устройства источника (NB: реакция будет только на тревоги).  | #### вторичный ключ - маска состояния устройства источника (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 - высота области;  | ||
| Строка 93: | Строка 100: | ||
## trace_types - список типов целей на которые данному устройству разрешено поворачиваться (пустой список означает, что разрешены все типы целей);  | ## trace_types - список типов целей на которые данному устройству разрешено поворачиваться (пустой список означает, что разрешены все типы целей);  | ||
## trace_time - среднее время на позиционирование в секундах, начальное значение необходимо указать пользователю, затем если в настройках включено update_trace_time, то скрипт будет пересчитывать данное значение.  | ## trace_time - среднее время на позиционирование в секундах, начальное значение необходимо указать пользователю, затем если в настройках включено update_trace_time, то скрипт будет пересчитывать данное значение.  | ||
| + | ## analytics_preset - специальный пресет включающий аналитику на поворотной камере. Выключение аналитики происходит автоматически при следующем повороте камеры.  | ||
| + | # У линка ZoneLink соединяющего поворотную камеру с зоной Zone может быть указан следующий параметр:  | ||
| + | ## constweight - запретить автоматическое управление весом поворотной камеры в этой зоне.  | ||
# У самой же цели MoveableObject должны быть корректно настроены следующие параметры:  | # У самой же цели MoveableObject должны быть корректно настроены следующие параметры:  | ||
## position - расположение;  | ## position - расположение;  | ||
| Строка 103: | Строка 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 - означает только одно - что следует искать поворотное устройство по зоне даже если источник связан соответствующими линками с точкой и\или камерой.
 


