ROS Answers: Open Source Q&A Forum - RSS feedhttps://answers.ros.org/questions/Open source question and answer forum written in Python and DjangoenROS Answers is licensed under Creative Commons Attribution 3.0Thu, 01 Feb 2018 10:23:11 -0600Kinematic Model used in robot localization packagehttps://answers.ros.org/question/281513/kinematic-model-used-in-robot-localization-package/I am currently implementing an H-infinity filter for fusion using ROS kinetic on ubunto and I have a problem finding a good Model for the filter. The fusion is for localization just like robot localization package.
I have used Robot localization package and it is giving good results in both ukf and ekf so I wanted to ask if you can give me more details about the Model used in the package and what are the inputs needed for it to operate.Thu, 01 Feb 2018 05:26:50 -0600https://answers.ros.org/question/281513/kinematic-model-used-in-robot-localization-package/Answer by Tom Moore for <p>I am currently implementing an H-infinity filter for fusion using ROS kinetic on ubunto and I have a problem finding a good Model for the filter. The fusion is for localization just like robot localization package.</p>
<p>I have used Robot localization package and it is giving good results in both ukf and ekf so I wanted to ask if you can give me more details about the Model used in the package and what are the inputs needed for it to operate.</p>
https://answers.ros.org/question/281513/kinematic-model-used-in-robot-localization-package/?answer=281546#post-id-281546Have a look at this to see if it answers your question: #q221837.
**EDIT** in response to comment:
> When I used the package, I didn't
> include any information about the
> velocities or the accelerations. so in
> this case how does the model uses them?
The acceleration, velocity, and pose variables are all correlated through the state transition function and its Jacobian. Looking at the [prediction equations in the Wikipedia article](https://en.wikipedia.org/wiki/Extended_Kalman_filter#Discrete-time_predict_and_update_equations), you can see that the covariance `P` is a function of the transfer function Jacobian. The Kalman Gain is a function of `P`, and so when we update the state estimate, the correlation between, e.g., `X` and `X velocity` is preserved, such that if you only measure `X`, you will get non-zero `X velocity` when you apply the gain.
So, when the next prediction happens, your state has `X velocity`, and the EKF uses that in its state transition function.
If you want to get a better understanding, I find it's best to analyze the matrices using `debug` mode. I almost never recommend using `debug` mode for users, but in this case, I think it might be helpful. Just note that the debug output file will grow at an alarming rate. I'd set up the EKF to fuse only pose data, and then watch the prediction and correction output to see how the various matrices affect the output.
Thu, 01 Feb 2018 10:23:11 -0600https://answers.ros.org/question/281513/kinematic-model-used-in-robot-localization-package/?answer=281546#post-id-281546