public SingleTrackInitializer(FusionEngine fusionEngine, int minBatchMeasurements) { Debug.LogWarning("Warning: Track initialization not fully implemented yet, for now will try to put all unassociated measurements into a single track"); this.fusionEngine = fusionEngine; this.batchEstimator = new WLSQBatchEstimator(minBatchMeasurements, fusionEngine); }
// Internal storage //private List<GaussianTrack> protoTrackList; // Constructor public ChiSquareAssociator(FusionEngine fusionEngine, float chiSquareThreshold) { // Save pointer to the fusion engine this.fusionEngine = fusionEngine; this.chiSquareThreshold = chiSquareThreshold; // Initialize hungarian algorithm this.hungarianAlgorithm = new HungarianAlgorithm(); // Initialize internal storage //protoTrackList = new List<GaussianTrack>(); }
// Use this for initialization void Start() { // Save a pointer to the fusion engine fusionEngine = GetComponentInParent<FusionEngine>(); // Get a pointer to the target targets = GameObject.FindGameObjectsWithTag("Target"); // Noise distribution nd = new NormalDistribution(0, 1); noiseCovariance = new Matrix(3, 3); noiseCovariance[0, 0] = 1e-3; noiseCovariance[1, 1] = 1e-3; noiseCovariance[2, 2] = 1e-3; noiseCovCholT = noiseCovariance.CholeskyDecomposition.TriangularFactor.Clone(); noiseCovCholT.Transpose(); // Reset time since the last update timeSinceLastUpdateSec = 0.0f; }
// Constructor public WLSQBatchEstimator(int minBatchMeasurements, FusionEngine fusionEngine) { this.minBatchMeasurements = minBatchMeasurements; this.fusionEngine = fusionEngine; }