プリプロセッサ - ジョイント定義

ジョイントは、ボディの運動を拘束するための要素です。 ボディの絶対座標系に対する「動き」や、ボディ間の相対的な「動き」を制約します。絶対座標系に対する制約を「絶対拘束」、ボディ間の制約を「相対拘束」とも呼ばれます。

位置拘束

位置拘束は拘束点同士の絶対座標系のX軸(画面水平方向)またはY軸(画面垂直方向)方向における距離の制約です。 ボディ同士で設置する「相対位置拘束」と、絶対座標系とボディ間で設置する「絶対位置拘束」があります。

位置拘束(X軸)
位置拘束(Y軸)

位置拘束の追加はコントロールバーの「位置拘束追加ボタン」から行います。

【Type:位置拘束タブ】

名前
MBS情報全体で一意になる要素名。50文字以内。
第一拘束ボディ
拘束する一方のボディ。リストボックスから選択します。
第一拘束点
拘束点座標を{x,y} 形式で入力します。【ボディ座標系】
第二拘束ボディ
拘束する他方のボディ。リストボックスから選択します。
第二拘束点
拘束点座標を{x,y} 形式で入力します。【ボディ座標系】
拘束軸
拘束軸方向を選択する。X軸またはY軸【絶対座標系】
拘束値
制約をかける拘束点間の距離(拘束軸方向成分)。
相対位置拘束

下の図は2つのボディ間において、相対位置拘束を設置した状況を表現したものです。

「相対位置拘束」では、 拘束軸がX軸の場合、拘束点Piから拘束点Pjへ向かうベクトルの絶対座標系X軸成分値Cxが指定された拘束値になるように拘束します。 同様に、拘束軸がY軸の場合、拘束点Piから拘束点Pjへ向かうベクトルの絶対座標系Y軸成分値Cyが指定された拘束値になるように拘束します。

位置拘束を設定する際は拘束軸を選択する必要があります。 図のようにX軸、Y軸の両方に設置する場合は、2つの位置拘束要素が必要です。

絶対位置拘束

第一拘束ボディまたは、第二拘束ボディのいずれかに「絶対座標系」を選択することで、絶対位置拘束が設置されます。 下の図は絶対座標系との位置拘束を設置した状況を表現したものです。

「絶対位置拘束」では、 拘束軸がX軸の場合、絶対座標系拘束点Piから拘束点Pjへ向かうベクトルのX軸成分値Cxが指定された拘束値になるように拘束します。 同様に、拘束軸がY軸の場合、絶対座標系拘束点PiからPjへ向かうベクトルのY軸成分値Cyが指定された拘束値になるように拘束します。

位置拘束を設定する際は拘束軸を選択する必要があります。 図のようにX軸、Y軸の両方に設置する場合は、2つの位置拘束要素が必要です。

姿勢拘束

姿勢拘束は拘束するボディ同士の相対的な姿勢の制約です。Lagrancia Dynamicsでは、表現を2次元に限定しているため、 ボディの姿勢情報は「ボディのローカル座標系原点を通る、X-Y軸平面に垂直な軸(=Z軸)を中心とした回転角度」のみとなります。 ボディ同士で設置する「相対姿勢拘束」と、絶対座標系とボディ間で設置する「絶対姿勢拘束」があります。

姿勢拘束

姿勢拘束の追加はコントロールバーの「姿勢拘束追加ボタン」から行います。

【Type:姿勢拘束タブ】

名前
MBS情報全体で一意になる要素名。50文字以内。
第一拘束ボディ
拘束する一方のボディ。リストボックスから選択します。
第二拘束ボディ
拘束する他方のボディ。リストボックスから選択します。
拘束軸
X-Y平面に垂直な軸(指定不可)
拘束値
制約をかける相対的な角度(反時計回りを正)。単位は$\mathrm{deg}$です。
相対姿勢拘束

下の図は2つのボディ間において、相対姿勢拘束を設置した状況を表現したものです。

「相対姿勢拘束」では、 第一拘束ボディの姿勢に対する第二拘束ボディの相対的な姿勢(回転角度Cφ)が、指定された拘束値になるように拘束します。

絶対姿勢拘束

第一拘束ボディまたは、第二拘束ボディのいずれかに「絶対座標系」を選択することで、絶対姿勢拘束が設置されます。 下の図は絶対座標系との姿勢拘束を設置した状況を表現したものです。 (第一拘束ボディに絶対座標系を、第二拘束ボディにボディjを指定した状態)

