2026年5月29日
000-2.コラム~Tech Spotlight~ 第2回「レゴ エデュケーション コンピューターサイエンス&AI」を使ってみる
コラム~Tech Spotlight~ではそのときどきに気になるテーマにスポットライトをあてたコラムをお届けします。
レゴ エデュケーションの新製品、「レゴ エデュケーション コンピューターサイエンス&AI(以後、CS&AI)」には対象年齢に合わせて「小学1~2年生(5+)」「小学3~6年生(8+)」「中学1~3年生(11+)」という3種類のセットがあります。これらのうち「小学3~6年生」と「中学1~3年生」セットが2026年4月に発売されましたので、簡単に紹介したいと思います。
(文/松原拓也)
◆セットの概要
CS&AIの「小学3~6年生(8+)」「中学1~3年生(11+)」セットの中身です。パーツ数は後者のセットのほうが多いです。 なお、写真内の製品には「AF-1」や「AF-12」という管理用のシールが貼られていますが、実際の製品には貼られていません。
パーツの詳細については説明書が参考になります。説明書はレゴ社の公式Webサイトで配布しています。ページ内で「コンピューターサイエンス」で検索すると、表示することができます。
CS&AIを使った授業内容については、レゴ エデュケーション公式Webサイトにある「教員向けリソース」で公開されています。
授業内容を閲覧するにはLEGOアカウントが必要です。LEGOアカウントの登録は無料です。
CS&AIのデバイスは「カラーセンサー」「コントローラー」「シングルモーター」「ダブルモーター」の4種類があります。通信規格はBluetoothを採用しています(Bluetooth Low Energy)。Bluetooth通信はパソコンやタブレットが中心となって接続する方法とデバイスだけで接続する方法の2種類があります。デバイスだけの場合、ICタグを内蔵した「接続カード」を使ってペア設定を行います。3つ以上のデバイスをまとめて接続することもできます。
各デバイスにはボタンが一つ付いています。このボタンを押すと電源がオンになります。長押しすると、電源がオフになります。このボタンはBluetoothの機能とも兼用になっています。電源がオンの状態でボタンを押すと、Bluetoothの接続待機状態に移行します。
USBポートはバッテリーを充電するために使用します。コネクタは「USB Type-C」を採用しています。
「カラーセンサー」と「ダブルモーター」をペアに設定した例です。デバイスのボタンに「接続カード」をかざすと、ボタンに色が付いてペアとして設定されます。設定後、カラーセンサーで色を読み取ると、ダブルモーターが動きます。筆者が確認したところでは次の結果となりました。
・黄色のブロック→前進。
・青色のブロック→後退。
・緑色のブロック→時計方向に旋回。
・赤色のブロック→反時計方向に旋回。
・紫色のブロック→前進、急な後退、前進。
・青緑色のブロック→小刻みに旋回を繰り返す。
・白色のブロック→反応なし。
これらの動作はファームウェアに組み込まれたものなので、変更することはできません。違った動きをさせたい場合には自分でプログラムを作る必要があります。
◆ Coding Canvas(コーディング・キャンバス)
プログラムを動かしたい場合にはパソコンまたはタブレットが必要となります。プログラムの作成や実行には「Coding Canvas」というアプリを使います(Pythonでプログラムを作る方法もありますが、上級者向けなので後で紹介します)。 iPad用の「Coding Canvas」はApp Storeで入手します。それ以外の場合はWebアプリ版の「Coding Canvas」を使います。Webブラウザで次のURLを開きます
プログラムの形式は「アイコンブロック」と「ワードブロック」の2種類があります。2026年5月現在、アイコンブロックはまだ使用することはできません。ここでは「ワードブロック」を使います。
画面の左下にあるアイコンを選択して、「すべてのブロック」を選択すると、使えるブロックの種類を増やすことができます。最初に設定をしておきましょう。
◆ 4種類のデバイス
◆ ペンロボット
ダブルモーターの活用例として、ペンで図を描くロボットを作ってみました。ペンプロッタの一種ですが、これを「ペンロボット」と名付けました。モーターの回転軸とペンがリンク機構でつながっています。2つのモーターの角度を偏らせることで、ペンを左右に動かすことができます。
回転軸の絶対角度が「0度」になると、ペン~モーター間の距離が最大になるように調整しておきます。 そして、絶対角度を「45度」にすると、ペン~モーター間の距離が最大値の半分になります。
「~モーターを~度まで動かす」ブロックはモーターを絶対角度で回転させる機能があります。このブロックはモーターの回転が終わるまで次の処理に移行しません。この現象を「ブロッキング」と言います。左右のモーターは同時に動かず、順番に動いてしまいます。
ペンロボットのプログラムの一部です(pen_robot.lecp)。実際のプログラムは3画面ぶんくらいあります。
「get_angle」はペンの座標からモーターの回転軸の角度を算出するマイブロックです。 リンクを直角三角形の集まりとして考えることで角度を計算しています。計算ではatan(アークタンジェント)や平方根を使っています。atanの引数は「Y座標÷X座標」と計算しますが、0で割り算が発生しないように対策しています。
atanの結果が-90度を下回るとPythonのatan2関数の結果と食い違ってしまうという問題があります。そこで、「もし~なら」ブロックを使って値を調整しています。
動作中にブロッキングが起きないようにするため、メッセージ受信のイベントの中でモーターを動かすようにしました。これで、左右のモーターをほぼ同時に動かすことができます。
◆ Pythonでプログラムを作る
続いて、ペンロボットをPythonで動かしてみましょう。Pythonを動かすにはパソコンが必要です。Pythonの開発環境はいろいろありますが、筆者の場合は「Thonny」を使いました。Thonnyをインストールしたら最初に表示設定を日本語に変更しておきましょう。
CS&AI用のライブラリ(legoeducation)はGitHubで公開しています。
Thonnyはパッケージ管理の機能が搭載されているので、pipコマンドは使いません。Thonnyを起動したら、メニューからパッケージ管理を選択して、「legoeducation」で検索してパッケージをインストールします。なお、Pythonのバージョンが古いとインストール中にエラーが出てしまいます。最新版のThonnyを使用しましょう。
ペンロボットのPython版プログラムの一部です(pen_robot.py)。実際のプログラムは68行もあります。
「Coding Canvas」とは違い、Bluetooth通信をするには接続カードを読み取っておく必要があります。プログラムの7~8行目にある変数の値を使用している「接続カード」に合わせて書き換えます。変数「card_serial」には接続カードの番号を格納します。変数「card_color」は接続カードの色を格納します。色の指定には次の変数を使います。
le.LEGO_COLOR_GREEN
le.LEGO_COLOR_BLUE
le.LEGO_COLOR_RED
le.LEGO_COLOR_ORANGE
le.LEGO_COLOR_YELLOW
le.LEGO_COLOR_AZURE
le.LEGO_COLOR_PURPLE
le.LEGO_COLOR_MAGENTA
プログラムの準備ができたら、ダブルモーターの電源を入れて、「接続カード」を読み取ります。次にボタンを再度押して、Bluetoothの接続待機状態に移行してから、パソコン側でプログラムを実行します(Thonnyの場合はキーボードのF5キーを押す)。
ペンロボットの動く速度はワードブロック版と同じはずなのですが、Python版のほうが素早くペンが動いています。処理の負担が減って動作が軽くなったものと思われます。
Pythonにはライブラリが豊富に存在しますので、それらを活用できれば、高度で複雑なロボットを作ることができるのではないでしょうか。
以上でCS&AIの簡単な紹介を終わります。SPIKEシリーズから6年が経過して、新しく登場したシリーズなので、技術的に進化した部分と切り捨てられた部分があります。非常に興味深いと思いながら、楽しむことができました。
プログラムを実行中の様子
当ブログの内容は、弊社製品の活用に関する参考情報として提供しております。
記載されている情報は、正確性や動作を保証するものではありません。皆さまの創意工夫やアイデアの一助となれば幸いです。













