exponenta event banner

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] вектор. Позой датчика является положение х и у с угловой ориентацией тета (в радианах), измеренной от оси х.

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

Угол луча, заданный как скаляр в радианах. Значение угла соответствует 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