-
Notifications
You must be signed in to change notification settings - Fork 909
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Square-root UKF for better numerical stability #780
Comments
It would be hugely helpful if you could provide more details. What version are you using? How is the instability manifesting? What is your configuration? And yes, of course, a bag file (and maybe sample input messages) helps a lot. While it may seem like the instability is without reason, there is usually another cause. |
Oh, I should also note that this package is no longer adding new features. I would encourage users to switch to fuse. |
Thanks for your quick reply! It is interesting and good to hear that you recommend switching to fuse because we are currently actually in the process of that. In any case, I spent now some time finding a situation where a strange behavior occurs. Very quickly summarized the pose there suddenly jumps from y = ~0 m to y = ~ -9m and the other data seems fine. We then "resolved" the issue by switching to the EKF which showed no problems like that afterwards when testing it directly at the robot. Here's the configuration (with the UKF). It is important to note that /initial_current_pose just gets published once at restart and the NDT at /ndt_pose_with_covariance gets feed back the UKF pose and uses this as current pose estimation:
Excerpt from /ukf_pose (=odometry/filtered). Note the switch of pose at seq=15523:
Excerpt from /odom:
Excerpt from /ndt_pose_with_covariance:
From the rosbags that I found unfortunately there was no messages on topics We are using ROS melodic and robot_localization was installed using rosdep (the robot is currently not here so I can't tell which exact version was used). If there is anything else I can provide, please let me know. Already now thanks for your great help! |
In our robotics group we noticed that sometimes the UKF seems to be unstable without any clearly noticeable reason. Unfortunately we don't have (yet) any rosbag at hand when the situation occurred.
However, I just remembered that there exists also a square-root form of the UKF which should have better numerical stability [1] and as far as I noticed in the source code, this variant is not used here.
What do you think about that? Would the square-root UKF be an option to increase general numerical stability or do you think it might not make much difference? Or is this (or ideas from it) already implemented and I didn't see it?
If this feature already exists, feel free to close this feature request.
Thanks,
Fabian
The text was updated successfully, but these errors were encountered: