メインコンテンツ

Grid Surface

R2026b

接触のモデル化用のグリッド表面

ライブラリ:
Simscape / Multibody / Curves and Surfaces

説明

Grid Surface ブロックは、接触問題のモデル化に使用できる直交グリッド表面を作成します。このグリッド表面と各種ジオメトリの間の接触をモデル化できます。サポートされるジオメトリについては、サポートされるジオメトリを参照してください。さらに、Grid Surface ブロックは Custom Tire Force and Torque ブロックと Magic Formula Tire Force and Torque ブロックをサポートしています。

接触にはグリッド表面の正の法線側を使用する必要があります。この側は、基準フレームの正の z 軸が指す方向です。そうしない場合、ブロックは接触しているパーツを表面を通して正の側へ押し出します。

Illustration of the positive normal side of a grid surface

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

Grid types

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

Grid parameters

接触の計算のために、このブロックは各グリッド セルを双一次内挿を使用して 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 関数を使用します。

例

端子

フレーム

すべて展開する

グリッド表面の基準フレーム。このフレームを別のブロックに接続して、グリッド表面の位置と向きを指定します。

ジオメトリ

すべて展開する

このブロックによって定義されるグリッド表面を表すジオメトリ。この端子を Spatial Contact Force ブロックに接続して、サポートされるジオメトリとの接触をモデル化します。

パラメーター

すべて展開する

グリッド表面の x 方向の座標。実数 1-by-m ベクトルとして指定されます。m は 2 より大きい必要があり、ベクトル要素は厳密な単調増加でなければなりません。このベクトルは、[Z の高さ] パラメーターで指定された行列の行に対応します。

Illustration of the relationship between x grid vector and z height matrix

グリッド表面の y 方向の座標。実数 1-by-n ベクトルとして指定されます。n は 2 より大きい必要があり、ベクトル要素は厳密な単調増加でなければなりません。このベクトルは、[Z の高さ] パラメーターで指定された行列の列に対応します。

Illustration of the relationship between y grid vector and z height matrix

グリッド表面のグリッド点の高さ。実数 m-by-n 行列として指定されます。m と n は [X グリッド ベクトル] および [Y グリッド ベクトル] パラメーターのベクトルの長さです。

グラフィックス

グリッド表面の視覚的表現。グリッド表面の視覚的表現を表示するには、パラメーターを [ジオメトリから] に設定します。モデルの可視化でグリッド表面を非表示にするには、パラメーターを [なし] に設定します。

視覚特性を指定するパラメーター表現。拡散色と不透明度を指定するには、[簡易] を選択します。[反射色]、[アンビエント色]、[放射色]、[光沢] など、他の視覚特性を指定するには、[詳細] を選択します。

依存関係

このパラメーターを有効にするには、[タイプ] を [ジオメトリから] に設定します。

直接白色光の下でのグラフィックスの色。0 ~ 1 のスケールの [R G B] または [R G B A] ベクトルとして指定します。オプションの 4 番目の要素 (A) は色の不透明度を 0 ~ 1 のスケールで指定します。不透明度の要素を省略した場合、値 1 を指定したのと同じになります。

依存関係

このパラメーターを有効にするには、[タイプ] を [ジオメトリから] に設定します。

グラフィックスの不透明度。0 ~ 1 の範囲のスカラーとして指定します。スカラー 0 は完全な透明を表し、スカラー 1 は完全な不透明を表します。

依存関係

このパラメーターを有効にするには、次のように設定します。

  1. [タイプ] を [ジオメトリから]

  2. [視覚特性] を [簡易]

鏡面ハイライトの色。0 ~ 1 のスケールの [R,G,B] または [R,G,B,A] ベクトルとして指定します。オプションの 4 番目の要素は色の不透明度を指定します。不透明度の要素を省略した場合、値 1 を指定したのと同じになります。

依存関係

このパラメーターを有効にするには、次のように設定します。

  1. [タイプ] を [ジオメトリから]

  2. [視覚特性] を [詳細]

拡散環境光による影領域の色。0 ~ 1 のスケールの [R,G,B] または [R,G,B,A] ベクトルとして指定します。オプションの 4 番目の要素 (A) は色の不透明度を指定します。不透明度の要素を省略した場合、値 1 を指定したのと同じになります。

依存関係

このパラメーターを有効にするには、次のように設定します。

  1. [タイプ] を [ジオメトリから]

  2. [視覚特性] を [詳細]

自己発光によるグラフィックスの色。0 ~ 1 のスケールの [R,G,B] または [R,G,B,A] ベクトルとして指定します。オプションの 4 番目の要素 (A) は色の不透明度を指定します。不透明度の要素を省略した場合、値 1 を指定したのと同じになります。

依存関係

このパラメーターを有効にするには、次のように設定します。

  1. [タイプ] を [ジオメトリから]

  2. [視覚特性] を [詳細]

鏡面光反射の鮮鋭度。0 ~ 128 のスケールのスカラー値として指定します。光沢の値を大きくすると、範囲の狭いシャープなハイライトとなります。値を小さくすると、範囲の広い滑らかなハイライトとなります。

依存関係

このパラメーターを有効にするには、次のように設定します。

  1. [タイプ] を [ジオメトリから]

  2. [視覚特性] を [詳細]

バージョン履歴

R2021b で導入