Tuning an ultra slow rover

I recently started tuning a new rover I built. It’s extremely slow (<0.1m/s). In order to get it to run waypoints even remotely well I had to turn NAVL1_Period up extremely high. The current performance actually surprisingly good considering how much GPS error there is (see below picture of the logged GPS path). I’m wondering if there is a way to have it rely more on compass and less on GPS for navigation? I’m sure RTK would help but for this project the vehicle will be operating without a ground station. Any general tuning advice would be greatly appreciated!

It got stuck a few times so thats likely the cause of any big angle errors. Need more tire tread!

Log: https://drive.google.com/file/d/16PyMyjZuhmap92pqHaLCiVQE_cmdcqjV/view?usp=sharing

You could try biasing the EKF less towards the GPS. I’m no expert in EKF stuff but you could try EK2_GPS_TYPE to 1 or 2 so that only the GPS position is used not the velocity’s. And/Or If you increase the noise values the ekf will tend to trust the other sensors more, these would be: EK2_VELNE_M_NSE and EK2_POSNE_M_NSE

I am quite surprised that it even works considering the very low speed. We got plenties of internal filter and limiter that would be close to this speed value because of the sensors accuracy. Less than 0.1m/s is close to no speed at all

1 Like

Yes, I’m also surprised that you got it working so well so congrats!. From the video of MP’s view we can see the vehicle’s estimated position is moving around quite a lot. A UBlox F9 (when they are readily available) will likely improve the situation a fair bit.