Skid Steer Mower Overshooting pivot turns

@Vincent_Miceli good to hear you’ve got your mower out for more work!

I’ve been doing bits and pieces with mine as time permits. I’ve struggled a lot to get things going as I’d like with a SLAM system. The 2D Lidar (rplidarA2) is cheap but not great for an outdoor 3D slam solution.

Experimenting with a stereo camera to work around that. Does take a fair chunk of computing power. Sure keeps the TX2 working hard.

Good luck if you decide to try. Hard to find a lot of outdoor suitable help around the place.

I got the mower out and it was doing really well. I then blew up the pixhawk cube with an electrical brownout/spike when the engine died in tall grass and the starter stalled when I tried to start it again. This was the second cube I blew up because of voltage spikes. I then bought a new pixhawk 4 and added a servo power isolator and rewired everything. I now have two electrical systems, one 24 volt lead acid system for the mower and motors and a 14 volt lipo for the flight controller system. On the new version of ArduPilot I started getting AHRS fail safes when the compass occasionally when berserk. Very annoying. I ordered a new compass https://www.amazon.com/dp/B01N5QL0XC/ref=cm_sw_em_r_mt_dp_U_B2dbDbQY7NDD1 which will be here tomorrow. Hopefully I can get it working and the mower mowing for real. Very close.

1 Like

I feel your pain! On my last run, about 6 weeks ago, I let the smoke out if a little arduino nano that is s handling some auxiliary stuff. Also, the $250 GPS module stopped working. It didn’t power up on my bench power supply either but then it did power up without my changing anything-never a good feeling. I haven’t really checked it out fully.

Looking forward to a good report from you!

What compass module are/were you using? Did it work well?

I’m using this module SMAKN GY-273 HMC5883L 3 Triple Axis Compass Magnetometer Sensor Module 3V-5V https://www.amazon.com/dp/B0141UFZTU/ref=cm_sw_r_cp_apa_i_1EvbDb0E292DT. It is working well. I have some issues as I expect anyone with a big chunk of metal as his/her vehicle and with some of that metal spinning! I documented the effects of the blades spinning here: https://youtu.be/gBn3Eygo88o
I have the EKF favoring the GPS for heading.

1 Like

Hi, guys.
I just wanted to let you know that this thread has been the single-most-helpful source of tuning information I have found to date. Not so much as a source for actual settings, of course, but as a means of better understanding the PID tuning process, values, and relationship between high and low-level systems in AP.
Thanks!
I’m building a platform to stripe a field. I haven’t yet decided if I’m going to use a mower or paint, but for guidance tuning, it’s not relevant. The goal is to make geographically repeatable 800+ foot long parallel lines; grass grows, mow/paint the lines. Grass grows some more, mow/paint the exact same lines again.

The platform is an electric wheelchair base with a Pixhawk and RoboClaw 2x30 for the motors. GPS is uBlox M8T with an internet NTRIP feed for correction. I also have a 42" ZTR to play with if the project swerves in that direction. To that end the hydro control discussions are also helpful!
If you guys know of a good starting point for RTK implementation information, I sure would like to hear it! I don’t know WTH I’m doing there…

I’m just getting started, and have a long way to go I’m sure. I’ve been watching this thread in particular since it started, as this idea has been swirling around in my head. Now that I’ve got a platform actually running (sloppy) missions, I just wanted to take a moment to thank you guys for all of your help thus far, whether you knew you were helping or not!

3 Likes

I am so glad to hear that these conversations have been helpful. Since you are trying to paint / mow very straight lines I think you will run into serious challenges, some of which I have already run into. Mowing a grassy field or rural lawn is a very forgiving endeavor that doesn’t necessarily require centimeter accuracy or repeatability. With standard magnetometers and GPS RTK units you will probably achieve something close to straight but not straight enough to make most people happy with the result. I am currently exploring using https://www.ardusimple.com/ products that have the latest and greatest GPS RTK modules and can also provide an accurate heading that isn’t influenced by metal objects and electrical fields in the environment. This might result in a much straighter line that is more reproduceable, but maybe still not enough for painted lines. I am also researching Visual Odometry and SLAM to use a camera to get accuracy needed for really straight lines and patterns.

That being said, you might still have hope depending on the size and design of your rover. A slower, more stable rover on level and consistent surface will yield better results than a fast moving zero turn mover over uneven ground. I explored the idea of using tracks instead of wheels since they are less likely to be pulled off course by small bumps, dips, and naturally want to drive straighter.

I also wonder if something even simpler could yield a better result. This might be crazy and not viable on a grassy field, but what about a line following robot? It would require lines to be painted first, but the maintenance could be automatic, assuming the original lines are still visible to some degree.

There are also beacon based location systems. These require a few beacons to be placed on the field before the mission but could provide very accurate and reproducible paths.

PS: I don’t think these guys are in production yet, but they give me real hope and a target to shot for https://www.mowbotix.com/videos/

Yea, it’s a journey!
I’m not sure how RTK will work out; if it’s accurate enough. Line following is out, as the lines are painted/mowed only once per year, every year, for an event. They just happen to be in the same exact layout each time. The whole point of this project is to save the day or so it takes to get 3-4 guys out in fields with 300’ tapes and flags to lay out the lines. Then this guy goes back and scalps the grass on those lines with a mower. “Meat-odometry” if you will. Lasers might be an option, though the field is roley and line of sight would probably take about 15’ of altitude to be seen from rover level at the other end.

What about multiple waypoints along the lines? A waypoint every 50’ for instance would be 16 or so points to try to hold the line?

I think I’m just going to have to take it out there and run it to see how it does. For now, I’m planning to get the PIDs and pivot turning as tuned as I can, and give it a go to see how it works.

