일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 삼성전자 소프트웨어멤버십 SSM
- 갤럭시탭S8울트라
- 신경회로망
- SSM
- 하이퍼바이저
- 물걸레로봇청소기추천
- 삼성
- Google App Engine
- 증강현실
- 구글 앱 엔진
- 물걸레자동세척로봇청소기
- 나르왈프레오
- 인공지능
- Friendship
- BAM
- Python
- 패턴 인식
- 고려대학교
- Bidirectional Associative Memory
- 파이썬
- 패턴인식
- 멤버십
- 동아리
- hopfield network
- Neural Network
- 가상화
- NarwalFreo
- 신경망
- 삼성소프트웨어멤버십
- 빅데이터
Archives
- Today
- Total
정보공간_1
[4기 대구 하호성] marine compass 본문
안녕하세요. 대구멤버십 22-1기 하호성입니다.
안드로이드에서 방향 센서 값을 평균내는 방법에 대해 이야기 하려 합니다.
방향 센서 값을 이용하다 보면 값이 튀거나 너무 흔들려서
사용하기 어려울 때가 있습니다.
센서 값을 평균내서 쉽게 보정하는 방법이 있는데
앱 스토어에 있는 Marine Compass 라는 무료 앱의 소스에 좋은 방법이 있었습니다.
프랑스 개발자 Pierre Hébert 라는 분이 오픈 소스로 구글 플레이에 등록해 놓은 앱 입니다.
이 앱은 누워서도 볼 수 있는 나침반 앱으로 많이 알려져 있는데
이 소스에서 센서 값을 평균내는 방법이 있습니다.
휴대폰에서 얻어진 5개의 방향 값이 θ1, θ2, θ2, θ3, θ4, θ5일 때
각각의 θ값에 대한 cos과 sin을 구하면 다음과 같이 방향 벡터를 얻을 수 있습니다.
그리고 이렇게 구해진 방향 벡터들을 모두 더하면 하나의 합벡터를 구할 수 있습니다.
그리고 그 값을 각각 a와 b라고 할 때 atan2(a,b)를 하게 되면 평균된 방향각을 알 수 있습니다.
이 때 각각의 cos, sin값 그리고 합벡터의 값을 queue 자료형으로 관리하고 queue의 크기를 n으로 관리하면
평균된 방향 센서의 값을 얻을 수 있습니다.
다음은 참고용 소스코드입니다.
이상 포스팅을 마치겠습니다.
참고싸이트
https://play.google.com/store/apps/details?id=net.pierrox.mcompass&hl=ko
http://www.pierrox.net/cmsms/#
'IT 놀이터 > Elite Member Tech & Talk' 카테고리의 다른 글
[4기 부산 김한남] BAM을 이용한 패턴 인식#1 (0) | 2013.11.30 |
---|---|
[4기 강남 김태협] Android OpenCV JNI 설치 방법 (2) | 2013.11.30 |
[4기 강북 송용길] Unit test with JUnit(2) (0) | 2013.11.28 |
[4기 대구 박병권] apmsetup 사용시 mysql 설정방법 (1) | 2013.11.28 |
[4기 대구 박병권] 데이터베이스 해시 인덱스 사용법 #2 (0) | 2013.11.28 |