柿ピー分別器
AI技術の一つである「機械学習」を使ってる拡張機能「ML2scratch」とサーボモーターを使い、柿ピーを画像認識で「柿」と「ピーナッツ」に分ける装置を作ります。※本作品はiPadでは正常に動作しない可能性があります
用意する物
- タコラッチ・ミニ 1個
- パソコン 1台
- サーボモーター(TFW-AD-SB) 1個
- 5mmスチレンボード A4サイズ程度
- グルーガン(もしくは接着剤)
- 釘30mm 1本
- 柿の種
活動
準備
■分別台の制作と配線
- 型紙を印刷します。この時、拡大や縮小はせずに「実際のサイズ」で印刷してください。
- 型紙を5mmのスチレンボードに貼り付けて、カッターで裁断します。
- 裁断した部品は、グルーガン(なければ接着剤)で組み立てます。
- サーボモーターをタコラッチ・ミニのGrove端子 「デジタルA」に接続します。
■アプリを開きプログラムを見る
- タコラッチ・ミニを使用するタブレットやPCに接続する。
- アプリ起動
- 以下のようなプログラムがあらかじめ作ってあります。
AIに画像を学習させる(機械学習)
- ステージにカメラの映像が表示されます。複数のカメラがある場合は、カメラセレクターのブロックで、分別台を写しやすいカメラに切り替えて、緑の旗をクリックします。
- カメラに分別台が映るように位置を調整する。
- 判別の精度を高めるために、以下の2点について注意してください。
- 人や動くものが映り込まないよう設置。
- カメラと分別台はこの全ての活動が終わるまでできるだけ動かさない。
- 判別の精度を高めるために、以下の2点について注意してください。
- 機械学習の方針としては、以下の方針で学習させていきます。
- ラベル1:分別台に何も乗ってない状態
- ラベル2:柿
- ラベル3:ピーナッツ
- まず、分別台に何も乗っていない状態でをクリックします。
- 「最初の学習にはしばらく時間がかかるので、何度もクリックしないで下さい。」という表示が出ます。「OK」をクリックします。
- 分別台を少し動かしたり、分別台を斜めにしたりと、様々な状態の分別台映像をラベル1に学習(「ラベル1を学習する」をクリック)させます。
- 次に、分別台に柿を置きをクリックします。
- 様々な形の柿を置いてラベル2に学習(「ラベル2を学習する」をクリック)させます。
- 最後に、分別台にピーナッツを置きをクリックします。
- 柿同様、様々な形のピーナッツを置いてラベル3に学習(「ラベル3を学習する」をクリック)させます。
機械学習の結果を確認する
- ステージ左上に「ML2Scratch:ラベル 1」と表示されています。この値が、柿を置いた状態では2。ピーナッツを置いた状態では3になればOKです。
- もし、うまく識別できない場合は、いずれかの方法を行ってください。
- 学習量が少ないと誤検出をします。追加で、誤検出するラベルの学習操作を繰り返してください。
- それでもうまくいかない場合は、「ラベルの全ての学習をリセット」をクリックし、最初の「ラベル1を学習する」からやりなおしてください。
タコラッチ・ミニと連携させる
- 機械学習が終わったらラベル1(台に何も乗っていない状態)でアプリのコードパレット下部のプログラムを組み立てます。(初期状態では、サーボモーターが動かないようにブロックを離してあります。)
- ラベル1を受け取った時の分別台がフラットになるよう角度を調整します。
- フラットになった角度をベースに、+40度と-40度になるようプログラムを作ります。サンプルでは8度でフラットだったため、ラベル2で+48度。ラベル3で-48度にしています。ポイントとしては、サーボを動かす前に「1秒待つ」を入れたほうが、柿ピーを置き終わる前に動いてしまう事故を防止できます。
使い方
- 台の上に柿かピーナッツをランダムに1つずつ置く。
- 正しく分別できていれば成功!
チャレンジ・応用
- 柿ピー以外の物の分別(100円玉と50円玉、曲がった釘と真っ直ぐな釘、缶とペットボトル、etc)にチャレンジしてみましょう。
- ラベルの学習をリセットすれば、また1から機械学習をさせることができます。