ロボットを動かすプログラミングのツールには、レゴの公式アプリを使いません。当教室では「Pybricks(パイブリックス)」を採用しています。「ブロックコーディング」か「Python(パイソン)」で、プログラミングできます。

  • Pybricks という名前は「Python(Py)で LEGO ブロック(Bricks)を動かす」という意味の造語です。

このツールは、LEGO のロボットを本格的な産業用ロボットに近い性能に変えてくれます。「本格的なロボットなんて、子供には早いのでは?」と思われるかもしれませんが、実は逆なんです。本格的だからこそ、反応が速くて、思い通りに動きます。「動かない…なんで?」というストレスを、ブラックボックスの高度な制御でゼロにして、純粋な試行錯誤を楽しんでもらう事が出来ます。

命令ブロックの移動や画面の拡大縮小、ブロックのコピペなどの基本操作も簡単で、スマホやタブレットの操作になれているお子様でしたら、すぐにプログラミングができます。

以下に、Pybricks と LEGO公式アプリの違いをまとめています。

  • ハブのクロック周波数は100MHzですが、下表の処理速度にはロボット制御における実効ループ速度を記載しています。
  • Pybricks のブロックコーディングでは、PC上で Python に翻訳してロボットにダウンロードするため、ロボット自体の性能は Python と同じです。
  • Hz(ヘルツ)は1秒間の処理回数です。

項目Pybricks
(当教室)
LEGO公式アプリ
(一般的な教室)
処理速度高速
〜1000Hz
低速
〜100Hz
アプリ内表記日本語 & 英語切替
日本語化は当教室独自
日本語 & 英語切替
ブロックから
Pythonへ翻訳
ボタンを
クリックするだけ
不可
起動時間速い
< 5秒
遅い
> 30秒
Bluetooth安定やや不安定
ロボット間通信ハブ同士で
簡単通信
基本不可
コントローラーXbox controller に
簡単接続
基本不可

Pybricksは英語表記であるため、講師が独自にブロックコーディングの「日本語化」を行っています。お子様にも分かりやすいよう直訳ではなく、やさしい表現を選んでいます。
下記に英語と日本語の比較画面を示します。画像はクリック(タッチ)で拡大されます。

  • 条件分岐の流れを分かりやすい言葉に
    • ifもし
    • else ifでももし
    • elseほかは
  • 不要な「前置詞」はカット
    日本語と英語は語順が違います。また、Pybricksのブロック内のパラメーター(数字を入力するところ)や、ドロップダウンリストの位置は固定です。翻訳は単語のみが置き換えになりますので、前置詞を翻訳すると不自然な日本語になってしまいます。そこで「at」や「from」といった「なくても分かる」前置詞は削除しました。
  • 必要な「前置詞」の時間の流れは「」に
    言葉の後ろに矢印をつけることで、「条件が満たされるまで」という時間の流れを視覚化しました。
    • until sensor == REDまで  センサー == 赤
    • while sensor == REDあいだ  センサー == 赤
  • 等号・不等号を分かりやすく
    つまづきやすい等号・不等号に説明をつけています。「どっちが大きいんだっけ?」と迷うことがなくなります。

これにより、お子様たちは高機能なPybricksを分かりやすい日本語で学べます。さらに「英語表記への切り替えもボタン一つ」で出来るため、「英語でもやってみたい!」そんな意欲が出てきたら、すぐに英語表記に切り替えられます。まずは日本語で基本を理解し、慣れたら英語で挑戦する。そんなハイブリッドな学びも可能です。

日本語化された画面には、子供たちが直感的に理解し、操作に迷わないための「仕掛け」を用意しています。

まず、お子様が「数字が入らない!」と焦ってしまわないよう、入力状態を色で優しく知らせる機能を追加しました。プログラミングの数値(整数や小数)入力などで操作が受け付けられない場合、メニューパネルが優しく点滅します。

  • 全角・半角アラート(赤)
    入力モードが「全角」になっていると赤く点滅。
  • NumLockアラート(青)
    数字入力を行う「テンキー」が使えない「NumLock(ナムロック)オフ」の状態だと青く点滅。

教室のキーボードには、対応するキーに同じ色のシール(全角キーに赤、NumLockキーに青)を貼っています。「赤く光ったら赤のシールを押そう」と、画面と手元の色合わせで、お子様ご自身で直感的に対処できます。アラートの優先順位は「赤 > 青」です。

全角アラート
NumLockアラート

さらに、将来的な Python への移行をスムーズにしつつ、英語にも親しめるよう、項目の表示を日本語と英語で定期的に切り替える「フラッシュ学習」の設定も可能です。「日本語で機能の意味を理解し、その後に本来の英語表記が目に入る」を繰り返すことで、無理なく英語やコードの表記に馴染める仕組みです。切り替えのタイミングは「4秒~20秒」で自由に設定可能です。

ブロックコーディングでは、入口を優しくするために、教室オリジナルの簡単な命令をたくさん用意しています。

ただ、お子様には簡単でも、ブラックボックスの中では精確に動くよう高度な制御を行っています。特に移動に関する命令の裏では「ジャイロセンサーでロボットが精確に動く」ように制御されています。

  • 通常の命令を使ってロボットを動かすと、プログラムは正しくても、ロボットがノイズにより思い通りに動かないことがあり、お子様が試行錯誤をやめてしまうことがあります。そうならないよう、初心者は精確に動く簡単な命令を使っています。

