Arduino関連

【ステップアップ】Arduinoでメカナムホイールのロボットプログラミングにチャレンジ

【ステップアップ】Arduinoでメカナムホイールのロボットプログラミングにチャレンジ

メカナムホイールってご存知ですか?

一般的に、タイヤやキャタピラで動作するロボットカーが多いのですが、その他にも移動方法があります。

オムニホイールやメカナムホイールなど、面白いものがある中で、今回は「メカナムホイール」の動作の仕組みとarduinoでのプログラミングのポイントについて解説します。

↓こちらが実際に完成したロボットです。

この記事では、ロボットプログラミングの基本が理解できている前提で説明しています。

ロボットプログラミングを基礎から学習したいという方は、Udemyというオンライン学習プラットフォームで販売中の「【Arduinoではじめる】ロボットプログラミング完全マスターコース|電子工作の基礎からコーディングまで全行程を詳細解説」コースがオススメです。

本記事は、その簡易版としてご紹介しております。

宜しければ、上記のコースの「セクション8」をぜひご覧ください。

*コースは定期的にセール価格で購入できますし、以下のメルマガにご登録頂くと、不定期にクーポンをお届けします。

ぜひ購読してください!

メカナムホイールとは?

特徴

メカナムホイールは、車輪自体に取り付けられたローラーの角度によって、ロボットが前後左右だけでなく、斜め方向にも移動できる特殊なホイールです。

今回は、メカナムホイールが装着された完成品を例に、その動き方を紹介します。

こちらはDJIのRoboMaster S1というロボットです。 

実際に、タイヤの動きによってどのように動作するかを動画で確認してみましょう。

メリット

  • 多方向への移動が可能
  • 狭いスペースでも自在に制御可能
  • 前を向いたまま左右斜め方向へ移動可能

上記で紹介した「戦うロボット」は常に前方を向いたまま移動できると良いことがありますよね。

他にも、飲食店で活躍する配膳ロボットも、出し入れする棚の向きをお客さんの方に向けたまま移動できるタイプがあります。

動き方

メカナムホイールの動作は、各ホイールのローラーが45度の角度で取り付けられているため、ホイールの回転とローラーの回転の組み合わせにより、進行方向が決まります。

これにより、前後左右の移動に加え、斜め移動やその場での旋回が可能となります。

ロボットのパーツと準備

必要なパーツ

市販のメカナムホイール搭載ロボットキットを活用するのが最も手軽ですが、すでに基本のロボットがある場合はタイヤ(もしくはギヤボックスのセット)を変えるだけでもOKです。

  • シャーシとメカナムホイール
  • DCモーター4つ
  • モータードライバ
  • Arduino本体
  • ケーブルと電源

これらのパーツを揃えれば、メカナムホイール搭載ロボットの組み立てが可能になります。

Amazonなどで販売されているメカナムホイールが装着できるギヤケースは限られますので、以下のものを購入すると良いでしょう。

メカナムホイールは大きさが40mm、60mm、80mmなど複数用意されています。

使用するロボットや環境に合わせて、サイズを検討して下さい。

下のようなキットを購入すると、手軽にチャレンジすることができます。

キットを購入する際の注意点として、Arduinoが付属しない場合や、電源が特殊なバッテリーの場合があるのでよく確認しましょう。

注意点

Arduino Unoの場合は制御ピンの数が限られているため、DueやMegaのようなモデルを選ぶと拡張性が高まります。

メカナムホイールの取り付けを間違えると、思った通りの動きにならないので注意して下さい。

↓こちらの向きで取り付けます。

前後とも、「ハの字」を意識すればOKです。

オススメモデル

  • Arduino Uno(初心者向け)
  • Arduino Mega(拡張性重視)

Arduino Unoで制御するには、制御ピンが足りなくなる可能性があります。

モーターだけなら最大12ピンで済みますが、センサーなどを使うと足りなくなるため、DueやMega2560がオススメです。

または、

モータードライバの役割

モータードライバは、Arduinoからの低電圧信号からモーターを駆動させるための高電圧信号に変換する役割を果たします。

