initializeTrack

Инициализация новой дорожки

Описание

пример

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

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

Примечание

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

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

Примечание

  • Если отслеживающий фильтр, используемый в трекере или track fuser, 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

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

свернуть все

Объект Tracker или fuser, заданный как 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++ с помощью Coder™ MATLAB ®

.
Введенный в R2020a