Який найкращий спосіб обчислити ймовірнісну віру робота, оснащеного датчиком зору?


12

Я намагаюся реалізувати планування «простору віри» для робота, у якого камера є основним датчиком. Подібно до SLAM, робот має карту 3D точок, і він локалізується, виконуючи 2D-3D відповідність із середовищем на кожному кроці. Для цього питання я припускаю, що карта не змінюється.

Як частина планування простору переконань, я хочу планувати шляхи для робота, який приймає його від початку до мети, але таким чином, щоб точність його локалізації завжди була максимальною. Отже, мені доведеться вибирати можливі стани робота, не пересуваючись туди, і спостереження, які робив би робот, якби вони були в тих станах, які разом (виправте мене, якщо я помиляюся) формують "віру" робота , згодом кодуючи свою невизначеність локалізації в цих точках. І тоді мій планувальник спробує з'єднати вузли, які дають мені найменшу невизначеність (коваріантність).

Оскільки моя невизначеність локалізації цього робота на базі камери повністю залежить від речей, таких як кількість точок зображення, видно з певних місць, кут заголовка робота тощо. Мені потрібна оцінка того, наскільки «погана» моя локалізація на певному зразку було б, щоб визначити, чи варто я його відкидати. Як потрапити туди, як я для цього визначу модель вимірювання, чи це буде модель вимірювання камери чи це буде щось, що стосується положення робота? Як я заздалегідь "здогадаюся" про свої вимірювання, і як обчислити коваріантність роботи за допомогою цих здогаданих вимірювань?

EDIT: Основним орієнтиром для мене є ідея швидкого вивчення випадкових дерев віри , яка є розширенням методу Belief Road Maps . Інший відповідний документ використовує RRBT для обмеженого планування. У цьому документі вибірюються стани, подібні до звичайних RRT, представлені у вигляді вершин у вигляді графіка, але коли вершини мають бути з'єднані, алгоритм поширює переконання від поточної вершини до нової, (функція PROPAGATE у розділі V 1 ) І ось, де я застряг: я не повністю розумію, як я можу поширювати переконання по краю, фактично не обходячи його та не отримуючи нових вимірів, тим самим нові коваріації з локалізації. RRBT папір говорить: "рівняння прогнозу коваріації та очікування вартості реалізовані у функції PROPAGATE": але якщо використовується лише прогнозування, то як воно знає, скажімо, чи є в майбутньому достатня кількість функцій, які могли б підвищити / погіршити точність локалізації?


Ви читали якусь літературу з цього приводу?
Якоб

Так, я додав ще кілька деталей у запитання про відповідні документи, на які я натрапив.
HighVoltage

Оооо, я думаю, я розумію. Дозвольте перефразувати, щоб зрозуміти, чи я це розумію, і для довідки для інших. Ви хочете взяти вибірку для цілого регіону, щоб ви могли визначити потенційні представлення у великій кількості локацій, а потім вибрати серію місць, що пропонує як маршрут від початку до кінця, так і види, що дозволяють переглядати "хороші" орієнтири до використовувати за допомогою локалізації в стилі SLAM. Ваше запитання полягає в тому, як оцінити, наскільки «хороший» чи «поганий» погляд, і як це «хороший погляд» стосується коваріації. Це справедливий підсумок?
Чак

1
Коротше кажучи, так! Цього вже було досягнуто в роботі RRBT, але у мене виникають проблеми з розумінням математики.
HighVoltage

1
Це звучить як крута концепція. Я сьогодні на мобільному телефоні, але завтра я прочитаю газети і спробую прозвучити. Я буду здогадуватися, що весь алгоритм заснований на здогадах (переконаннях) того, що ви думаєте, що відчуєте на будь-якому конкретному кроці , що означає, що фактичні вимірювання не належать до алгоритму, і тому вам не потрібно фактично проходити будь-який простір. Здається, весь алгоритм побудований на основі апріорного знання карти і від цього залежить, щоб бути точним для якісних результатів.
Чак

Відповіді:


2

Використовуйте локалізацію лише підшипників для моделювання інформативності камери та моделювання вимірювань з нульовим шумом (наприклад, без інновацій).

З різних причин це фактично теоретично обгрунтований спосіб оцінки інформативності шляху.

