Timeline for Kalman filter with missing dimension on measurement input
Current License: CC BY-SA 4.0
14 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Jun 27, 2020 at 11:49 | vote | accept | ZincFur | ||
Jun 27, 2020 at 11:49 | vote | accept | ZincFur | ||
Jun 27, 2020 at 11:49 | |||||
Jun 27, 2020 at 11:49 | answer | added | ZincFur | timeline score: 0 | |
Jun 26, 2020 at 15:13 | comment | added | ZincFur | @edwinem Oh ok thats where I was wrong. Can you please update this as an answer so that I can accept it. | |
Jun 26, 2020 at 14:47 | comment | added | edwinem | You are confusing the jacobian matrix with the state transition equation. In the paper you referenced Eq 1 is what you use to update your state. It is also not even a matrix since it is non linear. The $A$ matrix you have is used to update the covariance.You can see that the prediction step consists of 2 parts in Eq 9 and 10. One is used to update your state via some function (Eq 9,1), and the other is the jacobian of that function used to update your uncertainty($A$ matrix, Eq 10) | |
Jun 26, 2020 at 14:00 | comment | added | ZincFur | @edwinem I think I found the issue here. Should I be first converting the odometry data to state space and use that as my $x_0$ before I multiply with the Jacobian? In that case the calculated initial $x_0$ for the sample input you had provided would be, 5, 0, 0. Is that right? | |
Jun 26, 2020 at 13:40 | comment | added | ZincFur | @edwinem Going by the math above in my question, $x_{k+1} = 1 * x_k + 0 * y_k + (\theta_k * -\Delta \sin(\theta_k + \omega/2))$. So for the values you suggested above, $x_{k+1} = 1 * 0 + 0 * 0 + (0 * -5 * \sin(0)) = 0$. Hence $x_{k+1}$ will always be zero no matter how much the $\Delta$ increases. Is there anything Im missing here? | |
Jun 26, 2020 at 13:33 | history | edited | ZincFur | CC BY-SA 4.0 |
added 12 characters in body
|
Jun 26, 2020 at 1:45 | comment | added | edwinem | But the odometry model will increment the X state. $x_{k+1}=x_k+\delta*cos(\theta_k+\omega/2)$ So lets say both encoders counted 5 steps so $\delta=5$ and $\omega=0$. So $x_{k+1}=0+5 * cos(0+0)=5$. And it will just continue on. The error will always increase as you can't measure $X$ directly but you still have an idea of it. | |
Jun 26, 2020 at 1:03 | comment | added | ZincFur | @edwinem If Im moving in a straight line, my measurement would always be y=0 and yaw=0. Assuming I start with [0,0,0] as my initial state, my X axis value would never increment as long as my measured y and yaw are 0, regardless of the linear displacement that my odometry model captures. | |
Jun 25, 2020 at 18:54 | comment | added | edwinem | Can you clarify what exactly you want to know? The problem you seem to be coming up against is something called Observability. Essentially your measurement model can not observe certain types of movement. This example of moving along a straight line is a pretty common example. There is nothing you can do to fix it, except for adding some other type of sensor that can measure it. | |
Jun 25, 2020 at 16:40 | history | edited | ZincFur | CC BY-SA 4.0 |
added 116 characters in body
|
Jun 25, 2020 at 0:03 | answer | added | SteveO | timeline score: 0 | |
Jun 24, 2020 at 18:44 | history | asked | ZincFur | CC BY-SA 4.0 |