Main Content

lidarParameters

LiDAR センサーのパラメーター

R2021b 以降

説明

lidarParameters オブジェクトは、LiDAR センサーのパラメーターを格納します。関数 pcorganize を使用してアンオーガナイズド点群からオーガナイズド点群に変換するには、これらのセンサー パラメーターを指定する必要があります。詳細については、LiDAR センサーのパラメーターを参照してください。

作成

説明

params = lidarParameters(sensorName,horizontalResolution) は、指定したセンサー sensorName のセンサー パラメーターを lidarParameters オブジェクトとして返します。horizontalResolutionHorizontalResolution プロパティを指定します。この構文を使用して、サポートされているセンサーのパラメーターを読み込みます。サポートされているセンサーを参照してください。

params = lidarParameters(verticalResolution,verticalFoV,horizontalResolution) は、一様ビーム構成の LiDAR センサーのパラメーターを格納します。verticalResolutionverticalFoV、および horizontalResolution 引数は、それぞれ VerticalResolutionVerticalFoV、および HorizontalResolution プロパティを設定します。

params = lidarParameters(verticalBeamAngles,horizontalResolution) は、勾配ビーム構成の LiDAR センサーのパラメーターを格納します。verticalBeamAngles および horizontalResolution 引数は、それぞれ VerticalBeamAngles および HorizontalResolution プロパティを設定します。

params = lidarParameters(___,Name=Value) は、前述した構文の入力引数の任意の組み合わせに加え、1 つ以上の名前と値の引数を使用してプロパティを指定します。たとえば、lidarParameters("HDL32E",horizontalResolution,SweepStartAngle=180) はセンサー スイープの開始角度を 180 度に指定します。

入力引数

すべて展開する

サポートされているセンサーの名前。文字ベクトルまたは string スカラーとして指定します。この引数を使用して、サポートされているセンサーのパラメーターを読み込みます。サポートされているセンサーを参照してください。

水平方向のチャネル数。正の整数として指定します。典型的な値としては 512 と 1024 があります。

垂直方向のチャネル数。正の整数として指定します。典型的な値としては 32 と 64 があります。

LiDAR センサーの垂直方向の視野。2 要素ベクトルとして指定します。

各垂直チャネルの角度位置。N 要素ベクトル (度) として指定します。N はセンサーの verticalResolution です。

プロパティ

すべて展開する

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

水平方向のチャネル数。正の整数として格納されます。

垂直方向のチャネル数。正の整数として格納されます。

LiDAR センサーの垂直方向の視野。2 要素ベクトル (度) として格納されます。

各垂直チャネルの角度位置。N 要素ベクトル (度) として格納されます。N はセンサーの VerticalResolution です。

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

LiDAR センサーの水平方向の視野。正のスカラー (度) として格納されます。

メモ

この値は、オブジェクトの作成時に名前と値の引数として指定できます。たとえば、lidarParameters("HDL32E",horizontalResolution,HorizontalFoV=180) はセンサーによりカバーされる水平方向の視野を 180 度に指定します。それ以外の場合は、この関数は既定値 360 度を使用します。

LiDAR センサーの水平角度分解能。正のスカラー (度) として格納されます。

各水平チャネルの角度位置。M 要素ベクトル (度) として格納されます。M はセンサーの HorizontalResolution です。

LiDAR センサー スイープの開始角度。非負のスカラー (度) として格納されます。この値は 360 度より小さくなければなりません。

SweepStartAngle の標準的な値は次のとおりです。

  • Velodyne LiDAR センサーの場合、標準的な値は 90 度です。

  • Ouster® センサーの場合、標準的な値は次のとおりです。

    • 点群がセンサー座標系にあり、センサーの中心を原点とする場合、0 度。

    • 点群がセンサー座標系にあり、センサーの底面を原点とする場合、180 度。

メモ

この値は、オブジェクトの作成時に名前と値の引数として指定できます。たとえば、lidarParameters("HDL32E",horizontalResolution,SweepStartAngle=180) はセンサー スイープの開始角度を 180 度に指定します。それ以外の場合は、この関数は既定値 0 を使用します。

センサーの回転方向。logical 1 (true) または 0 として指定します。logical 1 は時計回りの回転を示し、logical 0 は反時計回りの回転を示します。

ほとんどのセンサーは、通常、時計回りに回転します。

メモ

