나는 단지 큰 소리로 생각하고 있으며 아직 안드로이드 가속도계 API를 사용하지 않았으므로 저를 참아주십시오.
우선, 전통적으로 가속도계에서 내비게이션을 얻으려면 6 축 가속도계가 필요합니다. X, Y 및 Z의 가속도 필요하지만 회전 Xr, Yr 및 Zr도 필요합니다. 회전 데이터가 없으면 장치가 태도를 변경하지 않는다고 가정하지 않는 한 벡터를 설정하기에 충분한 데이터가 없습니다. 어쨌든 아무도 TOS를 읽지 않습니다.
아, 그리고 INS가 지구의 자전과 함께 표류한다는 것을 알고 있습니까? 그래서 그것도 있습니다. 한 시간 후 당신은 신비롭게 15 °의 경사를 우주로 올라가고 있습니다. 그것은 당신이 전화로는 아직 할 수없는 위치를 그렇게 오래 유지할 수있는 INS를 가지고 있다고 가정합니다.
내비게이션에 3 축 가속도계를 사용하더라도 가속도계를 활용하는 더 좋은 방법은 가능할 때마다 INS를 보정하기 위해 GPS에 연결하는 것입니다. GPS가 부족한 경우 INS는 훌륭하게 칭찬합니다. GPS는 나무에 너무 가까워서 3 블럭 떨어진 곳에서 갑자기 쏠 수 있습니다. INS는 훌륭하지는 않지만 적어도 유성에 맞지 않았다는 것을 알고 있습니다.
당신이 할 수있는 것은 전화 가속도계 데이터와 그 많은 것을 기록하는 것입니다. 몇 주 가치가 있습니다. 좋은 (정말 좋은) GPS 데이터와 비교하고 데이터 마이닝을 사용하여 가속도계 데이터와 알려진 GPS 데이터 간의 추세 상관 관계를 설정합니다. (프로 팁 : 좋은 지오메트리와 많은 위성이있는 날에 대해 GPS 연감을 확인하고 싶을 것입니다. 어떤 날에는 위성이 4 개 밖에 없을 수도 있고 충분하지 않을 수도 있습니다.) 휴대 전화를 주머니에 넣고 걷고 있으면 가속도계 데이터가 매우 구체적인 패턴을 기록합니다. 데이터 마이닝을 기반으로 해당 사용자와 함께 해당 장치에 대한 프로필을 설정하고 GPS 데이터가있을 때 패턴이 나타내는 속도의 종류를 설정합니다. 회전, 계단 오르기, 앉아있는 것을 감지 할 수 있어야합니다 (속도 시간 0으로 보정! ) 및 기타 다양한 작업. 전화기를 잡는 방법은 완전히 별도의 데이터 입력으로 취급되어야합니다. 데이터 마이닝에 사용되는 신경망 냄새가납니다. 즉, 입력이 의미하는 바를 모르는 것입니다. 알고리즘은 패턴의 경향 만 찾고 INS의 실제 측정에는주의를 기울이지 않습니다. 그것이 아는 것은historically, when this pattern occurs, the device is traveling and 2.72 m/s X, 0.17m/s Y, 0.01m/s Z, so the device must be doing that now.
그리고 그에 따라 조각이 앞으로 이동합니다. 주머니에 휴대 전화를 넣는 것만으로도 4 가지 방향 중 하나로, 주머니를 바꾸면 8 가지 방향 중 하나가 될 수 있기 때문에 완전히 눈이 보이지 않는 것이 중요합니다. 휴대 전화를 잡는 방법도 여러 가지가 있습니다. 우리는 여기서 많은 데이터를 이야기하고 있습니다.
당신은 분명히 여전히 많은 드리프트를 가지고있을 것이지만, 장치가 당신이 걷는 것을 멈췄을 때를 알 수 있고 위치 드리프트가 영속적이지 않을 것이기 때문에 당신이이 방법으로 더 나은 행운을 누릴 것이라고 생각합니다. 과거 데이터를 기반으로 당신이 가만히 서 있다는 것을 압니다. 기존 INS 시스템에는이 기능이 없습니다. 드리프트는 향후 모든 측정 및 화합물에 기하 급수적으로 지속됩니다. 경건하지 않은 정확성 또는 정기적으로 확인하는 보조 탐색 기능은 기존 INS에서 절대적으로 중요합니다.
각 장치와 각 개인은 자신의 프로필을 가져야합니다. 그것은 많은 데이터와 많은 계산입니다. 모든 사람은 다른 속도로, 다른 단계로 걷고, 휴대폰을 다른 주머니에 넣는 등의 작업을 수행합니다. 실제 세계에서이를 구현하려면 서버 측에서 처리하기 위해 번호 처리가 필요합니다.
초기 기준선에 GPS를 사용했다면 GPS가 시간이 지남에 따라 자체적으로 마이그레이션하는 경향이 있지만 영구적이지 않은 오류가 있습니다. 한 위치에 수신기를 앉아 데이터를 기록합니다. WAAS 수정이없는 경우 100 피트 주변의 임의 방향으로 표류하는 위치 수정을 쉽게 얻을 수 있습니다. WAAS를 사용하면 6 피트까지 내려갈 수 있습니다. 최소한 ANN의 알고리즘을 낮추기 위해 배낭에 서브 미터 RTK 시스템을 사용하면 실제로 더 나은 운을 얻을 수 있습니다.
내 방법을 사용하면 INS와 함께 각도 드리프트가 계속됩니다. 이것은 문제입니다. 하지만 지금까지 n 명의 사용자에게 몇 주 동안 GPS 및 INS 데이터를 쏟아 부을 수있는 ANN을 구축하고 실제로이 시점까지 작동하게했다면 지금까지 빅 데이터를 신경 쓰지 않아도됩니다. 그 길을 계속 따라 가면서 더 많은 데이터를 사용하여 각도 드리프트를 해결하십시오. 사람은 습관의 생물입니다. 우리는 보도, 문을 통과하거나, 계단을 오르는 것과 같은 일을 거의하고, 고속도로를 가로 지르거나, 벽을 통과하거나, 발코니를 벗어나는 것과 같은 미친 짓을하지 않습니다.
따라서 Big Brother에서 페이지를 가져 와서 사람들이가는 곳에 대한 데이터 저장을 시작한다고 가정 해 보겠습니다. 사람들이 걸을 것으로 예상되는 위치를 매핑 할 수 있습니다. 사용자가 계단을 오르기 시작하면 이전 사람이 걸어온 것과 같은 계단 바닥에있을 것입니다. 1000 번의 반복과 최소 제곱 조정 후 데이터베이스는 해당 계단의 위치를 매우 정확하게 알고 있습니다. 이제 사람이 걷기 시작할 때 각도 드리프트와 위치를 수정할 수 있습니다. 그녀가 그 계단을 치거나 복도를 내리거나 보도를 따라 내려갈 때 어떤 표류도 바로 잡을 수 있습니다. 데이터베이스에는 사람이 걸어 갈 가능성 또는이 사용자가 과거에 걸어 왔을 가능성에 따라 가중치가 부여 된 섹터가 포함됩니다. 공간 데이터베이스는이를 위해 최적화되어 있습니다.divide and conquer
의미있는 섹터 만 할당합니다. 레이저가 장착 된 로봇이 검은 색 이미지로 시작하여 모든 벽이있는 곳을 밝게 비추면서 메모리에 미로를 칠하는 MIT 프로젝트와 비슷합니다.
트래픽이 많은 지역은 더 높은 가중치를 받고 아무도없는 지역은 가중치가 0입니다. 교통량이 많을수록 해상도가 높습니다. 본질적으로 모든 사람이 있었던 모든 곳의지도를 만들어 예측 모델로 사용할 수 있습니다.
이 방법을 사용하여 사람이 극장에서 어떤 좌석을 차지했는지 결정할 수 있다면 놀라지 않을 것입니다. 극장에가는 사용자가 충분하고 해상도가 충분하다면 극장의 각 행과 각 행의 너비를 매핑하는 데이터가있을 것입니다. 더 많은 사람들이 한 위치를 방문할수록 그 사람의 위치를 예측할 수있는 정확도가 높아집니다.
또한, 이런 종류의 연구에 관심이 있다면 GPS World 잡지를 (무료) 구독하는 것이 좋습니다. 매월 나는 그것으로 괴짜.