가속도계
중력 가속도를 3축으로 성분을 분해하여 각 축의 크기를 표시하는 것을 가속도계라고 합니다.
움직임의 변화에 따른 가속도의 변화를 순간적으로 탐지하는 이 가속도계는 가속도를 적분하여 물체의 진행 방향으로서의 속도를 계산할 수 있습니다.
가속도계는 기울기에 따라 측정 가속도값이 변화하며 수직 하방으로 물체는 중력가속도(-g)의 힘을 받습니다. 정지된 상황에서도 중력 방향을 작용하는 힘을 계산하여 각 축의 방향으로 기울어진 각도를 계산할 수 있습니다.
물체가 정지하여 있을 경우 방향이 기울어져 있을 때 중력 방향으로 G의 힘이 작용하여 아크탄젠트 계산을 통해서 각도를 알 수 있습니다. 하지만 물체가 움직일 경우, 가속도계만으로는 가속도 값을 구분하기 어려우므로 각속도센서를 사용합니다.
자이로스코프
3축의 물체의 회전 변화량인 각속도를 측정합니다. 중력을 이용해 코리올리 힘을 측정합니다.
각속도 : 특정 축 기준으로 초당 회전 각도
코리올리 힘 : 회전하는 축에서 직선 운동이 발생할 때, 물체의 경로가 휘어져 보이게 만드는 힘입니다. 물체의 운동이 직선에서 벗어나 회전 방향에 대해 오른쪽 혹은 왼쪽으로 휘게 보이는 것
각속도를 통해 기울어진 각도를 구하기 위해선 각속도 측정을 전체 시간에 걸친 적분을 하면 됩니다.
IMU
IMU = 가속도 센서 + 자이로센서(각속도 센서)
3축의 가속도계 + 3축의 각속도계로 이루어져 있습니다.
3축 가속도계(X, Y, Z)
- X, Y, Z축은 물체의 선형 가속도 측정
- X축 : 물체의 전후 가속도 측정
- Y축 : 물체의 좌우 가속도 측정
- Z축 : 물체의 상하 가속도 측정
3축 각속도계(X, Y, Z)
- 물체의 회전 운동 측정
- X축 회전 : 물체의 전후 방향 회전 (Roll)
- Y축 회전 : 물체의 우 방향 회전 (Pitch)
- Z축 회전 : 물체의 상하 방향 회전 (Yaw)
두 가지 센서의 결합으로 물체가 어떻게 움직이는지, 자세, 속도, 가속도를 정확하게 파악이 가능합니다.
matplotlib을 통해 가속도계와 각속도계의 데이터를 임의로 시각화를 해본 것입니다. 회전 각도 방향으로 파란색 선에서 가속도계 기반으로 해서 손의 이동 동작을 나타낸 것이며 빨간색 화살표에서는 자이로센서의 손의 회전 방향을 나타내는 것으로 이는 각속도를 적분하여 얻은 회전 각도를 바탕으로 수집한 것입니다.
이처럼 자이로센서의 각속도를 적분해서 각도를 만드는 것은 시간 변화량에 현재 각속도를 곱해서 만듭니다.
rad/s는 radian per second로 1초당 몇 라디안의 회전속도를 가지느냐라는 개념입니다. 자이로스코프의 값의 단위에서는 이렇게 라이단의 값으로 x, y, z축이 나올 수도 있습니다.
자이로 센서값 이용한 회전각도
- 속력 = 거리 / 시간 -> 각속도 = 회전각도 / 시간
- 속력 * 시간 = 거리 -> 각속도 * 시간 = 회전한 각도
이 공식에 따라 단위 시간동안 측정된 각속도를 이용하여 회전한 각도를 누적 적분하면 회전한 각도를 구할 수 있는 원리입니다.
-각속도 × 시간 간격(dt) = 각도 변화
-이 각도 변화를 계속 더하면 누적된 회전각도를 얻게 됩니다.
'IT 프로그래밍 > AI' 카테고리의 다른 글
[cs231n] 2강 Classification Pipeline (0) | 2024.11.07 |
---|---|
[컴퓨터네트워크] part2-4 FTP (0) | 2024.10.06 |
자이로 가속도 센서 설명 (0) | 2024.10.03 |
folium을 활용한 지도 그리기 (1) | 2024.09.08 |
Bokeh를 이용한 대화형 웹 시각화 (4) | 2024.09.08 |