0
$\begingroup$

Rosanswers logo

Hi all,

I have a rover that uses RTK GPS, IMU and wheel encoders to localize. We perform tests in the same outdoor area using the same trajectory. Our system is configured so that when it first receives an RTK GPS measurement, this value is stored in the datum parameter and only then it launches an EKF global and a navsat_transform node.

Each session the datum is slightly different and therefore the odom->utm transform is different as well. Is this a good practice? Or should I set a fix datum that is the same for every session and then provide an ~initial_state parameter to the EKF with the first RTK measurement?

Thanks!


Originally posted by xaru8145 on ROS Answers with karma: 105 on 2021-02-01

Post score: 0


Original comments

Comment by xaru8145 on 2021-02-04:
Thanks @JackB ! In this case, we have a base station that we can use as a fix datum. However, in case your rover starts far away from the base station, the EKG global will take some considerable time to converge to the actual position of the rover. How do you go about this?

Comment by JackB on 2021-02-04:
The only way to prevent the filter "manually" converging is to provide an initial state

Comment by xaru8145 on 2021-02-04:
I was thinking about doing this but in order to set the initial_state parameter I need to convert my first RTK measurement into the odom frame. This is done by the navsat node and requires odometry from the EKF, which in theory I have to initialize at an initial_state

Comment by xaru8145 on 2021-02-04:
So it is a chicken or the egg problem. How do you set the initial state given the first RTK measurements?

Comment by JackB on 2021-02-04:
Well honestly the initial state is a launch parameter, so its supposed to be known a priori before anything else. If you deploy the robot repeatedly on near the same area you can probably just spend time findinf one close enough to the area and use it to make your filter converge faster.

But to be quite honest, the covariance of your RTK measurement should be so low that your filter should converge very fast in my opinion, regardless of how far away you are. Is this not the case?

Comment by xaru8145 on 2021-02-16:
Yes, it converges pretty fast. Using a datum that is 825km far from my initial position (extreme case where I deploy the system in a very large environment) and it takes about 25s for the filter to attain +-1cm precision. Thanks for your time Jack, I appreciate it!

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

In my personal experience, setting a single fixed datum that is the same across all deployments, makes processing of collecting and understanding the data much easier.


Originally posted by JackB with karma: 977 on 2021-02-01

This answer was ACCEPTED on the original site

Post score: 0

$\endgroup$

Your Answer

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