ロボットプログラミングには必須のサーボモーター

 MakeXには、サーボモーターを活用して、障害物を移動させるミッションがあります。例えば、↓の動画はMakeX2018で実施されたミッションです。 

 このタスクをざっくり言えば、↓のような言葉に置き換えることが可能です。

カラーセンサーで、カードの色を認識したら、サーボモーターを稼働させてカラーリングをひっかけ、所定の位置にリングを持っていったら、サーボモーターを稼働させてカラーリングを放す

 サーボモーターは、機構部品(mBotでいう青い金属パーツ)を稼働させるために活躍する、ロボットプログラミングには必須の拡張モジュールです。
 モーターというと、mBotも「ギアモーター」で車輪を回転させますが、サーボモーターでは、モーターの角度を制御する事が出来ます。例えば、人型のロボットとかの関節部分には、サーボモーターが内蔵されているので、色々な角度の関節の動きが出来るんですね。

 MakeXでは、Makeblock社製の「9gマイクロサーボ」を使います。これは、2018MakeXでは、参加者用の機能拡張アドオンパックに含まれていました。
 それ以外でも、こちらから「9gマイクロサーボ」を単品で購入することも可能でし、アマゾンなどで、mBot用の機能拡張アドオンパック(サーボパック)としても販売されています。

ちなみに、MakeX拡張機能パック版と、通常の9gマイクロサーボには性能に若干の違いがあります。MakeX版(黒)は、通常版(青)より、パワーがあり、内部の電流制御が安定しています。

参考記事:mBot機能拡張パックレビュー サーボパック編

 このページでは、MakeXのタスク攻略のためのサーボパック活用方法を紹介していきます。

サーボモーターの概要

 Makeblockの機能拡張モジュール「9g マイクロサーボモーター」は、約180度回転することができます。一般的なサーボモータほどパワーがあるわけではないので、マイクロと言っています。サーボモーター内には、センサーがついていて、モーターの角度をセンシングしています。
 

サーボモーターセット内容画像

 

  サーボモーターには、サーボハブとサーボブラケットという樹脂のアダプタが付属品として、ついていて、金属の機構部品を取り付ける場合は、この樹脂アダプタを使います。例えば、↓の画像のような形で取り付けます。

サーボモーターと機構部品の取り付け例画像

 

サーボモーターの使い方

 ここでは、冒頭の動画にあった、MakeX2018のタスクを攻略する為のステップを確認しながら、サーボモーターの使い方を説明していきます。

STEP1:サーボモーターをmBot(mCore)に接続

 まずは、サーボモーターとmBotのmCoreをRJ25アダプタを介して接続します。イメージとしては、このような形です。

mCoreとサーボモータの接続方法

 サーボモーターには、直接mCoreに接続するRJ25コネクタがありませんので、アダプタを介するんですね。RJ25アダプタには、スロット1・スロット2がありますので、どちらかのスロットに、サーボモーターのコネクタを差し込みます。RJ25コネクタからのmCoreへの接続ポートは、1~4のどれかに接続すれば大丈夫です。

サーボモーターとRJ25アダプタ mCore接続写真

STEP2:サーボモーターの初期角度を設定

 次に、機構部品をサーボモーターに取り付ける前に、サーボモーター角度の設定をしておきます。この角度の設定をしないままで、機構部品を取り付けてしまうと、機構部品が想定通りの角度にならない場合が出てきます。

 STEP1で、mCoreと接続しましたので、mBlock5を使って、サーボモータの角度を指定します。mBotのファームウェアを一度、最新にアップデートしてから、以下のようにブロックを拡張して、スクリプトを作りましょう。

 

下の画像のように、RJ25のスロット1、mBotのポート4に取り付けましたので、動画ではそれに合わせて、ブロックのパラメータを変更しています。また、サーボモーターは、0度~180度の範囲を稼働しますので、今回は、初期は0度の状態にするようにしました。

サーボモータをmBotに取り付ける画像

STEP3:カラーリングが引っ掛かるように機構部品を取り付ける

 サーボモータの初期の角度を設定した後は、mBotに取り付け、MakeXのタスクにある、カラーリングが引っ掛かるように機構部品を取り付けます。

例えば、STEP3でモーターの角度を0度に設定しておきましたので、その0度の状態の時にリングが引っ掛かるように、機構部品取り付けるわけですね。↓の画像参照ください。

サーボモーター角度説明画像

 上の画像が0度の時なので、そこから、45度・90度・180度に変化させた動画がこちらです。

 

スクリプトはこんな感じです。

mBotサーボモーター用スクリプト

 この後、タスク攻略の為に、プログラミングをしていく格好です。
 冒頭のような動画の動きをさせたい場合は、「カラーセンサーでレッドを検知したら、サーボモーターを0度にする」というようなプログラムを組みながら試行錯誤していきましょう!

 

■このページの動作環境
※Makeblock社は随時ソフトウェアのアップデートが行われています。ご自身のPCと本ページのブロック表記が違う場合もあります。本ページは、以下の環境下で動作チェックをしました。
ハードウェア:mBot_v1.1
ソフトウェア:WEB版(ブラウザ版)mBlock5_v5.1
利用PCのOS:Windows10
ソースコード確認日:2019年8月8日