0.2.3.3.2 Group Tracker
The tracking algorithm is implemented as a library within a DPU. The DPM initalizes and configures the tracker DPU with configuration parameters that describe sensor, scenery, and behavior of radar targets. The algorithm is called once per frame from the application task context. It is possible to create multiple instances of group tracker. Figure 10 shows the steps algorithm goes during each frame call. The algorithm inputs measurement data in polar coordinates (range, azimuth, elevation, Doppler, SNR), and tracks objects in Cartesian space. Therefore, use the extended Kalman filter (EKF) process.
Point cloud input is first tagged based on scene boundaries. Some points may be tagged as outside the boundaries, and are ignored in association and allocation processes.
Each iteration of the tracker runs through the following steps:
- If a track exists, use a Kalman filter to predict the tracking group centroid for time n based on state and process covariance matrices, estimated at time n-1. Compute a-priori state and error covariance estimations for each trackable object. At this step, compute measurement vector estimations.
- If a track exists, the association function allows each tracking unit to indicate whether each measurement point is close enough (gating), and if it is, to provide the bidding value (scoring). The point is assigned to a highest bidder.
- Any points not assigned to a track go through an allocate function. During the allocation process, points are first joined into a sets based on their proximity in 3D Cartesian + Doppler coordinates. Each set becomes a candidate for an allocation decision, and must pass a threshold for cumulative SNR and threshold for minimum number of points in the setto become a new track. When passed, the new tracking unit is allocated.
- During the update step, tracks are updated based on the set of associated points. Compute the innovation, Kalman gain, and a-posteriori state vector and error covariance. In addition to classic EKF, the error covariance calculation includes group dispersion in a measurement noise covariance matrix.
- The report function queries each tracking unit and produces the algorithm output.