checkOccupancy

Класс: робототехника. OccupancyGrid
Пакет: робототехника

Проверяйте местоположения бесплатно, занятые, или неизвестные значения

Синтаксис

iOccval = checkOccupancy(map,xy)
iOccval = checkOccupancy(map,ij,"grid")

Описание

пример

iOccval = checkOccupancy(map,xy) возвращает массив значений заполнения в местоположениях xy с помощью свойств OccupiedThreshold и FreeThreshold объекта map. Каждая строка является отдельным местоположением xy в сетке, чтобы проверять заполнение. Значения заполнения могут быть препятствием, свободным (0), занятый (1), или неизвестный (–1).

iOccval = checkOccupancy(map,ij,"grid") задает индексы ячейки сетки ij вместо местоположений xy.

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

развернуть все

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

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

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

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

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

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

развернуть все

Интерпретированные значения заполнения, возвращенные как n-by-1 вектор-столбец, равняются в длине xy или ij.

Значения заполнения могут быть препятствием, свободным (0), занятый (1), или неизвестный (–1). Эти значения определяются от фактических значений вероятности и свойств OccupiedThreshold и FreeThreshold объекта map.

Примеры

развернуть все

Доступ к значениям заполнения и проверке их состояние заполнения на основе занятых и свободных порогов объекта OccupancyGrid.

Создайте матрицу и заполните ее со значениями. Используйте эту матрицу, чтобы создать сетку заполнения.

p = 0.5*ones(20,20);
p(11:20,11:20) = 0.75*ones(10,10);
map = robotics.OccupancyGrid(p,10);

Получите заполнение других мест и проверяйте их состояния заполнения. Состояние заполнения возвращается 0 для свободного пространства и 1 для занятого места. Неизвестные значения возвращаются-1.

pocc = getOccupancy(map,[1.5 1])
pocc = 0.7500
occupied = checkOccupancy(map,[1.5 1])
occupied = 1
pocc2 = getOccupancy(map,[5 5],'grid')
pocc2 = 0.5000
occupied2 = checkOccupancy(map,[5 5],'grid')
occupied2 = -1

Введенный в R2017b