Rover 4.5.2 Large Raft tuning help

Hi guys,

Sorry for this TL;DR post.

So, I have this huge raft that I’m trying to control using ArduPilot (I’m riding along at all times, so very little risk for collision with others) . But I’m about to give up on the tuning, so looking for some advice on where to focus going forward before I bury the project.
The raft is 4x10 meters
3 rows of pontoons. Rounded underneath, so basically no keel.
Dry weight approx 1500kg
Powered by an electric outboard (Haswing Ventura 5.0) i.e. Vectored thrust
FC is Matek H743 Slim V3 running Rover 4.5.2
GPS is Holybro M9N DroneCAN
Telemetry via ESP32 (Dronebridge)
GSC is Mission Planner
Max speed is about 2 - 2.5 m/s but I usually cruise around 1.5-1.9.

The steering angle of the outboard is controlled using a home built servo (stepper motor with pulley and feedback pot). It’s not perfect, nor fast, but it works for me in manual mode. Driving this vehicle manually requires a constant flow of small corrections to keep her straight. It’s just that I’m unable to teach the FC to do it as well as me.

The throttle is electronically controlled using a microcontroller with a digipot that’s emulating the throttle signal from the original throttle lever.

On the tuning part. I think I’ve successfully tuned the speed/throttle controller reasonably OK. But the Turn Rate controller overshoots a bit, which I ultimately think makes it impossible for the navigation controller to do a proper job. And the only way to get that somewhat OK is to turn down the turn rate gains by a lot. Or cap the ATC_STR_RAT_MAX (it can do around 7 if unlimited). But even then, I can’t get it to complete an auto mission without weaving big time.

I suspect, due to its weight, there is too much mass involved, that makes it 1) slow to react to “desiredpid” demands, and 2) overshoots if too agressively tuned and then turns into weaving. My servo is not fast - takes about 6 seconds to go full left to right, but most of the (manual) navigation takes way smaller corrections to keep it on a straight path. So the effective time of changing the angle is much less. I just mean the servo is physically able to do it. The question is if there is a chance I can get Rover to do the same?

For some time I thought the problem was mainly the PSC_POS_P parameter being way to high for the vehicle. I reduced it to 1E-13 which I think improved things a bit. But I’m not that sure anymore.

I have some logs. But unfortunately I don’t have any clean runs where I’m not changing any parameters during the sessions. So just providing what I have here.

I have some logs, even though I realize the testing has not been very structured.

A session where I did some auto. Got a bad gyro error (I think due to rebooting the FC on a wavy lake, when not being still…) but hopefully that’s not the issue here.
https://www.dropbox.com/scl/fi/w55f6xqggsbjzvdbw7tf8/00000105.BIN?rlkey=48ecm37awghnl5v5t3g146hpk&st=urc5as0v&dl=0

A mix of everything, not sure if useful
https://www.dropbox.com/scl/fi/ikknjx9gchp3s1jg5fj0m/00000106.BIN?rlkey=7xxjulbf0bmxb1xpfea6e9i8i&st=plg1wsr4&dl=0

I think mostly driving around in Acro (trying to tune the steering rate controller)
https://www.dropbox.com/scl/fi/xkmea9y2ubadauqi44vnl/00000107.BIN?rlkey=tqienq2ulbfdzqjkb9lybr82l&st=ciq4da7r&dl=0

If the logs are useless, I’m happy to collect new ones based on instructions.

Where should I focus next? Improve my servo agility? Just spend more time on tuning the rate controller? Please be nice :slightly_smiling_face:

Any help is very much appreciated.

Best Regards,
Andreas

Skeptical that it will provide a good tune but you could try the Quick Tune Script anyway. Nothing to loose!
Quick tune
I imagine it’s going to be a very large circle…

1 Like

To clarify, because I was corrected a while ago regarding the code of conduct:

“ArduPilot is NOT certified for use in applications where ArduPilot is effectively in control of human lives.”

So benign applications like ride-along sensors, slow speed ground vehicles with appropriate overrides/safeties, and potentially (depending on the implementation) even wheelchairs do abide the guidelines. If your raft takes flight…we have a much different discussion at hand :rofl:

cool project - love to see a video, or at least a photo (especially if it takes flight)

Tried it already but it never seemed to actually kick off. Not sure if it’s due to the poor turning performance, compared to small vehicles?! (too small G forces maybe?).

@Yuri_Rage I’m sure it wont take flight (unless I misunderstand what you really mean by that :slight_smile: )

I’m well aware that ArduPilot is not designed or intended for manned applications. Hence I’m doing this with the utmost respect of safety of myself and others. The lake (and area) where I’m operating is very quiet with almost no other boats or people. I can physically cut power at any time and also drop an anchor. And even if 1500kg+ obviously could hurt (kill) on collision, even at low speeds like 2m/s, it gives plenty of time to react to avoid that.

I think the main risk with me doing this is if I inspire someone else to do something similar less safe. But I hope I’m a good advocate :slight_smile:

Thanks @paul_arthur , Me and my family enjoys it very much.

I shot a video yesterday but the wind was crazy so the audio was very bad. I’ll shoot a new video in the coming days and let you know where to find it.

1 Like