본문 바로가기
1. 인공지능/(2) 기본이론 (자율주행, 제어)

PID vs MPC 제어

by Labeler 2024. 8. 4.

 

1. PID 제어

<P 제어>

P제어는 오차가 크면 신호를 많이 주고, 오차가 작으면 신호를 적게주는데 주요 문제는 아래와 같음
1) Kp가 너무 크면 오버슈트가 날 수 있고, Kp가 너무 작으면 목표값에 늦게 도달함
2) 정상상태에서 오차가 남을 수 있음

 

<I 제어>

- I 제어는 정상상태 오차를 줄이기 위해 적용

- P 제어를 할 때 목표값과 차이가 얼마 없는 상태라면 P 제어가 안돌아갈건데, I 제어를 적용하면 오차가 계속 누적되니까 I 제어가 작동하기 시작하면서 목표값을 맞춰감

- 대신 정착시간이 길어짐

 

* I 제어는 초반에 목표값에 다가가면서 자연스럽게 오차가 누적적으로 커지기 때문에, I 제어가 개입하여 오버슈트가 발생할 수 있음
* 그리고 적분값을 적용하다보니, 갑자기 외란이 발생해도 누적값에 큰 영향을 주지 않아 즉각적인 반응을 하지 못함

 

 

<D 제어>

- 목표량과 제어량의 편차를 비교해서, 오차가 커지면 반대로 신호를 주는 댐핑 역할

- 오버슈팅 언더슈팅이 발생하면 그 반대로 제어를 해서 정착시간을 감소시키는 역할

 

 

 

<PID 제어>

- P 제어는 목표값에 빨리 도달하게 해줌

- I 제어는 정상상태 오차를 감소시켜 줌 (대신 오버슈팅 발생 가능)

- D 제어는 댐핑역할을 해줘서 오버슈팅을 억제해줌

 

 

결론

- PID 제어는 대표적으로 선형시스템에 적용함 (MPC 보다도 MPPI가 비선형에 더 좋긴 하지만)

- PID 제어는 단변수 시스템에 적절함 (온도 조절 장치, 단순히 모터 하나 돌리는 정도)
- 반면 속도, 방향, 위치 등을 복잡적으로 고려해야하는 다변수 시스템에는 부적절하고 MPC 가 사용됨

- 제약조건도 처리하지 못함

- 단순히 현재 상태의 오차에 기반하여 신호를 제어함 (반면 MPC는 미래에 가야할 곳을 대비하여 최적의 제어를 함)