Main Content

座標系の取り扱い

座標系とは、3 次元マルチボディ モデルにおいて位置と向きのデータを符号化する 3 本の軸の組み合わせです。個々の 3 本の軸の組み合わせは、原点で交差する 3 本の直交軸で構成されています。原点が座標系の位置を決定し、座標軸が座標系の向きを決定します。座標軸は、x 軸を赤、y 軸を緑、z 軸を青として色分けされています。

座標系の役割

すべての固体コンポーネントには、そのコンポーネントが剛的に関連付けられた 1 つ以上のローカル座標系があります。コンポーネントの座標系の位置と向きを操作することによって、コンポーネント自体の位置と向きを設定します。このようにしてコンポーネント間の空間関係を指定できるようにすることが、モデルにおける座標系の役割です。

座標系の取り扱い

座標系端子は、コンポーネントのローカル座標系を特定します。たとえば、固体ブロックの R 座標系端子は、固体のローカルな基準座標系を特定します。あらゆるブロックに、関連コンポーネントを空間内で位置付けるために接続する座標系端子が 1 つ以上あります。次の図は、いくつかの Body Elements ブロックの基準座標系端子を示しています。

座標系端子間の接続は、それらの座標系間の空間関係を決定します。座標系接続ラインで直接接続された座標系は空間内で一致するようになります。Rigid Transformブロックは、座標系間の回転オフセットおよび並進オフセットを設定します。次の図は、一致した座標系接続とオフセットのある座標系接続の例を示しています。

固体座標系間の一致関係は、それ自体で固体ジオメトリ間の一致関係を構成するものではありません。2 つの固体ジオメトリの空間配置は、それぞれの基準座標系の空間配置だけでなく、それら座標系に対しジオメトリがどう定義されているかにも依存します。

2 つのジオメトリが互いに異なる場合、または基準座標系に対するジオメトリの位置や向きが互いに異なる場合、基準座標系を一致させると、固体ジオメトリはオフセットされた配置になります。次の図では、固体 A の座標系を固体 B の左の座標系に接続することで、ジオメトリが互いにオフセットされた形で固体が結合しています。

カスタムの固体座標系

Solid ブロックには、新規の "カスタム" 座標系の作成に使用できる座標系作成インターフェイスがあります。頂点、エッジ、面などのジオメトリの特徴を使用して、カスタム座標系の位置と向きを指定できます。慣性の観点からさらに便利なのは、重心と固体の 3 つの主軸を使用して同じことを実行できる点です。

実践: カスタムの固体座標系の作成

File Solid ブロックの座標系作成インターフェイスを使用してカスタム座標系を作成します。次に、座標系原点を重心に配置し、座標系の軸を慣性の主軸に揃えます。結果は、慣性行列が対角行列で、慣性乗積がゼロである、主基準座標系と一致した座標系になります。

  1. MATLAB® コマンド プロンプトで「openExample("sm/DocLBeamInertiaExample")」と入力します。モデルが開き、L 字ビームの形状をもつ固体が表示されます。

  2. File Solid ブロックのダイアログ ボックスで、[Create Frame] ボタンをクリックします。File Solid ブロックのダイアログ ボックスが座標系作成ビューに切り替わります。

  3. [Frame Name] パラメーターを "Principal Frame (主座標系)" を表す P に変更します。可視化ペインと座標系端子では、このラベルを使用して新しい座標系を識別します。

  4. [Frame Origin] で、[At Center of Mass] というラベルのラジオ ボタンを選択します。

  5. [Frame Axes][Primary Axis] および [Frame Axes][Secondary Axis] で、[Along Principal Inertia Axis] というラベルのラジオ ボタンを選択します。既定の軸オプション (それぞれ [+Z][+X]) をそのまま使用し、[Save] をクリックします。ブロックのダイアログ ボックスが切り替わり、メイン (パラメーター) ビューに戻ります。

  6. 可視化ツールストリップで、[Toggle visibility of frames] ボタンをクリックします。新しいカスタム座標系 P を含む固体の座標系が可視化ペインに表示されます。

座標系変換とは

座標系間の回転オフセットおよび並進オフセットは変換と呼ばれます。変換が時間を通じて一定である場合には剛体変換と呼ばれます。剛体変換によって、たとえば固体をボディに組み立てるなどのために、空間内でのコンポーネントの相対的な位置や向きを固定できます。

座標系変換の取り扱い

座標系間での回転、並進、またはそれらを組み合わせた剛体変換を指定するには、Rigid Transform ブロックを使用します。変換には方向があります。変換では、base と呼ばれる座標系を基準として follower と呼ばれる座標系の回転と並進を設定します。

Rigid Transform ブロックの座標系端子ラベルによって base 座標系と follower 座標系が特定されます。端子 B に接続された座標系は base として機能します。端子 F に接続された座標系は follower として機能します。端子の接続を逆にすると、座標系変換が適用される方向が逆になります。

さまざまな方法を使用して変換を指定できます。回転変換の方法には、軸と角度のペア、回転行列および回転シーケンスがあります。並進変換の方法には、直交座標系または円柱座標系で定義された並進オフセット ベクトルがあります。

