exponenta event banner

rayIntersection

Поиск точек пересечения лучей и занятых ячеек карты

Описание

[intersectionPts,isOccupied] = rayIntersection(map3D,sensorPose,directions,maxrange) возвращает точки пересечения лучей на указанной карте, map3D. Лучи, исходящие от указанного sensorPose при заданных ориентациях, directions. Точки пересечения возвращаются в мировой рамке координат. Использовать isOccupied чтобы определить, находится ли точка пересечения в максимальном диапазоне датчика или она пересекает препятствие.

[intersectionPts,isOccupied] = rayIntersection(map3D,sensorPose,directions,maxrange,ignoreUnknown)дополнительно принимает необязательные аргументы для максимального диапазона датчиков и указывает, следует ли игнорировать неизвестные значения. По умолчанию лучи простираются до границы карты, а неизвестные значения игнорируются.

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

свернуть все

Карта заполняемости 3-D, указанная как occupancyMap3D объект.

Положение и ориентация датчика, указанного как [x y z qw qx qy qz] вектор. Поза транспортного средства представляет собой вектор положения xyz с вектором ориентации кватерниона, указанным как [qw qx qy qz].

Ориентация лучей, исходящих от датчика, относительно рамки координат датчика, указанного как n-by-3 [dx dy dz] матрица или n-by-2 [az el] матрица.

  • [dx dy dz] - вектор направления в координатах xyz.

  • [az el] - вектор с азимутальным углом, az, измеренные от положительного направления x к положительному направлению y и угол места от плоскости x к положительному направлению z в кадре координат датчика.

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

Интерпретировать неизвестные значения на карте как свободные или занятые, указанные как 1 или 0. Задайте для этого значения значение 0 чтобы предположить, что неизвестные значения заняты.

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

свернуть все

Точки пересечения, возвращенные в виде матрицы n-by-3 [x y z] точки в мировой рамке, где n - длина directions.

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

См. также

Классы

Функции

Представлен в R2020a