Robot Motion Estimation Series (external)--from Bayesian filter to Kalman (UP) _ Robot base Technology

Source: Internet
Author: User
Robot Motion Estimation Series (external)--from Bayesian filter to Kalman (upper)

The importance of filtering theory in robot state estimation is self-evident, so it is necessary to understand the theory of filtering. The purpose of this article is to concatenate several popular filtering methods from the angle of Bayesian filter (BF): Kalman (KF), extended Kalman (EKF), Unscented Kalman (UKF), particle filter (PF), etc.

The main references of this article are:
"Bayesian Filter and Smoothing", Author: Shimo Sages, translator: Cheng Jianhua, etc.
Original English: "Bayesian Filtering and smoothing"

For simplicity, the English abbreviations are used to represent various filters.
Bayesian Filter: Bayes FILTER:BF
Kalman Filter: Kalman FILTER:KF
Extended Kalman: Extend Kalman FILTER:EKF
No trace Kalman: Unscent Kalman FILTER:UKF 1 Why is the BF.

First of all, what is a bf. BF is a means to estimate the state of a robot by using Bayes formula (probability theory) according to the observation data obtained by the robot sensor. The key point here is that the BF assumes that the current state of the robot obeys a certain probability distribution, the robot state estimation problem is modeled as a probability distribution estimation problem, and the mathematical tool of probability theory is used to solve the robot's state estimation.

So why to use the bf it. This is because the motion model of the robot and the observation model of the sensor are often disturbed by noise, and the noise is random. This model can help us to estimate the noise distribution and statistical characteristics, so as to remove the noise and get real observation and real state.

So, how does BF specifically model the problem of robot State estimation?

For example, I made a puppy robot that had a GPS on it to return to the location of the puppy robot at all times. In order to control it, I also installed a remote control receiver (according to the location of the puppy before the remote control, but also to calculate the location of the puppy). However, I encountered two questions. One is, I spend too little money, buy GPS is not accurate, originally puppy should be in (5,3) position, but the result of measurement is (5.1,2.8). Second, the puppy robot received instructions to advance 1 meters, but the actual walk may be 0.98 meters. There are noise disturbances in the observation process and motion of the puppy robot, which makes me want to know where my puppy has become very difficult and need to use filtering to estimate the location of the puppy.

Based on this example, because of the noise pollution, the location and GPS observations of puppy robots can be modeled as probability distributions to characterize their uncertainties, namely:
Xk∼p (xk|x1:k−1,y1:k−1)
Yk∼p (yk|x1:k,y1:k−1)
The X,y, respectively, represents the location of the puppy robot and the location of the puppy robot that GPS measures. The subscript represents the time. These two equations can be called the dynamic model of the puppy robot system (usually described by the state equation, that is, how to change from one state to another) and the observational model (usually described by the observation equation, that is, what kind of observations can be obtained in the current state), The meaning of the expression is: K-time Puppy position obeys 1 to k-1 time puppy position as well as 1 to k-1 time GPS survey value is a condition probability distribution; In addition, K-time GPS measurements are subject to a probability distribution of 1 to K-time puppy position and 1 to k-1 time GPS measurements.

Of course, the above modeling method is more generalized, and in some cases (such as this example), the state of the K-moment and the observation may not be related to the observation of a long time ago, and this model can be simplified to some extent.

Simplifying one: The Markov nature of State quantities
Assume that the position of the puppy at K-time is only related to the position of the puppy at the k-1 moment, and thus:
Xk∼p (xk|xk−1)
Simplified two: The conditional independence of the observation quantity
Suppose the K-time position of the GPS is only related to the position of the K-time puppy, from which:
Yk∼p (YK|XK)
The two simplified meanings are very intuitive, and the general problem of robot state estimation can be simplified in this way.

Of course, robot state estimation is not necessarily the only way to solve the probability distribution. The least squares (minimum of observation and state error) are also commonly used, and the Kalman filter is deduced from the least square method in the first. 2 basic framework of the BF

In order to estimate the probability distribution of robot state, the Bayes formula can be used to compute the problem of the robot's state estimation. This part first introduces Bayes formula, and then introduces the method of estimating state probability distribution by Bayes formula. 2.1 Bayes Formula

