2022年3月7日
SPIKEモーター制御に関する拡張ブロックの利用
SPIKEプライムのソフトウェアでは通常のモーター、移動に関する制御ブロックに加えて、拡張された機能を利用できるブロックがあります。今回はそれらの機能を簡単に紹介します。
今回の機能を紹介する上で簡易的な車体を用意します。 (ここではSPIKEプライム ラージハブを地面と水平になるように組み立ててください。)
車体に使用しているハードウェア
- SPIKEプライム ラージハブ
- Mモーター×2(A,Eポート)
- カラーセンサー(Fポート)
まずSPIKEアプリで拡張ブロックを利用できるよう追加します。 アプリ左下にあるアイコンを選択します。
モーター拡張、移動拡張を選択し元の画面に戻ります。
画面左のブロック一覧にモーター拡張、移動拡張が追加されて、モーター制御に関する拡張ブロックが利用できるようになります。
◆モーター拡張ブロック
モーター拡張ブロックの中で特徴的なブロックとしてストール検知のオンオフを切り替えるブロックを利用することができます。
ストールとはモーターが外部からの力によって回転できなくなることです。SPIKEでモーターを制御する際、通常ではストール検知がオンになっており、モーターに負荷がかかると2秒後にモーターの電源が切れるようになっています。
ある程度負荷がかかってもそのまま継続して動作を実行させたい場合は、ストール検知をオフにしてみましょう。 競技中では壁に向かって走行させたり、場合によっては坂や障害物を越える必要があります。そういった場合に利用することもできるでしょう。
以下でストール検知のオンオフを切り替えた際の動作を確認することができます。
(https://youtu.be/GRp2ckWghoY)
◆移動拡張ブロック
移動拡張ブロックでは制御をさらに細かく指定することができるようになります。
スピードに加えてパワーを指定することができるブロックがあります。パワーはスピードとは考え方が異なります。
パワーは同じ数値での動作でも、坂を登ったり、ロボットが重かったりすると動きが異なる場合はありますが、モーターのパワー準拠で値を指定することができます。
一方スピードは、指定したスピードより遅い場合は回転を早くし、早い場合は回転を遅くする補正が内部でかかります。
また、方向の指定も左右のモーターのパーセンテージを指定して決定することができます。 これらの指定を使い分けることでより細かい制御ができるようになります。
移動拡張ブロックでは、ブレーキの方法を指定することもできるようになります。 ブレーキ方法は3つの内から指定することができます。
- ブレーキ通常通りの停止を行います
- 位置を維持モーターが停止した位置より回転しないような制御がかかります
- 惰性回転モーター停止後ブレーキをかけず、モーターの減速を待ちます
状況に合わせてブレーキ方法を変更することで走行体を望んだ状態で停止させることができるようになります。
※2022/2/21 最新バージョン(2.0.4)のSPIKEアプリに基づく情報です。
※これらの仕様はアプリのアップデートによって変更される場合があります。
(2022/2/21 現在)