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


9

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

Проблема: Роботы на самом деле не могут этого сделать, потому что у них нет возможности измерить свое положение в комнате.

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


Какие датчики есть у роботов и какая вычислительная мощность?
DaemonMaker

1
@DaemonMaker - добавил эту информацию и попытался уточнить вопрос.
Ракетный

1
Это хорошее обновление @Rocketmagnet, но вопрос остается открытым. В литературе по локализации есть много хитростей, которые могут быть вам доступны в зависимости от того, что ваши роботы могут наблюдать за собой, своим окружением и друг другом. Например, есть много работы, связанной с объединением убеждений нескольких роботов, чтобы повысить точность убеждений любого данного робота. Этого можно добиться, добавив маленькую камеру и опознавательный маркер к каждому роботу, и это не сильно увеличит обработку.
DaemonMaker

Блокируют ли окклюзии xy линию видимости или z? Например, если у вас есть линии, лазеры или зеркала на потолке, смогут ли роботы их видеть?
Джеймс Уолдби - jwpat7

@ jwpat7 - Поскольку потолок очень низкий и роботы практически касаются его, в направлении Z практически не видно прямой видимости.
Ракетный

Ответы:


4

Некоторые идеи у меня в голове ... Как правило, вы можете либо дать каждому роботу почувствовать свою позицию, либо использовать какую-то систему, чтобы найти роботов и отправить им информацию об их положении (или их комбинации). Возможно, использование других положений робота для определения местоположения - это еще один вариант, если они могут общаться. Вы также можете объединить информацию датчиков от роботов и других источников.

оптический

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

Вы можете иметь две (или более) камеры на каждом роботе, смотрящем в разные стороны, если стены комнаты имеют правильный вид рисунка, вы можете определить свое местоположение на основе изображений. Вращающаяся камера является еще одним вариантом. Обструкция камеры другими роботами может быть проблемой.

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

Какой-то вращающийся оптический датчик, который может определять направление оптического маяка (например, светодиод).

Звук

У вас может быть несколько маяков, излучающих ультразвуковые щебеты. Если они все синхронизированы (например, фиксированная задержка между ними), то, учитывая их местоположение, вы можете использовать расчет времени полета для определения положения робота. Много лет назад я работал с ультразвуковым дигитайзером, точность которого составляла около миллиметра на расстоянии около метра, так что, похоже, это примерно так. В зависимости от формы вашего робота и конфигурации роя, отражения и препятствия могут быть или не быть проблемой. Вам нужно будет поэкспериментировать, но мое внутреннее чувство заключается в том, что с достаточным количеством маяков вы можете добиться хороших результатов.

Ультразвуковые дальномеры на каждом роботе. (вращается?) Может отобразить расстояние до других роботов или стен.

Если что-то из этого звучит интересно, я могу попытаться развить эти идеи немного дальше.


Мне нравится ультразвуковой метод. Интересно, смогу ли я отправить его через пол, чтобы он мог путешествовать, не будучи потревоженным или отраженным от роя.
Ракетный

@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?), Вам придется экспериментировать с получать теги меньшего размера и «экранировать» их от читателя, чтобы они не могли быть прочитаны, кроме как на очень близком расстоянии.

В целом это кажется сложным, но очень интересным испытанием. Если это для работы, я предполагаю, что вы не можете сказать нам цель проекта, но это, конечно, звучит интригующе :)


Спасибо за ответ. К сожалению, я так мало могу рассказать о проекте, что очень трудно задать вопрос.
Ракетный

Я думал о том же. Плавательные бассейны имеют цветные флаги выше и линии ниже, чтобы указать пловцу свое местоположение на его дорожке в бассейне. Та же концепция, но 2 оси вместо одной.
zkent

3

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

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

Вроде как то, что эти исследователи сделали в этой статье (см. Стр. 16)

Однако, как отметили другие, если потолок очень низкий, у вас не будет прямой видимости к вершине роботов, и вам будет сложно использовать этот метод.


Спасибо за ответ. Проблема с чем-то вроде Vicon заключается в огромном количестве окклюзии, которая возникает, когда у вас 50 роботов, заполняющих комнату с таким низким потолком. Я думаю, что делает такое решение невозможным.
Ракетный
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.