Rover 4.4 Tuning Issues

Beginning to think that part of the issue is not having a second GPS for yaw. Once the mower stops, it has no idea where it’s pointing until it starts moving. And with a single GPS located behind the center of rotation, I would expect some interesting behavior with a tracked vehicle at very slow speeds or during initial movement from a stop. Interesting…
.

Not quite, Steve. In this case, he’s using a magnetometer based compass (that you and I have specifically disabled on our machines).

Exactly. We (the mower guys) have all had poor results trying to use the mag compass with that much metal around.

I don’t think we ought to make that speculation just yet. Compass operation is extremely common and often quite effective on electric vehicles. And it doesn’t cease operation at a standstill, so there is no loss of orientation.

Again, need a log to see what’s happening (sense a theme here?).

Currently, it is just the machine that I have having difficulty tuning. I do not currently have a mower attached to it. I’m the future I will be hooking up a pull behind mower that will attach to a hitch on the robot.

On both of these machines, I have also disabled the use of any compasses. I found that with sharp turning and being on such large machines, they were hard to calibrate/keep the compass errors off of the screen. I do not know if this impacts anything either. I will attach the log below.

Please let me know if you need a shared link or anything and I will be happy to share as it is too big to upload on here.

Or it could be this one as the last one does not appear to have uploaded correctly.

tlog is pretty useless. Need a .bin log that you can download from the SD card.

And if you have disabled all compasses AND you have no GPS-for-yaw (dual GPS moving baseline) source, then your tuning is going to be a mess until you have a proper heading source.

Steve’s speculation above was likely correct (I assumed you were using a compass!). Your vehicle is disoriented when not in motion.

Thank you for that information. I will attempt to turn my compasses back on and try to tune again!

Try enabling only the external one(s).

If you provide a .bin log where a compass is enabled and you manually drive in some large figure-8 patterns, we may be able to refine its calibration.

Perfect. I will attempt to get this done after lunch today. On the compass calibration screen, how can I tell which compass(s) are external?

They are labeled as such. Here’s my config on a Copter that disables the internal one:

And here is the calibration refinement procedure we will use:
Refining Calibration Parameters using a Flight Log — Rover documentation (ardupilot.org)

And the web tool that makes it easy:
ArduPilot MAGFit

If you simply provide the log, I can do it in a few minutes, but it’s always good to arm you with all the info in case you’d like to do this yourself.

Thank you very much. When I do this figure 8 pattern, should I be in manual mode or acro mode?

Whichever is more controllable. I would guess manual mode works better for you right now.

Great. I will upload a file after this next testing session. Thank you again for all of your help.

Here is the .bin file from my morning testing. I will upload a .bin file from my afternoon figure eight soon.
2024-03-14 09-54-06.bin

That’s just a blurry image…

Logs can be downloaded over telemetry here:

image

Or retrieved directly from the SD card.

When I clicked that “Download Dataflash Log Via Mavlink” button those were the only two to show up in my saved files.

Nevermind, I believe I found what you were looking for. It is linked below.

This log indicates you have 3 functioning compasses, and the EKF yaw innovations seem to show that they are reasonably calibrated (but could be better).

Why have you disabled EKF3? Recommend reverting all EKF settings to default. You are hindering yourself by using an old Kalmann filter strategy (that should be deprecated, quite honestly).

Your GPS is configured strangely (I’m surprised it works at all). If you only have one GPS, it doesn’t matter what the port label says, it’s GPS1.

Set the following:

GPS_TYPE,1
GPS_TYPE2,0
GPS_POS1_X,-0.15
GPS_POS1_Y,0
GPS_POS1_Z,-0.47
GPS_POS2_X,0
GPS_POS2_Y,0
GPS_POS2_Z,0

Your speed control is overshooting quite a bit, likely due to a high feed forward resulting from a mis-calibrated CRUISE_THROTTLE. It’s a bit inconsistent in this log, but I think this may help:

CRUISE_SPEED,0.95
CRUISE_THROTTLE,30

Your steering rate also shows massive overshoots and then struggles to cope. Try reducing the FF and P terms to start. The overshoots may be exacerbated by compass/yaw issues, so these values could be significantly wrong, but it’s a starting point:

ATC_STR_RAT_FF,0.5
ATC_STR_RAT_P,1

That’s probably as deep as I care to dive for now.