trackingSensorConfiguration

Представление строения датчика для отслеживания

Описание

The trackingSensorConfiguration объект создает строение для датчика, используемого с trackerPHD Системные object™. Это позволяет вам задать параметры датчика, такие как плотность загромождения, пределы датчика, разрешение датчика. Можно также задать, как трекер воспринимает обнаружения от датчика, используя такие свойства, как FilterInitializationFcn, SensorTransformFcn, и SensorTransformParameters. Для получения дополнительной информации смотрите Строение создания датчика отслеживания. The trackingSensorConfiguration объект позволяет трекеру выполнить три основные рутинные операции:

  • Оцените вероятность обнаружения в точках в пространстве состояний.

  • Инициируйте компоненты в плотности гипотезы вероятностей.

  • Получите плотность загромождения датчика.

Создание

Описание

config = trackingSensorConfiguration(SensorIndex) создает trackingSensorConfiguration объект с заданным индексом датчика, SensorIndex, и значения свойств по умолчанию.

пример

config = trackingSensorConfiguration(SensorIndex,Name,Value) позволяет вам задать свойства с помощью одной или нескольких пар "имя-значение".

Свойства

расширить все

Уникальный идентификатор датчика, заданный как положительное целое число. Это свойство отличает обнаружения, которые поступают от разных датчиков в мультисенсорной системе. При создании trackingSensorConfiguration объект, вы должны задать SensorIndex как первый входной параметр в синтаксисе создания.

Пример: 2

Типы данных: double

Укажите состояние сообщения об обнаружении датчика, заданное как false или true. Установите это свойство на true когда датчик должен сообщать о обнаружениях в пределах своего датчика трекеру. Если дорожка или цель должны были быть обнаружены датчиком, но датчик не сообщил об обнаружениях, то эта информация используется для подсчета относительно вероятности существования дорожки, когда isValidTime для свойства задано значение true.

Типы данных: logical

Функция инициализации фильтра, заданная как указатель на функцию или как вектор символов, содержащий имя действительной функции инициализации фильтра. Функция инициализирует PHD-фильтр, используемый trackerPHD. Функция должна поддерживать следующие синтаксисы:

filter = filterInitializationFcn()
filter = filterInitializationFcn(detections)
filter является действительным PHD-фильтром с компонентами для новорожденных целей и detections - массив ячеек из objectDetection объекты. Первый синтаксис позволяет вам задать прогнозирующую плотность рождения в фильтре PHD, не используя обнаружения. Второй синтаксис позволяет фильтру инициализировать адаптивную плотность рождения с помощью информации обнаружения. Смотрите свойство BirthRate trackerPHD для получения дополнительной информации. Если вы создаете свои собственные FilterInitilizationFcn, вы также должны предоставить функцию преобразования, используя SensorTransformFcn свойство. Кроме функции инициализации фильтра по умолчанию initcvggiwphd, Sensor Fusion and Tracking Toolbox™ также обеспечивает другие функции инициализации, такие как initctrectgmphd, initctgmphd, initcvgmphd, initcagmphd, initctggiwphd и initcaggiwphd.

Типы данных: function_handle | char

Функция преобразования датчика, заданная как указатель на функцию или как вектор символов, содержащий имя действительной функции преобразования датчика. Функция преобразует состояние дорожки в состояние обнаружения датчика. Для примера функция преобразует состояние дорожки в Декартовой системе координат сценария в сферическую систему координат датчика. Можно создать собственную функцию преобразования датчика, но она должна поддерживать следующий синтаксис:

detStates = SensorTransformFcn(trackStates,params)
params являются ли параметры сохраненными в SensorTransformParameters свойство. Заметьте, что подпись функции аналогична функции измерения. Поэтому можно использовать функцию измерения (такую как cvmeas, ctmeas, или cameas) как SensorTransformFcn.

