exponenta event banner

velodyneFileReader

Считывание данных облака точек из файла Velodine PCAP

Описание

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

Создание

Описание

пример

veloReader = velodyneFileReader(fileName,deviceModel) создает средство чтения файлов Velodine, которое считывает данные облака точек. Укажите файл 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-файл калибровки Velodine и задает CalibrationFile собственность.

Свойства

развернуть все

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

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

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

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

Примечание

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

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

Имя XML-файла калибровки Velodine, заданного как вектор символа или скаляр строки. Этот файл калибровки входит в комплект поставки каждого датчика.

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

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

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

Общая продолжительность файла в секундах, указанная как 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Определение доступности другого облака точек Velodine
readFrameЧтение облака точек Velodine из файла
resetСбросить CurrentTime имущество velodyneFileReader объект со значением по умолчанию

Примеры

свернуть все

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

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

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