본문 바로가기
드론

지글로 니콜스(Ziegler-Nichols)방법으로 드론 PID 튜닝하는 과정

by 지민재 2022. 10. 6.
반응형
SMALL

우리는 드론을 제어하기 위해 PID 제어기를 사용하게 된다.  PID 제어기에서 우리가 결정하는 것은 Kp,Ki,Kd 매개변수 값이 된다. 이 값들을 얻어 내면 드론을 안정되게 띄울 수 있다. 

Kp,Ki,Kd 를 증폭 값 또는 게인이라고 한다. 그리고 적절한 증폭 값을 수학적 혹은 실험적-경험적 방법을 통해 계산하는 과정을 튜닝(tuning)이라고 한다. PID 제어기의 튜닝닝에는 여러가지 방법이 있다. 필자는 그중에서 가장 널리 알려진 Ziegler-Nichols 으로 튜닝을 하였다. Ziegler-Nichols 방법은 경험적으로 PID 제어기를 조절하는 방법이다.

 

 

표에 의하면  Ku 와 Tu 값을 얻을 수 있다면 또한 우리는 적절한 Kp,Ki,Kd 의 값을 얻을 수 있다. Ziegler-Nichols

방법은 Ki,Kd 증폭 값을 0으로 설정하고, Kp 증폭 값을 0부터 시작해서 최대 증폭 값(Ku)에 도달할 때까지 증가시킨다. 

최대 증폭 값(Ku)이란 시스템의 출력 값이 일정한 진폭으로 진동하는 시점의 Kp값을 말한다. 그리고 이 시점의 진동 주기가 Tu가 된다. Ku 와 Tu 값을 구했다면, 사용되는 제어기의 형태에 따라 Kp,Ki,Kd 증폭 값을 설정 할 수 있다. 

 

이 그림은 Ziegler-Nichols 방법을 이용하여 온도 제어를 위한 적절한 Ku 와 Tu 값을 덛기 위한 과정을 보여준다,

 

빨간색 화살표 구간에서는 시스템의 출력 값이 수렴하는 구간에서는 Ku 값을 나타낸다. 우리가 원하는 값이 아니다.

파란색 화살표 구간에서는 시스템의 출력 값이 발산하는 구간에서의 ku값을 나타낸다. 역시 우리가 원하는 값이 아니다.

초록색 화살표 구간에서는 시스템의 출력 값이 일정하게 진동하는 구간에서의 Ku값을 나타낸다. 바로 우리가 찾던 Ku값이다. 그리고 이 파형의 주기가 바로 우리가 찾던 Tu 값이다. 

 

이제 Ziegler-Nichols 방법을 이용하여 드론의 값을 찾는 과정을 소개하겠다. 

 

KakaoTalk_20221005_175752852.mp4
10.31MB

 

첨부 파일에 들어간 영상을 보면 60초간 흔들리는 횟수를 측정한다. 필자의 경우 60초간 80번 진동하였다. 

60초/80번=0.75 값이 Tu 값이 된다. 

 

Throttle : 100

Ku : 0.88 

Tu : 0.75

 

이 때의 P, PI , PID 의 Kp, Ki, Kd 를 아래 표를 통해 계산하면 된다. 

 

 

'드론' 카테고리의 다른 글

Roll, Pitch, Yaw 대한 MPU-6050 센서  (0) 2022.10.05
드론용 모터와 일반 모터  (0) 2022.10.05
호버링 필요한 센서들  (0) 2022.10.05
광학위치인식센서(Optical flow sensor)  (1) 2022.10.05
PID 개념  (0) 2022.09.14

댓글