# Tag Info

8

It is both acceptable and standard to use camera observations with a Kalman filter if you are talking about landmark positions in pixel or real-world space. Pixel space observations are usually randomly Caushy distributed but it turns out the Gaussian Kalman filter works pretty well in this case. The method you're describing using the Mahalonobis distance ...

5

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. So when the robot executes a straight movement, it is expected to ...

5

Here is one toy case where off-diagonal elements are non-zero. Consider a state vector that includes the position of both the left and right wheels instead of just a single position for the robot. Now if the left wheel has a position of 100m then you know the right wheel will also have a position of roughly 100m (depending on the axle length). As the left ...

4

First, let's look at if your findings seem reasonable given the datasheet specifications for the sensor. For this, I'll assume that Wikipedia is generally correct and that the strength of Earth's magnetic field is on the stronger end of the range given (0.25 to 0.60 gauss), so I'll use 0.6 gauss. Then I'll also assume that +Y is oriented to magnetic North ...

4

Mags are used in almost all UAVs. It will be useful and it will be a unique source of information. Adding a some shielding between the mag and your computers and power lines will greatly reduced the noise. Noise can be further reduced by twisting all of the wires that carry significant current (wires to motors and ESCs). Be aware that the measurement will ...

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

To get a feeling for the covariance matrix - without getting into the math details here - its best to start with a 2x2 matrix. Then remember that the covariance matrix is an extension of the concept of variance into the multivariate case. In the 1D case, variance is a statistic for a single random variable. If your random variable has a Gaussian distribution ...

4

Both state space representations are equivalent. For example the eigenvalues of the two closed-loop system matrices should be the same. However when implementing LQG you only have access to the outputs and the variables you introduced yourself, so either $\hat{x}$ or $\tilde{x}$. But you are still limited by the given dynamics of the states of the system you ...

3

This is really a lot to look at, but the most glaring issue I noticed off the bat is your definition of the control signal $u(t)$. What is the input to your controller? What should be the input to your controller? What is the output of the controller? State feedback controllers (and LQR controllers) attempt to drive the system states to zero. The control ...

3

This answer is incorrect (TaW) It is based on IMU noise that's about 1000 times faster than it really is, based on a typo in the discussion following the original question. I'm not a big fan of the Ziegler-Nichols method. It's an ad-hoc method that is not only not guaranteed to stabilize all plants, it comes with a guarantee that there will be some plants ...

3

There are several traps you might have stepped into, but it is difficult to tell without more information. The first issues that came to my mind: The equations you wrote down are for sampling from the velocity motion model. But then you write about the Kalman Gain approaching singularity, which only makes sense of you apply a Gaussian filter (EKF or UKF). ...

3

The text is saying that system perturbations and measurement noise look identical to the controller. That is, a controller will react in the same fashion to both system perturbations and noise in the measurement. By increasing perturbation rejection, you also make the system more susceptible to noise from your sensors. The sensitivity function is the ...

2

Assuming the angular velocity is constant (i.e. $\dot{\theta}_{k+1} = \dot{\theta}_{k}$) It seems to me the state vector should look like this  \underbrace{ \begin{bmatrix} \theta_{k+1} \\ \dot{\theta}_{k+1} \end{bmatrix}}_{\textbf{x}_{k+1}} = \underbrace{ \begin{bmatrix} 1 & \Delta t \\ 0 & 1 \end{bmatrix} }_{F} \begin{bmatrix} \theta_{k} \\ \...

2

Here are my two suggestions for dealing with this problem: Use a median filter, which replaces each value of your signal with the median of the values in a small window around each one. Here is some pseudo-code, where x is your original signal, y is the filtered signal, N is the number of points in your signal, and W is the number of points in the median ...

2

You can't just take the ground truth states and get wheel encoder positions, or vice-versa, because the robot is nonholonomic. Nonholonomic is a fancy word that means "path dependent," essentially, and generally happens in robotics when you have fewer axes of control than degrees of freedom. Consider a typical car (that uses Ackermann steering). In the car,...

2

I think you need to step back a bit and think beyond the math. An (E)KF is used to estimate the true value of a signal in the presence of noise; it's only because of this noise that we even need the algorithm. When you set R to zero you are saying "I have a perfect measurement". In this case there is no need for an estimate. In practice, I think you have ...

1

A small speaker like this one should be able to play tunes as you have mentioned. You can use an arduino or a raspberry-pi to stream audio over as shown in this link.

1

As mentioned in the previous answer, many small, low-cost underwater (and aerial) vehicles use a magnetic compass. You need a good procedure for both hard-iron and soft-iron calibration of your magnetometer. Constantly having to calibrate them sucks, but they're way less expensive than a FOG. With good calibration, you should be able to achieve adequate ...

1

The noise term will always be zero mean. If you believe the odometry equations will not accurately capture wheel slip and you believe the filter will not adequately track your state then the solution is more accurate equations used in the prediction step. However, if you believe the process noise if not a constant, you can construct a process noise as a ...

1

I don't like the format you're using, with $\tilde{x}$, because it masks the fact that it is actually $x-\hat{x}$. In generally, you don't actually care about the state error; what you really should care about are the states themselves. The state error drives your state estimates to be equal to the actual states (eventually), but beyond that they shouldn't ...

1

I'm not sure if this answers the question but I think there is a mismatch between the block diagram and the state equations. In the first block of the state transition matrix (top-left $A-BL$) you use the state $x$ to control your system, but that's what you're estimating with the Kalman filter, so you don't know $x$. My guess, that part should be $\dot{x}=... 1 The problem is estimating angles in regions of instability. Let us look at equations used for estimation of pitch and roll angles. For aerospace rotation sequence e.g.$xyz$:$\tan(roll)=\frac{G_{y}}{G_{z}}\\ \tan(pitch)=\frac{-G_{x}}{\sqrt{G_{y}^2+G_{z}^2}}$Now imagine that you rotated IMU around$y$axis by 90 degrees so that$G_{x}=-g, G_{y}=0, G_{z}=...

1

Take a bunch of measurements of your system while states are static and compute the noise matrix yourself. As long as recording measurements is relatively straightforward this should be a painless process. It will also verify that your measurements are as accurate as you believe.

1

You may have covariance collapse. You may have such small covariance in your target estimate that the measurements are having almost no effect on the target's estimate. Try artificially inflating it. It would make sense given that it "freezes" when your covariance in your target shrinks. But still, I'm hesitant to say this is the issue, since the red lines ...

1

Something is wrong with your code. Measurements with Gaussian noise should be within one standard deviation of truth 68% of the time. Somehow, your measurements seem to be correlated with the accuracy of your estimate. Go through the code or post some here.

1

You don't describe your setup in detail, and some of the units are missing, but my guess is that the $\sigma_\phi$ is mainly responsible for the initial error you are seeing. $\sin( 0.5 ) \times 30 \approx 0.261$

1

First off, you should probably replace all electrical connections between the motor driver and other circuitry with optocouplers (I hope you aren't using the analog interface). Then, make sure that the power supplies are completely isolated. You should probably keep the grounds tied together with a 500k or one meg resistor the keep them form varying hugely. ...

1

Plan A: get IMU chip and read the raw register data. Read data is easy. Using data is hard. Plan B: use FreeIMU library that does 'data fusion' that combine raw data from multiple sensors and present user with a much reliable, stable and easy-to-use data in a roll, pitch yaw format. FreeIMU http://www.varesano.net/projects/hardware/FreeIMU (about 60% ...

1

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 ...

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