raycast

Вычислите индексы ячейки вдоль луча

Описание

[endpoints,midpoints] = raycast(map,pose,range,angle) возвращает индексы ячейки заданного map для всех ячеек, пересеченных лучом, происходящим из заданного pose в заданном angle и range значения. endpoints содержит все индексы, затронутые к концу луча, со всеми другими точками, включенными в midpoints.

[endpoints,midpoints] = raycast(map,p1,p2) возвращает индексы ячейки линейного сегмента между двумя заданными точками.

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

свернуть все

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

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

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

Угол луча в виде скаляра в радианах. Угловое значение для соответствующего range.

Начальная точка луча в виде [x y] двухэлементный вектор. Точки заданы относительно мировой системы координат.

Конечная точка луча в виде [x y] двухэлементный вектор. Точки заданы относительно мировой системы координат.

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

свернуть все

Индексы конечной точки, возвращенные как n-by-2 матрица [i j] пары, где n является количеством индексов сетки. Конечные точки то, где range значение нападает на заданный angle. Несколько индексов возвращены, когда конечная точка находится на контуре нескольких ячеек.

Индексы средней точки, возвращенные как n-by-2 матрица [i j] пары, где n является количеством индексов сетки. Этот аргумент включает все индексы сетки, которые луч пересекает, исключая конечную точку.

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

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

Введенный в R2019b