Stack Exchange network consists of 183 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.
Thanks. I got it. Finally. Plus, I found some strange Gazebo behavior that might contribute to my inability to perform fusion. If my robot is programmed to run in a circle, and according to independent (from Gazebo) test, it IS a circle, then: Gazebo trajectory is half circle, while RViz trajectory as an expected full circle. Whatever it means, i will have to fix it before I continue with filter.
I think I understand. Not sure :) Could you then explain, in simple terms: how to I compensate gyro drift with accelerometer data? I understand how it is done in Complimentary filter, but not in Kalman.
> This is the verbose parameter-file of the (E)KF. There is a misunderstanding. I am writing my own filter. I know how to use ROS2 Nav2, but I want to replicate the functionality myself, as I am learning the thing.
As for second part of my question, I tried to combine gyro, accel and GPS. Kalman just draws a weighted average between them, where weights are sigmas. Which is logical, except, if drift is present, a drifting sensor should be trusted less. Say, in Complimentary filter this "trust" can be 1% - but how can I "explain" it to Kalman filter?
So I don't understand why this was done and what should I do if I add real input (like teleop command): I don't want to "use boolean" to not use teleop, as it is valuable data, and I don't know if how can I use both sensor and teleop command as "before predict" input (I probably can not) and I don't know if it is ok to "move" that sensor to "before update" without loosing something, as I don't understand why one of them was used before predict on the first place!
Thank you. But my question was about a slightly different thing: I treated Kalman filter's input exactly as you described, and then I found an article (few of them, one link is above) that passed one sensor as an input (before predict) and another one before update.