I'm trying to implement an indirect Kalman for pose estimation of a wheeled robot. I found two papers that describe this approach.
For this post I will reference the second paper, since it is much more detailed.
My understanding of this approach
In order to estimate the vehicle pose (xy-coords and orientation), two sources of information are fused together. Both odometry and accelerometer combined with gyroscope provide the relative position and rotation information (xy-velocities and rotational speed) and that can be integrated to get the pose.
Since both methods are error-prone their outputs are compared and used to estimate those errors using a Kalman filter [red arrow]. This estimation is fed back to the sensor models that were compared as input [light blue arrows].
In the second paper I mentioned almost all components needed for implementation are described in detail:
The final measurement and observation model equations used for data fusion in state space model form are as follows:
ΔX(t + 1) = A(t) ∙ ΔX(t) + w(t) ΔY(t) = C(t, VL, VR, ωe, Ax, Ay, Ω) ∙ ΔX(t) + v(t)
Where
A(t) = [A1 A2 A3] C(t, VL, VR, ωe, Ax, Ay, Ω) = [C1 C2 C3] Ax(t), Ay(t) = Accelerometer Readings Ω(t) = Gyroscope Readings VL(t), VR(t) = Linear Velocity from Encoders ωe(t) = Angular Velocity from Encoders ΔT = Samping Time
Using naming conventions from above I would asume the following Filter structure:
C(t) = C(t, VL, VR, ωe, Ax, Ay, Ω)
My problem is that all papers and descriptions I found so far didn't really explain how ΔY is used. I know how Kalman filters work in general but I have no idea how ΔY can update ΔX (I've marked this part with questionmarks in the picture above). Do you know how the Measurement Update could work here?