Main Content

接続座標系の作成

接続点としての座標系

ボディの座標系は、モデル内でのジョイントと拘束の接続点を提供します。これらによって、そうしたジョイントと拘束の相対的な向き、ひいてはシミュレーション中に可能となる運動の方向も決まります。ジョイントと拘束を介してボディをうまく接続するには、適切な接続座標系を作成しなければなりません。この作業は、ボディ自体をモデル化するときに行うのが最も効率的です。

座標系の作成と変換

固体ブロックの座標系作成インターフェイスを使用して、座標系を直接固体に追加することができます。このインターフェイスを使用すると、頂点、エッジ、面などのジオメトリの主要な特徴、または重心や慣性の主軸などの慣性の主要な特徴について、座標系の位置と向きを対話形式で定義できます。作成された座標系はカスタムと呼ばれ、その座標系が属する固体ブロックに座標系端子として表示されます。次の図は、F1F2 というラベルの付いた 2 つのカスタム座標系端子をもつ Brick Solid ブロックを示しています。

Rigid Transform ブロックを使用して座標系を作成することもできます。このブロックを使用すると、回転変換と並進変換によって座標系の位置と向きを数値的に定義できます。回転変換の場合は回転行列と回転シーケンス、並進変換の場合は直交と円柱のオフセット座標といったように、さまざまな変換のパラメーター化を使用できます。次の図は、Rigid Transform ブロックを使用して既存の固体座標系から作成した新しい座標系 (F) を示しています。

Rigid Transform ブロックを使用して作成する座標系は、固体固有の特徴のいずれからも独立しています。これらは、配置の取得に必要な変換を特定できるのであれば、別の座標系に対してどの位置にでも配置できます。2 つの座標系端子間に Rigid Transform ブロックを配置すると、このブロックを既存の座標系をオフセットする手段として、より適切に捉えることができます。次の図は、既存の 2 つの座標間に配置した Rigid Transform ブロックによって指定されたオフセットを示しています。

座標系と変換の詳細については、座標系の取り扱いを参照してください。

確認: 標準的なボディ内の座標系

MATLAB® コマンド プロンプトで「openExample("sm/PointOnCurveExample")」と入力します。羽ばたく翼機構のモデルが開きます。RightWing という名前のボディ サブシステムのマスク内部を確認します。固体ブロックのうちの 2 つ、PegWingLink のそれぞれに 2 つの座標系端子があることに注意してください。端子の 1 つは、Cylindrical Solid ブロックを使用して作成されたカスタム座標系を示します。カスタム座標系の 1 つを調べます。

  1. Peg という名前の Cylindrical Solid ブロックのダイアログ ボックスを開きます。

  2. 可視化ツールストリップで、[Frame] ボタンをクリックします。可視化ペインが更新され、固体の基準座標系とカスタム座標系が表示されます。

  3. ダイアログ ボックスの [Properties] セクションで [Frames] ノードを展開し、[Edit] ボタンをクリックします。座標系作成インターフェイスが開き、現在の座標系の定義が表示されます。

    • 座標系原点は、円柱の底面の中心に配置されている。

    • 座標系の軸は、ローカル基準座標系の軸と揃ったままになっている。

    • 座標系の名前は、対応する座標系端子 (B) のラベルと一致している。

いくつかの固体ブロック間の座標系接続ラインに CPXformWingXForm という名前の Rigid Transform ブロックが含まれていることにも注意してください。これらのブロックは、接続されている固体座標系間の回転オフセットと並進オブセットを指定します。ブロックの 1 つで指定されている変換を調べます。

  1. WingXForm という名前の Rigid Transform ブロックのプロパティ インスペクターを開きます。回転変換は、base 座標系の 2 つの軸を基準に follower 座標系の 2 つの軸を揃えることで設定されていることに注意してください。

  2. [Translation] パラメーターを展開します。並進オフセットは、(base 座標系の) 軸に沿って指定されていることに注意してください。並進オフセットは、WingLink Subsystem ブロックで指定された値をもつ MATLAB 変数 Ow によってパラメーター化されています。

  3. ブロック線図を更新します。Mechanics Explorer が開き、静的に可視化された羽ばたく翼のモデルが表示されます。ツリー ビュー ペインで RightWing ノードを展開し、WingXForm ノードをクリックして、Rigid Transform ブロックに属する座標系を強調表示します。

