Position pid control

Hello!
in the position control, there is just P controller. But I want I controller because of steady state error. How can I make my custom controller?

Have you checked all the PSC_* parameters?

Thank you for your reply!
I already checked it. There are just PSC_ACC parameter for P,I,D gain
I just can find Position P gain no I or D gain

Also I’m in using through source code change

https://ardupilot.org/dev/docs/copter-adding-custom-controller.html

Hi @1111193,

So within the AC_PositionControl you should find that there are at least two layers. The higher level Position controller but then also a 2nd level velocity controller. In AP’s control design, we’ve generally found that the lower levels are the ones that need the I and D term. The highest level normally is fine with just a P-term. In fact, we’ve found that it doesn’t work well to have I-terms at multiple levels.

3 Likes

using ADRC controller to replace PID, it could be get more perfermance without intergral I

1 Like

@xianglunkai Were you able to replace position controller ?