VPLで方向ダイアログを使ってみる(失敗編)

前回の「VPLでHelo,World」に引き続き、今回は方向ダイアログを使ってみました。


方向ダイアログ(DirectionDialog)はコントローラが手元にない場合、コントローラの通知を発行できるブロックのようです。
私はXboxのコントローラを持っていないので、今回はこちらを試してみることにしました。

Direction Dialog

前回同様、『Robotics Developer Studio入門』の4章(4.4方向ダイアログ)を参考にして、ダイアログの左ボタンを押し、その結果をログに出力するアプリケーションを作成します。

  • 今回使用したServices(S)とBasic Activities(BA)
  1. DirectionDialog(S)
  2. Calculate(BA)
  3. Switch(BA)
  4. Data(BA)
  5. Log(S)
  • VPLの起動方法

スタート→すべてのプログラム→Microsoft Robotics Developer Studio(RDS)2008 Express Edition(以下、RDS 2008 Express Edition )→Visual Programing Language 2008 Express

  • VPLの画面構成

まずはVPLの画面構成のおさらいです。
画面左上の赤色で囲った部分が1.Basic Activities、その下の青色で囲った部分が2.Services、中央の黄色で囲った部分が3.Diagramと呼ばれる領域、ツールバーにある三角ボタンが4.startボタン(Run→StartもしくはF5でも同様)です。

  • 【手順概要】VPLを起動後、1、2から必要なパーツを順番に3へドラックアンドドロップ(もしくはダブルクリック)し、変数設定などを行ったのち、ツールバーの4.startボタンを押して実行結果を確認します。
  • 手順1:B.Servicesより『DirectionDialog』をC.Diagram領域へドラックアンドドロップします。

  • 手順2:A.Basic Activitiesより『Calculate』をC.Diagram領域へドラックアンドドロップします。

  • 手順3:『DirectionDialog』と『Calculate』を接続するとConnectionsダイアログが表示されるので、Form欄からButtonPressを選択し、OKボタンを押します。

  • 手順4:『Calculate』のテキストボックスを選択すると表示されるドロップダウンリストからNameを選択します。

  • 手順5:A.Basic Activitiesより『Switch』をC.Diagram領域へドラックアンドドロップします。

  • 手順6:『Calculate』と『Switch』を接続し、『Switch』のテキストボックスを選択すると表示されるドロップダウンリストからButtonDirectionを選択します。

  • 手順7:そのままピリオドを入力するとドロップダウンリストが表示されるので、Leftを選択します。

  • 手順8:以下、同様の要領でA.Basic Activitiesより『Data』をC.Diagram領域へドラックアンドドロップし、『Switch』と『Data』を接続し、『Data』のテキストボックスの下にある▽印からStringを選択し、テキストボックスにLeftと入力します。


  • 手順9:B.Servicesより『Log』をC.Diagram領域へドラックアンドドロップします。

  • 手順10:『Data』と『Log』を接続するとConnectionsダイアログが表示されるので、Form欄からDataValue、To欄からLogInfoを選択し、OKボタンを押します。

  • 手順11:すると、Data Connectionsダイアログが表示されるので、MessageとCategoryの両方のValue欄をvalueに設定し、OKボタンを押します。

  • 手順12:最終的にこのような図になったら、ツールバーのstartボタンを押します。すると、名前をつけて保存するダイアログボックスが表示されるので任意のフォルダに任意のファイル名(拡張子は***.mvpl)を指定し、保存します。今回はDirectionDialogtest.mvplというファイル名で保存をしました。

  • 手順13:Runダイアログボックスが表示され、しばらくするとDSS Direction Dialogが表示されます。

DSS Direction Dialogの下部分の表示が切れてしまっていますが、『Robotics Developer Studio入門』によると、これはRDSが英語版なのに対して、使用OSが日本版である場合に発生する現象のひとつのようです。
早く、日本語版も出て欲しいですね。。。


そして、このDSS Direction Dialogの左ボタンを押すと、Runダイアログボックスの「Service URI:」と書かれている下に、「Left」と表示されれば成功です。


と締めくくる予定だったのですが、左ボタンを押しても、Runダイアログボックスには何も表示されませんでした。。。試しに、他のボタンを押してみたり、手順7でLeft以外の値を指定してみたりもしたのですが、結果は同様でした。


本当は解決してから記事投稿をしたかったのですが、そこまで力及ばず。。。(ρ_-)o
そのまま手をつけなくなってしまわないよう、この段階で一度、まとめてみました。
今、3種類がインストールされているのがいけないのでしょうか。。。


これから、RDS 2008 Express Editionのみインストールしたパソコンで再検証してみようと思います。
その前に、この書籍はRDS 2008(恐らくCTP April)を元に書かれているので、このバージョンでの検証をしてみます。


次回はこの解決編の投稿になるといいな。。。
やや、わくわくしてまいりました。(≧▽≦)


【12/1 追記】
バージョンが混在した状態でも上記の手順6、7においてSwitchのテキストボックス上に入力する値をButtonDirection.Leftではなく、"Left"とDataブロックと同じ文字列をダブルクォーテーション『"』で括って入力することで
うまく動きました。RDS 2008(CTP April)でも同様の結果でした。結果ショットなど詳細は「VPLで方向ダイアログを使ってみる(成功編)」を参照して下さい。