Управление поворотными устройствами (PTZ Controller)

Материал из Integra-S Wiki
Версия от 15:52, 2 февраля 2022; Ipe (обсуждение | вклад) (Назначение)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Назначение

  1. Поворот устройства видеокамеры(PTZDevice) в расположение(position) наблюдаемой точки, датчика, по номеру preset или тур по поворотным точкам.
  2. Поворот устройства видеокамеры PTZDevice за подвижной целью(MoveableObject), находящейся в зоне.
  3. Создание фотоснимка цели после позиционирования на ней и запись его в trace_snapshot.

Создание схемы

В редакторе СКАДА необходимо добавить элементы, для этого необходимо:

1. Перейти на вкладку "Типы элементов" и выбрать в списке элемент Компьютер (Computer).
Computer.jpg
2. Дважды нажать на элемент Компьютер, после чего появится окно для добавления элемента.
Add element.jpg
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 поворотная камера: Приемник наблюдателя:
Схема в скаде.png

Проверка

После запуска скрипта в параметре Хеш появится хеш текста скрипта, который должен быть равен тексту по следующей ссылке, в том случае если скрипт не был изменен.

Настройка

  1. У компьютера/сервера должен быть настроен параметр сетевой адрес (ip).
  2. Параметры PTZController:
    1. Включен (enabled) - задействовать триггер.
    2. Настройки (settings) - настройки скрипта имеют следующие параметры:
      1. url - адрес веб-сервиса IntegraVideo7, например: http://localhost:1986/axis2/services/Iv7Server;
      2. tracer - настройки слежения:
        1. iterations - количество итераций алгоритма расcчитывающего положение движущейся цели в будущем, например: 10.
        2. enabled - задействовать автоматическое слежение;
        3. update_trace_time - обновление времени на позиционирование.
        4. busy_recent_alarm - считать устройство занятым если оно находится в состоянии "недавней тревоги" т.е. не вышел alarm_timeout. Если устройство занято, то оно не будет поворачиваться.
        5. busy_alarm - считать устройство занятым если оно находится в состоянии тревоги прямо сейчас.
      3. snapshot - настройки фотоснимка:
        1. width - ширина фотоснимка в пикселях, например: 320;
        2. height - высота фотоснимка в пикселях, например: 240.
      4. update - настройки обновления параметров:
        1. trace_time - обновлять параметр Время на позиционирование(trace_time) поворотной камеры;
        2. point_ptz - обновлять параметры Панорамирование(pan), Наклон датчика(tilt) и Зум(zoom) поворотной точки;
        3. device_ptz - обновлять параметры pan, tilt и zoom поворотной камеры.
        4. interval - интервал опроса PTZ поворотных камер.
      5. trace_disabled_timeout - переключать поворотную камеру на автоматическое управление по выходу этого таймаута, т.е. задействовать параметр Слежение включено(trace_enabled), если он не сбрасывался в false в течении указанного времени.
      6. alarm_timeout - интервал в течении которого датчик подключенный к зоне считается тревожным, даже если тревожное состояние уже сброшено. Используется при автоматическом повороте по тревоге от датчика
      7. logon - вкл\выкл вызова функции ИВ7 logon перед выполнением команды.
      8. analytics - специальный пресет включающий аналитику на камере:
        1. pause - пауза между командой на поворот в точку и командой на включение аналитики.
        2. enabled - задействовать автоматическое включение аналитики.
      9. observe - настройки автоматического поворота по тревоге от датчика:
        1. all_cameras - поворачиваться всеми вариантами текущего выбранного способа.
        2. all_manner - поворачиваться на тревожный датчик всеми возможными способами.
        3. tour_rounds_number - количество кругов тура по поворотным точкам (0 - бесконечный тур).
        4. expansion - искусственное расширение калибровочных зон поворотного устройства.
      10. dependencies - зависимости некоторых управляемых параметров:
        1. point_ptz - при изменении хотя бы одного из указанного списка параметров поворотной точки очистить ее pan, tilt и zoom (т.е. pan = tilt = zoom = 0).
        2. detection_zonenames - список имен регионов детекции для поворотных камер.
      11. simulate - словарь типов\масок\значений как обычно, где:
        1. первичный ключ - тип устройства источника.
        2. вторичный ключ - маска состояния устройства источника (NB: реакция будет только на тревоги).
        3. значение - структура вида: {"method": "ewriter_remote:insert_event", "event_type": 20107, "alert": "red", "jsontime": "5", "paths": ["ZoneLink/Zone/ZoneLink/VideoCamera"]}
          1. method— метод на веб-сервисе ИВ ewriter_remote:insert_event.
          2. event_type— номер события 20107 — именно на него будут реагировать детекторы.
          3. alert - 'yellow' или 'red' — красная или желтая.
          4. jsontime - '5' — время в минутах, на которое детекторы на этом сервере переходят в заданный тревожный режим.
          5. paths - один или более пути для поиска камеры по устройству источнику (см. Поиск связанных элементов), например для нахождения всех камер в той же зоне ZoneLink/Zone/ZoneLink/VideoCamera.

