getParticles

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

Описание

пример

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

Примеры

свернуть все

Получите частицы от фильтра частиц, используемого в объекте Monte Carlo Localization.

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

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-by-3 вектор, [x y theta]. Каждая строка соответствует положению и ориентации одной частицы. Длина может измениться с каждой итерацией алгоритма.

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

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

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

Введенный в R2019b