gsensor, 가속도센서의 가속도값으로 이동 위치 구하기
소개
- gsensor에 대해서 :
- gsensor을 통해서 얻는 data : 가속도값
- 계산 방식에 대해서 :
- 출력한 gsensor 값의 단위를 바꾼다. (LSB/g → m/s^2)
- 계산 공식 : (gsensordata/256)∗9.81
- 가속도값을 2번 수치적분 하여 위치값을 얻는다. 얻은 x, y의 위치값을 가지고 “직진, 좌회전, 우회전”을 판단한다. (오차를 줄이기 위하여 사다리꼴로 수치적분 진행)
- 계산 공식 : 이전속도+0.5∗(현재가속도+이전가속도)∗(현재시간−이전시간)
데이터 분석
정지 상태
- 5분 동안 세트를 가만히 두고 추출한 데이터를 가공한다.
가속도
속도
이동 위치
정지 상태일 때 이상적인 결과 :
- x값 : 0 (아무런 가속도가 없을 때)
- y값 : 0 (아무런 가속도가 없을 때)
직진
가속도
속도
이동 위치
직진 상태일 때 이상적인 결과 :
- x값 : 0 (아무런 가속도가 없을 때)
- y값 : 증가
우회전
가속도
속도
이동 위치
직진 상태일 때 이상적인 결과 :
좌회전
가속도
속도
이동 위치
직진 상태일 때 이상적인 결과 :
결론
- 정지 상태일 때 x, y값이 감소한다. (x값이 y값보다 더 격하게 줄어들긴 하지만)
이 부분에 있어서 필터를 적용하여 정지 상태일 때는 x, y값 모두 0에 가깝게 직선 형태를 만들어야 한다.
- 적합한 필터를 적용하면 시간에 따른 누적 이동 변화량으로 ‘직진, 좌회전, 우회전’을 확인할 수 있을 것이다.
글 작성자가 운영 중인 홈페이지