Kalman Filter and the state noise vector? - Robotics Stack Exchange most recent 30 from robotics.stackexchange.com 2019-12-07T11:07:42Z https://robotics.stackexchange.com/feeds/question/2245 https://creativecommons.org/licenses/by-sa/4.0/rdf https://robotics.stackexchange.com/q/2245 6 Kalman Filter and the state noise vector? CroCo https://robotics.stackexchange.com/users/2155 2014-01-06T08:49:17Z 2015-07-23T22:29:26Z <p>I'm reading Probabilistic Robotics by Thrun. In the Kalman filter section, they state that $$x_{t} =A_{t}x_{t-1} + B_{t}u_{t} + \epsilon_{t}$$</p> <p>where $\epsilon_{t}$ is the state noise vector. And in $$z_{t} = C_{t}x_{t} + \delta_{t}$$ where $\delta_{t}$ is the measurement noise. Now, I want to simulate a system in Matlab. Everything to me is straightforward except the state noise vector $\epsilon_{t}$. Unfortunately, majority of authors don't care much about the technical details. My question is what is the state noise vector? and what are the sources of it? I need to know because I want my simulation to be rather sensible. About the measurement noise, it is evident and given in the specifications sheet that is the sensor has uncertainty ${\pm} e$.</p> https://robotics.stackexchange.com/questions/2245/-/2248#2248 4 Answer by Demetris for Kalman Filter and the state noise vector? Demetris https://robotics.stackexchange.com/users/1445 2014-01-06T17:58:44Z 2014-01-06T17:58:44Z <p>In my understanding, $\epsilon_{t}$ accounts for the uncertainties of the state model. Uncertainties come from real life imperfections, for example the wheels are not completely round, or the weight distribution is not even, or the motors don't perform exactly as predicted by the model.</p> <p>So when the robot executes a straight movement, it is expected to eventually reach a nearby position of that predicted by the model, a bit to the left or right.</p> https://robotics.stackexchange.com/questions/2245/-/2259#2259 1 Answer by DaemonMaker for Kalman Filter and the state noise vector? DaemonMaker https://robotics.stackexchange.com/users/177 2014-01-07T20:33:18Z 2014-01-07T20:33:18Z <p>The noise term $\epsilon_t$ is meant to capture uncertainty in the transition model, e.g. slippage due to an imperfect friction model for wheels. In other words, components of the model that were not incorporated either because they add to much computational complexity or simply cannot be modeled, such as disturbances that cannot be known in advance. It is usually assumed to be a zero mean Gaussian distributed random variable vector of the same size as the state variable $x$ that is independent between time steps. In other words, $x, \epsilon \in \mathbb{R}^n$ where $n$ is the dimension of the state-space, $\epsilon \sim \mathcal{N}(0,\Sigma)$, $\Sigma$ is the covariance of $\epsilon$, and $\epsilon_t$ and $\epsilon_{t+1}$ are identical and independently distributed. These assumptions permit closed form solutions to the Kalman filter which in term makes it relatively efficient to compute.</p> <p>The noise term $\delta_t$ is basically the same but represents uncertainty in the sensing model. Usually $\epsilon_t$ and $\delta_t$ are not known a priori and need to be learned via some system identification method or can be learned from data using something like Expectation-Maximization.</p>