この値は、オブジェクトの作成時に名前と値の引数として指定できます。たとえば、lidarParameters("HDL32E",horizontalResolution,RotateClockwise=0) は反時計回りのセンサー回転を指定します。それ以外の場合は、この関数は既定値 1 または時計回りの回転を使用します。

すべて折りたたむ

点群データをワークスペースに読み込みます。

fileName = fullfile(toolboxdir("lidar"),"lidardata","lcc","HDL64", ...
                   "pointCloud","0001.pcd");
ptCloudUnorg = pcread(fileName);

LiDAR センサーの水平分解能を指定します。

horizontalResolution = 1024;

指定した horizontalResolution とスイープ開始角度 10 度をもつ HDL64E センサーを表す lidarParameters オブジェクトを作成します。

params = lidarParameters('HDL64E',horizontalResolution,SweepStartAngle=10);

アンオーガナイズド点群をオーガナイズド点群に変換します。

ptCloudOrg = pcorganize(ptCloudUnorg,params);

入力点群の次元を表示します。

size(ptCloudUnorg.Location)
ans = 1×2

       37879           3

変換後の点群のサイズを表示します。pointCloud オブジェクトには、オーガナイズド点群は "M""N" 列の配列として格納され、アンオーガナイズド点群は "M" 行 3 列の行列として格納されます。

size(ptCloudOrg.Location)
ans = 1×3

          64        1024           3

LiDAR センサーのパラメーターを定義します。

verticalFoV = [2 -24.69];
verticalResolution = 32;
horizontalResolution = 512;

lidarParmaters オブジェクトを定義します。

params = lidarParameters(verticalResolution,verticalFoV,...
                         horizontalResolution)
params = 
  lidarParameters with properties:

       HorizontalResolution: 512
         VerticalResolution: 32
                VerticalFoV: [2 -24.6900]
         VerticalBeamAngles: [2 1.1390 0.2781 -0.5829 -1.4439 -2.3048 -3.1658 -4.0268 -4.8877 -5.7487 -6.6097 -7.4706 -8.3316 -9.1926 -10.0535 -10.9145 -11.7755 -12.6365 -13.4974 -14.3584 -15.2194 -16.0803 -16.9413 -17.8023 -18.6632 ... ] (1x32 double)
              HorizontalFoV: 360
    HorizontalAngResolution: 0.7031
       HorizontalBeamAngles: [0 0.7031 1.4062 2.1094 2.8125 3.5156 4.2188 4.9219 5.6250 6.3281 7.0312 7.7344 8.4375 9.1406 9.8438 10.5469 11.2500 11.9531 12.6562 13.3594 14.0625 14.7656 15.4688 16.1719 16.8750 17.5781 18.2812 18.9844 ... ] (1x512 double)
            SweepStartAngle: 0
            RotateClockwise: 1

センサーの垂直ビームの角度を定義します。ビームの角度を確認するには、センサーのデータ ハンドブックを参照してください。ビーム構成の詳細については、LiDAR センサーのパラメーターを参照してください。

verticalBeamAngles = [15.0000 3.0000 1.5000 0.8333 0.1667 -0.5000 ...
                       -1.1667 -1.8333 -2.5000 -3.1667 -3.8333 -4.5000 ...
                       -5.1667 -5.8333 -9.0000 -13.0000];

センサーの水平分解能を定義します。

horizontalResolution = 512;

lidarParmaters オブジェクトを定義します。

params = lidarParameters(verticalBeamAngles,horizontalResolution)
params = 
  lidarParameters with properties:

       HorizontalResolution: 512
         VerticalResolution: 16
                VerticalFoV: [15 -13]
         VerticalBeamAngles: [15 3 1.5000 0.8333 0.1667 -0.5000 -1.1667 -1.8333 -2.5000 -3.1667 -3.8333 -4.5000 -5.1667 -5.8333 -9 -13]
              HorizontalFoV: 360
    HorizontalAngResolution: 0.7031
       HorizontalBeamAngles: [0 0.7031 1.4062 2.1094 2.8125 3.5156 4.2188 4.9219 5.6250 6.3281 7.0312 7.7344 8.4375 9.1406 9.8438 10.5469 11.2500 11.9531 12.6562 13.3594 14.0625 14.7656 15.4688 16.1719 16.8750 17.5781 18.2812 18.9844 ... ] (1x512 double)
            SweepStartAngle: 0
            RotateClockwise: 1

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2021b で導入

すべて展開する