「絶対姿勢拘束」は「相対姿勢拘束」と基本的には同じです。 拘束ボディに絶対座標系を指定する場合、そのローカル座標系は画面水平方向-垂直方向(上向きのY軸、右向きのX軸)で固定されているものとします。

固定拘束

固定拘束は拘束するボディ同士を、ある一点で溶接したように固定する制約です。 第一拘束点と第二拘束点を一致させ、さらに相対姿勢角度を用いてボディ同士の姿勢を相対的に拘束します。 内部的にはX軸位置拘束(拘束値0)、Y軸位置拘束(拘束値0)および、相対姿勢角度による姿勢拘束の複合拘束になります。 ボディ同士で設置する「相対固定拘束」と、絶対座標系とボディ間で設置する「絶対固定拘束」があります。

固定拘束

固定拘束の追加はコントロールバーの「固定拘束追加ボタン」から行います。

【Type:固定タブ】

名前
MBS情報全体で一意になる要素名。50文字以内。
第一拘束ボディ
拘束する一方のボディ。リストボックスから選択します。
第一拘束点
拘束点座標を{x,y} 形式で入力します。【ボディ座標系】
第二拘束ボディ
拘束する他方のボディ。リストボックスから選択します。
第二拘束点
拘束点座標を{x,y} 形式で入力します。【ボディ座標系】
相対姿勢角度
制約をかける拘束ボディ同士の相対的な角度(反時計回りを正)。単位は$\mathrm{deg}$です。
相対固定拘束

下の図は2つのボディ間において、相対固定拘束を設置した状況を表現したものです。 (第一拘束ボディにボディiを、第二拘束ボディにボディjを指定した状態)

「相対固定拘束」では、 2つの拘束ボディの拘束点が一致するように位置を拘束した上で、 第一拘束ボディの姿勢に対する第二拘束ボディの相対的な姿勢(回転角度Cφ)が、指定された相対姿勢角度になるように拘束します。

絶対固定拘束

第一拘束ボディまたは、第二拘束ボディのいずれかに「絶対座標系」を選択することで、絶対固定拘束が設置されます。 下の図は絶対座標系との固定拘束を設置した状況を表現したものです。

「絶対固定拘束」は「相対固定拘束」と基本的には同じです。 拘束ボディに絶対座標系を指定する場合、そのローカル座標系は画面水平方向-垂直方向(上向きのY軸、右向きのX軸)で固定されているものとします。

距離拘束

距離拘束は拘束点同士を結ぶ直線距離の制約です。 ただし、この拘束では「距離が0」の制約を表現することはできません。(解析時エラーになります。) ボディ同士で設置する「相対距離拘束」と、絶対座標系とボディ間で設置する「絶対距離拘束」があります。

距離拘束

距離拘束の追加はコントロールバーの「距離拘束追加ボタン」から行います。

【Type:距離拘束タブ】

名前
MBS情報全体で一意になる要素名。50文字以内。
第一拘束ボディ
拘束する一方のボディ。リストボックスから選択します。
第一拘束点
拘束点座標を{x,y} 形式で入力します。【ボディ座標系】
第二拘束ボディ
拘束する他方のボディ。リストボックスから選択します。
第二拘束点
拘束点座標を{x,y} 形式で入力します。【ボディ座標系】
拘束値
制約をかける拘束点間の距離
相対距離拘束

下の図は2つのボディ間において、相対距離拘束を設置した状況を表現したものです。

「相対距離拘束」では、 拘束点Piから拘束点Pjへ向かうベクトルの長さが、指定された拘束値になるように拘束します。

絶対距離拘束

第一拘束ボディまたは、第二拘束ボディのいずれかに「絶対座標系」を選択することで、絶対距離拘束が設置されます。 下の図は絶対座標系との距離拘束を設置した状況を表現したものです。

「絶対位置拘束」では、 絶対座標系拘束点Piから拘束点Pjへ向かうベクトルの長さが、指定された拘束値になるように拘束します。

回転ジョイント

回転ジョイントは2つのボディ上に設置した拘束点同士を重ねた上で、拘束点を中心とした回転を可能とする制約です。Lagrancia Dynamicsでは、表現を2次元に限定しているため、 回転ジョイントの回転軸は「重なった拘束点を通る、X-Y軸平面に垂直な軸」のみとなります。

回転ジョイントには、駆動拘束を付与することができます。

回転ジョイント

回転ジョイントの追加はコントロールバーの「回転ジョイント追加ボタン」から行います。

【Type:回転ジョイントタブ】

