initializeTrack

Инициализируйте новый трек

Описание

пример

trackID = initializeTrack(obj,track) инициализирует новый трек в средстве отслеживания или объекте термофиксатора дорожки, obj. Средство отслеживания или термофиксатор должны быть обновлены, по крайней мере, однажды инициализировав дорожку. Если дорожка инициализируется успешно, средство отслеживания или термофиксатор присваивают выход trackID к дорожке, устанавливает UpdateTime из дорожки, равной прошлому разу шага в средстве отслеживания, и, синхронизирует данные во входе track к инициализированной дорожке.

Предупреждение выдано, если термофиксатор средства отслеживания или дорожки уже обеспечивает максимальное количество дорожек, заданных itsMaxNumTracks свойство. В этом случае, trackID возвращен как 0, который указывает на отказ инициализировать дорожку.

Примечание

Этот синтаксис не поддерживает использование trackingGSF, trackingPF, или trackingIMM объект фильтра как внутренний фильтр отслеживания для средства отслеживания или термофиксатора дорожки. Используйте второй синтаксис в этих случаях.

trackID = initializeTrack(obj,track,filter) инициализирует новый трек в средстве отслеживания или объекте термофиксатора дорожки, obj, с помощью заданного фильтра отслеживания, filter.

Примечание

  • Если фильтром отслеживания, используемым в средстве отслеживания или термофиксаторе дорожки, является trackingGSF, trackingPF, или trackingIMM, необходимо использовать этот синтаксис вместо первого синтаксиса.

  • Этот синтаксис не поддерживает использование trackFuser как obj входной параметр.

Примеры

свернуть все

Создайте средство отслеживания GNN и обновите средство отслеживания с обнаружениями в t=0 и t=1второй.

tracker = trackerGNN
tracker = 
  trackerGNN with properties:

                  TrackerIndex: 0
       FilterInitializationFcn: 'initcvekf'
                    Assignment: 'MatchPairs'
           AssignmentThreshold: [30 Inf]
                  MaxNumTracks: 100
                 MaxNumSensors: 20

                  OOSMHandling: 'Terminate'

                    TrackLogic: 'History'
         ConfirmationThreshold: [2 3]
             DeletionThreshold: [5 5]

            HasCostMatrixInput: false
    HasDetectableTrackIDsInput: false
               StateParameters: [1x1 struct]

                     NumTracks: 0
            NumConfirmedTracks: 0

detection1 = objectDetection(0,[1;1;1]);
detection2 = objectDetection(1,[1.1;1.2;1.1]);
tracker(detection1,0);
currentTrack = tracker(detection2,1);

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

tracker
tracker = 
  trackerGNN with properties:

                  TrackerIndex: 0
       FilterInitializationFcn: 'initcvekf'
                    Assignment: 'MatchPairs'
           AssignmentThreshold: [30 Inf]
                  MaxNumTracks: 100
                 MaxNumSensors: 20

                  OOSMHandling: 'Terminate'

                    TrackLogic: 'History'
         ConfirmationThreshold: [2 3]
             DeletionThreshold: [5 5]

            HasCostMatrixInput: false
    HasDetectableTrackIDsInput: false
               StateParameters: [1x1 struct]

                     NumTracks: 1
            NumConfirmedTracks: 1

Создайте новый трек с помощью objectTrack объект.

newTrack = objectTrack()
newTrack = 
  objectTrack with properties:

             TrackID: 1
            BranchID: 0
         SourceIndex: 1
          UpdateTime: 0
                 Age: 1
               State: [6x1 double]
     StateCovariance: [6x6 double]
     StateParameters: [1x1 struct]
       ObjectClassID: 0
          TrackLogic: 'History'
     TrackLogicState: 1
         IsConfirmed: 1
           IsCoasted: 0
      IsSelfReported: 1
    ObjectAttributes: [1x1 struct]

Инициализируйте дорожку в объекте средства отслеживания GNN использование недавно созданной дорожки.

trackID = initializeTrack(tracker,newTrack)
trackID = uint32
    2

Как замечено по NumTracks свойство, средство отслеживания теперь обеспечивает две дорожки.

tracker
tracker = 
  trackerGNN with properties:

                  TrackerIndex: 0
       FilterInitializationFcn: 'initcvekf'
                    Assignment: 'MatchPairs'
           AssignmentThreshold: [30 Inf]
                  MaxNumTracks: 100
                 MaxNumSensors: 20

                  OOSMHandling: 'Terminate'

                    TrackLogic: 'History'
         ConfirmationThreshold: [2 3]
             DeletionThreshold: [5 5]

            HasCostMatrixInput: false
    HasDetectableTrackIDsInput: false
               StateParameters: [1x1 struct]

                     NumTracks: 2
            NumConfirmedTracks: 2

Входные параметры

свернуть все

Средство отслеживания или термофиксатор возражают в виде trackerTOMHT, trackerJPDA, trackerGNN, или trackFuser объект.

Новый трек, который будет инициализирован в виде objectTrack возразите или структура. Если задано как структура, имя, тип переменной и размер данных полей структуры должны совпасть с именем, типом переменной и размером данных соответствующих свойств objectTrack объект.

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

Объект фильтра в виде trackingKF, trackingEKF, trackingUKF, trackingABF, trackingCKF, trackingIMM, trackingGSF, trackingPF, или trackingMSCEKF объект.

Выходные аргументы

свернуть все

Отследите идентификатор, возвращенный как неотрицательное целое число. trackID возвращен как 0 если track не инициализируется успешно.

Пример 2

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

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

Смотрите также

| | |

Введенный в R2020a