insertRay

Вставьте луч от лазерного наблюдения скана

Описание

пример

insertRay(map,pose,scan,maxrange) вставляет одно или несколько наблюдений датчика скана лидара в сетку заполнения, map, использование входа lidarScan объект, scan, получить конечные точки луча. Местоположения конечной точки обновляются с занятым значением. Если области значений выше maxrange, конечные точки луча рассматриваются свободным пространством. Все другие точки вдоль луча обработаны как без препятствий.

insertRay(map,pose,ranges,angles,maxrange) задает показания области значений как векторы, заданные входом ranges и angles.

insertRay(map,startpt,endpoints) вставляет наблюдения между линейными сегментами от стартовой точки, в конец указывает. Конечные точки обновляются, занятое место, и другие точки вдоль линейных сегментов обновляются как свободное пространство.

Примеры

свернуть все

Создайте пустую бинарную карту сетки заполнения.

map = binaryOccupancyMap(10,10,20);

Введите положение транспортного средства, областей значений, углов и максимальной области значений лазерного скана.

pose = [5,5,0];
ranges = 3*ones(100,1);
angles = linspace(-pi/2,pi/2,100);
maxrange = 20;

Создайте lidarScan объект с заданными областями и углами.

scan = lidarScan(ranges,angles);

Вставьте лазерные данные сканирования в карту заполнения.

insertRay(map,pose,scan,maxrange);

Покажите карту, чтобы видеть результаты вставки лазерного скана.

show(map)

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

Проверяйте заполнение пятна непосредственно перед транспортным средством.

getOccupancy(map,[8 5])
ans = logical
   1

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

свернуть все

Сопоставьте представление в виде binaryOccupancyMap объект. Этот объект представляет среду робота. Объект содержит матричную сетку с двоичными значениями, указывающими на препятствия как true(1 ) и свободные местоположения как false(0 ).

Положение и ориентация транспортного средства в виде [x y theta] вектор. Положением транспортного средства является x и положение y с угловой ориентацией theta (в радианах) измеренный от x - ось.

Чтения сканов лидара в виде lidarScan объект.

Значения диапазона от данных сканирования в виде вектора из элементов, измеренных в метрах. Эти значения области значений являются расстояниями от датчика в данном angles. Вектор должен быть той же длиной как соответствующий angles вектор.

Угловые значения от данных сканирования в виде вектора из элементов, измеренных в радианах. Эти угловые значения соответствуют данному ranges. Вектор должен быть той же длиной как соответствующий ranges вектор.

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

Стартовая точка для лучей в виде двухэлементного вектора, [x y] , в системе координат мировой координаты. Все лучи являются линейными сегментами, которые происходят в этой точке.

Конечные точки для лучей в виде n-by-2 матрица [x y] пары в системе координат мировой координаты, где n является длиной ranges или angles. Все лучи являются линейными сегментами, которые происходят в startpt.

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

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

Смотрите также

(Navigation Toolbox) | | |

Введенный в R2019b