ダイナミック シミュレーションで曲線セクタの値を定義するには

[入力グラフ]を使用してシミュレーション中に変化する値を定義する場合は、さまざまなオプションを使用して曲線セクタを定義できます。これらのオプションは、特定の曲線タイプを作成するための法則、すなわち数学関数の形式になっています。

注: ユーザ定義の式で出力するとき、括弧内に出力の名前を入れてブラウザ名に付け加えます。例: 「力(回転: 7)」

数学関数を選択して関数のパラメータを定義する

曲線の各セクタを定義するには、数学関数(すなわち法則)を割り当てます。それぞれが独自の法則または種々の法則の合計(たとえば、正弦関数と傾斜関数の合計)をもつ複数の連続セクタを作成することができます。たとえば、最初に曲線形傾斜のセクタ、次に正弦のセクタを作成できます。ソフトウェアによって、グローバル法則の連続性原則が強制されます。この動作により、2 番目のセクタの最初の点と 1 番目のセクタの最後の点が同じになり、その他の点が自動的に移動します。多くの場合、最初に必要とされる曲線を得るには、関数を追加する必要があります。

法則を選択してそれを[セクタの法則のリスト]ボックスに移動した後に、その法則のパラメータを追加してください。パラメータを追加するため、次のことを行います。

曲線セクタを選択し、適用する任意の条件を追加すると、選択した曲線セクタを定義できるようになります。

  1. [利用可能な法則のリスト]ボックスの下向き矢印をクリックして、使用する法則を選択します。

  2. をクリックして、セクタの現在の法則を、セクタの一覧から選択した法則に置き換えます。

    必要な回数だけ法則を選択して置き換えることができますが、[セクタの法則のリスト]ボックスに表示されている法則は新しい法則に上書きされます。

    複数の法則を同じセクタに集約することができます。セクタに法則を追加する場合は、最初の手順とこの手順を繰り返しますが、代わりに をクリックします。複数の法則を含んでいるセクタで 1 つの法則を削除するには、[セクタの法則のリスト]で不必要な法則を選択して、 をクリックします。

  3. [セクタの法則のリスト]ボックスに表示されている法則に必要なプロパティを入力します。

表示内容

Enter

[直線形傾斜][曲線形傾斜][サイクロイド][調和][変形正弦曲線][変形台形曲線]

座標(X1, Y1)と(X2, Y2)は、曲線を定義して、線分の平均勾配を設定するための [勾配] 値を入力する点です。曲線は、開始点と終了点の座標を入力することによって、または開始点とセクタの平均勾配の座標を入力することによって定義できます。

曲線はセクタの中心で対称になります。

曲線の下側の面積は、対応する直線形傾斜の下側の三角形の面積と等しくなります。

**Linear ramp** has a constant slope, that is, the two points of the sector are linked by a straight line.

![](../../../images/ig_linear_30.png)

Linear ramp with a slope of 30 in/s.

**Cubic ramp** is defined by a 3rd order polynomial.

![](../../../images/ig_cubic_70.png)

Cubic ramp with an average slope of 70 in/s.

**Cycloid** is a ramp function from sine/cosine.

![](../../../images/ig_cycloid_minus50.png)

Cycloid ramp with an average slope of -50 in/s.

**Harmonic** is a ramp function from sine/cosine.

![](../../../images/ig_harmonic_90.png)

Harmonic ramp with an average slope of 90 in/s.

**Modified sine** is a ramp function from sine/cosine.

![](../../../images/ig_modifiedsine_60.png)

Modified sine ramp with an average slope of 60 in/s.

**Modified trapezoid** is a ramp function from sine/cosine.

![](../../../images/ig_modifiedtrap_300.png)

Modified trapezoid ramp with an average slope of 300 in/s.

表示内容

入力内容

[正弦]

周期中央からの曲線の高さを示す [振幅] 値、X 軸単位でのサイクル数を示す [周波数] 、サイクルのはじめからセクタのはじめを示す [フェーズ] に入力します。正弦は従来の関数です。

