짐벌과 FC의 PID 제어

앞 선 글에서는 PID 제어에 대해서만 적었는데 사실 짐벌 세팅의 절반은 무게 중심 잡기에 있다고 해도 과언이 아닙니다(나머지 절반이 PID 세팅입니다). 허공에 떠 있는 모든 물건은 중력의 지배를 받습니다. 땅으로 떨어지려고 하지요. 그런데 “수직으로 세운 바늘 하나 위에 어떤 물건을 올려야 한다”라는 과제가 주어진다면 눈에 불을 켜고 찾아야 하는 것이 무게 중심입니다.

즉, 짐벌에 전원이 들어가서 모터가 자세를 바로 잡지 않아도, 무전원 상태에서도 카메라가 좌우, 앞뒤, 위아래 여섯 방향에 대해서 직각을 유지하며 앞을 바라보아야 한다는 것이지요. 그렇지 않을 경우 두가지 악영향이 있습니다. 카메라가 정면(0도)에서부터 고개를 숙여서 아래로 90도까지 틸트(피치) 제어를 한다고 가정하겠습니다. 이 경우,

첫번째 악영향은, 무게 중심을 잘 못 잡아서 정면을 보고있는 0도 각도에서 앞이 무거워서 자꾸 고개가 숙여질 경우 그것을 잡아 빳빳하게 버티기 위해서는 모터가 계속해서 힘을 주고 있어야겠지요. 사실 모터는 돌기 위해 태어난 놈입니다. 그런데 짐벌에서는 돌지말고 버텨라는 명령을 모터에게 내린 상태입니다. 모터는 태생적으로 돌고 싶은데 명령이 돌지 말고 버텨라면 열받는 일이고 돌아버리지 않겠습니까? 그래서그 결과는 실제로 모터가 열 받습니다^^

두번째 악영향은 그래도 모터가 힘이 있으면 열이 날지언정 버티는데 기체가 뒤로 숙여져서 짐벌이 기체랑 아래로 45도 각도를 이루면 그때 모터가 견뎌야 하는 힘이 최대가 됩니다. 중학교 때 배운 벡터를 생각하시면 됩니다. 0도에서 44도까지는 그나마 세팅해 놓은 무게 중심이 모터를 도와줍니다. 46도부터 90도까지는 중력이 모터를 도와줍니다. 하지만 45도 각도에서는 세팅해 놓은 무게 중심은 손을 놓아 버리고 오직 중력만이 최대로 작용하게 됩니다. 그 모든 중력을 모터가 견뎌야 합니다. 그래서 짐벌 세팅하다가보면 짐벌을 들고 이리저리 기울이는 와중에 대체로 잘 잡아주다가도 45도 근처만 가면 벌벌떠는 현상을 발견 할 수 있습니다. 야구 방망이를 90도로 세워서 들고 있으면 덜 무거운데 팔을 앞으로 쭉~ 뻗어 지면과 평행하고 들고 있으면 더 무거운 것을 생각하시면 되겠네요. 짐벌도 역시 그 상태에서 최대의 무게를 감당해야 합니다. 그렇지 않아도 45도에서 최대의 무게인데, 무게 중심까지 안 맞을 경우에는 앞으로 쏠리는 무게까지 더해져서 한층 더 짐벌이 힘겨워 하는 것이지요.

이제 PID 제어에 대한 기본 개념을 익혔으니 짐벌의 경우를 예로들어 이것을 똑 같이 FC에 적용해 볼까요.

여기서 잠깐, 아직도 FC와 GCU(짐벌 컨트롤러)가 전혀 다른 장비라는 생각이 드시는지요? 그렇다면 아래의 두 표현을 보시기 바랍니다.

– FC는 원하지 않는 외부의 영향에 반응하여 기체의 자세를 잡아주는 장치이다.
– GCU는 원하지 않는 외부의 영향에 반응하여 카메라의 자세를 잡아주는 장치이다.

어떤가요? 다만, FC는 GCU와는 다르게, 현재 떠 있는 높이도 알아야 하고, 위치도 알아야 하고, 동서남북의 방향도 알아야 하고… 그러기 때문에 좀 더 많은 기능들이 달라붙어 있는 것뿐 입니다. 두 장치는 형제까지는 아니더라도 사촌지간 정도는 됩니다. 그래서 NAZA를 만드는 DJI가 젠뮤즈도 만드는 것입니다. 실제로 NAZE32의 경우 FC로도 사용 할 수 있지만 짐벌 컨트롤러로도 사용 할 수 있습니다. 다만 그 크기로 인하여 센서를 부착할 장소가 마땅치 않다보니 사용이 쉽지 않은 것 뿐이지요.

FC 메뉴에도 PID 세팅이 있습니다.
각각의 숫자 값에 무엇을 어떻게 건드려야 할지 막막하기만 하지요.
이제 기본 개념을 알았으면 그대로 적용하면 됩니다.

– P값은 기체의 자세를 신속하게 잡아줍니다. 다만 과도하게 높을 경우 폭이 크고 눈에 보일 정도로 기체가 기우뚱 기우뚱을 반복하는 저주파 진동이 발생합니다. 예를들어 Roll의 P값이 너무 높으면 기체가 좌로 기울었다 우로 기울었다를 반복합니다. Pitch의 P값이 너무 높으면 앞으로 기울었다 뒤로 기울었다를 반복합니다. Roll과 Pitch 모두 P값이 높으면 기체가 지랄발광을 합니다^^

– I값은 P값으로는 더 이상 보정되지 않는 잔류편차를 누적하였다가 보정합니다. I값이 너무 낮으면 잔류편차가 한참이나 누적되어야 보정이 이루어지므로 신속한 보정이 안되고, 너무 높으면 역시 오버슈트(과보정)를 발생 시킵니다.

– D값은 과도 보정 없이 목표값에 도달할 수 있게 해 줍니다. D값이 너무 높으면 눈으로는 거의 보이지 않는 고주파 진동이 발생합니다. 손을 대면 굉장히 빠른 미세 진동을 느낄 수 있습니다. 영상을 촬영했을 때 워블링, 젤로 같은 현상이 나타나서 온갖 방진 대책을 다 써 봐도 효과가 없다면 D값이 범인일 가능성이 높습니다. 이때 D값을 줄여주면 효과가 있습니다.

PID 세팅의 기본은 “진동이 발생하기 시작하는 직전까지 값을 올린다” 입니다. 그렇게 세팅을 하면, 그 느낌을 표현하기 참으로 어려운데… 굳이 언어적으로 표현하자면 “물렁물렁 하지 않고 단단하게 잡아 준다”는 느낌을 받게 됩니다.

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
오래된 글부터 보기
새 글부터 보기
Inline Feedbacks
View all comments
error: Content is protected !!
0
Would love your thoughts, please comment.x