スクラッチでクムクムロボットを動かすプログラミングでやはり面白いのは歩かせる動きです。クムクムロボット用のスクラッチには、簡単に歩かせることができる簡易コマンドが用意されていますが、それとは異なる動かし方(歩かせ方)をしてみたいと思います。

用意されているスクラッチのコマンド

クムクムロボット専用のスクラッチに用意されている足の動きに関するブロックはおおきくは2つあります。

右または左足、太ももの各モータを自由な角度へ回転させる
右または左足を上げたり前に出したりおろしたりする

上側のコマンドは、クムクムロボットの足部分についている4個のモータの角度と速度をそれぞれ個別にスクラッチのプログラムから動かすことができるため、歩かせる方法は難しくなりますが動かし方が自由になります。
一方下側のコマンドは、ブロック一つ一つで足のすべての動作ができてしまうので、歩かせることは簡単ですが決まった歩かせ方しかできません。

またモータを動かすためには、上記の動きのコマンドに加えて、以下の動かすコマンドのどりらかを使います。

モータが指定の位置に回転終了まで次のコマンドを実行しない
もたーに回転命令を投げかけるだけで回転終了を待たずに次のコマンドを実行する

簡単なコマンドでの歩かせ方プログラム

取り急ぎまずはしっかりと歩かせてみます。

歩く様子

この歩き方は、片足を確実に上げてもう片足1本で立ち体をひねって前に押し出し足を下す。そしてもう一方の足を同じように持ち上げて体をひねって前に出しておろす。
この動作を繰り返します。この歩き方は、しっかりちゃんと歩いてくれるように、スクラッチの足を動かすコマンドの一つ一つの内部にたっぷりとタイマーを入れてゆっくり動かしているため、とても遅い歩行になります。
また、片足で立つ動作は、ロボットを作ってしっかり調整ができていないとうまく足を上げることができなかったりします。
さらに、床面の影響も受けやすく、片足立ちの時に転げてしまう可能性もあります。

最小限に小さな動きで歩く

ちょっと上のやり方とは違う方法で、足を最小限に動かしてあるかせます。
また、動く速度も速くしたいので「またずに動かす」を使って、スクラッチの●秒まつコマンドでうまく最小限のタイミングをとってあるかせます。

歩く様子

この歩き方は、体を少し傾けたら、持ち上がった方の足の外側だけがギリギリ床に擦るくらいまでだけ持ち上げて体をひねります。
足を前に出しながら方向もうまく変えています。
これを後ろ方向に歩かせると、えおぼっとのムーンウォークが出来上がります。
挑戦してみてください。