This formula is followed by all the previous topics, listed below, do not explain, where a, B, C is a different random variable.
Bayes formula:
P (a|b) =p (B|a) p (a) p (b)
In addition, the formula extended by this formula also has:
P (a,b) =p (a|b) p (b) =p (B|a) p (a)
P (a|b) =p (B|a) p (a) ∫p (B|a) p (a) da
P (a|b) p (b|c) =p (a,b|c)
The above formula is very important and will be used in the following sections. If the reader does not understand, it can be accepted first and then read the information.

2.2 BF Basic equation

First, we need to be clear about what the BF is aiming for.
The probability distribution of robot state is estimated. In the case of the puppy, the probability distribution P (xk|y1:k) of the location of K-time puppies is estimated by the information on hand. The information we have on hand includes the position of the puppy at 1 to k-1 time x1:k−1 and the GPS measurement y1:k at 1 to K time. 2.2.1 Batch processing method

So the first thing we think about is:
P (xk|y1:k) =p (Y1:K|XK) p (XK) p (y1:k)
This method is called the batch processing Bayesian method. But it is a heavy burden for the computer to recalculate the probability distribution every time it takes all the measured values. Therefore, an improved Bayesian filtering method based on recursion is proposed.

2.2.2 Recursive method

In fact, at K-time, we have a k-1-time estimate of the position of the puppy (xk−1|y1:k−1), in addition to the GPS measurement y1:k. (Note that when k=1, the probability distribution P (x0) of the position of the puppy is more special than the observation, because the k-1=0 time has no observation value. This distribution is given by humans as a priori distribution of the position of the puppy. )

Therefore, we can use the recursive method to get the position distribution of K moment according to the position distribution of the puppy in k-1 time and the GPS observation of k time, which is the core of BF. The calculation of the location of K-time puppies is estimated to consist of two steps, as follows:

1-step: Predicting
This step is to use P (xk−1|y1:k−1) to get P (xk|y1:k−1), note that there is no use of K-time observations.
P (xk|y1:k−1) =∫p (xk|xk−1) p (xk−1|y1:k−1) dxk−1
where P (xk|xk−1) represents the transition probability of the state from the k-1 moment to the k moment, the simplified puppy dynamic model described above, where the uncertainty is introduced by the noise of the puppy's motion.

This step is known as a predictive step, which can be understood to predict the position of a K-time robot based on the kinematics model (usually the state equation) of the robot, given the position of the robot at the k-1 time. P (xk−1|y1:k−1) is used here as a priori distribution, and P (xk|y1:k−1) is predicted by the kinematic model of the robot.

2-step: Update
This step is to update the predictive distribution P (xk|y1:k−1) with the observed value YK to obtain the posterior distribution P (xk|y1:k) of the K-time robot position.
P (xk|y1:k) =p (YK|XK) p (xk|y1:k−1) ∫p (YK|XK) p (xk|y1:k−1) dxk
In which, P (YK|XK) represents the probability of observing the YK based on the K-time state XK, the GPS observation model of the puppy robot, where the uncertainties are introduced by the noise from the GPS observation process.

This step is called update because this step uses the K-time observations to update the original predictive distribution P (xk|y1:k−1) to the posterior distribution P (xk|y1:k). This posterior distribution will be used as a priori distribution of the position of the puppy robot to estimate the k+1 time, thus starting the recursive solution of the next round.

Summarize
The entire process of the BF can be described as, firstly, a priori distribution P (x0) of initial state is selected to predict the distribution of k=1, then the predicted distributions are updated by k=1 observation, then the posterior distribution of k=1 is then used as a priori distribution to predict the distribution of k=2. And so on ...

Although the BF process looks very simple, but the actual application is not so easy. First of all, the initial priori distribution is not good to guess, the dynamic model and the probability distribution of the observation model is not easy to determine, only to assume its form, common such as Gaussian distribution. In addition, the integral of the formula is also a very headache problem, only the second state model, the observation model is very special circumstances to find a closed type solution. Therefore, it is necessary to make more assumptions for the actual application of BF, so that the problem can be simplified. and different hypotheses, which leads to different filters. Next, I will further introduce KF, EKF, UKF is in the framework of the BF was deduced ... Please go away now and don't come back.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.