第29回 歩くロボット

Cinderella.2で歩くロボットをシミュレーションします。

まずは、ギャラリーの右端「Fun」の一番上「Walker」を見てみましょう。カニのようなものが歩くものです。どうすればこのような「歩くロボット」ができるのでしょうか。

ユーザーズガイドの「アニメーションとCindyLab」の節に、次のような記述があります。

「バネの動作を用いた典型的な例は小さな歩く機械の足で、それぞれ特有の位相を持ったバネで構成されています。次の図では、それぞれの足の2つのバネは0.25だけずらした位相で動作します。それぞれの足は、他の足とは位相がずれています。その結果、4本の足で歩くことができます。」

この説明だけで、足の作り方がわかりますか?「特有の位相」とは何でしょう。どのように足をばねで構成すればよいのでしょう。それを調べるために、まずはばねの働きを基本から確かめてみましょう。

(1)「点を加える」ツールボタンを選んで,点を2つとります。

(2) 「ばねを加える」ツールボタンを選んで、先ほどとった点を端点とするばねを2つ作ります。

プレイボタンを押してみましょう。何も起りませんね。ばねは作りましたが、力が働いていないからです。

(3) 重力を加える」ツールボタンを選択します。適当なところで下向きにドラッグして重力を加え、プレイボタンを押してみましょう。動きましたか?

重力を加える方法はもう一つあります。要素を動かす」ツールボタンを選択し、いま追加した重力の矢印をクリックし、「選択した要素を消去する」ボタンをクリックして消します。念のため、プレイボタンを押して、力が働いていないことを確かめておきましょう。

(4) 編集メニューから「インスペクタ」を開き、「物理シミュレーション全体の属性」ボタンをクリックします。この中の「重力」スライダを動かして、適当に設定してみましょう。プレイボタンを押すとばねが動きます。

もうひとつ、「ばねの強さ」が1.00になっているので、スライダを動かして値を変えてみましょう。ばねの動きかたが変わります。

次に、この2つのばねの動きを変えます。左側のばねをクリックして選択し、インスペクタの「シミュレーション設定」をクリックします。「振幅」のスライダを動かして、適当な値に設定します。同様に、左側のばねの振幅も適当に設定してみましょう。プレイボタンを押すと、2つのばねの振幅が異っているのがわかるでしょう。もし、2つのばねの長さなどの初期状態をそろえたいのであれば、「グリッドにスナップする」磁石ツールをクリックして、格子点にスナップすればそろえやすいでしょう。

2つのばねの振幅は異なりますが周期(ばねが戻るタイミング)は同じですね。ばねの強さを変えると周期が変わりますが、ばねの強さは変えずに、最初から「ずらして」動くようにしてみましょう。それは「位相」の設定です。2つのばねの強さや振幅は同じにして、片方の「位相」を適当な値に設定してみましょう。プレイボタンを押して、2つのばねの動きがずれるのを確かめましょう。

足を動かす筋肉が「ばね」でできているとしましょう。1つのばねだけでは足は前後には動きませんね。2つのばねが異なる動きをすることによって、足は動くのではないでしょうか。では、Walkerをまねて、三角形の足を作ってみましょう。

点A,Bはそのままにして、C,Dを消し、三角形状のばねを作り直します。

2つのばねの位相を変えて動かしてみましょう。

さて、これが足だとして、床を動かすことを考えます。まず、床が必要ですね。「床を加える」ツールで床を描きます。方眼が表示されているなら、x軸を床にしましょう。

しかし、これだけでは床の上には足は落ちてきません。重力は働いているはずですが・・・・ 点A,Bは図形的な点なので、この点には重力は働かないのでした。

では、描き直しましょう。全部消して、点A,Bを質点にします。こんどは重力にしたがって落ちましたが、A,Bも床の上に落ちてしまいます。

A,Bを線分で結んでも同じです。重力が大きすぎるのでしょうか。インスペクタの「物理シミュレーション全体の属性」ボタンをクリックして、重力を小さくしてみましょう。・・・同じですか。

AC,BCがばねでできているので、A,Bが床に落ちるとき、まっすぐに落ちるのではなく横に広がってしまいます。では、A,B間が広がらないようにするには?

ABをばねにすれば、A,B間が広がろうとしたとき、元に戻ろうとする力が働くのではないでしょうか。やってみましょう。

重力を小さくすれば三角形のまま落ちますね。しかし、だんだん倒れてしまいます。1本足だからです。

2本足にすれば歩きそうですね。

位相をいろいろ変えてみましょう。なんとなく歩きそうですが・・・・

実際にはこのようないい加減な試行錯誤ではなく、きちんと計算をするわけですが、理論的な計算は大学で勉強しましょう。

さて、なんとなくできそうですが難しい。

では、ギャラリーのWalker はどのようにできているのでしょうか。

ダウンロードして解析してみましょう。ただし、ギャラリーからダウンロードするにはちょっとしたテクニックが必要です。

Walkerを開いたら、アドレス欄の最後の「7S01_Dainty.html」を「DaintyLift5.cdy」に変えます。これでダウンロードできるはずです。

Walkerの虫?はばねでできていないように見えますが、実はばねです。インスペクタを開き、本体を構成している線を選んで「特別な表示の設定」をクリック。このなかの、レンダリングをチェックすると、ばねのぎざぎざが表示されます。虫が小さいので、平行移動ツール

と拡大ツールをうまく使って拡大します。また、「表示」メニューから「式による表示」ウィンドウを出せば、それぞれの構成要素の一覧を見ることができます。足の線を選んで、振幅や位相がどうなっているか見てみましょう。

これを参考に、Walkerの虫のコピーを作ってみましょう。うまく動くでしょうか。