モータードライバの選定時には、駆動するモーターの個数と電流容量に対応したモデルを選ぶことが重要です。

↓こちらのモータードライバはよく使われますが、これ1つでDCモーター2つを制御できます。

つまり、4つのDCモーターを制御するには、2つ必要になるため、配線の取り回しや電源の確保が大変です。

Arduino Unoを使用する場合、このようなモータードライバシールドを使うと配線がスッキリするのでオススメです。

これ一つでDCモーターなら4つを制御することができます。

制御の基本

モーター制御の仕組み

メカナムホイールの制御では、4つのモーターの回転方向を工夫することで前後左右や斜めに移動します。

例えば、左前と右後ろのモーターを特定の回転方向に制御することで、左前方向へ滑らかに移動させることができます。

モーターの回転方向の組み合わせ

  • 前進: 全モーター同じ方向に回転(下図)
  • 後退: 全モーター逆方向に回転
  • 左右移動: 対角のモーター回転方向の調整(下図)

制御の例

  • 左前と右後ろのモーターで左前方向に移動
  • 4輪全体の制御で回転移動

制御アルゴリズムの工夫

モーターの速度を調整することで、スムーズなカーブ移動や加速減速の制御も可能です。

4輪とも同じ回転数の場合、一定方向に同じ方を向いたまま移動することができますが、各タイヤの回転数を変えることで「少しずつ向きを変えながら斜め方向に移動する」など複雑な制御が可能となります。

学習のポイント

メカナムホイールの動作原理の理解

4つのタイヤの回転方向の組み合わせにより、どのように前後左右斜め方向に移動するか?を理解する必要があります。

タイヤごとの回転数を変えることで、向きを変えながら移動できるため、PWMの値を変数にすると状況に応じた微妙な制御も可能です。

パーツの選定と配線のポイント

「配線は一つずつ動作確認をしながら進める」ことが重要です。

特に、メカナムホイールの制御は一般的なタイヤの制御と比べて分かりづらいため、まずは4つのタイヤが前進方向に回転することを確認してから後進や横方向への移動を考えるのがオススメです。

また、メカナムホイールはサイズがあるため、使用するロボットや環境に応じて適切なサイズを選択する必要があります。

特にこだわりがなければ、下の60mmがオススメです。

このタイプのメカナムホイールを装着できるギヤボックス(ギヤケース)は↓こちらがオススメです。

もっと詳しく学びたい方へ

ロボットプログラミングを基礎から学習したいという方は、Udemyというオンライン学習プラットフォームで販売中の「【Arduinoではじめる】ロボットプログラミング完全マスターコース|電子工作の基礎からコーディングまで全行程を詳細解説」コースがオススメです。

コース内では、メカナムホイールの制御について演習をご用意しています。

今後の学習ステップ

Udemyコースでは、追加コンテンツとして「ライントレースロボットの制御」と「メカナムホイールロボットの制御」についても解説しています。

今後も新しいコンテンツを追加する予定ですので、お楽しみに!

学習につまづいたら

こちらのお問い合わせフォームで質問して下さい。

基本的なスキルが身につけば、YouTubeで参考になる動画を見たらできるようになります。

どんどんチャレンジしてみましょう!

まとめ

今回は、メカナムホイールの制御の基本と流れについて解説しました。

もし、この記事の内容でも解決できないという場合、コメントやフォームにてご質問ください。

今後もプログラミングの情報をお届けします。

Pythonの演習はこちら ▶

以下のメルマガにご登録頂くと、不定期に配信をお届けします。

ぜひ購読してください!

それでは、ステキなロボットプログラミングライフを!

ABOUT ME
やまちゃん
これまで学生と社会人を合わせて5000人以上にプログラミング学習を指導。 ゼロからイチをわかりやすく解説する専門家として活動しており、本業ではArduinoを用いたIoT開発とロボットプログラミングが専門。 Pythonを用いたアプリ開発、ウェブアプリケーションの開発で業務の効率化をサポートしています。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です