Building a rover/mower, UM982 GPS RTK inaccuracy

hi All,

I’m new to the ardupilot world and excited to post my first topic.
Not sure if Rover 4.4 is the right place, but since I’m using 4.4.0-beta1, here it goes.

I built an arduino based RC mower last year and recently wanted to upgrade it to use GPS RTK and be autonomous. Similar to Yuri’s (ArduRover 4.1.0-dev Mower w/GPS Yaw - YouTube)

I started with pixhawk 6c and two ZED-F9P (https://www.sparkfun.com/products/18292) modules, one being stationary (GitHub - Stefal/rtkbase: Your own GNSS base station for RTK localization with a Web GUI, http://rtk2go.com:2101/SNIP::MOUNTPT?baseName=NJ_east) and one on the rover. Quickly I noticed that the built-in compass on pixhawk6C was not working properly likely due to it’s inside a metal enclosure or close to several DC motors regularly pulling 30+ amps.

Decided to switch to GPS YAW, I saw holybro recently released their new um982 based internal GPS+YAW (H-RTK Unicore UM982 (Dual Antenna) – Holybro). After a bit googling and found GPS was a newly added to rover 4.4, I uploaded rover 4.4.0-beta1 and got GPS and compass reported in MS.

However, now I’m facing a problem:
The GPS position from UM982 seems not accurate and moves quite a lot, mostly several meters even it shows RTK FIXED and the mower is not moving at all. As a comparison, when I was testing with ZED-F9P, the GPS position was dead steady with only 1 or 2 cm movement. My question is how to identify the root cause of the inaccuracy? UM982 ? antennas? or something else?



the rover is facing north and being stationary.

the MP shows

if I zero turn the rover 360 degrees and facing north again. The orientation somehow turned upside down.

Also, I noticed if I leave the rover stationary for a minute or two, the GPS position seems to become stable and accurate.

took a quick video showing the position inaccuracy (please forgive my voice, having a cold)

configs
configs.param (14.6 KB)

1 Like

I’m trying to find out if the GPS position floating around is caused by the interference from the motor running, or magnetic field changing below. So I suspended the rear wheels on a cart

and did two tests.

  1. mower not moving, but running the motors. GPS is stable.
  2. motors not spinning, but hand turning the mower. GPS floats.

The conclusion I got is that the floating around of GPS is from UM982 itself
Now, the question is how to fix the problem… I’m thinking …

In case it helps, AP supports setting the positions of many sensors.

Thanks for the pointer. Let me check it out.

Hello Leichen,

I’m Erik from Brazil, and I thought your project was really cool, I’m looking for ideas like yours to try to create my first project, very similar idea.
But unfortunately I still don’t know anything about Pixhawk and its extensions. I am currently trying to make the wiring diagram. The idea would be to create a prototype and then make a more robust model. If you can help me with an idea I would be very grateful.

Good luck on your project!

hi Erik,
I’m also in the process of figuring things out.
I find this post super helpful in terms of giving me an idea of how everybody else are doing.

If you have any specific question, please feel free to post here.

Best,
Lei

Hi Leichen,

Thanks for the link, its will help me to organize the ideas.
I’m defining pieces for a small prototype and learn more about the Ground Station and controls.
After learn more I will start implement the knoledge in the lawn mower.

Probable I’ll ask some helps to you.
Many Thanks

An update of the project.

It seems the support for UM982 is still maturing and I have decided to still go with the well tested route of double ZED-F9P mode. Now, with two F9Ps, I’m able to get stable GPS position and yaw.

Have tuned the throttle and turn parameters today. The mower is able to go around my front yard reliably and within an repeatable accuracy of a couple of centermeters.

I’m super glad with the results.

3 Likes

Sorry I couldn’t help with the UM982 config - I have never tried one, and the price point, while not terrible for a dual module, is a bit high for me to stomach just for testing’s sake.

Glad to see you arrived at a working solution. Hard to beat the F9Ps with ArduPilot!

4 Likes

Also needed to set AHRS_ORIENTATION to pitch90 to fix the upside down problem.

Hi Yuri,

No worries at all. It’s the process that we all enjoy anyway.
Actually, I want to say thank you so much for all the great work and documentation. You have been inspiring me to take this project.

As per UM982, I picked it mostly for theoretically less wiring and connections. I guess it’s relatively new to the market and needs larger user base and more testing to mature. I’m sure I can use it for the next project.

2 Likes

Just to update the thread, here is a video of the mower working.

Still a little bit slow at the end of each pivot turn, but I can totally tolerate.

3 Likes

Because you didn’t set GPS_POS, the position will change when you rotate.


@leichen

thanks for the suggestion.
In the config I attached originally, the GPS_POS_ were indeed not set.
However, after rmackay9 pointed out the position of many sensors are required, I did set the GPS_POSs and it didn’t help. Still observed position being unstable.

Maybe I will give it another try sometime later this year.

1 Like

@leichen,

Great video! It’s really looking good. Nicely done!

Hi Leichen -

I’m about to buy the same RTK GPS from Holybro. Did you try the PC App that comes with this Unicore GPS? It is called UPrecise and you can download it online.

yes, I had tried the PC application. Its functionality is fairly minimum and doesn’t provide much configurations that would help fix the inaccuracy problem. I didn’t spend much time trying to fix it anyway and decided going for the dual F9P as it seemed to be the known working route.

UM982 is very cheap, but after seeing your experience, I decided to continue using dual F9P.

UM982 is roughly at the same cost of a dual F9P setup, ~ $500
If I have a working dual F9P rover, I would not switch to UM982 at this time for sure.
For anyone with a deep pocket and looking for new things to test out, probably.