Quadrotor20132013.09.29 17:41

상보필터 센서 융합에 관한 글을 적다가 센서 설명하는 부분이 길어져서 아예 따로 포스팅하려고 합니다 ㅋ


쿼드콥터의 자세를 측정하기위해 센서가 필요한데, roll, pitch, yaw중 roll, pitch를 측정하기 위한 센서인 가속도, 자이로센서에 대해 포스팅하겠습니다. yaw는 지자기센서가 있어야 정확한 측정이 되므로 제외하구요 ㅋ


roll, pitch, yaw를 모르신다면 이전 포스팅을 참고하시구요. - 쿼드콥터 동역학 모델링_1(기본원리)




가속도 센서는, --------------------------------------------------------------------------------------


말그대로 가속도를 측정하는 센서입니다. 가만히 고정되어 움직이지 않는 상태라면 센서에 중력 가속도만 작용하는 상태겠죠. 그럼 그 중력 가속도를 x, y, z축 벡터 세개로 나누어서 수치로 크기를 표현해줍니다. MPU6050같은 경우는 각 축에대해 -16383~16383까지의 값이 있네요. 딱 부호있는 16비트네요

밑의 그림을 참고하시면 도움이 되실거 같습니다. (회색 상자가 센서입니다)

 



 


하지만 중력가속도 g뿐만이 아니라 다른 외력에도 너무 민감하다는게 단점입니다. 다른 글에는 병진 운동에 취약하다 라고 되어있는데 이해를 돕기위해 좀 극단적인 예를 하나 들어보면 위 그림의 센서가 자유낙하 하고 있는 경우(공기저항무시) g가 0이겠죠? 그럼 센서가 아무리 기울어져 있어도 측정이 안될겁니다. 이처럼 센서의 회전이 아니라 이동에 취약하고 더 나아가 진동에도 약한 단점이 있습니다. 진동을 변위가 작은 이동이라고 보면 되겠네요. 하지만 두번째 그림인 상태에서 아무리 센서를 흔들고 던지고 회전시킨다음에 다시 두번째 상태로 돌아오더라도 흔들기 전과 후의 값이 같다는 특징이 있습니다. 


출력값을 보시면, (가속도센서값을 roll로 변환한 후 출력)


제가 손으로 임의로 실험한거라 손노이즈(?)도 있는거 같은데 여기서 주의깊게 보실 점은 구불구불한 노이즈들(밑의 자이로출력과 비교해보세요)과 멈췄을 때 값이 일정하게 유지된다는 것입니다.


정리하면 가속도 센서는 노이즈가 심하고 움직임의 값이 왜곡될 수 있지만(=부정확하지만) 시간이 지나도 오차가 누적되지 않는다.


자이로센서는, --------------------------------------------------------------------------------------


가속도센서와는 다르게 각속도를 검출하는 센서입니다. 선속도와 각속도의 차이, 속도와 위치의 관계를 안다는 가정 하에 설명할게요~


 


그림그리기가 좀 힘드네요..;; 위 그림에서 빨간선과 파란선의 각도의 변화량을 x, y, z축 각각의 변화량으로 표현해줍니다. 즉, 아무 움직임도 없다면 x, y, z축 값이 모두 0이라는 거죠. 여기서 중요한 점은 각 속도이기 때문에 기울어진 각도(위치)를 구하려면 적분을 해줘야한다는겁니다. 


출력값을 보시면, (자이로센서값을 roll로 변환한 후 출력)


위의 가속도센서 출력값과 같은 구간입니다. 처음보시는 분들은 가속도센서값이 더 정확해 보이시겠지만 자이로센서값이 실제 제 손 움직임과 더 비슷합니다. 다만, 계속 밑으로(마이너스 쪽으로) 발산해 가는데 이것이 자이로센서가 가진 단점입니다. 계속 적분하는 과정에서 센서의 노이즈도 같이 적분되기 때문에 이렇게 드리프트가 생기더라구요. 


정리하면, 자이로 센서는 실제 값과 비슷하지만(=정확하지만) 누적오차가 발생한다.


자 여기서, 가속도 자이로 값으로 같은 현상(roll, pitch같은)을 측정할 수 있지만 서로 장단점이 있다는걸 알 수 있죠, 그리고 서로의 단점이 상대의 장점이 된다는것도요


이 두 센서의 장점을 합치면 아래 그림의 파란색처럼 됩니다.



이걸 합치는 상보 필터에 대해 다음에 포스팅 하겠습니다.





저작자 표시 비영리 변경 금지
신고
Posted by 너를위한노래