1. Virtual TJBot
Virtual TJBotは、 ブラウザを使ったNode-REDのフローエディタ上で動作する仮想のTJBotです。
ベースとなっているTJBotは、IBMのWatsonを学習するために開発したレーザーカットした段ボールで作るAIロボットキットです。
TJBotは、APIを使って他のデバイスと情報収集、体内のカメラやマイク使って情報収集(音声や画像)し、
その情報をIBM Cloud の Watson を使って、音声を文字に、文字を音声、画像認識、会話 することができます。TJBotは前述の機能がパッケージされているので、AI, IoTの世界を気軽に体感できます。
昨今、新型コロナ感染症の影響で、ハンズオンワークショップや学校での授業など、TJBotを使って対面で行うことが難しいため、利用者のブラウザを使って操作できるVirtual TJBotを使ったAIの学習に注目しています。そこで、今回は導入方法について、紹介します。この投稿がオンラインイベントのアイディアの1つとなれば嬉しく思います。
2. Virtual TJBot Starter Application
Virtual TJBot Starter Application は ボタン1つで、IBM Cloud 上の Virtual TJBotに必要なサービスを自動設定で行う方法です。このアプリケーションはコミュニティベースでメンテナンスされており、日本では @ssakaigawa さんが中心に活動されています。いつもメンテナンスありがとうございます。
Virtual TJBot Starter Application を利用することで以下のIBM Cloud のリソースがIBM Cloudのライトプランの範囲内でインストールされます。
- Cloud Foundry アプリケーション「Node.jsサービスを利用したNode-REDのプラットフォーム」
- Cloud Foundry サービス「Node-Red Shared Cloudant」(データベース)
- Cloudant (データベース)
- Continuous Delivery (プログラムを自動でインストールするためのサービス)
- Watson Assistant(コンピュータと会話するための開発サービス)
- Language Translator(翻訳)
- Speech to Text(音声認識
- Text to Speech(音声発音)
- Visual Recognition(画像認識)
3. Virtual TJBot Starter Application を使うための前提条件
Virtual TJBot Starter Applicationを利用するためには「 IBM Cloudのアカウント 」、「 インターネットに接続できるPC 」の2つが必要です。
IBM Cloudのアカウントは、クレジットカードの登録が不要なライトアカウントで利用できます。ライトアカウントの詳細は、次のURLで確認してください。 https://www.ibm.com/jp-ja/cloud/lite-account
今回、私はクレジット登録しないライトアカウントを作成して、導入を試しました。
インストールされたIBM Cloud のリソースは、IBM Cloudのダッシュボードのリソースの要約で「すべて表示」で一覧表示されます。今回は、IBM Cloudのライトアカウントが前提でかつ、Virtual TJBotの導入を簡単にするために、Virtual TJBotに必要なリソースが自動導入されたので、各リソースの課金プランは、確認してくださいね。
4. 設定方法
設定は大きく分かれて、以下の2つあります。
- IBM Cloud へ Virtual TJBot Starter Applicationをデプロイ
- Node-Red instannce on IBM Cloud の初期設定
それでは、順に設定を始めましょう。
IBM Cloud へ Virtual TJBot Starter Applicationのデプロイ
-
Virtual TJBot Starter Applicationのページにアクセスし、「 Deploy to IBM Cloud 」ボタンをクリックする。
Virtual TJBot Starter Application のURL: https://github.com/tjbotfan/virtual-tjbot-starter
-
IBM Cloud にデプロイする画面が表示されます。この段階でIBM Cloud にログインしていない場合はログインします。
-
リージョンの選択(任意の場所)をし、設定はデフォルトのままで「作成ボタン」をクリックします。
- 今回はダラスを選択しました。
-
IBM Cloud API キー で「値は必須です。」とエラー出力がでます。キーを作成するために「新規」ボタンをクリックします。
-
IBM Cloud API キーが作られ、「作成」ボタンを実行します。
-
IBM Cloud にデプロイするための「 ツールチェーン 」が始まります。 「Delivery Pipline」をクリックして終了するまで待ちます。
-
Delivery Pipelineの画面が表示されます。「 Build 」、「 Deploy 」 共に "ステージは成功" とステータスが表示されたら、IBM Cloud にデプロイは完了です。 赤枠の「コンソールの表示」をクリックして次へ進みましょう。
-
リソースリストに virtual-tjbot-starter-xxx が表示されます。 virtual-tjbot-starter-xxx は、Node-Red instannce on IBM Cloud のインスタンス名です。「 Visit App URL 」をクリックして、Node-Red instannce on IBM Cloud の初期設定に進みましょう。
Node-Red instannce on IBM Cloud の初期設定
-
Node-Red instannce on IBM Cloudのウィザードが始まります。「Next」ボタンを押して次へ進みます。
-
Node-REDのフローエディタにアクセスする際に必要な「 Username 」と「 Password 」を入力して、Nextをクリックします。(ここの 「 Username 」と「 Password 」を忘れると、あとでログインできなくなるのでメモなどしてください。)
-
Node-Redが起動すると”((L|o_o| < Hello, I'm Virtual TJBot”と表示されます。ついにきましたね!
5. Virtual TJBotの操作
-
”((L|o_o| < Hello, I'm Virtual TJBot” 画面の 「 Go to your Node-Red flow editor 」 をクリックします。
-
Virtual TJBotを表示させるために、画面右上の「▼」をクリック、そして表示されたメニューの中から「Virtual TJBot」をクリックします。
-
Virtual TJBotの腕を振ってみましょう。 「 arm 」タブをクリックします。 そしてフローの中から「 up 」、「 middle 」、 「 down 」 をクリックします。するとVirtual TJBotが手を振ります。
-
次に Virtual TJBotに話をさせましょう。 「 speaker 」タブをクリックします。 greetingノードの赤丸の部分をクリックします。 すると スピーカーから「こんにちは、僕の名前はTJボットです!」 と 聞こえてきます。
Virtual TJBotに話させる内容を変えたい場合は、「create sentence」をダブルクリック、templateノードを編集で、文言を変更して、「完了」ボタンをクリック、そして「デプロイ」ボタンで反映します。 そして、前の手順で、Virtual TJBotに話をさせてください。
6. 最後に
これで、Virtual TJBotが使えるようになりました。今回紹介しなかった翻訳(translation)、画像認識など初期で様々なフローが用意されていますのでお楽しみください。
また、TJBotFANグループ: https://tjbotfan.tokyo ページ(FaceBook / Twitterもこちらから)ではコミュティーのみなさんと情報交換をしていますので、ご参加ください!