Main Content

trackerSensorSpec

Sensor specification for multi-target multi-sensor specification-based tracker

Since R2024b

    Description

    spec = trackerSensorSpec(domain,category,subcategory) creates a sensor specification based on the input application. You can use tab-completion at each input argument to view the available applications. This hierarchy shows the list of pre-built sensor specifications available in the toolbox.

    example

    Examples

    collapse all

    Create a specification for a camera mounted on an ego vehicle.

    cameraSpec = trackerSensorSpec("automotive","camera","bounding-boxes")
    cameraSpec = 
      AutomotiveCameraBoxes with properties:
    
                   ReferenceFrame: 'ego'                 
               MaxNumMeasurements: 64                    
                 MountingLocation: [0 0 0]         m     
                   MountingAngles: [0 1 0]         deg   
                  EgoOriginHeight: 0.3             m     
                       Intrinsics: [3⨯3 double]          
                        ImageSize: [480 640]       pixels
                         MaxRange: 100             m     
                   CenterAccuracy: 10              pixels
                   HeightAccuracy: 10              pixels
                    WidthAccuracy: 10              pixels
             DetectionProbability: 0.9                   
        NumFalsePositivesPerImage: 0.01                  
            NumNewTargetsPerImage: 0.01                  
    
    

    Configure the camera specification based on your application. In this example, the camera of interest is mounted at [3.7920 0 1.1] meters with respect to the ego vehicle origin and is pointing downward with a pitch angle of 1 degree. The resolution of the camera is 640 pixels in width and 480 pixels in height. Its intrinsics matrix is [800 0 320; 0 600 240; 0 0 1] and the maximum range is 80 meters. The height of the ego vehicle frame origin with respect to ground is 0.4 meters.

    cameraSpec.MountingLocation = [3.7920 0 1.1];
    cameraSpec.MountingAngles = [0 1 0];
    cameraSpec.ImageSize = [480 640];
    cameraSpec.Intrinsics = [800         0        320
                               0       600        240
                               0         0         1];
    cameraSpec.MaxRange = 80;
    cameraSpec.EgoOriginHeight = 0.4;

    You can use the camera specification as an input to the multiSensorTargetTracker function along with your target specifications to create a JIPDAtracker.

    carSpec = trackerTargetSpec("automotive","car","highway-driving");
    tracker = multiSensorTargetTracker(carSpec,cameraSpec,"jipda")
    tracker = 
      fusion.tracker.JIPDATracker with properties:
    
                    TargetSpecifications: {[1x1 HighwayCar]}
                    SensorSpecifications: {[1x1 AutomotiveCameraBoxes]}
                  MaxMahalanobisDistance: 5
        ConfirmationExistenceProbability: 0.9000
            DeletionExistenceProbability: 0.1000
    
    

    Use the dataFormat function to determine the format of inputs required by the tracker.

    The camera requires bounding boxes in the image space.

    cameraData = dataFormat(cameraSpec)
    cameraData = struct with fields:
               Time: 0
        BoundingBox: [4x64 double]
    
    

    Input Arguments

    collapse all

    Sensor domain, specified as "aerospace" or "automotive".

    Sensor category, specified as one of these:

    • "radar" or "infrared" if the domain is "aerospace"

    • "radar", "camera" or "lidar" if the domain is "automotive"

    Sensor subcategory, specified as one of these:

    • "monostatic" or "direction-finder" if the domain is "aerospace" and category is "radar"

    • "angle-only" if the domain is "aerospace" and category is "infrared"

    • "clustered-points" if the domain is "automotive" and category is "radar"

    • "bounding-boxes" if the domain is "automotive" and category is "camera" or "lidar"

    Output Arguments

    collapse all

    Sensor specification, returned as one of the objects in this table based on the input arguments.

    Input ArgumentsTarget Specification Object
    "aerospace","radar","monostatic"AerospaceMonostaticRadar
    "aerospace","radar","direction-finder"AerospaceESMRadar
    "aerospace","infrared","angle-only"AerospaceAngleOnlyIR
    "automotive","radar","clustered-points"AutomotiveRadarClusteredPoints
    "automotive","camera","bounding-boxes"AutomotiveCameraBoxes
    "automotive","lidar","bounding-boxes"AutomotiveLidarBoxes

    You can use this sensor specification object to define a tracker using the multiSensorTargetTracker function. You can use the dataFormat function on the spec object to determine the data format required by the tracker.

    Version History

    Introduced in R2024b