GPS jumps to invalid when starting to mow

rothnic

New member
I've had some hit or miss luck with RTK. When I first put together my mower, it worked, but had a lot of GPS fix dropouts. Then, while working on other issues it seemed to start working pretty good. I've continued working on other unrelated issues and completing the build, but now I'm back where I can't seem to maintain a fix when starting mowing.

Issue: The mower will sit all day in a great spot with wide field of view and maintain a fix. However, when I tell it to mow, almost immediately the you'll hear the beeping, then the mower motor, then the gps will change to Invalid, then go back and forth between Invalid, float, and fix. Typically when there is a fix, it will go to start up the mower motor and then it goes right back to invalid.

I don't understand why it would sit there forever with a fix and then without moving at all, when I tell it to start mowing that it would start having issues. All of my wires are short and soldered in place if possible. All the high-current stuff is twisted together.

Things I've done recently:
  • After having this issue, I soldered the wires on the rover gps board to make sure there wouldn't be a bad connection
  • I wired in the kill switch in-line with the battery, so I could turn off the robot. This was the change I made right before I started having these problems
  • I enabled some IMU settings in the config to detect rotation errors right before this began
  • I've made sure the base station has a good view of the sky (still in the same spot as before when working great)
  • Checked how my wires are located in the mower. The only wiring that comes close to anything GPS related is the kill switch wiring is near the antennas

Somehow I went from maintaining a fix 90% of the time, to barely being able to get the mower to start moving without getting an invalid state. I assume it has to be interference, but I don't see how I could make it much better.
 
Without understanding the root of this problem my solution was to set
Code:
#define DOCK_IGNORE_GPS
to true in config.h
 
I removed the kill switch and I think that has helped a good bit, but I'm still getting it some. I can turn on the mowing motor manually and drive it around with the remote and it'll keep a fix all day long. Then, once I tell it to start mowing almost instantly goes to float or invalid before even beginning to move. It is doing it less without the kill switch and will at least start mowing.

I tried tracking down in the code all the things that start to happen when the mower goes into a mow state, but it was kind of hard to track it all down.
 
I’m having a similar issue. Any update on this. I thought the mower may be causing interference to the GPS module/wiring. I’m going to try moving some stuff around to see if it resolves.
 
Yeah, I've had it off and on. I just have been as careful as possible to keep all the antenna cables and wiring for the gps as far away from motors and wiring as possible.

At the moment, I've just had to not use the kill switch, which is a bit worrying. I tried to move the kill switch to the motor stop connection, but haven't gotten that to work.

I still believe there must be some aspect of a firmware issue here with the ardumower code. I just don't get why it would sit with a fix all day until you tell it to mow. But, by avoiding interference it seems to at least get back into a fix even if it goes to float temporarily.
 
Ok good to know. Do you think some cable shielding would improve the interference? I’m thinking about trying that to see if things look better.
 
Ok good to know. Do you think some cable shielding would improve the interference? I’m thinking about trying that to see if things look better.

I'm not sure what kind of shielding might be able to be added, but in theory I would think so. Interference issues like this tend to be about a combination of factors. You tend to be just trying to push down the noise floor to where the communication/error correction algorithms can consistently handle any minor interference. The other side of that is if you can increase the signal-side of things, but the behavior I was seeing made it hard to know for sure where it was coming from.

Here we are talking about a combination of multiple systems, multiple communication paths/protocols, and firmware, so it is hard to understand where the issue is originating from, so it leaves a lot of uncertainty. Is it due to the xbee communication, the gps signal, the motor interference, the imu, the firmware of the ardumower or the gps unit, or a combination of everything and how they interact? So yeah, you are left kind of having to try account for everything.

One thing I wish I had done was consider trying the xbee and esp32 antenna on the back of the mower, just below the lid. This would help isolate the cabling for those into the far back of the mower and it would be in a more consistent place. I was having to take the lid off over and over while tweaking other things, so it is hard to make sure you get the lid on with the wiring in a consistent place every single time, while also making sure they don't get pinched. I have for now at least tried to tuck the extra gps antenna, xbee antenna, and esp32 antenna wiring all into that back section of the mower where the battery was intended to go. My battery is too large to fit it there, so I have it next to the mow motor. Having the antennas on the lid just make it a pain in the butt to get the lid on each time.
 
Today I found a broken koaxialcable which connect the RTK antenna of the Ardumower with the Xbee board.
 
Der Ardumower darf zwischen Fix und Float wechel, was ganz normal ist.
Nach meiner Beobachtung tritt Invalied nur auf wenn
das Antennenkabel defekt d.h. gebrochen, oder die Kontakte nicht in Ordnung sind. Als 3. Ursache sind CHK Summen Fehler durch zu viele Daten eine Ursache.
 
Ich habe jetzt auch ein irgendwie geartetes Phänomen, dass ich den Mäher gelegentlich nicht loslegen lassen kann.
Dann startet der Motor ganz normal und läuft rund. Ein Fix mit ausreichend Satelliten ist noch immer gegeben. Wenn man eigentlich erwartet, dass er losfährt, springt die Ausgabe auf invalid mit 0/0 Satelliten und der Motor stoppt kurz, läuft aber gleich wieder an und es steht auch gleich wieder ein Fix mit ordentlicher Zahl an Satelliten zur Verfügung. Das wiederholt sich dann. Mäher stoppen und woanders noch mal probieren führt immer zum gleichen Ergebnis.

Erstmals ist das Problem aufgetreten als ich den Mäher dieses Jahr aus dem Keller geholt und initial in Betrieb genommen habe. Eigentlich schien der Akku von der Spannung her noch ausreichend geladen zu sein. Dennoch nach etwas weiterem laden (im Haus) und erneutem Inbetriebnahmeversuch gab es dann keine Probleme.
Akku voll geladen hatte ich dann die letzten Tage keine derartigen Probleme.

Heute hatte ich dann einigen gemäht und den Mäher nach Abschluss 1-2h ohne nachladen draußen stehen lassen. Beim Versuch fortzusetzen, kam es wieder zu o.g. Phänomen. Spannung bei laufendem Mähmotor war noch 24.9V. Dennoch keine Anfahrt zum automatischen Mähvorgang. Manuelle Fahrt mit Fernbedienung war auch bei Laufendem Mähmotor kein Problem.
Nur wenig auf 25,3V im Haus nachgeladen, lief alles wieder.
Nach wenig weiter Mähen den Vorgang manuell beenden und ein Neustartversuch bei 24,7V war auch möglich.

Sicher bin ich mit da noch nicht. Aber ich tippe gerade darauf, dass es damit zu tun hat, wenn der Akku nur noch bei ca. 50% voll und kalt ist. Dann scheint für irgendwas nicht mehr ausreichend Strom zur Verfügung zu stehen.
Mich wundert nur, dass es nur im automatischen Betrieb zu den Problemen führt, nicht aber im manuellen Betrieb. Also müsste es ja irgendwas mit IMU oder MapData-Zugriff, ... zu tun haben.
 
Oben