はじめに
EV3には本体同士を接続してポート数を増やす「デイジーチェーン(Daisy Chain)」という機能がありました。残念ながらこれに相当する機能は2022年5/2時点でSPIKE Primeにはありません。
しかし、Robot Inventor 51515にはハブ間での通信を可能にする「Hub to Hub communication」という機能があります。
Robot Inventor 51515はハードウェア的にはSPIKE Primeと全く同じ(色は緑色の)製品です。残念ながら現在日本での正規代理店からの販売はありません。ただし、2022年の6月から日本でも販売が始まるそうです。販売が始まりました。
SPIKE PrimeをRobot Inventorに変身させる
※Robot Inventorをお持ちの方は方法の5まで飛ばしてください。
先述の通りRobot Inventorは色が違うだけでSPIKE Primeとハードウェア的はに全く同じ製品です。
つまり、ソフトウェア-HubOSをRobot Inventorのものに書き換えてしまえば、それはRobot Inventorなのです。
方法
-
まずはマインドストームのアプリをインストールします。※日本語非対応です。
Windows: https://www.microsoft.com/ja-jp/p/lego-mindstorms-robot-inventor/9mtq0n7w1d6x?activetab=pivot:overviewtab
Android: https://play.google.com/store/apps/details?id=com.lego.retail.mindstorms
iOS&Mac: https://apps.apple.com/jp/app/lego-mindstorms-inventor/id1515448947 -
SPIKE Primeを接続します。
-
HubOSを更新するというメッセージが表示されます。ボタンを押して更新しましょう。更新には少し時間がかかります。※この段階でHub内のプログラムなどが消去されるかもしれないので気をつけてください。
-
HubOSの更新が終わると、モータの更新画面が表示されます。
使い方
※MindstormsアプリのHelpをそのまま和訳しています。いくらか間違いがあるかもしれません。
デイジーチェーンとの違い
-
デイジーチェーンはマスターとなるEV3がスレーブのEV3を1つのプログラムで動かすことができますが、1つ1つのHubはHub to Hubにおいてあくまでも独立しており、あるHubの発信した信号を他のHubが読み取る方法であるため、プログラムはHubの数だけ必要になります。
-
デイジーチェーンはUSB接続やBluetooth接続で互いを認識する必要がありました、ですがHub to Hubにおいて、あるHubの発信した信号はそのの名前さえわかれば誰のどのHubでも読み取ることができます。
-
信号に載せて送ることのできる情報は変数などの値に限られるため、デイジーチェーンのように他のHubを柔軟に容易に制御することは難しくなります。
-
デイジーチェーンは最大4台まで接続が可能でしたが、Hub to Hubでは理論上無限のHubと通信をすることができます。
注意点
-
Hub to HubはEV3のデイジーチェーンとは違い、ハブ間でお互いを認識する必要がなく、発信された信号はどのハブでも受け取ることができます。つまり、同じ名前の信号を使っているチームが近くにいた場合、違うチームのハブからの信号を受け取ってしまいます。信号の名前を被りにくいものにする(例えば末尾に数字を付ける)ことが必須です。
-
Hub to HubにはBluetoothのみを使うことができ、USBは恐らく使えません。ロボカップジュニアのように無線通信の一切を禁じている大会ではHub to Hubの使用が制限されるかもしれません。実際にEV3においてデイジーチェーンをBluetoothで行うことは禁じられています。
参考文献