/iot-map-inside

2022-2 중앙대학교 융합 iot 팀프로젝트 - 건물 내부 지도

Primary LanguageJava

개요

2022년 2학기 중앙대학교 융합 iot 수업에서 팀 프로젝트로 만든 프로젝트이다.

건물 내부에선 gps의 정확도가 매우 낮다는 문제점에 착안하여, 건물 내부에서 사용자의 위치를 파악하고 이를 매핑해서 사용자에게 알려주는 시스템을 구현하였다.

사용한 기술

  • Bluetooth RSSI : 블루투스의 RSSI값은 거리에 따라서 달라진다. 이를 활용하여, 블루투스의 RSSI값을 이용해 기기간의 거리를 구할 수 있다.

  • IMU Dead-reckoning : 스마트폰에 내장된 가속도센서와 자이로스코프, 그리고 자기장 센서의 측정값들을 누적하여 사용자의 현재 위치를 계산한다.

  • 삼각측량 : GPS의 경우 인공위성 3개로 지구상의 어떤 위치를 특정할 수 있다. 마찬가지로 신호기 3개를 사용해 위치를 특정하는 방법을 삼각측량이라 한다. 이 프로젝트에서는 사용자의 x좌표를 고정해 2개의 블루투스 비콘을 사용해 위치를 특정했다.

  • Particle filter : 최근에 조사한 논문 ‘Turning a Mobile Device into a Mouse in the Air’에서는 particle filter이라는 개념이 등장했다. 초기 위치를 특정할 때 사용되었는데, 연구진들은 어떤 영역을 일정 간격의 점들로 채우고, 점들 중 계산에 맞지 않는 점들을 제거하는 방식으로 점들의 범위를 좁혀갔다. 마지막에 남은 점들의 평균을 구하는 방식으로 초기 위치를 구할 수 있었다. 이 프로젝트에서도 비슷한 방식을 써서 블루투스 비콘과 단말기의 거리를 이용해 단말기의 위치를 구한다.

결과물

  • 코드

    main 브랜치

    • android
      • 설정한 비콘 2개에 대해 블루투스 rssi 값 측정
      • imu dead-reckoning
    • final_server
      • android에서 전송된 2개의 rssi값에 대해 삼각측량, particle filter 적용해 위치 특정
  • 안드로이드 앱 화면

    image