名前
MBS情報全体で一意になる要素名。50文字以内。
第一拘束ボディ
拘束する一方のボディ。リストボックスから選択します。
第一拘束点
拘束点座標を{x,y} 形式で入力します。【ボディ座標系】
第二拘束ボディ
拘束する他方のボディ。リストボックスから選択します。
第二拘束点
拘束点座標を{x,y} 形式で入力します。【ボディ座標系】
駆動
回転ジョイントに駆動拘束を付与する場合にチェックをつけます。チェックを付けることで、駆動情報が入力可能状態になります。
回転量(関数)
回転量を表す式を入力します。回転量は、第一拘束ボディ側を基準とした、2つのボディの相対姿勢角度になります。単位は$\mathrm{rad}$です。
1階導関数
回転量関数の1階導関数
2階導関数
回転量関数の2階導関数

直動ジョイント

直動ジョイントはボディの並進移動を限定する制約です。 第二拘束点の移動が、第一拘束ボディ上に設置したスライド可動軸に沿った動きに制限されます。 可動軸は「第一拘束点から第三拘束点に向かうベクトル(第一拘束ボディ座標系)」となります。

直動ジョイントには、駆動拘束を付与することができます。

直動ジョイント

直動ジョイントの追加はコントロールバーの「直動ジョイント追加ボタン」から行います。

【Type:直動ジョイント】

名前
MBS情報全体で一意になる要素名。50文字以内。
第一拘束ボディ
拘束する一方のボディ。リストボックスから選択します。
第一拘束点
拘束点座標を{x,y} 形式で入力します。【ボディ座標系】
第二拘束ボディ
拘束する他方のボディ。リストボックスから選択します。
第二拘束点
拘束点座標を{x,y} 形式で入力します。【ボディ座標系】
第三拘束点
第一拘束点を始点とした、可動軸を表すベクトルの終点座標を{x,y} 形式で入力します。【第一拘束ボディ座標系】
駆動
直動ジョイントに駆動拘束を付与する場合にチェックをつけます。チェックを付けることで、駆動情報が入力可能状態になります。
移動量(関数)
移動量を表す式を入力します。移動量は拘束点間の距離になります。
1階導関数
移動量関数の1階導関数
2階導関数
移動量関数の2階導関数

歯車拘束

歯車拘束は、拘束された2つのボディが歯車のように振る舞うように制限する拘束です。歯車のような振る舞いとは、外接する場合は逆回転、内接する場合は同方向に回転することを指します。振る舞いのみを制約するため、剛体の形状は円形である必要はありません。

歯車拘束では回転する「方向」と「回転量」を決定する効果がありますが、歯車拘束自体にはボディの姿勢を決定する(あるいは変化させる)拘束を持たないため、基本的には回転ジョイントと併せて設置します。回転ジョイントを併設する場合は、回転ジョイントの拘束点はピッチ円中心点に一致するように設置してください。

歯車拘束

歯車拘束の追加はコントロールバーの「歯車拘束追加ボタン」から行います。

歯車拘束の項目説明
名前MBS情報全体で一意になる要素名。50文字以内。
ギヤ比2つの歯車のギヤ比を入力します。(半角コロンで区切って「第一拘束ボディ側:第二拘束ボディ側」の書式で記述します。)
内歯車を使用するONのとき、内接タイプ歯車として定義します。
OFFのとき、外接タイプ歯車拘束として定義します。
第一拘束ボディ拘束する一方のボディ。リストボックスから選択します。
第一拘束ピッチ円中心座標第一拘束ボディ側のピッチ円中心座標【ボディ座標系】
第二拘束ボディ拘束する他方のボディ。リストボックスから選択します。
第二拘束ピッチ円中心座標第二拘束ボディ側のピッチ円中心座標【ボディ座標系】

外接タイプ歯車拘束

下の図は2つのボディ間において、外接タイプの歯車拘束を設置した状況を表現したものです。

外接タイプ「歯車拘束」では、平歯車同士が外接する典型的な歯車機構の振る舞いを実現します。 つまり、一方が回転するとき、他方は逆方向に回転するよう拘束します。

内接タイプ歯車拘束

下の図は2つのボディ間において、内接タイプの歯車拘束を設置した状況を表現したものです。遊星歯車機構の内歯歯車のようなものを定義する際に使用します。

内接タイプ「歯車拘束」では、内歯車と外歯車が内接する組み合わせの振る舞いを実現します。 一方が回転するとき、他方は同じ方向に回転するよう拘束します。