exponenta event banner

initializeTrack

Инициализировать новую дорожку

Описание

пример

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

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

Примечание

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

trackID = initializeTrack(obj,track,filter) инициализирует новую дорожку в объекте tracker или track fuser, 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