接続座標系の計画

ボディでの接続座標系の配置を定義する際には、そのターゲットとなる特定のジョイントや拘束について検討しなければなりません。ジョイントや拘束は、多くの場合、それらによって接続される座標系に特別なアセンブリ要件を課します。これらの要件は、接続座標系の適切な配置に影響します。これらは、ジョイント ブロックや拘束ブロックのリファレンス ページで確認できます。

ターゲットがジョイントの場合は、その自由度 (ジョイントの接続座標系間で許可される運動の種類) と、自由度が対応する座標系の軸に注意してください。たとえば、Revolute Joint ブロックは、base ボディと follower ボディの接続座標系に共通の z 軸を中心に回転自由度 1 を与えます。

Revolute Joint ブロックを介して 2 つのボディを接続するには、各ボディのジョイントの接続座標系を配置して、その z 軸それぞれが各ボディの目的の回転軸と揃うようにしなければなりません。次の図は、接続座標系が Revolute Joint ブロックに対して適切に配置されている PointOnCurveExample モデルの Housing ボディと RightWing ボディの例を示しています。

接続座標系のターゲットが、噛み合ったギアの特性のような拘束である場合は、アセンブリに必要な接続座標系の配置に注意してください。たとえば、Common Gear Constraint ブロックでは、噛み合いのタイプが [External] に設定されている場合、base ボディと follower ボディの接続座標系が、それらのピッチ半径の合計に等しい距離だけ離れている必要があります。また、z 軸が平行であり、一方の x 軸と y 軸が他方のものと同一平面上にあることも必要です。

拘束ブロックのアセンブリ要件では、拘束がエラーなく適用されるように、モデルの残りの部分が接続座標系を保持する方法 (一部はボディの定義によって、一部は他のジョイントや制約によって) が指定されています。ギア拘束ブロックを介してアセンブリ用にギア ボディへと接続座標系を配置する方法については、ギア モデルの組み立てを参照してください。

アセンブリ エラーへの対処

4 節リンク機構やクランクスライダー機構のモデルのような閉ループ モデルでは、その構成ボディが取ることのできる位置や向きが限られています。接続座標系の配置によって、ループ内でのジョイントまたは拘束がその他と不整合になる場合、つまり、1 箇所の適切な接続が別の箇所での中断となる場合、アセンブリは失敗です。

たとえば、平面 4 節リンク機構で、1 つのリンクの接続座標系間の距離が残りのリンクの同距離の合計を超える場合や、接続座標系の向きによってジョイントの回転軸が平行でなくなってしまう場合などがこれに当たります。

将来の接続を考慮してボディの接続座標系を慎重に定義すると、多くのアセンブリ エラーを防ぐことができます。ジョイント ブロックや拘束ブロックに固有のアセンブリ要件と、モデルの残りの部分によって課される運動学的拘束の両方を考慮してください。一般に、アセンブリの失敗が生じた場合には以下を行わなければなりません。

  1. 組み立てられていないジョイントまたは拘束を特定します。Simscape Multibody のモデル レポート (Mechanics Explorer のメニュー バーで [Tools][Model Report]) を使用します。

  2. 対応する接続座標系を調べます。Mechanics Explorer を使用して、これらの座標系を可視化します。ツリー ビュー ペインで、組み立てられていないジョイントまたは拘束の名前をクリックすると、可視化ペインでその座標系が強調表示されます。それらの座標系の配置をジョイントまたは拘束のアセンブリ要件と比較します。

  3. ジョイントまたは拘束のアセンブリ要件を満たすように接続座標系を変換します。Rigid Transform ブロックを使用すると、必要な回転変換と並進変換を適用することができます。接続座標系が固体ブロックに属するカスタム座標系である場合は、代わりにそのブロックを使用して座標系の定義を編集できます。

不適切に配置された接続座標系が原因のアセンブリの失敗を解決する方法を示す例は、アセンブリ エラーのトラブルシューティングを参照してください。

関連するトピック