Дополнительно

  1. Для поворота камеры необходимо чтобы был запущен клиент Интегра-Видео и acuariomanager на одной физической машине.
  2. Камера должна быть подключена к корректно настроенной зоне:
    1. area - область обслуживания;
    2. area_heights - высота области;
    3. trace_factor - дополнительный делитель числового приоритета для зоны.
  3. У поворотного устройства PTZDevice должны быть корректно настроены следующие параметры:
    1. trace_enabled - флаг выключения автоматики оператором;
    2. geo_position - географические координаты;
    3. geo_height - географическая высота;
    4. calibrationMatrix - калибровочная матрица;
    5. url - сетевой адрес камеры в формате IntegraVideo7;
    6. min_zoom_distance - дистанция до цели, менее которой приближение камеры будет всегда минимальным;
    7. min_zoom_limit_factor - коэффициент ограничивающий минимальное приближение камеры, от 0.0 (0%) до 1.0 (100%);
    8. max_zoom_distance - дистанция до цели, более которой приближение камеры будет всегда максимальным;
    9. max_zoom_limit_factor - коэффициент ограничивающий максимальное приближение камеры, от 0.0 (0%) до 1.0 (100%);
    10. focus_time - время необходимое на фокусировку в секундах;
    11. zoom_time - время необходимое на полное приближение в секундах;
    12. pan_speed - скорость горизонтального поворота в градусах в секунду;
    13. tilt_speed - скорость вертикального поворота в градусах в секунду;
    14. parallel_ptz - флаг указывающий на возможность одновременного поворота, приближения и фокусировки;
    15. pan_error - максимальная допустимая разница между параметрами pan камеры и точки;
    16. tilt_error - максимальная допустимая разница между параметрами tilt камеры и точки;
    17. zoom_error - максимальная допустимая разница между параметрами zoom камеры и точки;
    18. trace_types - список типов целей на которые данному устройству разрешено поворачиваться (пустой список означает, что разрешены все типы целей);
    19. trace_time - среднее время на позиционирование в секундах, начальное значение необходимо указать пользователю, затем если в настройках включено update_trace_time, то скрипт будет пересчитывать данное значение.
    20. analytics_preset - специальный пресет включающий аналитику на поворотной камере. Выключение аналитики происходит автоматически при следующем повороте камеры.
  4. У линка ZoneLink соединяющего поворотную камеру с зоной Zone может быть указан следующий параметр:
    1. constweight - запретить автоматическое управление весом поворотной камеры в этой зоне.
  5. У самой же цели MoveableObject должны быть корректно настроены следующие параметры:
    1. position - расположение;
    2. trace_zones - список идентификаторов зон, в которые входит цель в данный момент;
    3. trace_order - числовой приоритет цели, чем меньше тем выше, но отрицательные значения исключают цель из слежения.
  6. У наблюдаемой точки(ObservablePoint) должен быть корректно настроен параметр расположение(position).
  7. Наблюдаемая точка должна быть подключена к поворотной камере.
  8. Если preset больше или равно 0, то выполняется поворот по пресету. Калибровка не нужна. pan, tilt и zoom не заполняются.
  9. Если preset меньше 0, а pan, tilt и zoom не равно 0, то выполняется поворот по pan, tilt и zoom.
  10. Если preset меньше 0, а pan, tilt и zoom равно 0, но точка имеет position и altitude и камера откалибрована (т.е. имеет calibrationMatrix), то выполняется расчет и запись pan, tilt и zoom по позиции точки.
  11. При изменении параметров pan, tilt, zoom поворотной камеры проставляется флаг observed той ее поворотной точке, которая указывает приблизительно в тоже место с допусками указанными в pan_error, tilt_error и zoom_error поворотной камеры.
  12. All_cameras - поворачиваться всеми вариантами текущего выбранного способа:
    1. Во все связанные с источником точки (всеми связанными с точками камерами).
    2. Всеми связанными с источником камерами.
    3. Всеми камерами во всех связанных зонах.
  13. All_manner - означает только одно - что следует искать поворотное устройство по зоне даже если источник связан соответствующими линками с точкой и\или камерой.

Пример работы