Локалізація роя роботів


9

У мене кімната розміром 300 см на 300 см із стелею висотою 25 см (так, двадцять п’ять сантиметрів). Він містить 50 маленьких колесних роботів (приблизно 20см х 20см). Центральний комп'ютер організовує рухи роботів, використовуючи бездротову мережу для передачі їм позиційних команд. Роботи будуть виконувати власне управління положенням закритого циклу, щоб зберегти бездротову пропускну здатність. Роботи мають 32-бітні мікроконтролери ARM. Вони мають датчики положення колеса та можливість здійснювати точне управління колесом.

Проблема: Роботи поки що насправді цього не можуть зробити, оскільки у них немає можливості виміряти своє становище в кімнаті.

Запитання: Як можна надати роботам можливість вимірювати своє положення та орієнтацію з точністю, що перевищує ± 5 мм? Я шукаю точне і надійне рішення, яке не впливає на оклюзії, і не потребує ПК з високою потужністю для кожного робота. Які б датчики необхідні для локалізації, можна легко додати до роботи. Мікроконтролери можна легко змінити на більш потужні, якщо цього вимагає рішення локалізації.


Які датчики мають роботи і яку обчислювальну потужність?
DaemonMaker

1
@DaemonMaker - додав цю інформацію та спробував уточнити питання.
Rocketmagnet

1
Це хороше оновлення @Rocketmagnet, але питання все ще досить відкрите. У літературі з локалізації існує багато хитрощів, які можуть бути доступні вам залежно від того, що ваші роботи можуть спостерігати про себе, своє оточення та один одного. Наприклад, існує велика робота, пов’язана з поєднанням переконань декількох роботів, щоб підвищити точність переконань будь-якого робота. Цього можна досягти, додавши невеликий фотоапарат і довідковий маркер до кожного робота, і це не значно збільшить обробку.
DaemonMaker

Чи блокують оклюзії xy пряму зору чи z? Наприклад, якщо у вас на стелі є лінійки, лазери або дзеркала, чи зазвичай роботи зможуть їх бачити?
Джеймс Уолдбі - jwpat7

@ jwpat7 - Оскільки стеля настільки низька, і роботи практично торкаються її, в основному ніколи не спостерігається лінія зору в напрямку Z.
Rocketmagnet

Відповіді:


4

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

Оптичний

Ви можете кодувати або абсолютне положення, або відносне положення на підлозі або стелі. Датчик на робота може дивитися на них. Датчик, подібний до оптичної миші, може отримати відносний рух від більшості поверхонь навіть без будь-якого малюнка. Були миші старшого стилю, які використовували сітчасті з малюнком.

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

Сенсорний масив або камера в підлозі або стелі можуть знайти роботів, і тоді ви можете надіслати роботам їх місцезнаходження.

Якийсь оптичний датчик, що обертається, який може знайти напрямок оптичного маяка (наприклад, світлодіод).

Звук

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

Ультразвукові далекоміри на кожного робота. (Обертається?) Може відобразити відстань до інших роботів чи стін.

Якщо будь-який із цих звуків цікавий, я можу спробувати розвинути ці ідеї трохи далі.


Мені подобається ультразвуковий метод. Цікаво, чи зміг би я надіслати його через підлогу, щоб він міг подорожувати, не порушуючи і не відбиваючись роєм.
Rocketmagnet

@Rocketmagnet: Ви можете надіслати його через поверх. Проблема полягає в належному з'єднанні перетворювача, що зазвичай робиться з гелем. Мабуть, буде безладним для вашої заявки. Без правильного зчеплення ультразвук просто відскочить від поверхні. Можливо, колеса вашого робота могли б зробити трюк.
Гай Сіртон

@GuySirton Я хочу здійснити виявлення ультразвукового щебетання з пристрою, який випромінюється з іншого пристрою. Я намагаюся це зробити, тому що всі компоненти, які я бачу в наявності, - це далекоміри, які випромінюють і виявляють відлуння. Вони виводять діапазон, і їх важко розділити на частини випромінювання та отримання. Мені потрібно надсилати сигнали через повітря. Якісь покажчики чи пропозиції? Дякую!
некроман

