exponenta event banner

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;

Определите сетку сферы для цели.

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

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

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

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

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

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

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

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

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

IsValidTime

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

IsScanDone

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

FieldOfView

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

MeasurementParameters

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

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

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

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

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

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