본문 바로가기
SSM/쿼드콥터

[쿼드콥터] Gain (이득) 에 관해서 (Roll, Pitch)

by 우툴 2016. 1. 14.
728x90

이득의 특징

 제어를 하면서 가장 중요한 것이 어찌보면 이득을 설정해 주는 것이다. 이득이 적당하지않고 너무 크거나 작아져 버린다면 우리가 원하는 동작이 이루어지지 않고 예상과 다르게 동작할 수 있을 것이다. 

 이러한 이득의 특징 중 하나는 이득은 무차원의 값이 아니라는 것이다. 즉 이득에도 단위가 존재한다는 것이다. 이것이 어찌 보면 매우 중요한 특징이라고 할 수 있다. 나 같은 경우에는 처음 이득이 무차원값이라고 잘못 생각해서 계산이 흐름이 이어지지 않아서 고생을 많이 했다. 하지만 이득 자체에도 단위가 있기 때문에 각도의 오차에서 이득을 곱하는 것 만으로도 각속도가 나오는 것이 

 그렇다면 이 이득 같은 경우를 어떻게 구하느냐?? 그것이 어찌보면 가장 큰 문제일 수 있다. 원래 이론대로면 전체적인 블록 함수의 전달함수를 가지고 Rlocus를 가지고 구할수 있다. 그래서 보통 Rlocus로 이득의 기준을 가지고 그 기준의 값에서 조금씩 변화를 주면서 실험적으로 이득값을 구하는 것이다. 어찌보면 이게 가장 보통적이고 이론적으로 접근하는 이득을 구하는 과정이다만 이렇게 구하기 위해서는 플랜트의 전달함수를 구할 수 있어야 한다. 하지만 이 플랜트의 전달함수를 구하는 과정은 아무리 간략화를 한다고 하지만 매우 어려운게 사실이다. 왜냐하면 쿼드콥터의 동역학적 해석이 완료되어야하기 때문이다. 

 그렇기에 보통 나와 같은 사람들의 이득을 구하는 접근 방법은 실험일 수 밖에 없었다. 나 같은 경우는 이미 알려진 블록선도를 이용해서 내부루프의 Kd 의 이득값 같은 경우는 Rlocus로 기준을 잡았다. Rlocus 같은 경우는 Matlab을 이용하여서 그렸다. 이 부분은 조금만 찾아보시면 금방 나올 것이다. 그렇게 잡은 Kd의 기준값은 0.0435를 주었다. 

나머지 이득인 Kp와 Ki 같은 경우는 끊임없는 실험을 통해서 

 이득을 구하기 위한 실험

 이득을 구하는 실험같은 경우는 이득의 특징을 잘 알아야지 조정하는데 개인적으로 하면서 느낀 이득들의 특징들을 설명하자면 

Kp 같은 경우는 진동과 연관이 있어보였고

Kd 같은 경우는 반응속도랑 연관이 있어보였고

Ki 같은 경우는 정확도랑 연관이 있어보였다.

 그리고 이 값들이 너무 과하게 준다면

Kp 같은 경우는 무한 진동 (수렴을 못한다) 하는 것을 보았고

Kd 같은 경우 너무 민감해 져서 쿼드콥터가 가만히 있지 못했고

Ki 같은 경우는 반응속도가 굉장히 느려지는 것을 볼 수 있었다.

그래서 이 값들의 적당한 값을 찾는게 중요했었는데 그러한 과정은 역시 무한 실험의 노가다 밖에 없었다. 이득을 맞춰가는 순서는 뒤죽박죽이긴 했지만 크게 보면 Kd를 먼저 찾고 그 후 Kp 마지막으로 Ki를 찾았던거 같다.

 실험같은 경우는 위의 그림같이 쿼드콥터를 무게중심에 쇠 꼬챙이로 고정시킨뒤에 모터의 출력을 높이고 내가 직접 손으로 외란을 주면서 얼마나 자세제어를 빠르게 안정적으로 찾아가는지 눈으로 보면서 실험하였다.

 구한 이득값

Kp = 4.8 (rad/s) / rad

Ki = 0.06 (N-m) / rad

Kd = 0.035 (N-m) / (rad/s)

Roll, Pitch는 대칭이라 생각하고 같은 이득값을 주었습니다.

 실험 동영상

 실험 동영상을 많이 찍었었는데 사진 업로드를 하는 과정에서 구글 포토에서 알아서 짜집기 해준 동영상이 있길래 그걸 올린다.


728x90

댓글