@necromancer ви маєте змогу придбати передавачі / приймачі, наприклад, дивіться цей digikey.ca/product-detail/en/MA40S4R/490-7706-ND/4358146 та інше в тій же категорії ...
Гай Сіртон,

@GuySirton дуже дякую велика допомога!
некромант

4

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

Якщо датчики положення колеса та точне управління колесом достатньо, щоб підтримувати бажану точність даних про місцезнаходження, коли робот перемістився не далі, ніж на відстань d від точно відомого положення, смуги (це можуть бути білі смуги, чорні смуги або вузька світловідбиваюча стрічка) може знадобитися розміщувати не більше ніж d / √2 один від одного.

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

Можлива ціла різноманітність фінансових моделей. Ортогональні смуги, розміщені паралельно осям x та y, ймовірно, найпростіші для створення та роботи. Але також слід враховувати биків-очей, схрещування волосся, клинів, штрих-кодів та інших моделей.


+1 Навіть незважаючи на те, що я читав вашу відповідь, перш ніж розміщувати свою, я все-таки опублікував майже таку ж відповідь про довірених осіб ... Я звинувачую недолік сну.
ThomasH

@ThomasH, дякую! Я здивований ОП не проголосували будь-який з відповідей, кожен з яких пропонує деяку корисну інформацію.
Джеймс Уолдбі - jwpat7

4

Низька відстань між вершиною робота і стелею дійсно обмежує ваші можливості. Мабуть, неможливо отримати централізований огляд всієї кімнати та роботи звідти.

Я не впевнений, про яку «кімнату» ви говорите і скільки ви можете інструментувати, але це може бути варіант розміщення маркерів на стелі, а не роботів. Зважаючи на невелику відстань, вам доведеться майже повністю заповнити стелю крихітними маркерами, які повністю можна спостерігати вгору вказівною камерою на кожному окремому роботі, хоча ви, можливо, зможете розташувати цю камеру нижче на робота, скажімо між передні та задні колеса з обох боків, щоб отримати ширший кут огляду. Але найбільшою проблемою було б надрукувати достатньо чітких маркерів, щоб зафіксувати всю стелю.

Крім того, може бути можливим прикріпити підлогу великою кількістю тегів RFID, за умови, що ви можете знайти читачів із достатньо малим діапазоном (AFAIK, RFID-зчитувачі скажуть лише, що певний тег знаходиться в діапазоні, а не там, де він знаходиться). Зчитувач RFID Phidgets вже має діапазон ок. 3 дюйми, тож якщо ви не локалізуєте, побачивши, яку групу тегів ви можете спостерігати (якщо можна одночасно спостерігати кілька тегів - чи можете ви сказати, що у мене немає фактичного досвіду роботи з RFID?), Вам доведеться експериментувати з отримуючи менші теги та «захищаючи» їх до певної міри від читача, щоб їх не можна було читати, окрім як на дуже близькій відстані.

Загалом це здається важким, але дуже цікавим викликом. Якщо це стосується роботи, я припускаю, що ви не можете сказати нам мету проекту, але це впевнено звучить інтригуюче :)


Дякую за відповідь. Розчаровує, що я так мало розкриваю про проект, що дуже важко було поставити питання.
Rocketmagnet

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

3

Якщо система vicon не викликає сумнівів, ви можете використовувати систему каліброваних камер для читання маркерів, розміщених поверх роботів.

  1. Розмістіть найкращі фотоапарати, які ви можете навколишнє середовище. Я використовую $ 20 веб-камери від amazon.com
  2. Використовуйте засоби калібрування OpenCV для калібрування камер.
  3. Поставте маркери зверху на роботів
  4. Камери знають своє відносне положення в навколишньому середовищі, тому, тріангулюючи положення маркерів, вони можуть точно вивести положення та орієнтацію маркерів.

На зразок того, що робили ці дослідники у цій роботі (див. Стор. 16)

Однак, як зазначають інші, якщо стеля дуже низький, ви не матимете гарної видимості на вершину роботів, і вам буде важко використовувати цей метод.


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