また、すべてのブロック名に「番号」と「絵文字」がついていて、お子様が直感的にブロックを見つけられるようにしています。授業ではロボット組み立て後に基本命令の確認を行いますが、その際は「2番のターンを確認しよう!」のように伝え、合わせて絵文字の意味も確認しています。こうすることでお一人でミッションチャレンジする際も、番号や絵文字で直感的にプログラミング出来るようになります。

それでは「3つの移動命令」をご紹介します。

  • ストレートでまっすぐに進みます。絵文字の±は、ロボットがどちらの向きに動くかを直感的に示しています。第1パラメーターの「mm」に、絵文字と同じ符号で進みたい距離を入力します。
    • 正の値(+):前進
    • 負の値(−):後退
  • 超信地旋回です。2つのタイヤを同じスピードで反対に回し、その場でターンをします。絵文字の±は、ロボットがどちらの向きにターンするかを直感的に示しています。第1パラメーターの「°」に、絵文字と同じ符号でターンしたい角度を入力します。
    • 正の値(+):右回転
    • 負の値(−):左回転
  • 信地旋回です。片方のタイヤだけでターンをするコンパスのような動きです。絵文字の±は、ロボットがどちらの向きにターンするかを直感的に示しています。第1パラメーターの「°」に、絵文字と同じ符号でターンしたい角度を入力します。第2パラメーターはタイヤをどちらに回すか入力します。
    • 正の値(+):右回転、前進
    • 負の値(−):左回転、後退

この3つ以外にも、ブラックボックスの簡単命令には絵文字をつけています。

ブロック名絵文字
パワーターン↪️↩️
ステアリング
(ハンドル)
↩️🚘↪️
並進移動
(全方向移動)
歩く🚶🏿🦕🦖🐊
🐢🐕🐈‍⬛🐘🐎
🐓🕷🦂🐜
アームや
クレーンなど
🦾 🏗️ 🏋🏿
ライントレース〰〰
赤まで
ライントレース
〰🟥
黒まで進む▶️⬛⛔️
赤まで進む▶️🟥⛔️
近づくまで
前に進む
👁️🧱⬅️🚗
はなれるまで
後ろに進む
👁️🧱🚗➡️
ぶつかるまで
前に進む
🧱💥🚗⬅️
ぶつかるまで
後ろに進む
➡️🚗💥🧱
急ブレーキ🛑🚗‼️
リセットする➡️0️⃣
ジャイロを使う🧭
モーターを回す⚙️
タイヤを回す🛞
タイムを表示⏱️
ライトをつける💡
数字を表示7️⃣
コントローラー🎮
ボタンが押される
までまつ
🔵👆🏾

小学6年生から、AI開発や実務の現場で標準的に使われる言語「Python」での記述へ挑戦します。Pybricksは動作が非常に高速で安定しているため、高度な制御プログラムでもストレスなく動かすことができ、本物の「組み込み開発※1」に近い経験が得られます。Pybricksではブロックコーディングの画面のボタンを押すだけで、ブロックが「Python」に変換されて表示※2されるので、まずはブロックコーディングとPythonを比較しながら学んでいきます。

  1. 家電や自動車などの機器に搭載される専用のソフトウェアの設計・開発。
  2. この機能はレゴの公式アプリにはありません。

この「一発変換」には、次のメリットがあります。

  • 自分で文法チェックができる
    ずっとくりかえすって、Pythonだとwhile True:って書くんだ!」
    ブロックでプログラムを組み立てて、Pythonのコードの書き方を知ることができます。この「文法チェック」をくり返すことで、お子様たちは自然とPythonの文法を覚えていきます。
  • 無理なく移行できる
    「全部書くのは難しいけど、コピペして改造しながらだったらできるかも?」そんな挑戦も可能です。ブロックを卒業し、本格的なコーディングへ進むための「入口は優しく、到達点は高く」がここにあります。
ブロック から Python へ

Pythonに慣れてきたら、ブロックコーディングを介さずに、直接Pythonから始めます。ここでも、はじめは予め用意されたブラックボックスの定義命令を使って学んでいきます。学びが進むとその定義命令の中を自分で工夫したり、一から新しい定義命令を作って、より良い制御ができるよう試行錯誤していきます。

ブロックコーディングを卒業し、ロボット制御を通じて Python という「文字の世界」へ踏み出す。これは単なるプログラミングスキルの習得だけでなく、お子様の将来の選択肢を大きく広げるための重要なステップとなります。

  • 世界標準の「本物」に触れる経験
    Python は、YouTube や Instagram、さらには話題の生成 AI(ChatGPTなど)の開発現場でも使われている「世界標準」の言語です。この本物の道具を自らの手で動かす経験は、「自分もテクノロジーを作る側になれる」という大きな自信と、未来を切り拓く最強の武器になります。
  • 「抽象化力」を鍛え、脳の基礎体力をつくる
    視覚的なブロックとは異なり、Python は文字だけで論理を構成します。目に見えない動きを頭の中で組み立てる(抽象化する)作業は、物事を筋道立てて考える「論理的思考力」を飛躍的に高めます。この抽象化する力こそが、大学入試の記述式問題や、複雑な課題を整理して解決するための本当の武器となります。
  • AI を使いこなし、現実を動かす「視点」を養う
    AI が得意なのは「How(どう書くか)」です。人間が担うべきは「What(何を解決したいか)」という目的を定義し、最終的な判断を下すことです。デジタルの仮説をアナログなロボットで検証する「組み込み開発」の経験は、AIの幻影(もっともらしい嘘)に惑わされず、道具を「使いこなす側」に立つために必要な教養となります。