A data structure encapsulating the sensor model for Bayesian TTI estimation. More...
#include "Robots/LoBot/thread/LoMutex.H"
#include "Robots/LoBot/misc/singleton.hh"
#include "Robots/LoBot/util/range.hh"
#include "Robots/LoBot/util/triple.hh"
#include <string>
#include <deque>
#include <vector>
Go to the source code of this file.
Classes | |
class | lobot::SensorModel |
Data structure encapsulating sensor model required for Bayesian time-to-impact state estimation. More... | |
class | lobot::SensorModel::Params |
A data structure encapsulating the sensor model for Bayesian TTI estimation.
This file defines a class that encapsulates the sensor model required to make Bayesian time-to-impact estimation work. This sensor model is basically a table of probabilities that describe the causal data, i.e., P(lgmd|tti), or, the likelihoods of seeing different LGMD values given different TTI values.
The columns of the table discretize the LGMD "space" and its rows discretize the TTI "space." The Bayes filter works by using the column vector of the sensor model corresponding to the latest LGMD value as the P(lgmd|tti) term in the update equation.
The sensor model's probabilities are generated by applying the Gabbiani LGMD model on each discretized TTI value to get the corresponding LGMD spike rate. These [TTI, LGMD] pairs are then used to find the correct bin in the table and increment it. To ensure that we don't have zeros in any bin, the remaining bins in the column corresponding to the generated LGMD value are also incremented according to a Gaussian weighting formula.
Definition in file LoSensorModel.H.