public ExtendedKalmanFilter(StateTransitionModel stateTransitionModel, ProcessNoiseModel processNoiseModel) { this.stateTransitionModel = stateTransitionModel; this.processNoiseModel = processNoiseModel; }
// Use this for initialization void Start() { // Initialize databases unprocessedMeasurements = new Dictionary<uint, Dictionary<uint, List<GaussianMeasurement>>>(); // platformID, sensorID, meas //unassociatedMeasurements = new Dictionary<uint, Dictionary<uint, List<GaussianMeasurement>>>(); // platformID, sensorID, meas unassociatedMeasurements = new List<GaussianMeasurement>(); trackDatabase = new List<GaussianTrack>(); protoTrackDatabase = new List<GaussianTrack>(); // Initialize track ID bookkeeping usedTrackIDs = new HashSet<ulong>(); availableTrackID = 0; // Initialize models stateTransitionModel = new ConstantVelocityModel(); processNoiseModel = new RandomAccelerationModel(2); // Initialize components associator = new ChiSquareAssociator(this, 16.2662f); initializer = new SingleTrackInitializer(this, 5); ekf = new ExtendedKalmanFilter(stateTransitionModel, processNoiseModel); }