「ものづくり:make」を楽しみながら学ぶ人へ向けた独習サポートサイト。

micro:bit Lab.【マイクロビット】

micro:bit Lab.では、micro:bit【マイクロビット】に関する情報を紹介しています。

micro:bitの動きを学習してプログラミングに活用
17-1

micro:bit CreateAI(加速度センサー編)

2024-11-242024-11-24

AI(Artificial Intelligence/人工知能)の一つである「機械学習モデル」を、micro:bitで手軽に扱えるようにした「micro:bit CreateAI」の使い方を紹介します。micro:bitに搭載されている加速度センサーを使うことで、micro:bitの動きを機械学習モデルで学習して、プログラミングに活用できます。機械学習モデルについては「第17章 micro:bit CreateAI」で解説しています。

1.用意するもの

micro:bitを身体に装着して自由に動き回れるように、加速度センサーで取得された値は、無線通信によってパソコンへ送信されます。パソコンのBluetooth機能の有無によって用意するものが変わります。以下に、3つの構成を紹介します。

Bluetooth機能あり

パソコンにBluetooth機能がある場合はこちらの構成となります。コードレスのため、micro:bitを身体に装着して、自由に動き回れます。

17-1-1-1.Bluetooth機能あり
17-1-1-1.Bluetooth機能あり

Bluetooth機能なし

パソコンにBluetooth機能がない場合はこちらの構成となります。micro:bit間の無線通信を利用してパソコンと接続します。コードレスのため、micro:bitを身体に装着して、自由に動き回れます。

17-1-1-2.Bluetooth機能なし
17-1-1-2.Bluetooth機能なし

とりあえず手軽に試したい場合(Bluetooth機能必須)

ちょっと試してみたい場合はこの構成がおすすめです。Bluetoothを利用した無線接続ですが、電源の供給をUSBケーブルで行います。USBケーブルで接続するため、あまり大きな動きはできません。

17-1-1-3.とりあえず手軽に試したい場合(Bluetooth機能必須)
17-1-1-3.とりあえず手軽に試したい場合(Bluetooth機能必須)

2.micro:bitとmicro:bit CreateAIツールの接続

micro:bit CreateAIにアクセスして「Get started」をクリックします。

17-1-2-1.micro:bit CreateAIツール
17-1-2-1.micro:bit CreateAIツール

「New session」をクリックします。

17-1-2-2.新しいセッション
17-1-2-2.新しいセッション

「Connect」をクリックします。

17-1-2-3.micro:bitの接続開始
17-1-2-3.micro:bitの接続開始

パソコンのBluetooth機能を使う場合は、このまま「Next」をクリックします。

Bluetooth機能がない場合

パソコンにBluetooth機能がない場合は「Connect using micro:bit radio instead」をクリックして、以降画面の指示に従って進めます。

17-1-2-4.用意するもの
17-1-2-4.用意するもの

micro:bitとパソコンをUSBケーブルで接続して「Next」をクリックします。

17-1-2-5.USBケーブルでの接続
17-1-2-5.USBケーブルでの接続

「Next」をクリックします。

17-1-2-6.操作説明(micro:bitの選択)
17-1-2-6.操作説明(micro:bitの選択)

一覧からmicro:bitを選択して「接続」をクリックします。

17-1-2-7.micro:bitの選択
17-1-2-7.micro:bitの選択

micro:bitとmicro:bit CreateAIツールの接続が成功したら、データー収集用のプログラムが自動的にmicro:bitへダウンロードされます。完了するまでしばらく待ちます。

17-1-2-8.データー収集用プログラムのダウンロード
17-1-2-8.データー収集用プログラムのダウンロード

USBケーブルを抜いて、電池ボックスを接続します。電池ボックスにスイッチがある場合はオンにします。「Next」をクリックします。

とりあえず手軽に試したい場合

ちょっと試してみたい場合はUSBケーブルを接続したままにします。電池ボックスは不要です。

17-1-2-9.電池ボックスの接続
17-1-2-9.電池ボックスの接続

micro:bitのLED画面とmicro:bit CreateAIツール上に表示されているパターンが同じであることを確認します。異なる場合はツール上のパターンを操作して同じにします。「Next」をクリックします。

17-1-2-10.LED画面のパターン確認
17-1-2-10.LED画面のパターン確認

「Next」をクリックします。

17-1-2-11.操作説明(micro:bitのペアリング)
17-1-2-11.操作説明(micro:bitのペアリング)

一覧からmicro:bitを選択して「ペア設定」をクリックします。

17-1-2-12.micro:bitのペアリング
17-1-2-12.micro:bitのペアリング

Bluetooth接続が成功すると、micro:bit CreateAIツールに戻ります。

17-1-2-13.micro:bit CreateAIツールの初期画面
17-1-2-13.micro:bit CreateAIツールの初期画面

画面下に表示されている「Live data Graph」エリアには、加速度センサーで取得した値がリアルタイムに表示されます。加速度センサーは、左右(X軸)・前後(Y軸)・上下(Z軸)の三方向にかかる加速度を計測しているので、それぞれの値が表示されています。micro:bitを動かして、グラフがどのように変化するか試してみましょう。例えば、micro:bitのLED画面を上にして上下に振ると、Zの値が大きく変化するようすが観察できます。

17-1-2-14.Live data Graph(リアルタイム表示)
17-1-2-14.Live data Graph(リアルタイム表示)

