Rover 4.4 Tuning Issues

I have began tuning of an all new machine. This is a tracked, skid steering rover that is using a pixhawk Orange Cube with ardurover 4.4 on it. This machine has 6" wide tracks, and is approximately 3.5’ long. As I am tuning, I have changed quite a few parameters and gotten the rover to track fairly straight, but have noticed an odd behavior during turns in auto mode. When I upload a square pattern (let’s say all left turns for simplicity) when it gets to a waypoint and (in my mind) should simply stop or reverse the left track, and make the right track move forward to progress to the next waypoint, it instead will reverse the right track and make the rover spin in almost a full circle before proceeding to the next waypoint. I have battled this problem for some time now, and by changing some things I have gotten it to turn like I think it should maybe 1/15 times that it turns. Is there a baseline on where I should start to look to fix this issue? Does this sound like a tuning issue in the speed controller/throttle controller? Or does it sound like an issue in the PSC_XX parameter issue? Thank you to anyone that can point me in the correct direction. I will attach a photo of the machine below.

Provide a log file so we can troubleshoot.

Thank you. I will follow up tomorrow as my laptop had died while out testing in the field. I will run another mission in the morning with my current setup of tuning and report back to you tomorrow.

Try driving in ACRO mode. See if it behaves roughly the way it should (as in, like a better version of manual mode).

That is a very cool rover! Source? Thanks!

I will try to tune it in acro mode after this rain stops. It is currently pouring buckets outside. I will attempt to tune in acro mode again and then attempt another auto mission.

We currently get them from over seas. We also have a bigger version that is shown below.

1 Like

I’ve worked with one like the desert tan one in your last pic. It had a motor controller that only accepted steering and throttle commands and then translated those to left/right throttle outputs. We used a microcontroller to intercept skid steering output from ArduPilot and convert it to steering/throttle so that pivot turns were possible. It was pretty easy to tune.

The bigger one (sand color) seems to be tuned fine currently. I ran into some big problems tuning that bigger one. At first, it was tuning for a smooth throttle response, then getting the turns to be tuned correctly. I fiddled with it for about two weeks before I was able to get the response that I wanted out of it. Curiously enough, it displayed some of the same characteristics that I ran into with this smaller version. The bigger one would turn the way I wanted it to (during a square pattern) on three of the four turns, but every time, on turn number 2, it would turn inside on itself like this one currently does. I messed with the settings and the allowed turn rates (STR_XX parameters) and managed to get it working the way I wanted to. I am not sure if I just managed to cover up what was going on or if I managed to fix the issue entirely.

Along with this issue, it appears that these machines ( both of them) cannot be run in auto based on the acro tune. This morning I re tuned the black one (not exactly perfect, but I was able to get it to run fairly well in acro) and then switched it back into auto mode. When switching back into auto mode, the system seemed to not turn sharp enough and kind of have a mind of its own to some extent. I will attach the log for this morning’s run after I allow my laptop to charge a bit more.

Have you tried QuikTune?

QuikTune — Rover documentation (ardupilot.org)

I could not get that to work on the larger machine. After reading the documents, I turned on the lua scripting parameter, but then could not see the lua script in the scripts directory. I made my own folder in the mission planner screen and added the “scrips folder” then copied the VTOL-quicktune.lua into the folder but for some reason could not get that to work. Do you have any suggestions on how to fix this issue?

Do not use anything labeled VTOL unless you want your robot to fly… Follow the instructions on the page I linked.

If you want to avoid the confusion of using MAVFTP, pull the SD card out of the autopilot and use an SD card reader on a computer to place the script in the correct place (D:\APM\scripts, in my screenshot).

image

If you want to use MAVFTP again, make sure you have deliberately clicked on whatever folder you want to manipulate on the left pane and that the right pane updates to show its contents. It’s sometimes a little buggy.

Thank you for the advice. I will try again to run auto tune this afternoon.

Is there a specific parameter that could alter how the rover moves throughout corners? This morning, after a bit of tweaking it appears that I have two problems:

1: When I start the mission, the rover will always immediately move forward and to the left, then get back on track and head towards the waypoint (When it decides to work properly).
2: It appears that if the robot has overshot the waypoint, then it will do the inside turn (as I call it). But, if the robot stops in time, then it will do the correct kind of turn.

As these are both skid steering style of vehicles, they can both turn on a dime, but I would like them to do a nice sweeping turn so I can pull a mower behind them and mow a large lawn with them. I have tried adjusting the turn radius to a larger value, along with the way point radius to a larger value and the only thing that I notice when I increase the waypoint radius value is that the rover then stops X meters before the waypoint, then heads to the next line.

Really need to see a log to help.

This might be among your issues:
Sensor Position Offset Compensation — Rover documentation (ardupilot.org)

Turn off pivot turns by setting WP_PIVOT_ANGLE,0

Be sure you’re following all steps here, as well, or it’s a lot harder to help:
First Drive with Rover — Rover documentation (ardupilot.org)

I do currently have pivot turns disable on both rovers. Like I stated previously, the bigger one is working how I expect it to now, I just am not sure exactly why. I have tried to adjust the sensor position offsets using that page and it appeared to help some, but not fully. I will respond to this with a log this afternoon. Thank you for all of your help thus far and I look forward to seeing what you have to say about my logs.

Are you using a second GPS for yaw or just using a single GPS?

Use a larger WP_RADIUS in your missions if you want to start the turns earlier.

I am using a single F9P GPS

I have tried this but it appears that the rover does the following (crude) animation whenever I increase the waypoint radius.

Follow the sensor offset doc I linked earlier.

Let’s hold off on further speculation until you have a log to share.