どうも、まさとらん(@0310lan)です!
今回は、Wi-Fiに接続するだけでPCやスマホからIoT開発が可能になるobnizを利用して、AI技術を使ったロボット作りを楽しめるキットをご紹介します。
初心者から上級者まで幅広く楽しめる工夫がされており、クラウド開発環境も無料で利用可能になっているのですぐにでもロボット開発を楽しめます。
IoTやロボットなどにご興味のある方は、ぜひ参考にしてみてください!
【 AI Robot Kit 】
■「AI Robot Kit」を組み立てよう!
それでは、まず最初にAIロボットを組み立てるところから始めていきましょう!
キットの箱はこんな感じのパッケージです。
箱を開けると、組み立てに必要なパーツやobniz本体が入っています。
組み立て作業を始める前に、箱に記載されているQRコードをスマホで読み取りましょう。
すると、説明書代わりとなる詳細なレッスンガイドのWebサイトが表示されます。
このサイトでは「AI Robot Kit」を使ったさまざまな遊び方が公開されています。
また、組み立てに関しては動画で1つずつ丁寧に解説してくれているので誰でも簡単に作業ができるはず!
ロボットの本体は段ボールでできており、以下の3種類だけのシンプルな構成です。
まずは、あらかじめ切り抜かれている箇所を外していきます。
穴に合わせてロボットのタイヤをはめ込みます。
反対側からタイヤを動かすためのモーターを取り付けます。
同じ要領でもう1つのタイヤも組み立てましょう。
そして、3種類の段ボールを1つにまとめることでロボットの本体が完成します!
2つのタイヤだけだとバランスが取れないので、ローラーを取り付けるためのマジックテープを貼ります。
このローラーとタイヤでロボットは自由に動くことができるわけです。
ロボットの裏側はこんな感じになります!
次に、付属の距離センサーを取り付けるために両面テープを2箇所に貼ります。
取り付け箇所はタイヤの後ろ側になります。
最後にobniz本体を取り付けるのですが、それぞれのタイヤをケーブルで接続します。
左側のタイヤは0番・1番に接続します。
同様に右側のタイヤは10番・11番に取り付けて、距離センサーを7(赤)・8(黒)・9(黄)番に接続します。
最終的にロボットの後ろ側はこんな感じになりました。
あとは、obnizの電源を入れるためにモバイルバッテリーなどを使ってMicro USBで接続すれば完成です!
なお、obnizの電源投入方法やWi-Fi接続、オンラインエディタによるプログラミング方法などの基本的な使い方については次の記事で詳しく解説しています。
ぜひ合わせて参考にしてみてください!
■ロボットをリモート制御で動かしてみよう!
obnizは標準でPC・スマホで利用可能なクラウド開発環境が提供されているので、面倒なサーバの準備であったり開発環境の構築といった作業は一切不要なのが特徴です。
そこで、先ほど完成したロボットをまずは簡単な手順で動かしてみましょう!
obnizの電源を入れてWi-Fiに接続し、公式サイトにログインしてから上部メニューにある「ブロックプログラム」を選択します。
するとブロックエディタが起動します。
このエディタでは、Scratch感覚でビジュアルプログラミングをおこなうことが可能で、特にIoT開発を効率よく進められるブロックが豊富にそろっているのが魅力的です。
JavaScriptによるプログラミングも可能となっています。JavaScriptはpaizaラーニングの「JavaScript入門編」で学ぶことができます。そちらも合わせてチェックしてみてください。
今回のロボットで必要な処理の流れとしては以下の通りです!
obnizに接続
↓
Web上にボタンを配置
↓
AI Robot Kitに接続
↓
ボタンに対応した動作を設定
この流れに合わせたブロックをエディタ上に配置するだけで、すぐに動くロボットをプログラミングすることができます。
基本的なブロックの配置としては以下のようになります。
今回の例では「すすめ」という名前のボタンを配置して、そのボタンを押している間はロボットが前進し離すと止まるというプログラムになります。
ちなみに、関数を作ることも可能なのでボタンに合わせた動作の部分だけ切り離して、プログラムの可読性を高めることもできるので便利です。
プログラムができたら画面右上にある「実行」ボタンをクリックします。
すると、実行画面に「すすめ」というボタンが配置されているのが分かります。これをタップするとロボットが前進するというわけです。
もちろん、スマホのブラウザからでも実行できるのでラジコンのような体験がすぐにできます!
(※公式動画はこちら)
複数のボタンを配置することも可能なので、前進だけでなく右回転・左回転・後退などのボタンを配置すればロボットを自在に動かせます。
ちなみに距離センサーもブロックを配置するだけですぐに活用することができます。
距離を取得できるブロックがあるので、これを条件分岐と組み合わせればよいわけですね。
このようにブラウザ上にUIを構築して、それに対応した動作をプログラミングするだけでロボットを自在にコントロールできるのは非常に魅力的と言えるでしょう。
<参考リンク>
■AIによる顔認識機能を活用してみよう!
ロボットを制御できるようになったところで、今度はAIによる顔認識機能を試してみましょう!
これはスマホのカメラをロボットの「目」にして、人間の顔を認識したら何らかの処理を実行させることができます。
一般的にこのような処理を実現するのは大変なのですが、AIに関連した便利なブロックがいくつか用意されています。たとえば、「カメラを準備する」というブロックを見てみましょう。
たった1つだけのブロックなのですが、これを配置するだけでスマホのカメラを起動させて映像をブラウザ上に表示するところまで実現できます。
さらに、「カメラに顔が写っている」というブロックを条件式に組み込むだけで、スマホのカメラに顔が写り込んだ瞬間に処理を実行させることも可能になります。
上記の例だと、顔が写った瞬間にロボットを前進させて写らなくなったら止まるという処理になります。
こうすることで、ロボットが自分のほうに近寄ってきてくれるのです。
(※公式動画はこちら)
顔の移動量も計測できるので、人間が動いた方向へどこまでも追いかけてくれるロボットも簡単に開発可能です。
JavaScriptによるプログラミングができる方であれば、GoogleのCloud Visionを利用した画像認識やTensorflow.jsを活用したモノの識別なども実現することができるので活用範囲は非常に広いでしょう。
■動画でプログラミングが学べるpaizaラーニング
動画でプログラミングが学べるpaizaラーニングでは、Python、Java、C言語、C#、PHP、Ruby、SQL、JavaScript、HTML/CSSなど、プログラミング初心者でも動画で学べる入門レッスンを公開しています。
「Python入門編」「C#入門編」「ITエンジニアの就活準備編」といった人気講座も完全無料となっておりますので、プログラミングを学びたい方・ITエンジニアを目指したい方はぜひごらんください。
■まとめ
今回はobnizでAIを利用したロボットキットを駆け足でご紹介しました!
誰でも簡単に自分のスマホからロボットを制御できるというのは非常に楽しくて、一般的な電子パーツを組み合わせれば可能性はさらに無限に広がります。
ロボット以外の用途にも活用できるので、まさにアイデアしだいという感じでしょう。
これからIoT開発を学習したい人はもちろん、すでに開発をおこなっている中級者以上の方でも楽しめると思いますのでぜひ試してみてください!
<参考リンク>
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら
そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。
詳しくはこちら