lidarDetect

Сообщите об обнаружениях облака точек со всех датчиков лидара в trackingScenario

Описание

пример

pointCloulds = lidarDetect(scene) сообщает об обнаружениях облака точек из всех monostaticLidarSensor объекты, установленные на каждой платформе в trackingScenario, scene.

[pointClouds,configs] = lidarDetect(scene) также возвращает строения датчиков, configs, в сценарии отслеживания.

[pointClouds,configs, clusters] = lidarDetect(___) также возвращается clusters, метки кластеров для каждой точки в обнаружениях облака точек.

Примеры

свернуть все

Создайте сценарий отслеживания.

sc = trackingScenario;
rng(2020) % for repeatable results

Добавьте две платформы к сценарию отслеживания.

plat1 = platform(sc);
plat2 = platform(sc);

Добавьте целевую платформу к сценарию отслеживания.

target = platform(sc);

Задайте простую траекторию путевой точки для цели.

traj = waypointTrajectory("Waypoints",[1 1 1; 2 2 2],"TimeOfArrival",[0,1]);
target.Trajectory = traj;

Задайте сферический mesh для целевого объекта.

target.Mesh = extendedObjectMesh("Sphere");
target.Dimensions = struct("Length",4,"Width",3,"Height",2,"OriginOffset",[0 0 0]);

Отображение mesh целевого объекта.

figure()
show(target.Mesh);
legend("Target Mesh")
xlabel('x (m)'); ylabel('y (m)'); zlabel('z (m)');

Figure contains an axes. The axes contains an object of type patch. This object represents Target Mesh.

Создайте два датчика лидара с различной точностью области значений. Смонтируйте их на двух платформах.

sensor1 = monostaticLidarSensor(1,"RangeAccuracy",0.01);
sensor2 = monostaticLidarSensor(2,"RangeAccuracy",0.2);
plat1.Sensors = {sensor1};
plat2.Sensors = {sensor2};

Сгенерируйте обнаружения от двух датчиков лидара с помощью lidarDetect.

[pointClouds,configs,clusters] = lidarDetect(sc);

Визуализация результатов.

cloud1 = pointClouds{1};
cloud2 = pointClouds{2};
figure()
plot3(cloud1(:,1),cloud1(:,2),cloud1(:,3),'bo')
hold on
plot3(cloud2(:,1),cloud2(:,2),cloud2(:,3),'go')
legend('Sensor1','Sensor2')
xlabel('x (m)'); ylabel('y (m)'); zlabel('z (m)')

Figure contains an axes. The axes contains 2 objects of type line. These objects represent Sensor1, Sensor2.

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

свернуть все

Сценарий отслеживания, заданный как trackingScenario объект.

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

свернуть все

Обнаружения облака точек, сгенерированные датчиками, возвращаются как массив ячеек K-element. K - количество monostaticLidarSensor объекты в сценарии отслеживания, scene. Каждый элемент камеры является массивом, представляющим облако точек, сгенерированное соответствующим датчиком. Размерность массива определяется HasOrganizedOuput свойство датчика.

  • Когда это свойство установлено как trueэлемент камеры возвращает N -by M -by-3 массив скаляров, где N количество каналов повышения, а M количество азимутальных каналов.

  • Когда это свойство установлено как falseэлемент камеры возвращается как P-на-3 матрица скаляров, где P является продуктом чисел восходящего и азимутального каналов.

Координатная система координат, в которой сообщаются местоположения облака точек, определяется DetectionCoordinates свойство датчика.

Строения датчика тока, возвращенные как K-element массив структур. K - количество monostaticLidarSensor объекты в сценарии отслеживания, scene. Каждая структура имеет следующие поля:

ОбластьОписание
SensorIndex

Уникальный индекс датчика, возвращенный как положительное целое число.

IsValidTime

Допустимое время обнаружения, возвращаемое как true или false. IsValidTime является false при запросе обновлений обнаружения между интервалами обновления, заданными частотой обновления.

IsScanDone

IsScanDone является true когда датчик завершит скан.

FieldOfView

Поле зрения датчика, возвращаемое как матрица 2 на 2 положительных вещественных значений. Элементами первых строк являются нижний и верхний пределы азимута; элементы второй строки являются нижним и верхним пределами по повышению.

MeasurementParameters

Параметры измерения датчика, возвращенные как массив структур, содержащих преобразования координатной системы координат, необходимые для преобразования положений и скоростей в системе координат верхнего уровня в систему координат тока.

Типы данных: struct

Метки кластеров точек в pointClouds выход, возвращенный как K-element массив ячеек. K - количество monostaticLidarSensor в сценарии отслеживания, scene. Каждый элемент камеры является массивом, представляющим метки кластеров точек в облаке точек, сгенерированном соответствующим датчиком. Размерность массива определяется HasOrganizedOuput датчика.

  • Когда это свойство установлено как trueэлемент камеры возвращается как N -by M -by-2 массив скаляров, где N - количество каналов повышения, а M - количество азимутальных каналов. В третьей размерности первый элемент представляет PlatformID целевого объекта, генерирующего точку, а второй элемент представляет ClassID цели.

  • Когда это свойство установлено как falseэлемент камеры возвращается как P -by-2 матрица скаляров, где P является продуктом чисел восходящего и азимутального каналов. Для каждого столбца матрицы первый элемент представляет PlatformID целевого объекта, генерирующего точку, в то время как второй элемент представляет ClassID цели.

Введенный в R2020b