updateOccupancy

Интегрируйте наблюдения вероятности в местоположениях

Описание

updateOccupancy(map,occMatrix) вероятностно интегрирует матрицу значений заполнения, occMatrix, с текущей матрицей заполнения occupancyMap объект map. Размер матрицы должен быть равен GridSize свойство карты.

пример

updateOccupancy(map,locations,obs) вероятностно интегрирует значения наблюдения, obs, в заполнение сопоставляют ячейки, соответствующие n-by-2 матрица мировых координат locations. Значения наблюдения определяются на основе Обратной Модели Датчика.

updateOccupancy(map,xy,obs,'world') вероятностно интегрирует значения наблюдения, obs, в ячейки, соответствующие n-by-2 матрица мировых координат xy.

updateOccupancy(map,xy,obs,'local') вероятностно интегрирует значения наблюдения, obs, в ячейки, соответствующие n-by-2 матрица локальных координат xy.

updateOccupancy(map,ij,obs,'grid') вероятностно интегрирует значения наблюдения, obs, в ячейки, соответствующие n-by-2 матрица индексов сетки ij.

updateOccupancy(map,bottomLeft,obsMatrix) вероятностно интегрирует m-by-n матрица значений наблюдения, obsMatrix, в подобласть в карте. Задайте нижний левый угол подобласти как мировое положение, bottomLeft. Подобласть расширяет строки m и столбцы n направо от заданного положения.

updateOccupancy(map,bottomLeft,obsMatrix,'world') вероятностно интегрирует m-by-n матрица значений наблюдения, obsMatrix, в подобласть в карте. Задайте нижний левый угол подобласти как мировое положение, bottomLeft. Подобласть расширяет строки m и столбцы n направо от заданного положения.

updateOccupancy(map,bottomLeft,obsMatrix,'local') вероятностно интегрирует m-by-n матрица значений наблюдения, obsMatrix, в подобласть в карте. Задайте нижний левый угол подобласти как локальное положение, bottomLeft. Подобласть расширяет строки m и столбцы n направо от заданного положения.

updateOccupancy(map,topLeft,obsMatrix,'grid') вероятностно интегрирует m-by-n матрица значений наблюдения, obsMatrix, в подобласть в карте. Задайте верхний левый угол подобласти как индекс сетки, topLeft. Подобласть расширяет строки m вниз и столбцы n направо от заданного индекса.

Примеры

свернуть все

Создайте пустую карту 10 10 метров в размере.

map = occupancyMap(10,10,10);

Обновите заполнение определенных мировых местоположений с новыми значениями вероятности и отобразите карту.

x = [1.2; 2.3; 3.4; 4.5; 5.6];
y = [5.0; 4.0; 3.0; 2.0; 1.0];

pvalues = [0.2; 0.4; 0.6; 0.8; 1];

updateOccupancy(map,[x y],pvalues)
figure
show(map)

Figure contains an axes object. The axes object with title Occupancy Grid contains an object of type image.

Раздуйте занятые области радиусом 0,5 м. Чем большие значения заполнения перезаписывают, тем меньшие значения.

inflate(map,0.5)
figure
show(map)

Figure contains an axes object. The axes object with title Occupancy Grid contains an object of type image.

Получите местоположения сетки от мировых местоположений.

ij = world2grid(map,[x y]);

Установите значения заполнения для местоположений сетки.

setOccupancy(map,ij,ones(5,1),'grid')
figure
show(map)

Figure contains an axes object. The axes object with title Occupancy Grid contains an object of type image.

Входные параметры

свернуть все

Сопоставьте представление в виде occupancyMap объект. Этот объект представляет среду транспортного средства. Объект содержит матричную сетку с каждым значением, представляющим вероятность заполнения той ячейки. Значения близко к 1 представляйте высокую вероятность, что ячейка содержит препятствие. Значения близко к 0 представляйте высокую вероятность, что ячейка не занята и не содержит препятствий.

Матрица значений заполнения в виде матрицы. Размер матрицы должен быть равен GridSize свойство карты.

Значения заполнения могут иметь любой числовой тип со значениями между 0 и 1. Если матрица является логической, значения заполнения по умолчанию 0,7 (true) и 0.4 (false) используются.

Пример: updateOccupancy(map,ones(map.GridSize)*0.6)

Типы данных: single | double | logical

Местоположения ячейки в мировых координатах в виде n-by-2 матрица со строками формы [x y], где n является количеством мировых координат. Функция игнорирует местоположения за пределами контуров карты.

Пример: updateOccupancy(map,[1 1; 3 3; 5 5],false)

Типы данных: single | double

Местоположение нижнего левого угла матрицы наблюдения в виде двухэлементного вектора из формы [xCoord yCoord]. Местоположение находится в мировых или локальных координатах, на основе синтаксиса.

Пример: updateOccupancy(map,[2 2],[0.2 0.4; 0.6 0.8],'world')

Типы данных: single | double

Местоположение верхнего левого угла сетки в виде двухэлементного вектора из формы [iCoord jCoord].

Пример: updateOccupancy(map,[2 2],[0.2 0.4; 0.6 0.8],'grid')

Типы данных: single | double

Мировые или локальные координаты в виде n-by-2 матрица со строками формы [x y] , где n является количеством координат.

Пример: updateOccupancy(map,[2 2; 4 4; 6 6],[0.2; 0.4; 0.6],'world')

Типы данных: single | double

Положения сетки в виде n-by-2 матрица со строками формы [i j] в [rows cols] формат, где n является количеством положений сетки.

Пример: updateOccupancy(map,[2 2; 4 4; 6 6],[0.2; 0.4; 0.6],'grid')

Типы данных: single | double

Значения наблюдения вероятности в виде числового или логического скаляра или числового или логического n - вектор-столбец элемента тот же размер как любой locationsx, y , или ij.

obs значения могут быть любым значением от 0 до 1, но если obs логический вектор, значения наблюдения по умолчанию 0,7 (true) и 0.4 (false) используются. Если obs числовое или логический скаляр, значение применяется ко всем координатам в locationsx, y , или ij. Эти значения коррелируют к Обратной Модели Датчика для кастинга луча.

Пример: updateOccupancy(map,[2 2; 4 4; 6 6],[0.2; 0.4; 0.6],'local')

Типы данных: single | double | logical

Матрица значений наблюдения вероятности в виде m-by-n числовая или логическая матрица.

Значения наблюдения могут иметь любой числовой тип со значением между 0 и 1. Если матрица является логической, значения наблюдения по умолчанию 0,7 (true) и 0.4 (false) используются.

Пример: updateOccupancy(map,[2 2],[0.2 0.4; 0.6 0.8])

Типы данных: single | double | logical

Больше о

свернуть все

Обратная модель датчика

Обратная модель датчика определяет, как значения установлены вдоль луча от датчика области значений, читающего в препятствия в карте. NaN значения области значений проигнорированы. Значения области значений, больше, чем maxrange не обновляются.

Местоположения сетки, которые содержат показания области значений, обновляются с занятой вероятностью. Местоположения перед чтением обновляются со свободной вероятностью. Все местоположения после чтения не обновляются.

Введенный в R2019b