はじめに
いきなりタイトルから過激なことを書いてしまいました。しかし、これは私が高校の部活で本当に感じたことです。そのことについて紹介します。
LEGO Education SPIKEとは?
全く知らない人のために説明します。こんな感じのロボットを作ったりして、プログラミングや機械設計について学ぶことができます。私が通っている高校の部活では、これで宇宙エレベーターロボット競技会に出場したりしています。
どこが良くないと思うのか
プログラミングするために使うアプリが新しくなりました。(App2→App3)新しくなったのはいいものの、以前のバージョンから明らかに機能縮小していると思われる部分があるのです。以下に例をいくつか紹介します。
モーターペアのワードブロックで、パワーを指定できない
ニッチな話なのですが、「スピード」で指定するよりも「パワー」で指定するほうがより早く、より強く回せるという事情があります。
App2(Legacy)の場合
「移動拡張」を有効にすると「パワー」で指定することができます。
App3の場合
「移動拡張」を有効にしてもApp2にあったワードブロックがありません。というか、減りすぎじゃないですか!
MicroPythonでプログラミングすると、パワーを指定する方法がない
これは、びっくりしました。単一モーターの制御でも、モーターペアの制御でもパワーを指定することができなくなりました。App2(Legacy)でパワーを指定する場合は以下のプログラムになります。
from spike import Motor
motor = Motor("A")
motor.start_at_power(100)
from spike import MotorPair
motor_pair = MotorPair("A", "B")
motor_pair.start_at_power(100, 0)
ハブの中に保存されているプログラムを確認したり削除したりできない
これは地味に不便ですね。なくてものすごく困るというわけではないのですが、今までできていたことがApp3でできなくなるのはどうかと思いました。
代替案
1. MicroPythonでプログラミングするのをやめて、ワードブロックの単一モーターで頑張る。
2. ファームウェアを無理やりLEGO MINDSTORMS Robot Inventor(以下、マインドストーム)用のものに書き換える。
私が考えたところ、この二つになると思います。二つ目の案に関しては、マインドストームのハブと中身が同じことと、App2(Legacy)と同等、もしくはそれ以上の機能があることから、有効だと思います。ファームウェアの書き換え方法は以下の記事で紹介しています。
おわりに
私の場合は、機能が少ないことにイライラして速攻でマインドストーム用のファームウェアに書き換えました。簡単なのでぜひ皆さんも試してみてください。また、今後の機能追加や機能改善に期待したいところですね。