Grid Surface
R2026b接触のモデル化用のグリッド表面
ライブラリ:
Simscape /
Multibody /
Curves and Surfaces
説明
Grid Surface ブロックは、接触問題のモデル化に使用できる直交グリッド表面を作成します。このグリッド表面と各種ジオメトリの間の接触をモデル化できます。サポートされるジオメトリについては、サポートされるジオメトリを参照してください。さらに、Grid Surface ブロックは Custom Tire Force and Torque ブロックと Magic Formula Tire Force and Torque ブロックをサポートしています。
接触にはグリッド表面の正の法線側を使用する必要があります。この側は、基準フレームの正の z 軸が指す方向です。そうしない場合、ブロックは接触しているパーツを表面を通して正の側へ押し出します。

グリッド表面は、MATLAB® の ndgrid 関数で生成されるグリッドと同様の形式です。グリッド表面をモデル化するには、X Grid VectorパラメーターとY Grid Vectorパラメーターを使用して、グリッド表面の x と y 方向の座標を指定し、次にZ の高さパラメーターを使用して z 方向のグリッド点の高さを指定します。このブロックを使用して、正方形、長方形、または不等間隔グリッドを表す表面を作成できます。

このイメージは [Z の高さ] パラメーターが [0 0 0.5 0.5; 0 0 0.5 0.5; 0 0 0 0; 0 0 0 0] であるグリッド表面を示しています。行列の列は x- 軸方向、行列の行は y- 軸方向に並びます。

接触の計算のために、このブロックは各グリッド セルを双一次内挿を使用して 4 つの三角形に分割します。ブロックは、4 つの頂点の高さを平均化することで、各セルの中心点を計算します。次に、隣接する 2 つのセル頂点の各組をこの中心点に接続することで、4 つの三角形を形成します。ブロックは、これらの平面三角形面に対して接触力を計算します。
各三角形は平面であるため、各セル内の表面は区分線形です。曲面でより滑らかな接触動作を実現するには、グリッド間隔をより細かくして、三角形面が実際の表面曲率をより正確に近似するようにします。
LiDAR データを使用してグリッド表面を作成するには、Grid Surface ブロックで使用する前に、散布データをグリッド データに変換する必要があります。データを変換するには、LiDAR データの x、y、および z の値を使用して内挿関数を作成するために scatteredInterpolant オブジェクトを使用し、グリッドの領域を表すために x と y のグリッド ベクトルを作成し、これらのグリッド ベクトルを内挿関数のクエリ点として使用してグリッド表面の z 値を生成します。生成された z 値は、[Z の高さ] パラメーターを指定するために使用できる ndgrid 形式で行列を構成します。griddata 関数を使用してグリッド表面の z 値を生成することもできますが、出力行列を転置して ndgrid 形式にする必要があります。
メモ
最適なシミュレーション性能を得るには、x および y グリッド ベクトルの間隔を、表面を十分な精度で表現できる範囲で可能な限り大きくします。グリッド ベクトルの間隔を変更し、対応する z 値を計算するには、griddedInterpolant オブジェクトまたは interp2 関数を使用します。
一般的には、外れ値や NaN 値を削除するなど、グリッド データに変換する前に LiDAR データをクリーニングする必要があります。データをクリーニングするには、isnan 関数および isoutlier 関数を使用します。
例
端子
フレーム
ジオメトリ
パラメーター
バージョン履歴
R2021b で導入



