[아두이노 드론] PID에 대한 아~주 간단한 추가설명
안녕하세요 와이엔지니어스입니다.
오늘은 PID에 대해 정말 간단하게 써볼까 합니다.
이전에 PID에 대해 포스팅을 한번 했었는데 (http://yngneers.tistory.com/5)
미분, 적분 이런 말들이 들어가니까 처음 들으시는 분들은 헷갈려하시더라구요.
그래서, 그러한 말을 다 제외하고!!! 한번 설명해볼까 합니다.
에러 = 목표값 - 현재값
우선, 제어를 할 때 자주 볼 수 있는 용어가 하나 있는데요. 바로 에러입니다.
에러는 쉽게 말하면 시스템의 상태를 나타낼 수 있는 변수 (거리, 속도, 가속도 등)의 목표값 - 현재값이라고 보시면 되요.
그리고 에러는 목표값에 도달할 수 있도록 더하거나 빼주는 보정값의 기준이 됩니다.
e(t) = x,target (t)-x(t)
P 제어
이해하시기 쉽게 예를 하나 들어볼게요.
저희가 드론을 특정 속도로 날리고 싶어서, 그 속도에 해당하는 명령어를 입력했어요.
하지만 여러 요인 (외란 등 모델링시 반영하지 못한 여러 요인들이 많겠죠?) 에 의해서
실제 속도는 목표속도에 도달하지 못했다면 이를 보상하기 위한 보정 term이 필요하겠죠?
그렇기에 아래와 같이 에러값에 비례한 보정 term을 추가해줍니다.
목표 속도 = 실제 속도 + Kp * (목표 속도 - 실제 속도)
= 실제 속도 + Kp * e(t)
이게 바로 P 제어입니다! 쉽죠?
D 제어
추가로 에러가 줄어드는 속도 (목표에 도달하는) 또한 제어를 하면 좋을텐데요.
그렇기에 이번에는 e'(t) (에러가 줄어드는 속도)에 비례한 보정 term을 추가합니다.
목표 속도 = 실제 속도 + Kp * e(t) + Kv * e'(t)
그리고 이게 D 제어에요.
I 제어
이렇게 보정을 해주더라도 실제로 외란 등 모델링에 반영되지 못한 에러들이 남아있을 수 있어요.
이런 여전히 남아있는 작은 에러놈(?)들을 누적시켜 보정해주기 위한 것이 아래 빨간줄로 표시된 I term입니다.
그리고 위에 세가지 보정 방법을 지칭하는게 PID 제어입니다.
쉽게 설명한다고 했는데, 도움이 되셨나요??
도움이 되셨길 바라며, 좋은 밤 되세요!!!
'아두이노 드론 프로젝트' 카테고리의 다른 글
[아두이노 드론] 드론 역학 - 힘 (0) | 2017.03.14 |
---|---|
[아두이노 드론] I2C (Inter Integrated Circuit) 통신 1부 (0) | 2017.02.12 |
[아두이노 드론] 변속기 연결작업 및 배선 정리 (0) | 2017.01.21 |
[아두이노 드론] 변속기 교체 후 PID 제어 영상 (0) | 2017.01.21 |
[아두이노 쿼드콥터] 부품 고장 (1) | 2015.12.07 |