メカナムホイールロボットを制御する
micro:bitを使って、メカナムホイールロボットを制御します。この記事では、メカナムホイールロボットを制御するプログラムを紹介します。
メカナムホイールロボットの制御(目次)
- 準備するもの
- メカナムホイールロボットを組み立てる
- メカナムホイールロボットを制御する・・・いま読んでいる記事
メカナムホイールロボットを制御する
メカナムホイールロボットは、4つの独立したホイールの回転方向を組み合わせることで、前進・後進・左右への回転だけでなく、車体の向きを固定したまま左右へ移動したり、斜め方向へ進むことができます。この記事では、メカナムホイールロボットを制御するプログラムについて紹介します。詳しい動作については「9-3.メカナムホイールロボットの制御」をご覧ください。
拡張機能の追加
メカナムホイールロボットに使用している拡張ボード「Micro:bit Driver Expansion Board」のプログラミングには、拡張機能の追加が必要です。MakeCode for micro:bitを立ち上げて、ツールボックスの「拡張機能」をクリックします。
検索欄に「https://github.com/DFRobot/pxt-motor」と入力します。検索結果から「motor」をクリックします。
ツールボックスに「DF-Driver」が表示されていることを確認します。
メカナムホイールロボットのプログラムで使用するブロックは「Motor」です。このブロックには3つのパラメーターがあります。一つ目は制御するモーターの名前です。Micro:bit Driver Expansion Boardのモーター端子に刻印された名前「M1・M2・M3・M4」を指定します。二つ目はモーターの回転方向です。正転(CW)・逆転(CCW)を指定します。3つ目はスピードです。0~255の値を指定します。値が大きいほど速く回転します。
Micro:bit Driver Expansion Boardのモーター端子(M1・M2・M3・M4)です。
前進
まず、メカナムホイールロボットが前進するようにプログラミングします。「9-3.メカナムホイールロボットの制御」で解説したようにメカナムホイールロボットは、四輪の回転方向を制御することで、全方向への移動が可能になります。
メカナムホイールロボットを前進させるには、四輪を次のように回転させます。赤い矢印が、ホイールを上から見たときの回転方向です。すべてのホイールが同じ方向へ回転しています。この向きを「正転」とします。
では、プログラムを作りましょう。前進や後進などの制御ごとに関数化しておくとプログラムがわかりやすくなります。まず、前進の関数を作ります。すべてのモーター(M1・M2・M3・M4)が正転(CW)するので次のようになります。スピードは、変更できるように関数のパラメーターとして「速度」を追加します。
次に、停止の関数を作ります。すべてのモーターを停止する「Motor Stop All」ブロックを使います。
前進と停止の関数ができたので、これらを使って5秒だけ前へ進む(速度は200)プログラムを作成します。
プログラムが完成したらmicro:bitにダウンロードして動作を確認しましょう。すべてのモーターが正転しない(逆転しているモーターがある)場合は、モーターの結線を確認してください。M1・M2とM3・M4では、リード線を接続する順番が逆になります。詳しくは「(2)メカナムホイールロボットを組み立てる」をご覧ください。
さまざまな動きにチャレンジ
前進の動作が確認できたら、他の動きにも挑戦しよう!