PID Controller - Sensitivity problem.

Hi. In the project of a boat with two engines. When I move at 100% engine power, everything is fine, the PID makes a left / right turn and the boat goes perfectly straight. The problem is when the power engine starts gradually .. 30% ... 50% ... 70%. 100% ... the problem is then too low turning sensitivity (because the boat has a different torsion at 30% power and another at 100%), should I reset the PID settings when it reaches 100%?. Thanks for help.

Can You trim the PID konstants needed at 30, 50 and 70%? Then look how they change. Maybe interpolation between those values according to motor power could make things work better?

Thanks for reply. Yes, I can, but when setting the values in relation to power, it will also not work completely, I have to take into account the state of the battery, where the lower the state, the slower the boat goes, what do you mean when you write about interpolation?

Suppose 40% power us used. Then do like (Kp30 + Kp40)/2.

Kp40 understand is 40% power engine, but Kp30 what is that ?

Kp used at 30% power...

Should I change it based on the current P_value?

You can test and see if works together with the rest of the code.

You could really do with props that rotate in different directions ( easy if it’s electric) or stern tubes at an angle to the hull - that’s the cure .

Any how , to fix the symptoms...- think I would look at having a profile between rudder angle and throttle position , then maybe trim on top of that if needed .

You most likely have a very non linear system , ( rudder effect is reduced at slow speed) and also lags between cause and effect - that makes tuning a bit harder and you might need a compromise .

What does your PID control have as an input to sense the movement of the boat ?

My input parameters are: Kp = 2.5, Ki = 0.1, Kd = 0.1

When it starts immediately with 100% engine power, it works perfectly. The problem arises when I do a "smooth start", I start from 30% PID, I equalize the course, then 50% .. 70% ... 100% and this is where the problem arises because when the boat is sailing faster the controllability decreases. Theoretically, I can test if the PID error is > 1 and add Kp. every one meter (via GPS) but it is time-consuming and the course will correct only after 30-40 meters. Again, when I give too much Kp at the start, the boat is going straight but the boat is too sensitive and oversteer.

@hammy and I want more info:

"What does your PID control have as an input to sense the movement of the boat ? "

You mentioned GPS, is there anything (gyroscope) to detect the rotation of the vehicle? This may be necessary to accomplish steering that keeps up with the facts.

a7

Yes, I have a magnetometer.

Adopting the way of running the boat according to its behaviour, its characteristics, is one alternative... Choose the best setup for the most interesting situation and use Your skill to do the best at other situations...

Do you have a speed sensor? It sounds like the actual speed of the boat through the water is what determines the PID constants, rather than the throttle - and speed is of course not directly related to the throttle setting (ramp it up or down fast and change in speed is lagging).

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.