Управление поворотными устройствами (PTZ Controller)
Материал из Integra-S Wiki
								Назначение
- Поворот устройства PTZDevice в расположение(position) наблюдаемой точки, в указанные Панорамирование(pan), Наклон датчика(tilt) и Зум(zoom) либо по номеру Предустановки(preset).
 - Поворот устройства PTZDevice в расположение(position) датчика.
 - Поворот устройства 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 - обновление времени на позиционирование.
 
 -  snapshot - настройки фотоснимка:
- width - ширина фотоснимка в пикселях, например: 320;
 - height - высота фотоснимка в пикселях, например: 240.
 
 -  update - настройки обновления параметров:
- trace_time - обновлять параметр Время на позиционирование, сек (trace_time) поворотной камеры;
 - point_ptz - обновлять параметры Панорамирование(pan), Наклон датчика(tilt) и Зум(zoom) поворотной точки;
 - device_ptz - обновлять параметры pan, tilt и zoom поворотной камеры.
 - zone_weight - вес зоны.
 - interval - интервал опроса PTZ поворотных камер.
 
 - trace_disabled_timeout - включение параметра Слежение включено(trace_enabled) PTZ устройства если не было изменений за указанный таймаут.
 - target_position_timeout - выставление статуса Устаревший(outofdate) параметру расположение у движущегося объекта, если не было изменений за указанный таймаут.
 - undefined_position_timeout - сброс параметра расположение у не определенной цели если не было изменений за указанный таймаут.
 - 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 на одной физической машине.
 -  Камера должна быть подключена к корректно настроенной зоне Zone:
- 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 - специальный пресет включающий аналитику на поворотной камере. Выключение аналитики происходит автоматически при следующем повороте камеры.
 
 -  У самой же цели 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 поворотной камеры.
 