В зависимости от типа фильтра и целевого типа, выхода, detStates, нужно вернуться по-другому.

  • При использовании с gmphd для не расширенных целей или с ggiwphd, detStates является N -by M матрицей, где N - количество строк в SensorLimits свойство и M - это количество входа состояний в trackStates. Для gmphdне расширенные цели относятся к точечным целям и удлиненным целям, MeasurementOrigin является 'center'.

  • При использовании с gmphd для расширенных целей, SensorTransformFcn позволяет вам задать несколько detStates в trackState. В этом случае detStates является N -by- M -by- S матрицей, где S - количество обнаруживаемых источников в расширенной целевой системе. Для примера, если цель описана прямоугольным состоянием, обнаруживаемые источники могут быть углами прямоугольника.

    Если какой-либо из источников падает внутрь SensorLimits, цель объявлена обнаруживаемой. Функции используют спред (максимальную координату − минимальную координату) каждого detStates и отношение между расширением и разрешением датчика на каждом пределе датчика для вычисления ожидаемого количества обнаружений от каждой расширенной цели. Вы можете переопределить эту настройку по умолчанию, предоставив дополнительный выход в SensorTransformFcn как:

    [..., Nexp] = SensorTransformFcn(trackStates, params)
    где Nexp - ожидаемое количество обнаружений от каждого расширенного состояния дорожки.

Обратите внимание, что значение по умолчанию SensorTransformFcn - функция преобразования датчика фильтра, возвращаемая FilterInitilizationFcn. Для примера, initicvggiwphd функция возвращает значение по умолчанию cvmeas, тогда как initictggiwphd и initicaggiwphd возврат функций ctmeas и cameas, соответственно.

Типы данных: function_handle | char

Параметры для функции преобразования датчика, возвращенные как структура или массив структур. Если вам нужно преобразовать состояние только один раз, задайте его как структуру. Если вам нужно преобразовать состояние n раз, задайте его как n массив структур -by-1. Для примера, чтобы преобразовать состояние из кадра сценария в кадр датчика, обычно необходимо сначала преобразовать состояние из прямоугольной системы координат сценария в прямоугольную систему координат платформы, а затем преобразовать состояние из прямоугольной системы координат платформы в сферическую систему координат датчика. Полями структуры являются:

ОбластьОписание
Frame

Тип дочерней координатной системы координат, заданный как 'Rectangular' или 'Spherical'.

OriginPosition

Положение начала дочерней системы координат, выраженное в родительской системе координат в виде вектора 3 на 1.

OriginVelocity

Скорость начала дочерней системы координат, выраженная в родительской системе координат, заданная как вектор 3 на 1.

Orientation

Относительная ориентация между системами координат, заданная как матрица вращения 3 на 3. Если на IsParentToChild для свойства задано значение false, затем задайте Orientation как поворот от дочерней системы координат к родительской системе координат. Если на IsParentToChild для свойства задано значение true, затем задайте Orientation как поворот от родительской системы координат к дочерней системе координат.

IsParentToChild

Флаг для указания направления вращения между родительской и дочерней системами координат, заданный как true или false. Значение по умолчанию является false. См. описание Orientation поле для получения дополнительной информации.

HasAzimuth

Указывает, содержат ли выходы компоненты азимута, задается как true или false.

HasElevation

Указывает, содержат ли выходы компоненты повышения, задается как true или false.

HasRange

Указывает, содержат ли выходы компоненты области значений, заданные как true или false.

HasVelocity

Указывает, содержат ли выходы компоненты скорости, задается как true или false.

Обратите внимание, что здесь система координат сценария является родительской системой координат системы координат платформы, а система координат платформы является родительской системой координат системы координат датчика.

Значения по умолчанию для SensorTransformParameters являются массивом структур 2 на 1 как:

ОбластиStruct 1Struct 2
Система координат'Spherical''Rectangular'
OriginPosition[0;0;0][0;0;0]
OriginVelocity[0;0;0][0;0;0]
Ориентацияeye(3)eye(3)
IsParentToChildfalsefalse
HasAzimuthtruetrue
HasElevationtruetrue
HasRangetruetrue
HasVelocityfalsetrue

В этой таблице Struct 2 учитывает преобразование из прямоугольной системы координат сценария в прямоугольную систему координат платформы, а Struct 1 рассчитывает преобразование из прямоугольной системы координат платформы в сферическую систему координат датчика, учитывая isParentToChild для свойства задано значение false.

Типы данных: struct

Пределы обнаружения датчика, заданные как матрица N-на-2, где N - выходная размерность функции преобразования датчика. Матрица должна описать нижний и верхний пределы обнаружения датчика в том же порядке, что и выходы функции преобразования датчика.

Если вы используете cvmeas, cameas, или ctmeas как функция преобразования датчика, тогда необходимо обеспечить пределы датчика в следующем порядке:

SensorLimits = [minAzmaxAzminElmaxElminRngmaxRngminRrmaxRr]

