Waypoint tuning help needed for Skid Steering Boat

I am integrating the Ardupilot system with a kayak and I need help in tuning it to complete the waypoint missions in order.
Talking about the boat, it is a Kayak with 2 BlueRobotics T200 thrusters attached on either sides for skid steering. The setup is a bit heavy as a 100Ah battery is mounted.On board, I have a pix cube purple running ArduRover 4.2.3.

I was able to complete the PID tuning sequence for the Speed-Throttle control and then the PID tuning for steering Control. However, while tuning the boat for waypoint missions, the boat is not able to follow a straight path after pivot turn and then goes out of control.


Here is a link to the params file that is present on the pixhawk.
https://drive.google.com/file/d/1pqmMyVaCxMXxt0R0_i28mRRlFyP0qCMv/view?usp=share_link

I doubt that the tuning for the L1 Navigation Controller is causing the issue for the system to misbehave.

Here is the Log file for reference. Consider the logs generated between 20:23:00.000 to 20:29:00.000 as it corresponds to the waypoint mission path plotted above
https://drive.google.com/file/d/1SwO2f7TqSCXLMOPZb2YinOsYcyzbf_9B/view?usp=share_link

EDIT: That’s now a log file :smiley:

I have edited the correct link

The kayak was able to drive itself in a straight line when I did ‘Go To Position’ but when it is performing a waypoint mission, it starts to sway around a lot.

ATC_STR_ANG_P is maxed out at 10 - not sure how you arrived at that. I think its value should be closer to 0.5 to 1.5. I’ve yet to see a vehicle that needs a value over 3.0 (not to say there isn’t a case for it somewhere). The extreme value is causing huge overshoots when pivoting.

Tuning Pivot Turns — Rover documentation (ardupilot.org)

NAVL1_PERIOD is 9 seconds when it appears your craft is probably incapable of achieving that amount of “aggression.” If reducing/tuning ATC_STR_ANG_P doesn’t fully solve the issue, increase NAVL1_PERIOD (possibly as high as 18 to 20).

In the Mission Planner Parameter list, this is the description that is mentioned and it restricts me to put a value within 1 to 10. Here is a screenshot of the same.

There is no actual restriction. Exceeding the recommended limits will produce a warning but will not prevent an out of range value from being set and used.

Start with 1.0. If pivots fail to point the bow toward the next waypoint, increase by 0.25 at a time until pivot turns smoothly point the bow in the correct direction before throttle is reapplied. Right now, it’s pivoting well beyond the desired heading, resulting in navigation error after the turn.

This solution worked!! by setting the NAVL1_PERIOD to 20, the boat was able to complete the mission plans consistently by following the path properly.
although reducing the ATC_STR_ANG_P value below 5 made the boat unstable as it was not able to keep up with the turns properly.
Thanks for pointing the NAVL1_PERIOD parameter out.


Here is the screenshot of how the Boat is performing the mission currently after increasing the NAVL1_PERIOD to 20