Я внедряю локализацию по методу Монте-Карло для своего робота, которому дана карта окружающей среды, ее начальное местоположение и ориентация. Мой подход заключается в следующем:
- Равномерно создать 500 частиц вокруг заданной позиции
- Затем на каждом этапе:
- движение обновляет все частицы с помощью одометрии (мой текущий подход - newX = oldX + odometryX (1 + standardGaussianRandom) и т. д.)
- назначить вес каждой частице, используя данные сонара (формула для вероятности каждого датчика * = gaussianPDF (realReading), где гауссиан имеет среднее предик
- вернуть частицу с наибольшей вероятностью в качестве местоположения на этом этапе
- затем 9/10 новых частиц пересчитывают из старых в соответствии с весами, а 1/10 равномерно отбирают вокруг прогнозируемого положения
Теперь я написал симулятор для среды робота, и вот как ведет себя эта локализация: http://www.youtube.com/watch?v=q7q3cqktwZI
Я очень боюсь, что в течение более длительного периода времени робот может потеряться. Если добавить частицы в более широкую область, робот теряется еще проще.
Я ожидаю лучшей производительности. Любой совет?
Производительность, показанная на видео, хорошая, учитывая один датчик сонара. У вас есть пример видео с потерянным роботом?
—
Димитрис
Есть на самом деле 5 сонаров, все равно сказали бы, что это хорошо? У меня нет видео о том, как робот теряется, но сегодня я попробую его на настоящем роботе.
—
Андрей Иванов
Мне непонятно, что тебя беспокоит. Реализованный вами PF работает нормально. Может быть, вы можете быть более подробно о том, что вы думаете, это проблема.
—
Димитрис
Пожалуйста, не задавайте один и тот же вопрос на нескольких сайтах обмена стека . Если вы случайно спросите не на том сайте, его можно перенести на правильный.
—
Марк Бут
Добро пожаловать в робототехнику Андрей Иванов. В нынешнем виде не ясно, какой у вас актуальный вопрос. Мы предпочитаем практичные, отвечающие на вопросы вопросы, основанные на реальных проблемах, с которыми вы сталкиваетесь . Посмотрите, как спрашивать, и ознакомьтесь с дополнительной информацией о том, как работает стек, и подумайте, как вы можете отредактировать свой вопрос, чтобы сделать его более ответственным.
—
Марк Бут