micro:bitとmicro:bit CreateAIツールの接続が完了しました。続けて、データーの収集を行います。

3.データーの収集

本記事では、micro:bitのLED画面を上にして「静止している状態」「小刻みに揺らした状態」「落とした状態」のそれぞれで得られる加速度センサーの値を収集します。

まず最初に、データーを収集するエリアに名前を付けます。「Name of action」をクリックして「静止している状態」と入力します。

17-1-3-1.名前を付ける
17-1-3-1.名前を付ける

「+ Add action」をクリックすると、エリアが追加されるので「小刻みに揺らした状態」と入力します。もう一つ追加して「落とした状態」と入力します。

17-1-3-2.アクションの追加
17-1-3-2.アクションの追加

3つのエリアができました。それぞれにmicro:bitの動き(加速度センサーの値)を記録します。まず「静止している状態」の右側にある「Record」をクリックします。

17-1-3-3.記録の開始
17-1-3-3.記録の開始

3、2、1、Goとカウントダウンが始まります。

17-1-3-4.カウントダウン
17-1-3-4.カウントダウン

「Recording」と表示され、バーが伸びている間、加速度センサーの値が記録されます。およそ1秒間です。この間にmicro:bitを動かしましょう。

17-1-3-5.記録中
17-1-3-5.記録中

記録された値がグラフで表示されます。タイミングがずれたり期待する値でない場合は×印をクリックして削除します。

17-1-3-6.記録結果
17-1-3-6.記録結果

機械学習モデルの学習には、最低3回分のデーターが必要です。3回分記録すると「At least 3 required」という表示が「3 samples recorded」に変わります。

17-1-3-7.3回分のデーター
17-1-3-7.3回分のデーター

同様にして「小刻みに揺らした状態」「落とした状態」のデーターをそれぞれ3回分収集します。もちろん、3回より多くデーターを収集することもできます。

17-1-3-8.すべてのデーター収集
17-1-3-8.すべてのデーター収集

「Record」の右側にある「︙」をクリックすると「Record 10 samples」「Record for 10 seconds」と表示されます。「Record 10 samples」はそれぞれカウントダウンしながら連続して10回分のデーターを記録することができます。また「Record for 10 seconds」は、最初だけカウントダウンが行われ、その後連続して1秒×10回分のデーターを記録します。

17-1-3-9.その他の記録方法
17-1-3-9.その他の記録方法

それぞれ3回以上データーを記録すると「Train model」が有効になり、クリックできるようになります。

17-1-3-10.データー収集の完了
17-1-3-10.データー収集の完了

以上で、機械学習モデルの学習に必要なデーターの収集が完了しました。

4.機械学習モデルの学習とテスト(推論)

学習

収集したデーターを元に、機械学習モデルの学習を行います。

「Train model」をクリックします。

17-1-4-1.機械学習モデルの学習
17-1-4-1.機械学習モデルの学習

「Start training」をクリックします。

17-1-4-2.学習開始
17-1-4-2.学習開始

学習が完了するまでしばらく待ちます。

17-1-4-3.学習中
17-1-4-3.学習中

テスト(推論)

学習が完了するとテスト(推論)画面になります。この画面では、それぞれの動作(Action)に対する機械学習モデルの確信度(Certainty)が表示されています。確信度には「Recognition point」というパラメーターがあります。確信度がその値以上、かつ最大値のものが一致していると認識されます。初期値は80%です。初期の状態では、すべての確信度が80%未満の場合は「不一致(unknown)」となります。認識の結果は右下に表示されます。

17-1-4-4.機械学習モデルのテスト(推論)画面
17-1-4-4.機械学習モデルのテスト(推論)画面

実際にmicro:bitを動かして確認してみましょう。小刻みに揺らした場合、確信度が95%となっています。

17-1-4-5.小刻みに揺らした場合の確信度(95%)
17-1-4-5.小刻みに揺らした場合の確信度(95%)

落とした場合は91%です。なかなかいい結果が出ていますね。

17-1-4-6.落とした場合の確信度(91%)
17-1-4-6.落とした場合の確信度(91%)

ところが、静止している状態では確信度が78%となり、正しく認識されませんでした。そこで「Recognition point」を60%まで下げました。

17-1-4-7.Recognition pointの調整
17-1-4-7.Recognition pointの調整

このように、micro:bit CreateAIツール上で学習した機械学習モデルをテスト(推論)することができます。期待する結果が得られない場合は、上記のように「Recognition point」を変更したり、データー収集の画面に戻って、データーの再取得などを行います。

5.プログラミング

満足のいく結果が得られた場合は「Edit in MakeCode」をクリックします。

17-1-5-1.MakeCodeの起動
17-1-5-1.MakeCodeの起動

MakeCodeに遷移します。このMakeCodeでは、あらかじめ拡張機能として「Machine Learning」が組み込まれ、ワークスペースにはサンプルコードが書かれています。

17-1-5-2.サンプルコード
17-1-5-2.サンプルコード

サンプルコードは、それぞれの動作を認識したとき(ML start)にアイコンを表示するものです。「不一致(unknown)」も追加しておくといいでしょう。あとは、これまで通りプログラミングするだけです。

この記事を読んだ人は、こんな記事にも興味があります。
スポンサーリンク
TOPへ移動
目次へ移動