Hot answers tagged

6

You can use the Jacobians of the inverse observation model to initialize the new row/column of the covariance matrix. Suppose your observation model is $g(\mathbf{x})$, which maps your state $\mathbf{x}$ to a predicted observation $\hat{\mathbf{z}}$. The inverse observation model $g^{-1}(\mathbf{x}, \tilde{\mathbf{z}})$ maps an observation $\tilde{\mathbf{...


6

Here are a few possible points of consideration. Certainly the UKF has many counterpoints where it has an advantage too. The most obvious advantage is computation power. Don't forget that traditionally, these filters are implemented on embedded systems with very limited computational resources. Also, while I don't have much experience with UKFs myself, one ...


6

I realize this question already has an accepted answer, but I'd like to provide some additional input. The question of sensor fusion is a good one, but, depending on the application, you don't typically want to "convert" (i.e., integrate twice) the IMU to obtain xyz position. Frankly, in my experience, the best way to approach fusing GPS and IMU data for a ...


5

Yes, such a method can give you a reasonable estimates of noise. Note that it is susceptible to systematic error. For instance if you are flying a quadrotor in the presence of a fan. This would show up in your findings which is generally undesirable. With that said you could improve your estimates by using the forward-backward algorithm. This algorithm is ...


5

The value of $\alpha$ is just some threshold Mahalanobis distance. Let's say you have four entries in your map. You take a measurement, then you calculate four predicted measurements (one for each map entry). You can calculate the Mahalanobis distance between your measurement and each of your predictions. You now have four Mahalanobis distances. The ...


5

If the drone is not falling (holding height in the sky), and it's not accelerating in any particular direction, then the accelerometer should be reading: $$ a = \left[ \begin{array}{} g_x \\ g_y \\ g_z \end{array}\right] $$ where $g_N$ is the component of gravity along each axis. If the drone is upright and stationary, and the accelerometer is oriented ...


4

I'm assuming this is with respect to a Kalman filter? Mathematically, yes it can be zero. The effect of this is that model is assumed to be perfect and estimation uncertainty is due 100% to the uncertainty in the initial state. In the extreme case, if you assume 0 initial uncertainty you will never have any model uncertainty and all your measurements will ...


4

$\mu_{t-1}$ is the state estimate from the last time step, $x_{t-1}$ is the actual state (a random variable) in the last time step. Basically it goes like this: in the traditional Kalman filter, you have linear models that tells us how states evolve and measurements are made. In the EKF you have non-linear models but want to use the Kalman filter equations,...


4

A very informative way to visualize the effect of measurements (for me) is to plot the state of the robot (mean, with covariance ellipse) before and after each measurement. Then, take the individual components of the measurement (bearing, range for AR markers), and apply them separately to get a feel for it. To do this: I use one or more of these functions ...


4

In general, I try to obey the following two rules when selecting states: Only use the states necessary for control, and Choose states to be measurable properties, whenever possible. For example, on my car's dashboard I could include: suspension displacement, brake pad wear, tire wear, etc. - these are all measurable properties that are critical to ...


3

What you are referring to is plotting the estimate with the uncertainty bounds - in particular the $3\sigma$ ($\pm3$ standard deviations) bounds which corresponds to 99.7% probability that the true state is within this region. The uncertainty bounds can be extracted from the state covariance matrix. I think what you are plotting is the residuals of some ...


3

After the propagation step, we need to find the parameters of the Gaussian which describe our new estimate. These are, the mean $\mu$, and the co-variance $\Sigma$. You asked about the mean specifically, so here we go. Note that the definition of the mean of the propagated state is the expectation of the propagated state. Taking the expectation of the ...


3

Yes this is correct, given two assumptions: Each measurement is independent (i.e., the (Gaussian) distribution of observation $z_i$ is uncorrelated with $z_j$). Usually this is a fair assumption (e.g., measuring the position of landmarks with a laser scanner). Data association is known. In other words, you "just knew" that your first observation was in fact ...


3

Using EKF for localisation based on laser scans and a known map is a bad idea and will not work because one of EKF's main assumptions is not valid: The measurement model is not differentiable. I would suggest looking into Monte Carlo Localization (Particle Filters). This will not only solve the problem with your measurement model, but also allow global ...


3

Part 1. Use one or the other. Often odometery is used instead of kinematics or dynamics for prediction, at least in my work. Part 2. This is handled by the construction of the measurement equation jacobian. Every time a measurement comes in, construct a Jacobian for the whole state. You'll notice that some of the state elements are independent of the ...


3

A few things: I took a look at your data set. Did you make sure you used the time column correctly? The first entry is "1429481388546050050" without the decimal. To make it in seconds, it should be 1429481388.546050050. Your motion model is fine (I've used it before, for people who want to see it derived, it is very similar to this one). However, to avoid ...


3

Accelerometers measure kinematic acceleration with the addition of gravity. So for an accel to measure 0, the vehicle would need to be accelerating downward at $g$. To get inertial acceleration out of an accel measurement one simply needs to subtract the acceleration measured by the IMU when the IMU is static. So, assuming the coordinate system of the ...


3

I encountered the same puzzle. I had a clue at the beginning that the gravity information is contained within accelerometer measurements due to aerodynamic drag. Then I found a paper The True Role of Accelerometer Feedback in Quadrotor Control, which had proved the idea. My simulation also revealed the process of stabilization. As long as a quadcopter ...


3

From the Wikipedia entry: In time series analysis (or forecasting) — as conducted in statistics, signal processing, and many other fields — the innovation is the difference between the observed value of a variable at time t and the optimal forecast of that value based on information available prior to time t. If the forecasting method is working correctly,...


2

The underlying assumption seems to be that if all observed features you measure at the same time are independent, you can apply the EKF correction step several times: Once for each observed feature. (I am currently not completely sure whether this is valid.) This is what the above algorithm does. It is an optimization of the naive solution, which would work ...


2

It is certainly your second guess, i.e.: $$ F_{x,j} = \begin{bmatrix} 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 & 0\\ \end{bmatrix} $$ If you pay attention, the columns that are repeated (with ...) ...


2

Getting a value larger than 1 in a pdf is normal. Remember that the pdf does not actually evaluate to a probability itself, but to a density. Only the integral over the function has to evaluate to 1. For a continuous variable the probability of getting exactly one particular value approaches zero. In this case you can only give the probability that the ...


2

Unless I misunderstood what you're trying to show on this plot, you want to essentially plot your estimate (or, in this case, the estimation error) with its 3 standard deviation bounds. What you have shown appears to be the bounds computed simply as 0 +/- 3sigma, but what you really want to plot is error +/- 3*sigma. That is to say, the uncertainty of the ...


2

Suppose you have three measurements (1, 2, and 3) and four landmarks (a, b, c, d). The joint compatibility is a measure of how well a subset of the measurements associates with a subset of the landmarks. For example, what is the joint compatibility of (1b, 2d, 3c)? First we construct the implicit measurement functions $f_{ij_i}$ for each correspondence ($...


2

I believe this should tick all your boxes: http://wiki.ros.org/robot_localization It's a ROS node for 6D pose estimation that has the following features: Fusion of an arbitrary number of sensors. The nodes do not restrict the number of input sources. If, for example, your robot has multiple IMUs or multiple sources of odometry information, the state ...


2

The answer Specifically, the arguments to this jacobian are the state of the robot. The reason It is the jacobian of the measurement function with respect to the landmark state. If you knew the state of the robot and landmark, what function would you use to predict what the measurement would be? If you have a range sensor, it would be the distance ...


2

There are many ways to measure the statistical difference between two distributions. For your case, you might consider the Bhattacharyya distance. From that page, the Bhattacharyya distance $D_B$ is $$ D_B={1\over 8}(\boldsymbol\mu_1-\boldsymbol\mu_2)^T \boldsymbol\Sigma^{-1}(\boldsymbol\mu_1-\boldsymbol\mu_2)+{1\over 2}\ln \,\left({\det \boldsymbol\Sigma \...


2

I've performed 2D localization with just odometry and a gyroscope before, and to be honest, depending on (i) how good your encoders are; (ii) what type of environment you're in (is there a chance your wheels will slip a lot); (iii) how good your IMU is, there's a good chance that you don't lose much by just using odometry for translation, and only ...


2

Thanks for the update. Now it looks like $x_c$ and $y_c$ denote the origin/starting position, and $\theta$ is positive, measured CCW from the positive x-axis. Now I am even more concerned about the equations you're using. Consider just $x$. You have: $$ x_k = x_{k-1} - \frac{v}{\omega} \sin{(\theta)} + \frac{v}{\omega} \sin{(\theta + \omega \Delta t)} $$ ...


2

EKFs are appropriate when you have nonlinear equations describing the system, either in the system dynamics or the measurement dynamics. In this case, I think a plain KF should be sufficient assuming the accel measurements are just measuring gravity and veritcal acceleration. If you expect your sensor to function well in a non level orientation where you ...


Only top voted, non community-wiki answers of a minimum length are eligible