Монте-Карло Локализация

8

Я внедряю локализацию по методу Монте-Карло для своего робота, которому дана карта окружающей среды, ее начальное местоположение и ориентация. Мой подход заключается в следующем:

  1. Равномерно создать 500 частиц вокруг заданной позиции
  2. Затем на каждом этапе:
    • движение обновляет все частицы с помощью одометрии (мой текущий подход - newX = oldX + odometryX (1 + standardGaussianRandom) и т. д.)
    • назначить вес каждой частице, используя данные сонара (формула для вероятности каждого датчика * = gaussianPDF (realReading), где гауссиан имеет среднее предик
    • вернуть частицу с наибольшей вероятностью в качестве местоположения на этом этапе
    • затем 9/10 новых частиц пересчитывают из старых в соответствии с весами, а 1/10 равномерно отбирают вокруг прогнозируемого положения

Теперь я написал симулятор для среды робота, и вот как ведет себя эта локализация: http://www.youtube.com/watch?v=q7q3cqktwZI

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

Я ожидаю лучшей производительности. Любой совет?

Андрей Иванов
источник
Производительность, показанная на видео, хорошая, учитывая один датчик сонара. У вас есть пример видео с потерянным роботом?
Димитрис
Есть на самом деле 5 сонаров, все равно сказали бы, что это хорошо? У меня нет видео о том, как робот теряется, но сегодня я попробую его на настоящем роботе.
Андрей Иванов
Мне непонятно, что тебя беспокоит. Реализованный вами PF работает нормально. Может быть, вы можете быть более подробно о том, что вы думаете, это проблема.
Димитрис
Пожалуйста, не задавайте один и тот же вопрос на нескольких сайтах обмена стека . Если вы случайно спросите не на том сайте, его можно перенести на правильный.
Марк Бут
1
Добро пожаловать в робототехнику Андрей Иванов. В нынешнем виде не ясно, какой у вас актуальный вопрос. Мы предпочитаем практичные, отвечающие на вопросы вопросы, основанные на реальных проблемах, с которыми вы сталкиваетесь . Посмотрите, как спрашивать, и ознакомьтесь с дополнительной информацией о том, как работает стек, и подумайте, как вы можете отредактировать свой вопрос, чтобы сделать его более ответственным.
Марк Бут

Ответы: