Two new hyperparameters, kGaussianLowerBound and kGaussianUpperBound, currently both defined as 1.5 times the standard deviation of the sensor.
These are defined as deltas because the actual interval depends on each sensor reading.
Changes
The Observation Likelihood Model now follows a piecewise PDF defined in this slide.
The Observation Likelihood Model now first computes linear-likelihoods since we need to normalize probability values with the integral of the PDF. The weight of each particle still stores the log-likelihood.
I changed the error in translation from translational movement to 1.0 temporarily. I think having a good amount of spread allows the update model to correct itself when the location estimate is really off.
I changed gamma temporarily to 0.6. This needs to be tuned.
Notes
Hyperparameters we need to tune:
ParticleFilter::Predict::k_1
ParticleFilter::Predict::k_2
ParticleFilter::Predict::k_3
ParticleFilter::Predict::k_4
ParticleFilter::Update::kGaussianLowerBound
ParticleFilter::Update::kGaussianUpperBound
ParticleFilter::Update::Gamma (not currently bound to a variable)
General Particle Characteristics
These are only conjectures based on looking at the simulator and not hard-set rules.
Having a large particle spread is not necessarily a bad thing – it increases the probability that the particle filter will correct a location estimate that is very wrong.
When the location estimate is very close to the true location of the car, the top five log-likelihoods should all be pretty close to 0.
When the location estimate is very wrong, one (or a few) of the top five log-likelihoods should be much greater than the rest. This assumes that there exists a particle that is much more correct than the location estimate.
Additions
kGaussianLowerBound
andkGaussianUpperBound
, currently both defined as 1.5 times the standard deviation of the sensor.Changes
weight
of each particle still stores the log-likelihood.Notes
Hyperparameters we need to tune:
ParticleFilter::Predict::k_1
ParticleFilter::Predict::k_2
ParticleFilter::Predict::k_3
ParticleFilter::Predict::k_4
ParticleFilter::Update::kGaussianLowerBound
ParticleFilter::Update::kGaussianUpperBound
ParticleFilter::Update::Gamma
(not currently bound to a variable)General Particle Characteristics
These are only conjectures based on looking at the simulator and not hard-set rules.