概要
クムクムロボットを歩かせてみましょう!
普段、私たちは「歩く」という動作にさほど気を使ってはいません。
「歩く」というのはいったいどんな動作なのか、そんなところからプログラミングは始まります。
さあ、あなたのクムクムロボットも歩かせてみましょう。
動き
「歩く」という動作を解析してみましょう。
- 右足を上げる
- 右足を前に出す
- 右足を降ろす
これで右足で一歩前へ進みますね。
左足も同様に、
- 左足を上げる
- 左足を前に出す
- 左足を降ろす
ですね。
プログラミングしてみましょう
まずは右足から。
ちょっと解説
どうやって右足をあげているの?
クムクムロボットの足(足首)のモーターは、角度によって以下のようになります。
(注:足(足首)に指定できる角度は60度~120度です)
右足をあげるプログラミングでは、
左足(足首)の角度を65度にしています。
接地していることを利用して、体を左に傾けて右足をあげようとしているのですが、
実はこれだけでは右足はあがってくれません。
そこで、右足(足首)を120度にすることで右足で蹴り上げて右足をあげています。
※左足で体を傾けつつ右足で蹴り上げる動作です。秒数が違う事にも着目してください。
これら2つのコマンドを一度に送り込み、最後の「MOVE」ブロックで
2つのモーターを一斉に動かしています。

クムクムロボットの重心によってはうまく上がらないこともあります。
そんな場合は角度や秒数を少し調整してみてください。
右足をどうやって前に出しているの?
クムクムロボットの太もものモーターは、角度によって以下のようになります。
(注:太ももに指定できる角度は60度~120度です)
右足を前に出すプログラミングでは、
地面についている左の太もものモーターを110度にセットしています。
基点が90度なので、内側に20度回転させているのですが、
接地しているので足自体は回転せず、逆にクムクムロボットの体が前に出ることになります。
右の太もものモーターも110度にセットしているのは、
進行方向に対してつまさきがまっすぐに向くようにするためです。
最後に右足(足首)のモーターですが、
これは「1.右足を上げる」の時に蹴り上げた足を水平になるよう、
足首の角度を65度にセットしています。(次に足を降ろすための準備です)
これら3つのコマンドを一度に送り込み、最後の「MOVE」ブロックで
3つのモーターを一斉に動かしています。
どうやって右足を降ろしているの?
右足、左足の足首の角度を90度に戻すことにより、持ち上げていた右足を地面に降ろします。
左足で一歩前へ も作ってみましょう
次に左足(上のプログラムにつづけてプログラミングします)
どうですか?あなたのクムクムロボットは歩いてくれましたか?
応用:定義を使ってシンプルに
Scratchの「定義」ブロックを使って、シンプルなプログラムにしてみましょう。
応用:3歩歩かせてみましょう
1歩だけというのもつまらないので、3歩歩かせてみましょう。
コメント