velodyneFileReader

Чтение данных облака точек из файла Velodyne PCAP

Описание

The velodyneFileReader объект считывает данные облака точек из Velodyne® файл захвата пакетов (PCAP).

Создание

Описание

пример

veloReader = velodyneFileReader(fileName,deviceModel) создает средство чтения файлов Velodyne, считывающее данные облака точек. Укажите файл PCAP и модель устройства, которая сгенерировала файл. Входы устанавливают FileName и DeviceModel свойства непосредственно. Читатель поддерживает модели VLP-16, Puck LITE, Puck Hi-Res, VLP-32C, HDL-32E, HDL-64E и VLS-128 устройств.

veloReader = velodyneFileReader(fileName,deviceModel,'CalibrationFile',calibFile) задает XML- файл калибровки Velodyne и устанавливает CalibrationFile свойство.

Свойства

расширить все

Это свойство доступно только для чтения.

Имя файла PCAP Velodyne, из которого считываются данные лидара, заданное как вектор символов или строковый скаляр.

Это свойство доступно только для чтения.

Имя модели устройства Velodyne, заданное как 'VLP16', 'PuckLITE', 'PuckHiRes', 'VLP32C', 'HDL32E', 'HDL64E', или 'VLS128'.

Примечание

Установка неправильной модели устройства возвращает неправильно калиброванное облако точек.

Это свойство доступно только для чтения.

Имя XML- файл калибровки Velodyne, заданное как вектор символов или строковый скаляр. Этот файл калибровки включен в каждый датчик.

Это свойство доступно только для чтения.

Общее количество облаков точек в файле, заданное в виде положительного целого числа.

Это свойство доступно только для чтения.

Общая длительность файла в секундах, заданная как duration скаляр.

Это свойство доступно только для чтения.

Время первого облака точек, заданное как duration скаляр в секундах.

Начало и конец задается относительно предыдущего часа. Для образца, если файл записывается в течение 7 минут с 13:58 до 14:05, то:

  • StartTime = 58 мин × 60 с = 3840 с

  • EndTime = StartTime + 7 мин × 60 с = 3900 с

Это свойство доступно только для чтения.

Время последнего чтения облака точек, заданное как duration скаляр.

Начало и конец задается относительно предыдущего часа. Для образца, если файл записывается в течение 7 минут с 13:58 до 14:05, то:

  • StartTime = 58 мин × 60 с = 3840 с

  • EndTime = StartTime + 7 мин × 60 с = 3900 с

Время чтения текущего облака точек в секундах, заданное как duration скаляр. Когда вы считываете облака точек, используя readFrame, это свойство обновляется с самым последним временем чтения облака точек. Вы можете использовать reset для сброса значения этого свойства на значение по умолчанию. Значение по умолчанию соответствует StartTime свойство.

Это свойство доступно только для чтения.

Время запуска каждой системы координат облака точек в секундах, заданное как duration вектор. Длина вектора равна значению NumberOfFrames свойство. Значение первого элемента в векторе то же, что и у StartTime свойство. Вы можете использовать это свойство для чтения систем координат облака точек, захваченных в разное время.

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

veloReader = velodyneFileReader('lidarData_ConstructionRoad.pcap','HDL32E')
frameTime  = veloReader.Timestamps(10);
ptCloud    = readFrame(veloReader,frameTime);

Функции объекта

hasFrameОпределите, доступно ли другое облако точек Velodyne
readFrameЧтение облака точек Velodyne из файла
resetСбросьте CurrentTime свойство velodyneFileReader объект к значению по умолчанию

Примеры

свернуть все

Используйте velodyneFileReader для чтения файла захвата пакетов (PCAP) с датчика Velodyne ®. Просмотрите облака точек с помощью pcplayer.

Считывайте облака точек с помощью средства чтения файлов Velodyne ®. Укажите файл PCAP для чтения и модель устройства Velodyne ®.

veloReader = velodyneFileReader('lidarData_ConstructionRoad.pcap','HDL32E');

Задайте пределы осей X, Y и Z для pcplayer в метрах. Пометьте оси.

xlimits = [-60 60];
ylimits = [-60 60];
zlimits = [-20 20];

Создайте проигрыватель облака точек.

player = pcplayer(xlimits,ylimits,zlimits);

Пометьте оси.

xlabel(player.Axes,'X (m)');
ylabel(player.Axes,'Y (m)');
zlabel(player.Axes,'Z (m)');

Первое интересующее облако точек захватывается в файл на 0.3 секунде. Установите CurrentTime свойство к тому времени к чтению облака точек оттуда.

veloReader.CurrentTime = veloReader.StartTime + seconds(0.3); 

Отображать поток облака точек в течение 10 секунд. Удалите последнюю while условие для отображения полного потока.

Использование hasFrame чтобы проверить, доступна ли новая система координат. Итерация через файл путем вызова readFrame для чтения в облаках точек. Отобразите их с помощью проигрывателя облака точек. Удалите последнюю while условие для отображения полного потока.

while(hasFrame(veloReader) && player.isOpen() && (veloReader.CurrentTime < veloReader.StartTime + seconds(10)))
    ptCloudObj = readFrame(veloReader);
    view(player,ptCloudObj.Location,ptCloudObj.Intensity);
    pause(0.1);
end

Figure Point Cloud Player contains an axes. The axes contains an object of type scatter.

См. также

Функции

Объекты

Внешние веб-сайты

Введенный в R2018a