ついに始動! Robotics Studioでロボット制御:解説! ロボット開発環境Robotics Studio(3)(2/2 ページ)
タッチセンサーに反応して、『痛っ!』と音声出力するプログラムを「Visual Programming Language」で作成する
VPLでサンプル開発(2)
2つの出力ポート
Diagramに配置した[GenericContactSensors]の右端をよく見ると、出力ポートが2つあります。上のポートは「“データ”の出力ポート(Iマーク)」、下のポートは「“通知”の出力ポート(I・マーク)」です。ブロックの出力を「データとして使う」場合と「通知として使う」場合により使用するポートが異なります。
次に、「ouch」という単語(音声出力のための値)が必要なので、[Basic Activities]ツールボックスから、[Data]をDiagramへドラッグ&ドロップします。
[Data]のドロップダウンリストから「String」を選択(初期値は「int」)し、中央のテキストボックスに「ouch」と入力します(初期値は0)(画面7右)。
次に[GenericContactSensors]と[Data]の2つのブロックを接続します。[GenericContactSensors]の右端下のポート(通知のポート)にマウスのカーソルを当て、左クリックして[Data]の左端へドラッグします。
2つが接続されると[Connections]ダイアログが開きます(画面8)。
このダイアログの[From:]リストにある「Update」を選択し、[OK]ボタンをクリックします([To:]は、要素が1つなので選択不要)。
これで2つのブロックが接続されました。
同様に[Services]ツールボックスから[Text to Speech(TTS)]をDiagramへドラッグ&ドロップします。
[Data]ブロックの場合は、データの出力ポート(Iマーク)のみです。[Data]ブロックの出力ポートをマウスでドラッグして、[TexttoSpeechTTS]ブロックと接続します。先ほどと同様に[Connections]ダイアログが開きます(画面10)。
[From:]は選択不要です。[To:]のリストから「SayText」を選択して、[OK]ボタンをクリックします。
続いて、[Data Connections]ダイアログが開きます。
[Value]ドロップダウンリストから「value」を選択して、[OK]ボタンをクリックします。
以上で、サンプルプログラムは完成です。
ロボットを動かす!
それでは、ロボットとPCを接続してサンプルプログラム(サービス)を動かしてみましょう!
NXTの電源をオンにします。
PCのVPLのメニューで[Run]−[Start]をクリックします。ちなみに、ツールバーの緑色の三角マークでも実行可能です(画面13)。
実行すると、PC内に自動的にデフォルトのノードが生成され、VPLのDiagramはサービスとして登録されます。
しばらくすると、ブラウザが開きます(ここでは、IEで実行しています)。
画面14の左上部の赤字の個所を見ると、COM Portが「0」となっています。赤字は、NXTと接続が取れていないことを示しています。
筆者のBluetoothは、COM3に割り当てられたので(連載第2回参照)、この「0」を「3」に書き換えて[Enter]キーを押します。
しばらくすると、PCとNXT間に通信が確立され、赤字から黒字に変わるはずです。
下の画像2を見てください。ブリックの液晶画面に「Microsoft Robotics Studio」と表示されています。これは、“NXTがMSRSを受け入れた”というサインです。
適当なタイミングで、NXTのタッチセンサーを指でプッシュしてみましょう。
いかがでしょうか?PCのスピーカーから「ouch」というロボットの声が聞こえてきましたか?
次回は、MSRSのシミュレータ「Visual Simulation Environment(以下、VSE)」について解説します(画面15)。シミュレーションを現実に近づけるために、物体の運動計算に「物理学の法則」を適用しているVSE。果たして、その実力は? (次回に続く)
Copyright © ITmedia, Inc. All Rights Reserved.