球体型ロボット

Sphero(スフィロ)mini

iPadを使って「Sphero mini」を走らせます。

球体型プログラミングロボット「Sphero(スフィロ)」を使ってプログラミングの体験実習を行います。

内部にある2つのモータ(タイヤ)を回転させ、外側の殻を回転させることで、Spheroはコロコロと転がります。iPadに入れた専用アプリで思い通りに転がして、その動作ついて確認します。

1.Spheroを手動で走らせてみる。

(1) 専用アプリ「Sphero Edu」を実行し、メニューの「ドライブ」をクリックすると、手動でSpheroを操作する画面が表示される。

(2) AIMボタンをクリックし、Spheroの走行方向(前方)を決める。Spheroを動作させる前には必ずこの操作を行わなければならない。

●をクリックしながら、操作するとSphero内のLEDが点灯し、Spheroを走行させたい方向とは逆側にLEDの光を向ける。LED点灯方向の逆側がSpheroの走行方向(前方)となる。

(3) 手動操作画面の左側が走行レバー、右側がLED点灯色となるので、操作してみよう。

2.プログラミングでSpheroを制御してみる。

(1) 「動作」グループの「ロール」コマンドを用いる。

進行方向および移動させたい距離から、「方向」・「スピード」・「継続時間」の数値を決める。

<方向>

設定画面で、走行させた方向に矢印を合わせると、走行する角度が設定される。

<スピード>    <継続時間>

前方(モーター正転)   後方(モーター逆転)    直接数値を入力する。小数も設定できる。

<例題>

① 20cm前方に走行させる。各数値を設定して、走らせてみる。

② 20cm後方に走行させる。

2通りの方法があるので、それぞれ動作させてその違いを確認してみる。

<課題>

次に示すように、前方に20cm走行させ、続いて右に40cm走行させて停止する。

スピードは60固定で、方向と継続時間を設定し、走行させる。

(2) 「コントロール」グループの「ディレイ」コマンドを用いる。

動作を一時的に止めたいとき、その停止時間から「継続時間」の数値を決める。

<例題>

次に示すように、前方に20cm走行させ、続いて右に20cmおよび後方に20cm走行させて停止する。

以下のプログラムを作成し、その動作を確認する。

<改良版>

以下のプログラムのように少し修正を加えた。「方向」のみのコマンドを追加している。

Spheroの方向だけを変えるコマンドである。動作がどのように変化したか、確認する。

<課題>

作成したプログラムをさらに追加修正し、以下のように正方形の形に走行させる。

(3)「コントール」グループの「ループ」コマンドを用いる。

同じコマンドを繰り返し行いたい場合に、その回数を設定する。(2)の課題で作成した正方形走行動作を2回繰り返すようにする。ループコマンドのカウント値を2回に設定し、動作させてみる。

(4) 進行方向を検知し、次の動作を決める。

「演算子」と「イベント」を利用し、進行方向に対してどの方向に走行するかを決める。

この「演算子」と「イベント」を方向およびロールコマンドに応用する。

<動作>

  • 1秒間停止する。

  • Spheroの方向に対して90°右に向く。

  • 1秒間停止する。

  • 方向そのままでスピード60・時間1s、すなわち20cm走行する。

  • この動作を4回繰り返す。

<課題>

正三角形の形で走行させる。

Spheroの前方から次に進む方向は、外角となるので、正三角形の場合、360°÷ 3 = 120°となる。あるいは、正三角形の内角が60°であることから、180°- 60°= 120°となる。

以上から、(4)のプログラムを修正し、動作確認しよう。

(5)「コントール」グループの「永久ループ」コマンドを用いる。

ループコマンドの違い繰り返し行いたい回数が無限となります。(4)の課題で作成した正三角形走行動作を無限に繰り返すようにする。

<課題>

円形に走行させる。

Spheroの前方から次に進む方向すなわち外角の数値を設定すると、正○角形の形で走行します。この外角の値を小さくしていくと、次第に円形に近い形になっていきます。

正6角形 外角 = 60°    正12角形 外角 = 30°

走行する距離が20cmのままだと、円形が大きくなって走行させるのに広いスペースが必要となるので、走行距離を小さくしてみます。継続時間を小さくすれば距離が短くなります。また、ディレイコマンドで1秒停止させると動作が遅くなってしまうので、ディレイコマンドはなしにします。

以上のことを参考にプログラムを作成し、円形に走行させてみよう。ただし、円形の直径はおよそ50cm程度のなるようにしてください。

※ なるべく滑らかな円を描くような走行を目指そう。