brunch

You can make anything
by writing

C.S.Lewis

by Matthew Min 민연기 May 26. 2017

드론의 센서 : 가속도센서

STUDY

자이로 센서가 각속도(각도가 변하는 속도)를 측정하는 센서라면 가속도 센서는 얼마나 가속하는가를 측정하는 센서입니다. 가속도는 속도가 변하는 양입니다. 따라서 일정한 속도로 움직이는 물체는 가속하지 않기 때문에 말 그대로 가속도를 가지고 있지 않지만 속도가 변하면 변하는 양만큼의 가속도를 가지게 됩니다. 마치 우리가 달리는 자동차에서 "가속" 페달을 밟으면 더 빨리 달리 것처럼 말입니다. 사실 가만히 있는 우리는 항상 가속에 노출되어 있습니다. 모든 물체는 지구 중심으로 향하려는 중력에 의한 중력 가속도가 이것인데 높은 곳에서 공을 떨어트리는 순간은 공이 정지해 있다가 중력 가속도의 영향으로 아래로 점점 빠르게 떨어지는 것도 이 중력 가속도 때문입니다. 실제로 가속도 센서는 가만히 있어도 바닥을 향해서 9.8 m/s^2의 중력 가속도를 감지합니다.

[중력에 의해서 아래로 점점 속도가 빨라집니다]


가속도를 측정하는 방법은 여러 가지가 있지만 멀티콥터에 사용되는 가속도 센서는 압력을 가하면 표면에 전기가 발생하는 피에조 현상을 이용하거나 관성에 의해서 움직이는 부분과 움직이지 않는 부분의 사이에 저장된 전기의 양 (Capacitor)을 측정하는 방법을 사용합니다.

http://howtomechatronics.com/how-it-works/electrical-engineering/mems-accelerometer-gyrocope-magnetometer-arduino/

멀티콥터에 사용되는 자이로센서와 가속도 센서는 MEMS 기술로 작은 칩 크기로 소형화되고 저렴해졌습니다. 멀티콥터가 대중화가 된 이유가 이 저렴한 IMU (관성 측정 장치, Inertial Measurement Unit)에 있다고 해도 과언이 아닙니다. 

스마트폰에도 많이 사용되는 이 IMU는 주로 Invensense 사의 제품을 많이 사용합니다. 센서는 작은 움직임도 감지할 수 있도록 민감도가 높을수록 좋지만 가격도 높아집니다. Invensense 사의 IMU 센서 제품은 MPU6500이 민감도가 가장 높고 ICM20608, 6000, ICM20602 순입니다. 하지만 외부에서 발생하는 노이즈에 대해서는 둔감할수록 좋습니다. 외부 노이즈에 의해 가만히 있는 센서가 움직인 것으로 감지할 수 있기 때문입니다. 외부 노이즈에 대해서는 ICM20602가 가장 둔감하고 MPU6000, ICM20608, MPU6500 순으로 알려져 있습니다.
 
센서가 얼마나 자주 측정한 정보를 전달하는가 하는 것도 멀티콥터의 움직임에 크게 영향을 줍니다. FC의 제어는 조종기에서 오는 명령과 센서가 측정한 정보가 얼마나 차이가 있는지 비교해서 최적의 모터 속도를 지시합니다. 그렇기 때문에 센서에서 측정된 정보가 얼마나 빠르게 컴퓨터로 입력되는지가 멀티콥터의 속도를 좌우합니다. 각 IMU에 따른 정보 전달 속도는 다음과 같습니다.
 
- MPU6050 : 4kHz
- MPU6000 : 8kHz
- MPU6500 : 32kHz
- ICM20608 : 32kHz
- ICM20602 : 32kHz
 
IMU의 정보 전달 속도는 FC를 선택하는데 중요한 인자입니다. 예를 들어 MPU6000 센서가 사용된 FC는 위치를 측정한 정보가 8kHz의 빈도로 전달되지만 F1 FC를 선택한다면 계산을 하는 빈도가 2kHz 밖에 되지 않아 효율적으로 센서의 정보를 처리할 수 없기 때문입니다. 하늘에 떠 있는 멀티콥터는 중력뿐만 아니라 예상하지 못한 여러 가지 힘에 노출됩니다. 이런 복잡한 외력에 민감하게 반응하려면 센서와 FC가 얼마나 빨리 그리고 더 많이 계산하는지가 중요합니다.
 

https://www.invensense.com/products/motion-tracking/6-axis/

모든 센서는 그 센서가 가진 기본적인 오차를 가지고 있지만 초기에 측정되는 정보를 가지고 평균 필터 (Average Filter) 등을 사용해서 이 오차를 제거할 수 있습니다. (레이싱 드론의 경우 센서 켈리브레이션, Sensor Calibration이 바로 이 역할을 합니다) 

하지만 자이로 센서의 경우 그것만으로는 문제가 됩니다. 회전하는 속도 즉 각속도를 측정하는 자이로는 처음에 측정하는 값은 정밀하더라도 사용할수록 오차가 점점 커지게 됩니다. 예를 들어 360도 한 바퀴를 돌 때마다 0.1도 정도 덜 측정이 되는 자이로가 있다고 하면  10바퀴를 돌았을 때는 1도의 차이가 발생합니다. (0.1 x 10) 이것을 보정하기 위해 가속도 센서가 사용됩니다. 가속도 센서는 앞에서 설명했듯이 항상 중력의 영향을 받기 때문에 아무리 흔들고 돌려도 다시 중력에 영향을 근거로 처음 위치를 확인이 가능합니다. 이두가지 센서를 함께 이용하면 정확한 움직임을 측정할 수 있습니다.



더 많은 드론 이야기를 만나보세요 : FPV미니드론


작가의 이전글 드론은 어떤 방법으로 움직일까?
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari