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)

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

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.

Введенный в R2019b

Для просмотра документации необходимо авторизоваться на сайте