[아두이노 자작 쿼드콥터]PID 제어 수식 유도

Posted by Doony
2015. 11. 1. 01:05 아두이노 드론 프로젝트

지금 올리는 포스팅은 예전에 올린 [아두이노 자작 쿼드콥터]PID 제어 글에 대한 부연 설명입니다. (나그ㄴ 님 궁금증 해소에 도움이 되면 좋겠네요!)


이렇게 나타낼 수 있는 discrete한 형태의 PID 식을 간단한 수식 전개를 통해 

저희가 코드에서 사용하는 형태로 바꿔보겠습니다.



빨간색으로 표시되어 있는 식은 위에 적혀있던 식과 동일한 식들이구요. 왼쪽 식이 P, 중간에 위치한 식이 I, 오른쪽 식이 D에 해당합니다. 이 식들을 n-1번째 m이 들어가 있는 형태로 바꿔보겠습니다. 

 

가운데 있는 I 식의 경우 n-1번째 m값이 이미 수식에 들어가 있기에 식을 따로 전개할 필요가 없겠네요. 나머지 식 또한 n을 n-1로 바꾸면 됩니다. 간단하죠?


그리고 기존에 있던 식에서 방금 적은 식들을 뺍니다. 

이렇게 하면 다음과 같이 식이 정리가 됩니다.




그리고 위 식에서 n번째 error, n-1번째 error, 그리고 n-2번째 error로 묶어서 정리하면 위 그림의 마지막 식처럼 정리될 수 있는 것이죠. D에 해당하는 식 때문에, 실제 PID 계산을 할 때 n번째 error 값뿐만 아니라 n-1번째와 n-2번째 error 값 또한 알아야 하겠네요! 


저 괄호에 있는 값들이 저희가 코딩에 사용하는 G1, G2, G3입니다.


수식 유도에 대한 포스팅은 여기서 마치시겠습니다.