PID 제어기 설계시에 값 튜닝을 위한 효율적인 방법론 추천 부탁드립니다.

아두이노를 활용해서 밸런싱 로봇 제어를 위해 PID 제어기를 구현했는데 각각의 개인 값을 수동으로 맞추다 보니 오버슈트가 너무 심하거나 응답 속도가 느려지는 문제가 발생하는데 실무에서 주로 사용하는 지글러-니콜스 방법 외에 시행착오를 줄이면서 시스템의 안정도를 확보할 수 있는데 튜닝 팁이 있다면 알려주시면 감사하겠습니다.

2개의 답변이 있어요!

  • 안녕하세요. 최광민 전기기사입니다.

    PID 튜닝을 수동으로 하다 보면 말씀하신 것처럼 오버슈트나 응답 지연이 반복되기 쉬운데, 지글러-니콜스 외에도 비교적 안정적으로 접근할 수 있는 방법들이 있습니다.

    먼저 많이 쓰이는 방법 중 하나가 코헨-쿤(Cohen-Coon) 방식입니다. 시스템의 지연시간과 상승 특성을 기반으로 값을 잡기 때문에 지글러-니콜스보다 오버슈트가 덜한 편이라 초기 튜닝에 도움이 됩니다. 다만 완벽하진 않아서 이후 미세 조정은 필요합니다.

    또 하나는 Tyreus-Luyben 방법인데, 지글러-니콜스를 개선한 방식으로 게인을 더 보수적으로 잡아 진동과 오버슈트를 줄이는 데 유리합니다. 밸런싱 로봇처럼 불안정한 시스템에서는 이 방식이 더 안정적으로 느껴지는 경우가 많습니다.

  • 안녕하세요. 최정훈 전기기사입니다.

    지글러-니콜스보다 안정적인 한계감도법 대신 ITSE 같은 오차 적분법을 활용해서, 제어 성능을 수치화하면 훨씬 정교한 튜닝이 가능합니다. 이게 말이 어렵지만, 우선 P 게인을 올리시고 진동을 확인하신뒤에 D 게인을 조금씩 섞으시면 됩니다. 그러면 오버슈트를 잡는데 효과가 좋습니다. 그리고 적분기 포화 현상인 와인드업을 막기 위해서, 안티 와인드업 코드를 꼭 추가해 보시길 추천함니다. 결론을 내보자면 파라미터 변화가 큰 시스템이라먄 루프 성형 기법으로 마진을 확보하는것도, 밸런싱 로봇의 안정도 향상에 큰 도움이 되는것도 기억해주시면 좋겠내요.