Існує багато метрик інформати-насті "без вимірювання", таких як Інформаційна матриця Фішера . Все, що вам потрібно, - це положення робота і положення орієнтирів на карті, щоб визначити, скільки інформації про положення робота буде отримано шляхом вимірювання місць розташування орієнтира. (Або візово, інновація від вимірювань застосовується як до цільових, так і для робочих (це SLAM правильно?), Тому однаковий показник працює і для обох).

Я б почав з датчика підшипника, оскільки це гарна, добре прийнята модель датчика зору. З'ясуйте "шум" на вимірюваннях підшипника, допустивши кілька пікселів помилок у розміщенні особливостей у світі. Нехай стан системи буде положенням роботи плюс його невизначеність, а потім вибіркові шляхи (як ви пропонуєте). З кожної позиції на вибірковому шляху я перерахував би передбачувану невизначеність за допомогою FIM. Це зробити не важко, просто припустимо, що в вимірюваннях не буде помилок (тобто не буде «нововведень» щодо віри робота, але ви все одно відчуєте падіння невизначеності, представлене зменшенням коваріації в оцінці положення робота. Я б не оновлювати місця розташування або невизначеності орієнтирів, просто для спрощення проблеми.

Це досить добре зрозумілий підхід, з якого я згадую в своєму останньому огляді цієї літератури, але не сприймайте мого слова (перегляньте себе!). Принаймні, це має сформувати базовий підхід, який легко моделювати. Давайте використаємо силу літератури. Ви можете ознайомитись з цією тезою для створення та рівнянь.

Узагальнення

  1. Сформуйте вектор стану який є положенням (і орієнтацією, якщо вам важливо) робота, і невизначеністю в цих елементах позиції .хΣ
  2. Використовуйте RRT, дискретний графік планування (dijkstra / A *) або пошук по сітці (можливо, * A), але на кожному "кроці" вибіркової траєкторії, перерахуйте використовуючи стандартні рівняння оновлення EKF.Σi
  3. Нехай "вартість" траєкторії є деякою опуклою комбінацією прогресу до мети та оберненої коваріації (наприклад, інформаційна матриця )

Деякі тонкощі

Використовуйте найменший вектор стану, який має сенс. Якщо ви можете припустити, що робот може спрямовувати камеру незалежно від руху або має кілька камер, тоді ігноруйте орієнтацію та просто відстежуйте положення. Я продовжуватиму лише 2D позиції.

Вам доведеться вивести лінеаризовану систему, але можна запозичити її з тези вище. не заважайте симулювати вимірювання (наприклад, якщо ви робите оновлення EKF лише з "імітованими вимірюваннями"), тоді припускайте, що вимірювання відповідають дійсності та без шуму.

Пi|i-1=ЖiТПi-1|i-1Жi+Q
П=П-ПНТ(НПНТ+R)-1НП

Якщо ми застосуємо ідентичність матриці Вудбері

П-1=П-1+НТR-1Н

н

Я=i=1нНiТR-1Нi

Ri=1нНiТR-1Нi

ННнх2нн2Rн×нσЯн×нσ

Яке рівняння вимірювання? Його

засмага-1ут-уrхт-хr

тr


Розмотування рекурсії. Я б поступив так:

  1. Напишіть алгоритм пошуку шляху, який знаходить свій шлях, не враховуючи невизначеності.
  2. Н
  3. тrаcе(НТRН)
  4. Зауважте, що результат відповідає FIM траєкторії (вправа, залишена читачеві), і ви правильно і теоретично обгрунтовано визначили найбільш інформативну траєкторію.

Дякую за відмінну відповідь! Я насправді пішов дуже схожим маршрутом, використовуючи метричні показники на основі камери, як мої здогадки R у поєднанні з RRT (я зовсім недавно думав, що повинен відповісти на власне запитання, але ви мене перебили! До речі, я думаю, що ваше спрощене рівняння оновлення повинно було мати в ньому inv (R): що прирівнюється до максимізації сліду суми (inv (R)) або мінімізації суми (R) по всьому шляху (ігноруючи H)
HighVoltage

Гарний улов. Я оновлю.
Джош Вандер Хук
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.