振幅の単位は、制御対象の変数(強制モーション、荷重)と同じです。

周波数の単位は、X 軸で使用される変数(時間であれば、Hz)の逆数になります。

フェーズはラジアン単位または度単位です。

振幅 40、周波数 3 Hz、フェーズ 20 度の正弦。

[多項式]

多項式は多項式関数であり、最大 5 次までです。

多項式の係数を定義する方法は 2 つあります。

方法 1 - 係数の値を指定する

a0 の値を入力し、次の a の値を必要な数だけ入力します。

方法 2 - テキスト ファイルをインポートする

  • をクリックすると[ファイルを開く]ダイアログ ボックスが開き、この多項式を定義するファイルをインポートすることができます。
  • [次数] で、選択セクタの曲線の多項式の次数を設定します。
  • をクリックすると、定数値およびこの多項式の 5 次までの値が計算されます。
  • [a0]、[a1]、[a2]、[a3]、[a4]、[a5] : 定数値およびこの多項式の 5 次までの値が表示されます。

    これらの値は、必要に応じて編集することができます。

テキスト ファイルは次の形式にする必要があります。

//コメント - コメント行は任意であり、先頭に 2 個のスラッシュを記述します。

x1 y1 - x および y の値を使用した点の一覧。

... - 1 つの行につき 1 つの点の定義。

xn yn - 必要に応じた数の点。

これらの項に適当な値を入力するか、ソフトウェアで最小二乗法補間によって自動的に計算されます。

a0=20 in、a1=10 in/s、a2=50 in/s 2、a3=20 in/s 3 の多項式

スプライン

線分の勾配を設定するための [勾配] 値スプラインは、連続点間を補間するために使用される 3 次関数です。

スプラインを定義するには、複数の方法があります。次のオプションを選択できます。

  • グラフ領域 内でマウスでダブルクリックする、または右クリックして[点を追加]を選択することにより複数の入力点をすばやく定義できます。ただし、このセクタは 1 つの曲線セクタとしてではなく、一連のセクタとして処理されます。
  • テキスト ファイルをインポートすると、より正確な座標を入力できます。

    [最初の勾配] は、最初の点の勾配を設定します。

    [最後の勾配] は、最後の点の勾配を設定します。

  • 以前に定義したスプラインをロードできます。

点を追加して定義したスプライン。

定義方法に関係なく、定義したスプラインを保存できます。

注: スプラインで定義したセクタには、他の法則を追加することはできません。また、セクタの法則をスプラインに置き換えた場合、最初の勾配と最後の勾配は前後のセクタから自動的に取得されます。ただしこれらの勾配は後で手動で変更できます。

正接点が記述されたテキスト ファイルを使用する場合は、次のようにファイルを構成します。

// コメント

1 行または複数行のコメントをファイルに挿入できます。コメント行はそれぞれ「//」で開始する必要があります。コメント行は省略可能ですが、スプラインの用途が分かるように値を明記します。

[Tangents] T1 T2

セクタの始点(T1)と終点(T2)の正接値を指定します。これらの値は、ユーザ インタフェースでは「最初の」勾配および「最後の」勾配と表示されています。値を指定しなければ、正接値は 0.0 (水平正接)とみなされます。コメント行と同様に、この行も省略可能です。ただし、上で述べたように、正接値を指定しない場合は想定値が適用されます。

X1 Y1

...

Xn Yn

点座標のリスト。点は必要な数だけリストすることができます。

1 行につき 1 つの点を定義します。
テキスト ファイルの例

//

// シミュレーションの入力スプライン点

// 値: ジョイント トルク(N mm)

// 参照: 時間 s

[接線] -3.40775 -5.27803

+0.000 +0.000

+4.313 +1.510

+7.954 -9.756

+1.000 +0.000

[数式]

曲線を定義する数式を数式ボックスに入力します。

