본문으로 바로가기


안녕하세요. PEACE- 에요.

안드로이드 스터디의 [세 번째] 글이네요.

 

우리 모두 남들보다 여러 발짝 앞서가는 개발자가 되어봅시당.

 

오늘은 지난 포스팅에 이어 

ANDROID Motion Sensor 중 Gyroscope SensorAccelerometer Sensor한계점에 대해

이야기해보도록 하겠습니다.


 포스팅 목차는 다음과 같습니다.


    1. 간단한 리뷰
       2.  가속도계 센서와 자이로스코프 센서의 회전각 비교
         3.  해결 방안 모색






        # 1 간단한 리뷰

        지난 포스팅에서
        http://mailmail.tistory.com/2 :가속도계 센서 활용
        http://mailmail.tistory.com/3 :자이로스코프 센서 활용

        다음 포스팅
        http://mailmail.tistory.com/10 :안드로이드 자이로스코프 센서와 가속도계 센서를 이용한 상보필터 적용

        스마트폰의 [가속도계 센서를 이용해 회전 각을 구하는 과정]
        [자이로스코프 센서를 이용해 회전 각을 구하는 과정]에 대해 공부했습니다.

        하지만 두 과정에서 각각 문제를 가지고 있다는 점을 언급했습니다.
        간단하게 REVIEW를 해보자면

        첫 째, 가속도계 센서를 통해 얻어진 회전각은 가속도의 영향을 받아 빠른 회전이나 할때 회전각 값이 크게 벗어나는 현상이 발생한다.
        두 번째, 자이로스코프 센서를 통해 회전각을 구할때 적분을 한다. 하지만 적분 과정에서 작은 오차가 생기고 시간이 지나면서 측정 횟수가 많아질수록(=적분을 할 수록) 적분 오차가 쌓여 값이 한 쪽으로 드리프트(이동)한다.

        그럼 두 센서의 측정 회전각을 비교해보자.







        # 2 가속도계 센서와 자이로스코프 센서의 회전각 비교
         
         



        [그림 1] 가속도계 센서와 자이로스코프 센서의 회전각 비교

        위 그래프는 앞서 공부한 두 모션 센서의 회전각(Pitch) 비교이다.
        동시에 같은 움직임을 했다.

        파란색 가속도계 센서의 회전각을 보면 역방향 회전을 시도할 때 마다 
        자이로스코프 센서 보다 득쑥날쑥한걸 알 수 있다. 하지만 측정 횟수 245부분에서와 같이
        다시 원래 상태로 돌아왔을때 회전각은 그대로 0이다.
        = 움직이면서 값이 튀는 현상이 발생하지만 시작과 끝이 일정하다.

        빨간색 자이로스코프 센서의 회전각을 보면 움직이는 동안의 회전각은 비교적 안정되지만
        측정 횟수가 약 245인 부분에서 가속도계와 비교했을때 0이 아닌 25정도의 값을 유지하는 것으로 보인다.
        이는 앞서 설명한 적분 오차가 쌓여 발생한 드리프트 현상이다.
        = 회전각을 구하면서 드리프트 현상이 나타나지만 움직이는 동안 회전각의 변화는 안정적이다.

        이를 해결하기 위해서는 어떻게 해야할까?







        # 3 해결방안 모색

        그래서 우리가 원하는건 올바른 회전각을 얻어내는 일이다.
         
        두 센서에서 나타는 현상을 보면서 장점과 단점이 두드러지게 나타나는 것을 알 수 있다.
        그렇다면 두 센서의 장점을 결합하는 방법을 찾아보는건 어떨까?

        다음 포스팅에서는 1차 상보필터를 통해 간단하게 두 센서를 융합하여 회전각을 보정하는 방법을 다루겠습니다.










        댓글공감은 환영입니다.