getParticles

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

Описание

пример

[particles,weights] = getParticles(mcl) возвращает текущие частицы, используемые monteCarloLocalization объект. particles является матрицей n -by-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-на-1 вектор. Каждая строка соответствует весу частицы в совпадающей строке particles. Эти веса используются в окончательной оценке положения транспортного средства. Длина может меняться при каждой итерации алгоритма.

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

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.
Введенный в R2019b