exponenta event banner

getParticles

Получение частиц из алгоритма локализации

Описание

пример

[particles,weights] = getParticles(mcl) возвращает текущие частицы, используемые monteCarloLocalization объект. particles - матрица n-на-3, которая содержит местоположение и ориентацию каждой частицы. Каждая строка имеет соответствующее значение веса, указанное в weights. Количество строк может изменяться с каждой итерацией алгоритма MCL. Этот метод используется для извлечения частиц и их анализа отдельно от алгоритма.

Примеры

свернуть все

Извлеките частицы из фильтра частиц, используемого в объекте локализации Монте-Карло.

Создайте карту и объект локализации Монте-Карло.

map = binaryOccupancyMap(10,10,20);
mcl = monteCarloLocalization(map);

Создайте данные робота для датчика дальности и позы.

ranges = 10*ones(1,300);
ranges(1,130:170) = 1.0;
angles = linspace(-pi/2,pi/2,300);
odometryPose = [0 0 0];

Инициализация частиц с помощью step.

[isUpdated,estimatedPose,covariance] = step(mcl,odometryPose,ranges,angles);

Получение частиц из обновленного объекта.

[particles,weights] = getParticles(mcl);

Входные аргументы

свернуть все

monteCarloLocalization , указанный как дескриптор объекта.

Выходные аргументы

свернуть все

Оценочные частицы, возвращенные как вектор n-на-3, [x y theta]. Каждый ряд соответствует положению и ориентации одной частицы. Длина может изменяться с каждой итерацией алгоритма.

Массы частиц, возвращенные в виде вектора n-by-1. Каждая строка соответствует массе частицы в соответствующей строке particles. Эти веса используются при окончательной оценке позы транспортного средства. Длина может изменяться с каждой итерацией алгоритма.

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью MATLAB ® Coder™

.
Представлен в R2019b