- isana.net
ロボホンの SDK で対話シナリオのサンプル
1.ロボット用のマークアップ言語?
ロボホン向けであまり話題になっていないが、面白そうな技術として、ロボット向けのマークアップ言語 HVML (Hyper Voice Markup Language) が使われており、ロボホンとユーザーとの対話シナリオが、グラフィカルにできるとのことでした。

誰も取り上げていなかったので、ロボット向けのマークアップ言語をクローズアップしたチュートリアルを作ってみました。
目標
チュートリアルのサンプルの一つ、「対話シナリオ」を実行する
サンプルの対話シナリオを、Graph Editor で開き、マークアップ言語(HVML)に変換する
2.SDKのダウンロード
何はともあれ、SDKが必要です。
ロボホンSDKは、ロボホン公式ページ の マイページログイン から、ログインし、RoBoHoN SDK ver1.0.0 をダウンロードして下さい。(2016/08/16 現在)
インストール方法は、SDKを解凍すると、たくさんの pdf / zip ファイルが展開されます。 とりあえず必要なファイルは以下の3つです。
0701_SR01MW_SampleCode_V01_00_00.zip
Android Studio で実行可能なサンプル一覧です。 後で、「SampleScenario」を使用しますので、事前にローカルディレクトリにコピーしてください。
0801_SR01MW_Instructions_for_Installing_RoBoHoN_SDK_Libraries_V01_00_00.pdf
インストール方法について書かれています。(Windows向け)
0901_SR01MW_HVML_Authoring_Tool_V01_00_00.zip
HVML オーサリングツールが入っています。 この中の PDF に HVML をグラフィカルに作る方法が書かれています。
次からは画面キャプチャを交えて、ダイジェストに準備の方法を説明します。
3.開発環境の準備
今回、Mac (OS X El Capitan) にて、簡単に開発環境を準備したいと思います。
手順を簡単にするため、事前に HomeBrew + Homebrew Cask を入れています。
HomeBrew
Homebrew Cask
ターミナルを開いて、以下のコマンドを入れて行きます。
Java のインストール (パスワードの入力が求められます)
$ brew cask install java
Android Studio のインストール
$ brew cask install android-studio
4.Android Studio の設定と実行
ターミナル上からはこちらのコマンドで、Android Studio を実行できます。
$ open /Applications/Android Studio.app
すると、以下の画面が表示されます。

Configure から、SDK Manager を選択します。

SDK Platforms の “Android 5.0 (Lollipop)” にチェックを入れ、OKを押し、ウィザードに従い、インストールを進めます。

最後に、「Open an existing Anroid Studio project」で、事前に解凍した SampleScenario を開いてください。
このファイルを開くと以下の様なプロジェクトファイルが起動します。

assets の中に、hvml 拡張子のファイルがありますが、こちらがシナリオファイルとなります。

特にドライバを入れなくても、ロボホンと Micro USB で接続し、Android Studio で再生 (Run App) すると、アプリが起動します。
意外と、ロボホンがスリープしていることが多いので、起動前にロボホン後ろの画面が起動しているか確認してください。
5.Graph Editor のインストールと実行
この HVML ファイルは、Graph Editor で、フローチャートのように作られ、それをマークアップ言語に Python のプログラムでコンパイルして作られるようです。
すべて、以下の PDF に乗っていることですが、簡単に環境を作成してみたいと思います。
0901_SR01MW_HVML_Authoring_Tool_User_Guide_V01_00_00.pdf
ターミナルを開いて、以下のコマンドを入れて行きます。
Graphe Editor yEd のインストール
$ brew cask install yed
ターミナル上からはこちらのコマンドで、yEd を実行できます。
$ open /Applications/yEd.app
残念ながら、こちらのツールで HVML は読み込めません。 0901_SR01MW_HVML_Authoring_Tool_V01_00_00.zip の中の ToolSample01.graphml などがサンプルとして入っているので、こちらを開いてください。

6.Graph Editor のHVML への変換
0901_SR01MW_HVML_Authoring_Tool_V01_00_00.zip の中に、graphml2hvml_Ver100.py という HVML への変換ツールがあります。
実行には、Python 3.5 以上が必要なので、インストールします。 $ brew install python3
実行方法は、同じパスに、.graphml ファイルがあると、対応する .hvml ファイルを生成します。
実行例
$ python graphml2hvml_Ver100.py
**** convert hvml sample.graphml ****
**** load end ****
非常にシンプルなメッセージですが、 変換が完了しました。
中身は XML 形式で、Graph Editor 無しでも編集は簡単そうです。

サンプルのHVMLファイルを差し替えたりすることで、簡単な対話シナリオを組み込んだロボホンアプリを作ることができます。
ロボホン向けのプログラムは、1から作るのは手間がかかるので、サンプルプログラムを書き換えて、慣れることをオススメします。