It’s all a little in the air right now (but it’s not, because it’s a rover :slight_smile: )

Aaron, I look forward to seeing how your mower turns out. I 100% agree with @Vincent_Miceli that it is very difficult to get perfectly straight travel in all conditions, but hey, give it a try. I also agree on some Ublox F9P board as the way to go for the RTK. I am using its predecessor but have 2 F9P boards that I am about to experiment with.

On using multiple waypoints in a line, that should not be necessary. The navigation tries to get the rover back on the line between the previous and current waypoint, rather than heading to the current waypoint from where ever it is. There are parameters that govern how hard it works to do that. This wiki from @rmackay9 is very helpful to me in understanding the navigation algorithm: http://ardupilot.org/dev/docs/rover-L1.html.

@ktrussell Thanks for the clarification on how nav works between points. It makes perfect sense that the rover is always trying to intercept the line.
I haven’t had a chance to try the rover “in the wild” yet. I’m hoping I can actually get it out to the field in the next week or so to do some real testing of the PID parameters.
If I can’t get the rover to travel in a perfectly straight line, I think I have an idea that will compensate for whatever drift occurs, provided I can keep the oscillation to a minimum:
Imagine that I’m painting a line with a gun attached to the rover. It will paint the actual path the rover takes between way-points, waviness and all. But, if I were to move the gun to a “trailer” attached to the rover, say about 5 feet behind, the trailer’s oscillation would be significantly less than the actual path the rover takes. It might just be enough to get good results! But if it does work, it’s going to cause another issue: Is there a way to prevent the rover from performing a pivot of more than 90 degrees? Pulling a trailer with a zero turn rover is just asking for a jackknife situation.

1 Like

You could disable pivot turns completely and insert additional waypoints to guide your rover as it turns around. You might have to have it swing widely to make a gentle turn. It might be tedious to build the mission. Mission Planner has several parameters that govern how a vehicle turns at the end of each pass in a survey. You may be able to get it to generate what you need. I’m not sure.

@ktrussell Did you get chance to try out your F9P boards? How did it go?

@Vincent_Miceli Sadly, not yet, but I plan to try them this week.

I am now using my F9P boards and they are awesome. Rover stays in RTK Fixed all the time, so far at least, and repeatability of location is incredible. I have been using them for about 2 weeks. I will upload some video and other notes soon.

1 Like

That is fantastic to hear. I’ll be getting a set this year at some point. What antenna(s) are you using for them?

I am using the ones that came with the C099-Z9P boards. (Seen on page 33 of https://www.u-blox.com/sites/default/files/C099-F9P-AppBoard-Mbed-OS3-FW_UserGuide_(UBX-18063024).pdf). They seem to be the same as the one that came with the Ardusimple SimpleRTK2B Basic Starter Kit (https://www.ardusimple.com/product/simplertk2b-basic-starter-kit-ip65/) also except that the Ardusimple one has mounting tabs on each side.

I bought from Ardusimple, a higher grade, surveyor’s type antenna (https://www.ardusimple.com/product/survey-gnss-multiband-antenna/), but I have not tried it. I am getting fabulous results with the smaller included ones, but I also have only operated in full sky view.

If you are trying to decide between the Ardusimple boards versus the C099-Z9P, I think the Ardusimple are very good. The advantage in the Ublox C099-Z9P to me was the WiFi as a possible RTCM3 communication link if I wanted to move the base temporarily to another location and have the rover fairly close, say to setup a demonstration somewhere away from my farm, where the base is normally located. The WiFi on the C099-Z9P uses UART1. I have heard from others, and seen this to be true as far as I can tell, that UART2 is not fully general purpose and cannot be used to transmit UBX protocol to your flight controller, so, you need to use UART1 for connection to the flight controller. So WiFi is not available for correction while using UART1 to send UBX protocol to the flight controller. You might could use NMEA out of UART2 to the flight controller but I think it is much more bandwidth intensive and may not work as well with Ardupilot.

There are other communication ports on the F9P, such as I2C, so you may be able to use that for comm to the flight controller. There was also some mention in the user’s guide of the I2C connecting to the WiFi device on the board, so maybe you can use that and free up UART1. I am probably confusing the whole thing! I have not looked into it fully. But, basically, I am saying that the Ardusimple appears to be a great board and is a little cheaper, just no WiFi and Bluetooth.

Whew… sorry for the long dissertation!

2 Likes

I have had very good results from this antenna: https://www.aliexpress.com/item/32988001578.html?spm=a2g0s.9042311.0.0.7ffc4c4dFsngoV. It compares very well against even the Leica AR10 antennas we use at work but at a fraction of the cost. I have only had them in use for a month or so but they seem to be up to the job.

That’s great to know. I have a few projects that may require F9P’s and I will be needing antennas. I will probably give them a try. Thanks for the recommendation!

Hmmm… the pricing seems to fluctuate… Was $54 USD when I posted, is $89 now and was $70 when I purchased…

I see there is also a larger version now: https://www.aliexpress.com/item/33047228855.html
This is 200mm diameter - 30mm larger than the ones I have. It has higher gains and covers additional bands. My applications are not concerned so much with size but higher gain would be a benefit. I will be ordering a couple of these

1 Like

I received three of the BT-200 antenna and the additional gain is noticeable. They appear to be well made. I currently have two setups using 3 x GNSS modules each. 1 x base station, 1 x rover reference receiver, 1 x rover attitude receiver. This allows accurate reporting of the rover position and heading. One setup is using Swift Duro/Piksi Multi GNSS modules and the other is using Ublox ZED-F9P modules. Both systems perform better with these antennas compared to the Swift GPS500 and the BT-170 antennas they used previously. I can recommend these antennas. For those that can’t accommodate such a large antenna on their vehicle, you would certainly do well considering it for a base station antenna.