数式は、関数とキーワードを含む計算式です。ジョイント と外部の作用力が定義されている場合にのみ、使用可能です。自由度にモーションを強制することはできません。隣接するセクタとの連続性は、自動的には保持されません。シミュレーション中の衝突を避けるには、これらのセクタを定義します。公式は 255 文字までに制限されています。

次のいずれかの関数を使用できます。

  • abs
  • fmod
  • a cos
  • cos
  • log10
  • sqrt
  • asin
  • sinh
  • log
  • sqr
  • atan
  • sin
  • pow
  • trunk
  • atan2
  • tanh
  • sign
  • pow10
  • floor
  • cosh
  • tan
  • sign0
  • exp
  • round

数式 Y = X + 37 で定義した曲線。

例 1

3 つのセクタを作成します。2 番目のセクタを、低周波正弦にします。

正弦の作成の前後に曲線を確認します。3 番目のセクタは、両方のセクタ間の連続性を保つために垂直方向に移動しています。最初に必要とされる曲線を得るには、関数を追加する必要があります。

例 2

一部の関数は、その定義によって制限されます。300 を中心にして変化する正弦を得るには、値 300 の定数法則と、正弦法則を追加する必要があります。

注: 法則を追加する順序は重要ではありません。

傾きがゼロでない勾配を中心にして変化する曲線を作成するには、傾斜と正弦を組み合わせます。

例 3

異なる振幅と周波数の正弦法則を組み合わせることによって、別のモーションの振動をシミュレートすることができます。

曲線セクタ外の値を定義する

曲線セクタの外側(最初の曲線セクタの前と最後の曲線セクタの後)で、変数をどのように動作させるかを定義するのは興味深いことです。曲線全体の外側の領域を選択し、適用する任意の条件を追加すると、選択した領域を定義できるようになります。

  1. 曲線外で選択した領域の定義を選択します。

  2. [環状]を選択した場合は、[開始]をクリックします。

    [始点の選択]ダイアログ ボックスが開きます。

  3. [始点の選択]ダイアログ ボックスで、フィールドの右にある下向き矢印をクリックします。

    メニューが開き、曲線セクタを開始するすべての点が表示されます。

  4. その領域に対してコピーする曲線セクタの始点をクリックします。

  5. [OK]をクリックします。

曲線外の領域を定義するためのオプションは 5 つあります。次のオプションを選択できます。

[定数値]

この設定により、曲線の最初の値(最初の点の左側に領域を定義する場合)、または最後の値(最後の点の右側に領域を定義する場合)と等しい定数値が設定されます。この設定は既定です。

[固定勾配]

この設定により、選択した領域で固定勾配の線が定義されます。勾配の値は、最初の曲線セクタの勾配の値(最初の点の左側に領域を定義する場合)、または最後の曲線セクタの勾配の値(最後の点の右側に領域を定義する場合)と等しくなります。

[合同式]

合同式の定理に従って、法則の定義範囲(定義されるすべてのセクタ)内の値を定義します。つまり定義される曲線は、縦座標軸の両方の側で繰り返されます。ダイナミック シミュレーションにより、法則の最後の点(最後のセクタ)の縦座標が最初の点(最初のセクタ)の縦座標と等しいことが確認されます。等しくない場合は、値の修正を求めるエラー メッセージが表示されます。このメッセージが表示される理由は、計算エンジンでは不連続性を処理できないためです。このモードは、法則の左側と右側の部分に適用されます。

周期

ユーザ定義曲線の最後の点まで、ユーザ定義の点からコピーされる周期を使用します。周期を開始する場合は、ユーザ定義曲線の最後の点に等しい点を選択します。そうしないと、周期の開始と終了が不連続になります。その場合は、エラー メッセージが表示されます。

自由

この設定では、領域に対して定義を設定しません。力は加わらず、駆動される自由度(強制モーションがある)はフリーになります。強制モーションの場合、最後のセクタを解放する前に、最後の点の右側のセクタを解放し、次に最後のセクタの前のセクタを解放するというように順に解放します。