Описание этих пределов и их значений по умолчанию приведены в следующей таблице. Обратите внимание, что значения по умолчанию для SensorLimits являются матрицей 3 на 2, включая шесть верхних элементов таблицы. Более того, если вы используете эти три функции, можно задать матрицу в других размерах (1 на 2, 2 на 2 или 3 на 4), но вы должны задать эти пределы в последовательности, показанной в матрице SensorLimits.

ПределыОписаниеЗначения по умолчанию
minAz

Минимальный обнаруживаемый азимут в степенях.

-10
maxAz

Максимальный обнаруживаемый азимут в степенях.

10
minEl

Минимальное обнаруживаемое повышение в степенях.

-2.5
maxEl

Максимальное обнаруживаемое повышение в степенях.

2.5
minRng

Минимальный обнаруживаемая область значений в метрах.

0
maxRng

Максимальный обнаруживаемая область значений в метрах.

1000
minRr

Минимальная обнаруживаемая частота областей значений в метрах в секунду.

Н/Д
maxRr

Максимальная обнаруживаемая частота областей значений в метрах в секунду.

Н/Д

Типы данных: double

Разрешение датчика, заданное как N элемент с положительным значением, где N - количество параметров, заданное в SensorLimits свойство. Если вы хотите назначить только одну камеру разрешения для параметра, просто укажите ее разрешение как различие между максимальным пределом и минимальным пределом параметра.

Типы данных: double

Максимальное количество обнаружений, о которых датчик может сообщать на объект, заданное в виде положительного целого числа.

Пример: 3

Типы данных: double

Ожидаемое количество ложных предупреждений на модуль объем от датчика, заданное как положительная скалярная величина.

Пример: 2e-3

Типы данных: double

Вероятность обнаружения цели, которая, по оценкам, находится вне пределов датчика, задается как положительная скалярная величина. Это свойство позволяет использовать trackerPHD объект, чтобы учесть, что расчетная цель, которая находится вне пределов датчика, может быть обнаруживаемой.

Пример: 0.03

Типы данных: double

Примеры

свернуть все

Рассмотрим радар с нижеследующими пределами датчика и разрешением датчика.

  azLimits = [-10 10];
  elLimits = [-2.5 2.5];
  rangeLimits = [0 500];
  rangeRateLimits = [-50 50];
  sensorLimits = [azLimits;elLimits;rangeLimits;rangeRateLimits];
  sensorResolution = [5 2 10 3];

Определение функции преобразования датчика, которая преобразует Декартовы координаты [x; y; vx; vy] в сценарной системе координат [az; el; область значений; rr] в сферической системе координат датчика. Можно использовать функцию измерения cvmeas как функцию преобразования датчика.

  transformFcn = @cvmeas;

Чтобы задать параметры, необходимые для cvmeas, используйте SensorTransformParameters свойство. Здесь вы предполагаете, что датчик установлен в центре платформы, а платформа, расположенная на [100; 30; 20], движется со скоростью [-5; 4; 2] модули в секунду в систему координат сценария.

Первая структура определяет положение, скорость и ориентацию датчика в системе координат платформы.

  params(1) = struct('Frame','Spherical','OriginPosition',[0;0;0],...
                   'OriginVelocity',[0;0;0],'Orientation',eye(3),'HasRange',true,...
                   'HasVelocity',true);

Вторая структура определяет местоположение, скорость и ориентацию платформы в системе координат сценария.

  params(2) = struct('Frame','Rectangular','OriginPosition',[100;30;20],...
                    'OriginVelocity',[-5;4;2],'Orientation',eye(3),'HasRange',true,...
                    'HasVelocity',true);

Создайте строение.

  config = trackingSensorConfiguration('SensorIndex',3,'SensorLimits',sensorLimits,...
                                       'SensorResolution',sensorResolution,...
                                       'SensorTransformParameters',params,...
                                       'SensorTransformFcn',@cvmeas,...
                                       'FilterInitializationFcn',@initcvggiwphd)
config = 
  trackingSensorConfiguration with properties:

                  SensorIndex: 3
                  IsValidTime: 0

                 SensorLimits: [4x2 double]
             SensorResolution: [4x1 double]
           SensorTransformFcn: @cvmeas
    SensorTransformParameters: [1x2 struct]

      FilterInitializationFcn: @initcvggiwphd
          MaxNumDetsPerObject: Inf

               ClutterDensity: 1.0000e-03
         DetectionProbability: 0.9000
      MinDetectionProbability: 0.0500

Подробнее о

расширить все

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.

См. также

| | | |

Введенный в R2019a