Я просто думаю вголос, і я ще не грав з API акселерометра для андроїд, тому нехай поводиться зі мною.
Перш за все, традиційно для отримання навігації з акселерометрів вам знадобиться 6-вісний акселерометр. Вам потрібні прискорення в X, Y і Z, а також обертання Xr, Yr і Zr. Без даних обертання у вас не вистачає даних для встановлення вектора, якщо ви не припускаєте, що пристрій ніколи не змінює своє ставлення, що було б досить обмежувально. Ніхто так і не читає TOS.
О, а ви знаєте, що INS пливе з обертанням землі, правда? Так що теж є. Через годину, і ви загадково піднімаєтесь на 15 ° схил у космос. Це припущення, що у вас був INS, здатний підтримувати розташування так довго, чого телефон ще не може зробити.
Кращим способом використання акселерометрів (навіть з 3-вісним акселерометром) для навігації буде прив'язка до GPS для калібрування INS, коли це можливо. Там, де GPS не вистачає, INS добре компліментує. GPS може раптом відстріляти вас за 3 квартали, тому що ви занадто близько до дерева. INS не великий, але, принаймні, він знає, що вас не вдарив метеор.
Що ви можете зробити, це записувати дані акселерометра телефонів, і їх багато. Як тижні варті. Порівняйте їх із хорошими (я маю на увазі дуже хорошими) GPS-даними та використовуйте datamining для встановлення співвідношення тенденцій між даними акселерометра та відомими даними 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.
І це відповідно перемістить частину вперед. Важливо, щоб він був абсолютно сліпим, тому що просто поміщаючи телефон у кишеню, можна орієнтуватися в одній з чотирьох різних орієнтацій і 8, якщо ви переключите кишені. І існує також багато способів тримати телефон. Ми говоримо тут багато даних.
У вас, очевидно, все ще буде багато дрейфу, але я думаю, вам би пощастило таким чином, оскільки пристрій знатиме, коли ви перестанете ходити, а позиційний дрейф не буде увічненням. Знає, що ти стоїш нерухомо на основі історичних даних. У традиційних системах INS немає цієї функції. Дрейф утримується в усіх майбутніх вимірюваннях і з'єднаннях експоненціально. Нечесна точність або наявність вторинної навігації, яку слід перевіряти через рівні проміжки часу, абсолютно важлива для традиційних INS.
Кожен пристрій і кожна людина повинні мати свій профіль. Це багато даних і багато розрахунків. Кожен рухається з різною швидкістю, з різними кроками, і кладе свої телефони в різні кишені і т. Д. Напевно, щоб реалізувати це в реальному світі, знадобиться обробка чисельних номерів на стороні сервера.
Якщо ви використовували GPS для початкової базової лінії, частина проблеми полягає в тому, що GPS має тенденцію до власних міграцій у часі, але вони не є постійними помилками. Помістіть приймач в одному місці та запишіть дані. Якщо виправлень WAAS немає, ви можете легко виправити місцеположення, що рухаються у випадкових напрямках на відстані 100 футів навколо вас. З WAAS, можливо, до 6 футів. Насправді, вам може пощастить із системою RTK під вимірювачем на рюкзаку, щоб принаймні знизити алгоритм ANN.
Ви все одно будете мати кутовий дрейф з INS, використовуючи мій метод. Це проблема. Але, якщо ви зайшли так далеко, щоб створити АНН, щоб викласти на тиждень варті дані GPS та INS серед російських користувачів, і насправді ви працюєте до цього моменту, ви, очевидно, не заперечуєте над великими даними. Продовжуйте цей шлях і використовуйте більше даних, щоб допомогти вирішити кутовий занос: Люди - це звички. Ми, як правило, робимо те саме, як ходити по тротуарах, через двері, вгору по сходах, і не робимо шалених речей, як прогулянка по автострадах, крізь стіни чи біля балконів.
Тож скажімо, ви берете сторінку від Big Brother і починаєте зберігати дані про те, куди їдуть люди. Ви можете розпочати картування, куди очікували б піти люди. Це досить впевнена ставка, що якщо користувач починає сходити вгору по сходах, вона знаходиться в тій же самій базі сходів, що і людина, що передувала їй. Після 1000 ітерацій та декількох коригувань найменших квадратів ваша база даних майже знає, звідки ці сходи з великою точністю. Тепер ви можете виправити кутовий дрейф і розташування, коли людина починає ходити. Коли вона вдаряється ціми сходами, або повертається цією залі, або рухається тротуаром, будь-який дрейф може бути виправлений. Ваша база даних міститиме сектори, які зважуються на ймовірність того, що людина ходитиме туди, або що цей користувач ходив туди в минулому. Просторові бази даних оптимізовані для цього за допомогоюdivide and conquer
виділяти лише значущі сектори. Це було б на зразок тих проектів MIT, коли обладнаний лазером робот починається з чорного зображення і малює лабіринт в пам'яті, роблячи кожен поворот, висвітлюючи, де всі стіни.
Ділянки з високим рівнем руху отримують більшу вагу, а райони, де ще ніхто не набирав ваги. Більш високі роздільні здатності областей руху мають більшу роздільну здатність. Ви, по суті, отримаєте карту, де б хто не був, і використали б її як модель передбачення.
Я не здивуюсь, якби ви могли визначити, яке місце людина займала в театрі, використовуючи цей метод. Враховуючи достатню кількість користувачів, які йдуть в театр, і достатню роздільну здатність, ви мали б відображати дані про кожен ряд театру та наскільки широкий кожен рядок. Чим більше людей відвідують місцеположення, тим вища вірність, з якою ви могли б передбачити, що ця людина знаходиться.
Також я настійно рекомендую отримати (безкоштовну) підписку на журнал GPS World, якщо вас цікавлять поточні дослідження цього роду. Щомісяця я визираю з цим.