I have been thinking of ways to try and get some kind of lateral control using as few modifications as possible, the simplest idea I have came up with is to selectively reverse the rear thruster using a simple lua by setting it to mirror the forward thruster. this is not the correct way to run thrusters but a hack to at least make them do something useful automatically.
The idea is if itโs in loiter and if the heading is within tolerance of whatever heading it trying to hold, it will reverse the rear thruster so both front and rear thrusters push the same direction when trying to yaw, that way the thrusters will basically try and push the boat sideways to the waypoint rather than yawing as long as the heading is within the limit. If the heading gets out of tolerance, then it will switch the rear thruster to normal mode so it can adjust its heading or reposition as a regular boat.
so something like this if holding position
heading < heading limit rear then rear thruster = forward thruster
else rear thruster = normal
when moving it could use something like cross track error to control it
cross track error < track error limit then rear thruster= forward thruster
else rear thruster = normal
it will probably need some scaling too depending on how strong the thrusters are.
If you have a rudder or left and right main motors then they are still going to try and correct the heading by pointing the boat in the direction of the waypoint but they shouldnt have to turn as much with the thrusters pushing the boat.