メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

ousterFileReader

Ouster PCAP ファイルからの点群データの読み取り

R2022a 以降

説明

ousterFileReader オブジェクトは、Ouster® パケット キャプチャ (PCAP) ファイルから点群データを読み取ります。

作成

説明

ousterReader = ousterFileReader(fileName,calibrationFile) は、Ouster PCAP ファイルから点群データを読み取る ousterFileReader オブジェクトを作成します。PCAP ファイル fileName とキャリブレーション ファイル calibrationFile を指定します。入力により FileName プロパティと CalibrationFile プロパティがそれぞれ設定されます。

サポートされている Ouster センサー モデルの詳細については、DeviceModel プロパティを参照してください。

ousterReader = ousterFileReader(fileName,calibrationFile,Name=Value) は、1 つ以上の名前と値の引数を使用して SkipPartialFrames プロパティと CoordinateFrame プロパティを指定します。たとえば、ousterFileReader(fileName,calibrationFile,SkipPartialFrames=0) は、不完全なフレームをスキップしない Ouster ファイル リーダーを作成します。

プロパティ

すべて展開する

この プロパティ は読み取り専用です。

Ouster PCAP ファイルの名前。文字ベクトルまたは string スカラーとして指定します。

この プロパティ は読み取り専用です。

不完全なフレームの処理。logical 1 (true) または 0 (false) として指定します。不完全なフレームとは、水平方向の視野が PCAP ファイル内のすべてのフレームの水平方向の視野の平均に満たないフレームと定義されます。そのようなフレームをスキップするには、このプロパティを true として指定します。それ以外の場合は、false として指定します。

このプロパティを設定するには、オブジェクトの作成時に指定する必要があります。

例: SkipPartialFrames=true は、PCAP ファイル内の不完全なフレームをスキップします。

この プロパティ は読み取り専用です。

PCAP ファイルに IMU データが存在する。logical 1 (true) または 0 (false) として格納されます。

データ型: logical

この プロパティ は読み取り専用です。

点群データの座標系。次のオプションのいずれかとして指定します。

  • "center" — 座標系の原点がセンサーの中心にあります。

  • "base" — 座標系の原点がセンサーの底面にあります。

このプロパティを設定するには、オブジェクトの作成時に指定する必要があります。

例: CoordinateFrame="center" は、座標系の原点をセンサーの中心に設定します。

データ型: char | string

この プロパティ は読み取り専用です。

デバイス モデルの名前。文字ベクトルとして格納されます。オブジェクトは、以下のデバイス モデルをサポートしています。

  • OS0-32

  • OS1-32

  • OS2-32

  • OS0-64

  • OS1-64

  • OS2-64

  • OS0-128

  • OS1-128

  • OS2-128

この プロパティ は読み取り専用です。

Ouster キャリブレーション JSON ファイルの名前。文字ベクトルまたは string スカラーとして指定します。

メモ

正しいキャリブレーション ファイルを指定しないと、フレームが返されないか、キャリブレーションが不適切な点群が返されます。

この プロパティ は読み取り専用です。

LiDAR センサーのモード。文字ベクトルとして指定します。このモードは、LiDAR センサーの水平分解能と回転周波数を指定します。

この プロパティ は読み取り専用です。

ファイルに保存されている点群データのリターン モード。{'strongest'}{'secondStrongest'}、または {'strongest','secondStrongest'} として指定します。

この プロパティ は読み取り専用です。

Ouster センサーのファームウェア バージョン。文字ベクトルとして格納されます。サポートされているファームウェア バージョンの詳細については、リリース別のバージョンのサポートを参照してください。

この プロパティ は読み取り専用です。

ファイル内の LiDAR データ パケットの形式。次のいずれかの値として格納されます。

  • 'LEGACY' — レガシ データ パケット形式。

  • 'RNG19_RFL8_SIG16_NIR16' — LEGACY 形式に存在するチャネル データ ブロックに似たシングル リターン プロファイル。

  • 'RNG19_RFL8_SIG16_NIR16_DUAL'— 強度が最大のリターンと 2 番目に大きいリターンをセンサーが出力可能なデュアル リターン プロファイル。

  • 'RNG15_RFL8_NIR8' — 他の形式と比較して、データ レートとデータ パケット サイズが小さい低データ レート プロファイル。

データ プロファイルの詳細については、『Ouster Firmware User Manual』の Sensor Data のセクションを参照してください。

この プロパティ は読み取り専用です。

ファイル内の点群フレームの合計数。正の整数として指定します。

この プロパティ は読み取り専用です。

ファイルの合計持続時間。秒単位の duration スカラーとして指定します。

この プロパティ は読み取り専用です。

点群の最初の読み取り時間。秒単位の duration スカラーとして指定します。

この プロパティ は読み取り専用です。

点群の最後の読み取り時間。秒単位の duration スカラーとして指定します。

点群の現在の読み取り時間。秒単位の duration スカラーとして指定します。このプロパティは、readFrame を使用して点群を読み取るたびに、点群の最新の読み取り時間で更新されます。このプロパティの値は reset を使用して既定値にリセットできます。既定値は StartTime プロパティと一致します。

この プロパティ は読み取り専用です。

各点群フレームの開始時間。秒単位の値の duration ベクトルとして指定します。このベクトルの長さは NumberOfFrames プロパティの値と等しくなります。このベクトルの最初の要素の値は StartTime プロパティの値と同じです。このプロパティを使用して、異なる時間に取得された点群フレームを読み取ることができます。

オブジェクト関数

hasFrameDetermine if another Ouster point cloud is available
readFrameRead Ouster point cloud from file
resetReset ousterFileReader object to first frame
readIMURead IMU data from Ouster PCAP file

すべて折りたたむ

Ouster パケット キャプチャ (PCAP) ファイル、および対応するキャリブレーション ファイルを含む ZIP ファイルをダウンロードし、そのファイルを解凍します。

zipFile = matlab.internal.examples.downloadSupportFile("lidar","data/ouster_RoadIntersection.zip");
saveFolder = fileparts(zipFile);
pcapFileName = [saveFolder filesep 'ouster_RoadIntersection' filesep 'ouster_RoadIntersection.pcap'];
calibFileName = [saveFolder filesep 'ouster_RoadIntersection' filesep 'OS1-128U.json'];
if ~(exist(pcapFileName,"file") && exist(calibFileName,"file"))
    unzip(zipFile,saveFolder);
end

ousterFileReader オブジェクトを作成します。

ousterReader = ousterFileReader(pcapFileName,calibFileName);

pcplayer の X 軸、Y 軸、Z 軸の座標軸の範囲をメートル単位で定義します。

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

点群プレーヤーを作成します。

player = pcplayer(xlimits,ylimits,zlimits);

pcplayer の座標軸のラベルを設定します。

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

開始時間の 0.3 秒後から読み取りを開始するように Ouster ファイル リーダーの CurrentTime を指定します。

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

CurrentTime から最終の点群までの点群のストリームを表示します。

while(hasFrame(ousterReader) && player.isOpen())
    ptCloud = readFrame(ousterReader);
    view(player,ptCloud);
end

Figure Point Cloud Player contains an axes object. The axes object with xlabel X (m), ylabel Y (m) contains an object of type scatter.

ヒント

リリース別のバージョンのサポート

リリースサポートするファームウェア バージョン
R2022a

次のサポートを追加:

  • 2.0

  • 2.1

R2023a

次のサポートを追加:

  • 2.2

  • 2.3

R2023b

次のサポートを追加:

  • 2.4

R2024a

次のサポートを追加:

  • 2.5

  • 3.0

バージョン履歴

R2022a で導入

すべて展開する