Mathematica を使った 「平面リンク機構」 の分析事例は、スライダクランク機構をはじめとしてウルフラムのサイトでも幾つか紹介されています。機構 (メカニズム) をモデル化し、その力学的性質を研究するという分野です。しかし、この最初の段階、すなわち、機構を Mathematica でモデル化するという作業は、それをあらわすコードを一から作成することになりますので、結構手間がかかります。ここでは、平面リンク機構の 「モデル化」 から 「数式化」 を担う部分に幾何学モデルソフトウェア Geometry Expressions を使用することで、作業を大幅に簡素化、効率化できることを紹介します。
Geometry Expressions で幾何学的図形を定義するには2つの方法があります。もっとも直接的な方法は、描画要素を選んで図形を定義する方法です。円を描くにはマウスで円の中心をクリックして、半径をドラッグして指定します。直線を描くには始点と終点をマウスでクリックするだけです。直角三角形を描くには3つのラインを描画して、条件として各辺に長さを設定したり、2辺の間に角度を設定するだけです。
幾何学的図形を定義するもう一つの方法は、関数を定義することです。直交座標に Y = X2、Y = sin (X) といった式を定義して放物線や正弦波を描画したり、パラメトリック座標を使って、パラメータに T を使って、sin (T) と cos (T) で円を描画することができます。※直交座標で利用できる独立変数は X、パラメトリック関数で利用できる媒介変数は T に限定されます。パラメータには任意の文字を利用できます。
もうひとつ重要な要素は、運動に関する定義です。まず、スライド運動に関する定義です。例えば、直線上にある1点を移動させたい場合。まず、直線 AB を描画します。直線上に点 C を配置します。AC 間に距離 t を定義します。t を変化させることで直線上の点 C を動かすことができます。
次に、回転運動に関する定義です。回転運動をあらわすには2つの方法があります。ひとつは図形として直接円と半径を描画して、角度 θ を変化させる方法です。もうひとつは、パラメトリック関数で円を定義して、そのパラメータ T を変化させる方法です。
Geometry Expressions で行う作業は、いたってシンプルです。単純な要素をつなぎ合わせることでより複雑な機構を構築してゆくことができます。次のセクションでは、実際にスライダクランク機構をモデル化する手順を紹介し、その後、得られた数式を Mathematica でどう処理してゆくかを紹介してゆきます。
スライダクランク機構とは、機構学的には3つの 「回り対偶」 と1つの 「すべり対偶」 で結び付けた機構であると定義されます。回転運動とスライド運動が連動するメカニズムです。
Geometry Expressions で作図する内容は、以下のようなものです。
モーターを原動力として往復運動をおこなう装置を、下記要件にて設計します。
上記要件からスライド部分にかかる力 F の大きさを求めます。さらに、力 F にもとづいて最大トルク T[N・m] を求めます。(※問題を単純化するために慣性力や摩擦力といった要素は除外します)
この機構を Geometry Expressions でモデル化し、スライド部分の軌跡の式を求めるまでの手順は以下のようになります。
Geometry Expressions で設計した機構の点 C のスライド運動をあらわす数式を出力したら、その内容をコピーして、 Mathematica にペーストします。
ペーストした結果は以下のとおりです。
Mathematica にペーストしたパラメトリック関数の X 部分の式を利用して、変位をあらわす関数 f を定義します。※ここで、θ を、角速度 ω と時間 t の積に置き換えます。
定義した関数 f
をそのままの形で時間 t
についてプロットします。つまり x 方向の変位をあらわすプロットになります。パラメータには r
と l
と ω
がありますが、ω
は要件から回転数:6000 rpm より ω
= 200 π を代入します。円の半径 r
とアームの長さ l
が変われば、結果がどう変わるかをインタラクティブに分かるようにするため、Manipulate
関数を使います。Manipulate
では半径 r
とバーの長さ l
の2つのパラメータを変化させます。r
と l
の初期値には、要件にあわせて 0.1 と 0.3 を定義します。また r
と l
範囲には、それぞれ、0.1 ~0 .2、0.3 ~0 .5 を定義しています。時間の範囲は1回転分の、ゼロから 0.01 の範囲を定義します。
つぎに、速度の変化を Mathematica であらわします。速度は、関数 f
を時間 t
で1階微分して得られるものとなりますので、Mathematica の関数 D
を使って以下ようにあらわすことができます。それ以外は同じパラメータを使います。
次に、加速度の変化をあらわします。加速度は、関数 f
を時間 t
で2階微分して得られるものとなりますので、Mathematica では以下のようにあらわすことができます。他のパラメータは同じです。
次に、力の変化を Mathematica であらわします。力は、加速度 ax質量 M で求めることができますので、新たに質量 M
を導入して、加速度の式に掛け合わせます。Manipulate
のパラメータにも M
を追加して、その初期値には 0.5 Kg を指定します。
以上が、Mathematica での式の定義になります。これによって、速度、加速度、力のプロットを求めることができました。
トルクを求めるには、スライダ部の力 F を使ってこのように求めることができます。つまり、アーム方向の力 F' と、原点からアームに降ろした垂線の距離 d の積 T = F' * d です。※ここで単純化のため、慣性力や摩擦力は無視するものとします。
アーム方向の力 F' の大きさと、距離 d の関係式については、Geometry Expressions で幾何学的に求めることができます。少し長い数式なりますが、得られた F' と d の数式をそれぞれ Mathematica にペーストします。
得られた数式を使って、トルクをあらわす数式を作成します。
Geometry Expressions を使えば、このモデルに一部修正を加えたり、要素を追加することで、オフセット型のスライダクランク機構やワイパー機構といったより複雑なモデルを作成することもできます。
オフセット型のスライダクランク機構は、X 軸から点 C を切り離して、点C と X 軸との間に距離の条件として、新たに h
を設定するものです。Geometry Expressions の作図によって得られる数式は以下のとおりです。これによって、C の往復運動の軌跡をあらわす数式に変数 h
がどのように関与するかが即座にわかります。
この数式を先ほどと同じ手順で Mathematica で処理すると、h
を導入したことで、スライダクランク機構の挙動がどのように変化するかを確認できます。
変数 θ
を ω t
に置き換えます。ω
は角速度、t
は時間 (秒) です。
関数 g
を定義します。
関数 g
をプロットします。(図は h
をスライドさせたときの結果)
関数 g
を時間 t
で微分して速度の変化をプロットします。
関数 g
を時間 t
で2階微分して加速度 (a[m/s^2]) の変化を求めます。
力 (F[N]) = 加速度 (a[m/s^2]) x 質量 (M[kg]) より、F の変化を求めます。
変位・速度・加速度を並べて比較します。
スライダクランク機構にさらに要素を追加すれば、複雑なワイパー機構を作成することも可能です。
Geometry Expressions で作図したモデルは、EPS、EMF、SVG といったベクトル形式の画像のほか、アニメーション GIF や、JavaScript を使ったインタラクティブな HTML 形式に出力することができます。これによって Geometry Expressions を持っていない同僚とも容易に情報交換することができます。
以上、Geometry Expressions と Mathematica を使った平面リンク機構についてご説明させていただきました。Geometry Expressions を使うことで如何に容易に平面機構をモデル化し、Mathematica で利用できる数式を出力できるかについて、イメージを掴んでいただけたとおもいます。
θ | ||||
0 | 0 | 6.2831853 |