The UKF is configured to fuse odometry, a reference pose (using ndt matching), and IMU data. But although the robot is standing and all sensors are telling that it is not moving the UKF is jumping see the attached image. jump discription From configuration point of view, we use X/Y and yaw from the reference pose; x,y velocity of the twist from the odometry and omega (rotation around yaw) from the IMU. The process noise configuration is not changed and the default ROS-version. ROS Melodic is used. Till now (although using the UKF for some time in different projects) we did not encounter this issue. Any idea what could be wrong to cause this jump?

Update 22.9.2022: We encountered the same issue again. The system was running for more then 12 hours on this day and after around 4 hours we had a jump, when the robot is standing. Such a jump happened 3 time within the 12 hours but apart from those jumps not problem at all, in the same configuration and environment. The image shows the values of the input before the jump: value before jump The image shows the values after the jump: values after jump The image shows steadiness for a longer time: full image

  • 1
    $\begingroup$ UKFs don't jump without a reason. There was likely something that changed at about t=40 on your chart. You say that all inputs were "telling it that it was not moving" but you provide no information about what they are actually doing. And the only way to answer this question is to know what your inputs were as well as your system model and parameters. How do you know something like the ndt matching didn't have a glitch at that moment? Overall you basically need to debug your system and we can help with concrete questions, but open ended ones here aren't productive. $\endgroup$
    – Tully
    Sep 20, 2022 at 16:54
  • $\begingroup$ The input in the chart is the one used in the UKF for the prediction. Thus as you can see nothing is jumping except the UKF. Everything before 100 was constant, sensors and UKF as it was in the beginning of the charts. Furthermore the lag duration was only set to 2 seconds, therefore an influence far from the past should not effect the system, as the dynamic estimate was also not indicating the jump before. If you need some more information about the configuration I can post the configuration if this helps further analysis. $\endgroup$ Sep 22, 2022 at 7:18
  • $\begingroup$ Thanks for the more detailed chart updates, but you're still not showing all your ukf inputs, but only a selection of them. Remember that the ukf had a whole system model that cross couples different axes, so you can't just look at one axis in and one axis out to evaluate performance. And you also need to look at all input sensors. I'll also point out that your charts show the covariance spiking repeatedly at a smaller level too. What you think is steady state may not be as steady as your think. $\endgroup$
    – Tully
    Sep 22, 2022 at 16:12


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.