◇안 어려워요
짐벌(gimbal). 아무리 손을 파르르 떠는 사람일지라도 카메라는 흔들림 없게 해주는 보조 장치.
그래서 처음 본 사람은 최첨단 기술을 맛본 것 같아 ‘오오오오~’를 외칠 수밖에 없게 하는 마법의 장치. 이걸 의자에 껴보겠다는 아이디어는 두 쾌남이 만나 멋짐이 폭발하며 탄생했습니다.
태정태세 PD: 제가 얼마 전에 배를 타고 낚시를 해봤는데 배가 너무 흔들려서 서 있을 수가 없더라고요. 그래서 짐벌 의자를 만들어 보는 건 어떨까 생각해봤어요. 이름하여 밸런싱 체어.
(훗, 나는 언제 어디서든, 일하는 시간이든 노는 시간이든 아이디어를 창출하는 워커홀릭이지)
민바크 메이커: 와우, 재밌겠네요. 한번 만들어 볼게요.
(훗, 결국 창조는 나의 몫이군. 여기 이과 등판이요. 나의 빛나는 납땜을 지켜보라고)
‘아폴로 프로그램’에도 사용된 자세제어 기법
짐벌을 응용할 것이니 짐벌이 어떻게 움직이는지 먼저 알아야겠습니다. 짐벌의 작동 원리는 촬영자가 움직이는 것과 정확히 반대로 카메라를 기울여 평형 상태를 유지하는 것입니다. 가령 손을 아래쪽으로 꺾으면 카메라는 위쪽을 바라보게 하고, 손을 오른쪽으로 틀면 카메라는 그만큼 왼쪽으로 고개를 돌리게끔 하죠.
이런 작업을 수행하기 위해서는 크게 두 가지가 필요합니다. 첫 번째는 카메라의 움직임을 인지하고 이를 토대로 구동 장치에 다음 동작을 명령하는 기능이고, 두 번째는 구동 장치가 명령을 받은 대로 움직이는 우수한 성능입니다.
첫 번째 기능, 즉 인지와 명령은 세 가지 과정을 거쳐 이뤄집니다. 먼저 움직임을 인지하기 위해 관성측정장치, 흔히 IMU(Inertial Measurement Unit)로 불리는 센서를 사용합니다. IMU는 거의 모든 스마트폰에 탑재된 센서이기도 합니다. 스마트폰을 90도 회전시키면 화면이 가로로 전환되는데, 이때 IMU가 스마트폰의 움직임을 인지하는 것이죠.
IMU는 3축(X축, Y축, Z축) 가속도 센서와 3축 자이로 센서로 구성돼 있습니다. 가속도 센서는 X-Y-Z의 세 개 축을 기준으로 물체가 얼마나 가속하고 있는지를 감지하고, 자이로 센서는 물체의 회전하는 속도(각속도)를 측정합니다. 두 센서가 측정한 값을 상호보완해, 최종적으로 물체가 어느 방향으로 몇 도만큼 기울어졌는지 계산해내죠.
다만 짐벌은 단순히 조금 전의 움직임을 측정하는 데 그치면 안 됩니다. 카메라가 기울어진 다음에 카메라를 세우면 이미 늦습니다. 기울어지는 것과 동시에 자세를 제어해야 짐벌의 기능을 할 수 있습니다. 그래서 카메라의 바로 이전 움직임을 토대로 바로 다음 움직임을 예측하고 먼저 움직여야 합니다. 이를 위해 칼만 필터라는 알고리즘을 활용하는 두 번째 과정을 거칩니다.
칼만 필터는 IMU가 측정한 값을 이용해 바로 그다음의 움직임을 추정하는 알고리즘입니다. 1960년을 전후해 처음 개발돼 미국항공우주국(NASA)의 달 탐사 프로젝트였던 ‘아폴로 프로그램’에도 적용된 알고리즘이죠. 지금도 위성위치확인시스템(GPS), 주식 예측 등 확률 기반으로 현재 또는 다음 상태를 예측해야 하는 곳에 널리 사용되고 있습니다.
이렇게 카메라의 현재와 바로 다음 움직임까지 예측하면 구동 장치에 명령을 내리는 세 번째 과정이 남아있습니다. 여기에는 PID 제어라는 자세제어 기술이 적용됩니다. PID는 비례
(Proportional), 적분(Integral), 미분(Derivative)의 앞글자를 딴 용어로, 이 세 가지 연산을 이용해 구동 장치가 어떻게 움직이면 될지 판단합니다. 자세제어 기술로는 가장 기본적인 기법입니다.
PID 제어의 핵심은 ‘우선 목표 위치에 빠르게 진입하고, 그다음에 정확한 위치를 세밀히 조정하는 것’입니다. 예를 들어 카메라가 Z축으로 10도만큼 기울어진다고 예측되면, 구동 장치는 그와 반대 방향으로 10도만큼 빠르게 움직여 카메라의 평형을 유지합니다. 물론 한번에 10도만큼 회복되지 않고 조금 더 기울였거나 덜 기울이는 오차가 발생합니다. 이렇게 발생한 오차는 적분과 미분 연산을 통해 조금씩 줄여나가면서 원하는 목푯값에 서서히 도달하는 것이죠.
민바크 님이 특별 초빙한 메이커 잭키 님은 이런 짐벌의 원리를 의자에 맞도록 설계했습니다. 그에 맞춰 IMU와 아두이노 보드 등 전자 부품들을 조립하는 건 납땜의 멋짐을 아는 민바크 님의 몫입니다.
세 개의 220V 구동모터가 평형 유지
짐벌의 첫 번째 기능을 할 뇌를 완성했으니, 이제 두 번째 기능을 수행할 팔과 다리를 만들 차례입니다. 핵심은 모터입니다. 파도를 만난 낚싯배가 우당탕탕 움직일 때도 밸런싱 체어에 앉은 사람만은 평온함을 유지할 수 있도록 모터가 빠르고 힘있게 움직여야 하기 때문입니다.
한국 성인의 평균 몸무게가 65kg이라고 하니(긱블에서 65kg인 사람 손?), 이를 자유자재로 떠받치기 위해서는 모터의 출력도 강해야 할 것 같습니다. 평소에 긱블은 40V 이하의 모터를 주로 사용했는데, 이번에는 220V의 고전압 모터를 처음 사용해보려고 합니다.
각종 기계장비가 총집합해있다는 서울 청계천에서 모터와 함께 직류전원을 교류전원으로 변환해주는 인버터, 모터가 회전해 만든 운동에너지를 의자로 전달하는 감속기까지, 총 세 세트를 구매했습니다. 한 작품에 쓰기에는 상당히 고가인 150만 원이 들었습니다. 하지만 결제는 일시불로 했습니다. 역시 쾌남의 플렉스.
이제 이 모든 것을 조립하는 일만 남았습니다. 의자 아래를 받칠 알루미늄 상판은 특별 제작을 의뢰해 주문했고, 맨 아래 모터를 받칠 하판은 잭키 님이 직접 스틸 각파이프를 용접해 만들었습니다. 용접은 처음이라 곳곳에 구멍이 송송 나기도 했지만, 작품 완성도에는 별 영향이 없었다고 합니다(응?).
조립까지 마치고 최종 시연회의 차례입니다. 이번 최종 시연회는 당연히 낚싯배 위에서 하기로 했습니다. 배를 빌리는데 또 40만 원의 쾌남 플렉스가 발동됐습니다(차누 대장 오열). 그렇게 긱블 식구 전체가 강릉에 도착했습니다. 네 명의 긱블러가 힘을 합쳐 밸런싱 체어를 배에 실어 올리고 바다로 출발합니다. 뿌뿌.
아차, 그런데 미처 밸런싱 체어를 배에 결착하지 않았습니다. 배를 돌리기에는 이미 늦었습니다. 흔들리는 배 위에서 낑낑대며 겨우 결착합니다. 거친 풍랑에 맞선 어부의 사투를 간접 체험해 보는 좋은 기회였습니다.
드디어 밸런싱 체어의 첫 실전. 작동 실행 버튼과 함께 추가로 장착한 음성 안내 스피커에서 준비가 완료됐다는 소리가 흘러나옵니다. 차누 대장을 비롯해 긱블 식구들이 순서대로 체험을 해봅니다. ‘배의 흔들림에 맞게 모터가 돌아가면서 의자가 평형을 유지해 꽤 안정감 있었다’는 소감이 줄을 잇습니다. 어쩐 일로 긱블의 작품에서 실용성의 냄새가 나니 조금 어색합니다. 자, 이제 쾌남 민바크 님의 목표는 제작 동영상 조회수 300만입니다. 도와주시죠. 쾌남의 플렉스가 계속될 수 있도록.