radarTracker
Description
The radarTracker
      System object™ initializes, confirms, predicts, corrects, and deletes the tracks of moving
      objects. Inputs to the radar tracker are detection reports generated as an objectDetection object by radar sensors. The radar tracker accepts detections from
      multiple sensors and assigns them to tracks using a global nearest neighbor (GNN) criterion.
      Each detection is assigned to a separate track. If the detection cannot be assigned to any
      track, based on the AssignmentThreshold property, the tracker creates a
      new track. The tracks are returned in a structure array.
A new track starts in a tentative state. If enough detections are
      assigned to a tentative track, its status changes to confirmed. If the
      detection is a known classification (the ObjectClassID field of the
      returned track is nonzero), that track can be confirmed immediately. For details on the radar
      tracker properties used to confirm tracks, see Algorithms.
When a track is confirmed, the radar tracker considers that track to represent a physical object. If detections are not added to the track within a specifiable number of updates, the track is deleted.
The tracker also estimates the state vector and state vector covariance matrix for each track using a Kalman filter. These state vectors are used to predict a track's location in each frame and determine the likelihood of each detection being assigned to each track.
To track objects using a radar tracker:
- Create the - radarTrackerobject and set its properties.
- Call the object with arguments, as if it were a function. 
To learn more about how System objects work, see What Are System Objects?
Creation
Description
tracker = radarTrackerradarTracker
          System object with default property values.
tracker = radarTracker(Name,Value)radarTracker('FilterInitializationFcn',@initcvukf,'MaxNumTracks',100)
          creates a radar tracker that uses a constant-velocity, unscented Kalman filter and
          maintains a maximum of 100 tracks. Enclose each property name in quotes.
Properties
Usage
Syntax
Description
confirmedTracks = tracker(detections,time)detections, and all tracks are updated to the specified
            time. Each element in the returned
            confirmedTracks corresponds to a single track.
[
          also returns confirmedTracks,tentativeTracks] = tracker(detections,time)tentativeTracks containing details about the tentative
          tracks.
[
          also returns confirmedTracks,tentativeTracks,allTracks] = tracker(detections,time)allTracks containing details about all the confirmed and
          tentative tracks. The tracks are returned in the order by which the tracker internally
          maintains them. You can use this output to help you calculate the cost matrix, an optional
          input argument.
[___] = tracker(
          specifies a cost matrix, returning any of the outputs from preceding syntaxes.detections,time,costMatrix)
To specify a cost matrix, set the HasCostMatrixInput property of
          the  tracker to true.
[___] = tracker(___,
          also specifies a list of expected detectable tracks given by
            detectableTrackIDs)detectableTrackIDs. This argument can be used with any of the
          previous input syntaxes.
To enable this syntax, set the HasDetectableTrackIDsInput
          property to true.
Input Arguments
Output Arguments
Object Functions
To use an object function, specify the
      System object as the first input argument. For
      example, to release system resources of a System object named obj, use
      this syntax:
release(obj)
Examples
Algorithms
When you pass detections into a radar tracker, the System object:
- Attempts to assign the input detections to existing tracks, based on the - AssignmentThresholdproperty of the multi-object tracker.
- Creates new tracks from unassigned detections. 
- Updates already assigned tracks and possibly confirms them, based on the - ConfirmationThresholdproperty of the tracker.
- Deletes tracks that have no assigned detections, based on the - DeletionThresholdproperty of the tracker.
Extended Capabilities
Version History
Introduced in R2021a