入門Scratch

19.MOTORコントロール⑦【ムーンウォーク】

Scratchでロボットをムーンウォークさせる方法:クムクム・モーターコントロール完全解説

1. はじめに:ロボットでムーンウォークに挑戦!

プログラミングロボット「クムクム」を使ったモーターコントロールシリーズ。今回は、誰もが知るマイケル・ジャクソンの代名詞「ムーンウォーク」をロボットに再現させるチュートリアルです。 一見難しそうに見える複雑な動きも、実は「歩行の基本」を少し応用するだけで実現できます。この記事では、既存のプログラムをどう改造し、どのような数値設定を行えば滑らかなムーンウォークができるのか、ステップバイステップで解説します。

2. 学ぶ概要:このチュートリアルで習得できること

このプロジェクトを通じて、以下のプログラミングスキルと論理的思考を学ぶことができます。

  • 既存プログラムの再利用(リファクタリング): ゼロから作るのではなく、以前作成した「早歩き」のプログラムをベースに効率よく開発する方法。
  • モーターの逆方向制御: 前進の動きを後退の動きに変換するための角度計算とコマンド変更。
  • 微調整(チューニング)の重要性: 左右のバランスをとるために、数値を5度単位で調整する感覚。
  • 視覚的効果のロジック: なぜ「後ろに下がる動き」が「ムーンウォーク」に見えるのかというメカニズムの理解。

3. 実装の詳細:ムーンウォーク・プログラムの作り方

ステップ1:ベースとなるプログラムの準備

まずは、以前作成した「モーターコントロール6:早歩き」のプログラムを読み込みます。ムーンウォークは、早歩きの足の運びをベースに、前進する力を後退する力に入れ替えることで作成します。

ステップ2:右足の動きを「後ろ」に変更する

[01:00] あたりからの解説にある通り、まず右足の制御ブロックを修正します。

  1. コマンド名を「右前へ出す」から「右後ろに出す」に変更し、管理しやすくします。
  2. モーターの角度を調整します。動画内では、前進とは逆の方向である「80度」に設定しています [01:32]。これで、足を上げた際に後ろ側へ蹴り出す準備が整います。

ステップ3:左足の動きを同期させる

右足と同様に、左足のブロックも変更します [02:07]。

  1. コマンド名を「左後ろに出す」に変更します。
  2. 角度は「115度」に設定します [02:32]。一度110度に設定して試した後、少し開きすぎていると感じたら115度に戻すなど、ロボットの個体差に合わせた微調整がポイントです。

ステップ4:ループ処理の実装

個別の動きが確認できたら、それらを連結します。「制御」カテゴリーから「10回繰り返す」ブロックを取り出し、回数を3回程度に設定してテスト走行を行います [03:11]。

4. 注意点:ここがうまくいかない時のチェックリスト

ロボットプログラミングにおいて、数値通りに入力してもうまくいかない場合があります。以下の点を確認してください。

  • バランスと重心: 足を上げる高さや後ろに下げる幅が大きすぎると、クムクムが転倒してしまうことがあります。その場合は、角度を数度ずつ小さくしてみてください。
  • 床の摩擦: ムーンウォークは足を滑らせるような動きが必要なため、カーペットの上よりも滑らかなフローリングや机の上の方が綺麗に動きます。
  • 電池残量: モーターを複数同時に、かつ細かく動かすため、電池が消耗していると動きが鈍くなり、意図した角度まで回りきらないことがあります。

5. 応用への道:さらに高度なパフォーマンスへ

ムーンウォークができるようになったら、次は以下のような機能を追加して、より「エンターテインメント」としての完成度を高めてみましょう。

  • 音楽との同期: Scratch上で「ビリー・ジーン」のようなリズムを流し、そのテンポ(BPM)に合わせて繰り返しの待ち時間を調整します。
  • LED演出: 足を後ろに引く瞬間にクムクムの目を光らせたり、色を変えたりすることで、サイバーなムーンウォークを演出できます。
  • センサーの活用: 距離センサーを使い、「壁に近づいたら自動的にムーンウォークで離れる」といったインタラクティブな動作を組み込むのも面白いでしょう。

6. まとめ

ロボットにムーンウォークをさせる工程は、まさに「既存の知識(前進プログラム)を疑い、逆転の発想(後退への転換)を取り入れる」というプログラミングの醍醐味が詰まっています。 クムクムの滑らかな動きを実現できたら、ぜひ自分だけのオリジナルダンスプログラムにも挑戦してみてください。

コメント

タイトルとURLをコピーしました