おばけを見ると逃げ出す!人やモノを識別するロボット[ブロックプログラム]
コンテンツ
今回やること
スマートフォンのカメラを使って、物体を認識するロボットを作ります。今回はハロウィンにちなんで、ジャック・オー・ランタン(かぼちゃのおばけ)を見ると逃げだすロボットを作ります。
難易度:★☆☆(かんたん)
用意するもの
- AI Robot Kit
- カメラつきのAndroidスマートフォン(一部ブロックがiPhone未対応なため)
- モバイルバッテリー
組み立て方
筐体
AI Robot Kit レッスンの準備物と組み立てを見ながら筐体を組み立てます。この制作例では距離センサーは使わないので、取り付けなくても構いません。
配線
DCモーターのライブラリを参考に、以下の表や図のようにobniz Boardに配線します。DCモーターを取り付ける向きによってタイヤの回転方向が変わるため、適宜調整してください。
obniz | 部品 |
---|---|
0 | DCモーター1 OUT1 |
1 | DCモーター1 OUT2 |
10 | DCモーター2 OUT1 |
11 | DCモーター2 OUT2 |
プログラム
①人の顔を認識したら近づいて(前へ動いて)「Trick or Treat!」と言い
②ジャック・オー・ランタンを認識したら逃げる(後ろへ動く)
ようにブロックプログラムを作ります。
物体の識別には、Googleの機械学習ライブラリTensorflow.jsを使っています。obnizのブロックプログラムであれば、「バナナ」「レモン」「ボールペン」「フライパン」「ジャックオーランタン」の5種類のブロックを用意しています。発展してJavaScriptを使えば、上記を含めいろいろなモノ・昆虫や犬など1000種類もの物体の識別ができます。
参考
今回のプログラムは、AI Robot Kitのレッスン内にある「バナナを見つけてみよう」を応用して作成します。
※動画内では、人の顔ではなくバナナを認識しています。
完成したプログラム
「”Trick or Treat”と言う」のブロックは、iPhoneに未対応なのでご注意ください。
上記で作成したプログラムを、スマートフォンで開き、実行します。
プログラムを実行するスマートフォンは、ロボットに設置します。obnizに接続すると「obniz.comにカメラの使用を許可しますか?」とダイアログが表示されますので「許可」を押してください。
ブロックを組み合わせて賢いロボットをつくろう
obnizは、ブロックプログラムだけで、
- 人を追いかける
- 好奇心を与える(周囲のものを探す)
- 距離センサーを使用して障害物回避
など、さまざまな動きを実現できます。
ブロックをうまく組み合わせれば、例えばロボット自身が周囲の人を探して「Trick or Treat!」とお菓子を集めてくれるような賢いロボットが作れます。
最新のAIテクノロジー入門
AI Robot Kit
AI Robot Kitを買う(Amazon.co.jp)