KevinG's Autonomous zero-point turn Lawn Mower

@Swebre I moved the GPS antennas and set the appropriate GPS_POS values. The mower did okay although no appreciable difference in the wandering.

I have gone back over the ardupilot page

GPS for Yaw (aka Moving Baseline) — Rover documentation (ardupilot.org)

and noticed in the Hardware Setup section this recommendation…
" * Two Ublox F9 GPSs should be place on the vehicle at least 30cm apart (horizontally)"
My question is does it matter what the layout is for the antennas so long as they are pointing forward and at least 30cm apart?

I’ve been told by folks smarter than me on this that it really doesn’t matter as long as the proper spacing is noted in the parameters. I don’t know enough about internal FC ciphering to question it, but can’t help but think that a longer spacing between the antennas can’t hurt… :slight_smile:

Looking forward to hearing how it goes now

Yuri, I know you are more familiar with the parameters than I, but I think that the origin is the center of rotation, which may or may not coincide with the IMU location. The IMU has its own parameters (INS_POSx_X, Y and Z) which define its position, also relative to the same origin (center of rotation). Right or no?

You’re correct. I explained poorly above. My own Cube resides very close to the rotational center, and I mis-spoke.

Origin is the body frame origin, which, for these zero-turn builds, should be the center of the rear axle. Measure all positions from there, including IMU offsets (INS_POS* parameters) and GPS offsets (GPS_POS* parameters).

@swebre, I don’t disagree that maximizing the distance between GPS antennas is good practice. However, the impact of increasing the distance is not likely to be very apparent, as the EKF does a great job of estimating position and orientation via all available sources. You may be able to measure the effect by comparing yaw innovation values in the logs if you’re careful to keep all other variables constant during testing.

1 Like

Any thoughts on the “Here” GPS options vs the ArduSimple options? The Here options seems a little more polished

The H-RTK F9P helical or survey grade antenna varieties certainly look good (I’d consider using the “base” models with survey grade antennas on a rover), but for the price, you could get a SimpleRTK3B+Heading board from ArduSimple, which is very nice hardware for sure.

Bottom line, I’m not convinced the price tag justifies the “polished” looks…

1 Like

Well I just wanted to show pictures of my GPS configuration after Yuri and I got it working yesterday. Most of my other mower pictures are on this thread so I decided to put them here.
Here is what the Ardusimple boards looked like when we were done. The system is working fine now with both GPS1 (Moving Base) and GPS2 (Rover) both indicating rtk Fixed, along with giving a correct directional heading.

It consists of 2 Ardusimple RTK2B GPS/GNSS receiver boards (with headers) and one Ardusimple Long Range radio module attached to the Moving Base receiver board (on the headers). It is actually an X-Bee SX radio that Ardusimple has configured for RTCM3 data transmission and is supposed to have a range of 10 to 14 km LOS. I have not tested the range yet and to see how it works in the real world with obstacles in the way at times. So far it has been simple to use and gets the signal from my base station just fine. The only real issue with it so far has been that the radio UART is set for a baud of 115200 which means the UART2 on the Moving Base receiver has to also be set at a baud of 115200. This is not compatible with the automatic baud rate Ardupilot sets for that UART2. After Ardupilot configures things, it take a manual intervention to set the baud rate on UART2 using U-Center. It may be possible to change the radio baud rate by reconfiguring the X-Bee SX radio, but we have to try that out. We never got the crossover wire technique to work in connecting the UART2 of each board together to move the RTCM signal generated by the moving base back over to the Rover GPS. We finally just changed the parameters around and routed the signal through the flight controller.
Here is the picture of the GPS electronics box on my mower after I packaged up the GNSS receivers in the little boxes Ardusimple sells. It does make it look clean but I am not sure it is worth $50 for each little enclosure.

Now all three of my electronics boxes are full so I must be done. I have heard rumors that you are never done, but the good news is I have room for more boxes! I guess I went with this approach because I wanted something on each side to mount the antennas to, to contain the wires, spread out the heat load, and then there was visual cool factor involved. I guess it was just a personal choice.

4 Likes

Looking great Steve!! Congrats on getting everything blinking and clicking. Now on to tuning… Good Luck!

Indeed looking good! I have one of those enclosures from ArduSimple as well and must agree - not really worth the price. I thought it was weather proof, which would significantly increase its value. But there are no seals, and the gaps are wide enough to let dust and moisture inside. Yours will surely be fine, double enclosed the way it is.

For comparison’s sake, here’s what happens to the best laid plans after a couple of years of over-upgrading and constantly testing new toys:

5 Likes


Even with best intentions.

3 Likes

It was a real thing of beauty when I first laid it all out. Then I got bit by the bleeding edge bug, and chaos ensued!

Have you had any failures where you are full throttle and the servo relaxes and goes back to neutral? I am using these 65kg servos on amazon (https://www.amazon.com/ZOSKAY-Waterproof-Digital-Compatible-SAVOX-0236/dp/B07K48FQ1N). When I move my throttle stick all the way forward (or steering stick) it holds it in the full throttle position for about 10 seconds and then it seems to “relax” or go back to neutral. If you wiggle the stick a little bit the servo seems to re-engage. Did you run into this issue at all? I’ve checked the power and it looks good to the servo at 7.5v.
I am not sure if there is an ardupilot setting that I am missing or if the servo isn’t strong enough. I measured the strength it takes to move the throttle bar (not sure the correct name) on the mower and it is about 13kg. The servo seems to move the throttle bar fine back and forth, its just when I try to hold at full throttle it “relaxes” back to neutral or close to neutral.

Those are cheap, unreliable servos. I highly doubt the servo is being commanded that way, but rather it’s probably failing internally.

Look into HiTec or AGFRC servos for better reliability.

Please stop posting, re-posting, and also private messaging the same question, repeatedly.

That looks great, Steve! Looking forward to hearing how the next phases go for you. You are over a big hurdle now!

Almost sounds like the servo is going to sleep as they will do if the PWM signal stops for a period of time. I don’t think the flight controller ever stops the PWM signal, so it is likely a problem with the servo as @Yuri_Rage stated.

Those are awfully inexpensive servos. If they happened to work reliably over time (which I doubt), I want to buy a boat load of them! :slight_smile:

Well I am happy to report my mower is working very well now. I think that GPS card was really hanging me up. My mower was very solid today and it performed better than it ever has. @ktrussell @Yuri_Rage @jason_miller

Here is a link to a video I put on YouTube today: First full automatic mowing job - YouTube

7 Likes

Steve, great to hear and see your mower in action. Looks like the rear discharge deck is working well.

Great job Steve!

Your mower looks very well done and seems to walk through that tall grass without much effort. Congrats!!

1 Like

Thanks for the words of encouragement. It actually seems to run very well and it looks impressive from a distance, but when you really look at the mowing path it has some tuning issues.

I am sure you guys that have been doing this for a long time have seen about every kind of tuning problem. What do you think is going on here. It’s like it starts going for the next waypoint as soon as it breaks the 1 meter waypoint circle and then it has to correct. Is one meter too small to use for waypoint boundary?