回転変換と並進変換が両方ともゼロの場合、接続された座標系は空間内で一致します。この関係は "恒等" と呼ばれ、座標系端子間の直接的な座標系接続ライン、つまり Rigid Transform ブロックをもたないラインに相当します。

座標系変換の可視化

Solid ブロックの可視化ペインまたは Mechanics Explorer を使用して座標系を可視化し、座標系間の変換を確認することができます。単一の固体要素の座標系を確認するには、Solid ブロックの可視化ペインを使用します。可視化ツールストリップの [Toggle visibility of frames] ボタンをクリックすると、すべての固体座標系が表示されます。

固体の座標系

複合ボディ、マルチボディ サブシステムまたは完全なマルチボディ モデルなどにある複数の固体要素の座標系を可視化するには、Mechanics Explorer を使用します。Mechanics Explorer メニューの [View][Show Frames] を選択すると、すべての座標系が表示されます。ツリー ビュー ペインからノードを選択すると、選択したコンポーネントに属する座標系のみが表示されます。

ボディの座標系

実践: 座標系変換の指定

この例では、固体の基準座標系間の座標系変換を指定することによって、2 つの固体を互いに対し相対的にオフセットさせる方法を説明します。並進、回転、組み合わせ変換の 3 種類の変換を説明します。

2 つの固体を含むモデルの作成

  1. MATLAB コマンド ラインで「smnew」と入力します。よく使用されるブロックを含む Simscape™ Multibody™ モデル テンプレートが開きます。

  2. Simulink-PS Converter ブロック、PS-Simulink Converter ブロック、および Scope ブロックは、この例では使用しないため、削除します。

  3. Rigid Transform ブロックと Brick Solid ブロックの名前を表示します。ブロックを右クリックして、[書式設定][ブロック名を表示][オン] を選択します。

  4. Brick Solid ブロックのコピーを作成して、Brick Solid ブロックの名前を Base と Follower に変更します。

  5. 残りのブロックを、下図のように接続します。

  6. モデルを実行します。Mechanics Explorer が開き、モデルが可視化されます。Mechanics Explorer で、[Isometric view] ボタンをクリックします。

  7. ツリー ビュー ペインで、[Base] ノードと [Follower] ノードをクリックします。可視化ペインに 2 つの Brick Solid ブロックの基準座標系が表示され、これらが空間内で同位置にあることがわかります。

並進の適用

この節では、Rigid Transform ブロックを使用することにより、follower 座標系に並進を適用する方法を説明します。

  1. Rigid Transform ブロックを、2 つの Brick Solid ブロックの間に接続します。

  2. Rigid Transform ブロックをダブルクリックします。そのダイアログ ボックスで、次のように設定します。

    • [Translation][Method][Cartesian] に。

    • [Translation][Offset][1 1 0] m に。配列の要素は、base 座標系の x、y、および z の各座標軸に沿った並進オフセットです。

  3. [OK] をクリックして設定を保存し、[Rigid Transform] ダイアログ ボックスを閉じます。

  4. Mechanics Explorer で [Update diagram] ボタンをクリックしてモデルを更新します。

  5. ツリー ビュー ペインで、[Rigid Transform] ノードをクリックして Base と Follower の座標系を表示します。

回転の適用

この節では、Rigid Transform ブロックを使用して、x 軸を中心とした回転を follower 座標系に適用する方法を説明します。

  1. Rigid Transform ブロックのダイアログ ボックスで、次のように設定します。

    • [Translation][Method][None] に。ここでは並進は指定されません。

    • [Rotation][Method][Standard Axis] に。

    • [Rotation][Axis][+X] に。x 軸が回転の軸です。

    • [Rotation][Angle]45 度に。

  2. [OK] をクリックしてブロック線図を更新します。

  3. ツリー ビュー ペインで [Rigid Transform] ノードをクリックします。以下の図は、回転のプロセスと最終結果を示しています。最終結果では、Follower Brick Solid が強調表示されています。

組み合わせ変換の適用

この節では、組み合わせ変換の適用方法を説明します。これには、Rigid Transform ブロックを使用した follower 座標系の並進と回転が含まれます。

  1. Rigid Transform ブロックのダイアログ ボックスで、次のように設定します。

    • [Translation][Method][Cartesian] に。

    • [Translation][Offset][1 1 0] に。

    • [Rotation][Method][Standard Axis] に。

    • [Rotation][Axis][+X] に。x 軸が回転の軸です。

    • [Rotation][Angle]45 度に。

  2. [OK] をクリックしてブロック線図を更新します。

  3. ツリー ビュー ペインで [Rigid Transform] ノードをクリックします。以下の図は、組み合わせ変換のプロセスと最終結果を示しています。

Rigid Transform ブロックで回転と並進の両方の変換が指定されている場合、ブロックは常に並進を先に follower 座標系に適用します。並進では、follower 座標系の動きを base 座標系と相対的に記述します。base 座標系の座標軸を中心とした回転は常に、並進後の base 座標系の座標軸を基準とします。

関連するトピック