Raspberry PIにMathematicaが無料搭載されるという話を聞いて、MacにQEMUなるARMエミュレータを導入して、この上でRashpberry PIを動かした話は別項に書いた。と、ここまではよい。で、Mathematicaを搭載したRaspberry PIはどんな風に遊べるだろうかという処が考え処だ。Raspberry PI本体の特徴はと云えば、普通に使えるインターフェースが各種取り揃えられていることや、カメラがバスに繋がること、小型で軽量、等の点であるが、Mathematicaが高機能である分、計算パワーを要求することとARMベースのRaspberry PIがこれに応える程にパワフルであるとは言い難いという矛盾する事実があって、現時点では、Raspberry PIがMathematicaの能力を十分にサポートできるとは言えない。
4節リンクシミュレータ画面
それではどうしようか、ということになるのだが、Raspberry PIの応用の一つである、ロボティックスの実現のためのRaspberry PIツールを、Mathematicaで構築するのはどうかと考えた。これならば、リアルタイム性はそれ程には要求されないから、Raspberry PIのアプリケーションをブーツストラップ的に組み上げていく、という面白さが生まれるかも知れない、という訳だ。
じゃ、どんなツールが要求されるのかを考えると、リンク機構のシミュレータに思い至った。伏線があって、かつてLEGO technicを弄り回していた時、リンク機構の部分の構成がトライアンドエラーを繰り返さなければ、うまく決定できず、しかも出来上がったリンク機構が最適かどうか分らないという事案が存在していたからだ。思い出せば、このリンク機構のシミュレータをしばらく探し回った覚えがあって、かつてのMathematica Mechanicsというアプリにその解を求めたのだが、しっくりこなかったという記憶がある。
という訳で、DynamicやEvent handler、各種のコントロールの扱いに慣れてきたので、早速作ってみたのだった。あれこれトライしてみる内で、基本は4節リンクであることが分って、方向が定まった。ポイントは四つの節の内、二つの節がグラウンドに固定されおり、そのうち一つの節から延びるビームを可動ビームとし、この可動ビームの先端の節に接続したビームのさらにその先端の節と、残っていたグラウンドに固定された節から延びるビームの先端の節が、一致するように計算式を解くことであることを理解した。
後は、ビームや節を自由に設定できるようにしたり、可動ビームを自由に動かせるようにしたり、その他あれこれの機能を付加して、取りあえずできあがった、Ver.1 のソース・コードがこれ