【レビュー】スフィロの最新ロボットボール「Sphero BOLT」(3) 複数のボール間でのインタラクションに挑戦する

今回でいよいよレビューも第三回。
レビュー第一回はスフィロの最新ロボットボール「Sphero BOLT」の特徴に触れた。ワイアレス充電や防水、デジタルコンパス機能搭載など進化したポイントを紹介した。また、誰でも簡単にプログラミングできる「ドロー」についても解説した。
第二回は、Macとスマホ用のアプリ「Sphero Edu」を用いて、更に高度な「ブロック」と「テキスト」プログラミングに挑戦。矢印に沿ってロボットボールが走行したり、ジャンケンゲームのプログラミングを行った。
今回は、複数の「Sphero BOLT」間で赤外線通信を行う、インタラクション機能に挑戦しよう!

ロボットボールは4つの赤外線発信機と受信機(ペア)を持っているため、ボール間で360度の通信ができる。

赤い線で囲んだところが一つの受信機と発信機ペア



今回は親子ボールの追従に挑戦する

親子ボール間の通信を実現するため、親ボール(発信側)と、子ボール(受信側)で同じ通信用のチャンネルを2つ使う必要がある。仕様では0から7までのチャンネルから選択できるが、親子ボールともに2と3のチャンネルを使うことにした。

親ボールのチャンネル設定

子ボールのチャンネル設定

まずは、親ボールの設定。
最初、ボールのコンパスの調整と向きのリセットを行う。そして、親と子ボールを区別するため、親ボールのLEDの表示を緑にする。次に、チャンネル(2,3)で発信することを設定する。最後は、親ボールの動きを決める。親ボールは正方形を描いて移動するようにした。また、曲がる前には3秒間のディレー(遅延)を入れる。その動きを永久にループすることにした。

親ボールのブロック

次は、子ボールの設定。最初、親ボールと通信するため、子ボールもチャンネル(2,3)にセットする。次に、ボールのコンパスの調整と向きのリセットを行う。最後、親ボールと区別するため、赤いLED表示にする。

子ボールのブロック

最後は、両方のブロックをスタートすると完成。

最初に回っている手前のボールが子ボールだ。親ボールが設定したとおり正方形に移動する。子ボールは親ボールと赤外線通信して、自動的に親ボールを追従する。



感想

動画を撮った時、子ボールがうまく親ボールに追従しないケースもあった。また、今回試した親子ボールの通信は、チャンネルのブロードキャスト(発信)とフォロー(追従)機能だけだが、それ以外にも、チャンネルのブロードキャストと回避(親ボールから逃げる)や、メッセージの送受信などもできる。詳しい情報はJavaScriptWikiEventsを参考すると良いと思う。
ボール同士が連携してプログラミングできる機器はまだ多くないので、とても楽しい経験ができた。

ABOUT THE AUTHOR / 

郭 心宇
郭 心宇

中国出身、1993年生まれの25歳。2018年東京大学プロトタイピング・デザイン研究室から修士課程を終了した。中国・日本のロボットを調査しながら、知識と経験を積むことを目的として、ロボスタでアルバイト中。ロボット以外では、スポーツと旅行も好き。日本全国を回ることが三年以内の目標です。

PR

連載・コラム