Posted at

RoBoHoNで 『手旗信号版 嵐が丘』 もどきの実装

More than 1 year has passed since last update.

モバイル型ロボット電話 RoBoHoN で、イギリスBBCのコメディ『空飛ぶモンティ・パイソン』のコントのひとつ

mp.jpg

「手旗信号版 嵐が丘」- The Semaphore Version of Wuthering Heights-

の RoBoHoN 実装を試みました。

img.png

(本家コントでは、発語せずに字幕+手旗信号なところがミソですし、後述しますが、各種仕様制約により ”もどき" となりました…)


環境です

Windows 7 SP1 64bit

Android Studio 2.3.1

RoBoHoN_SDK 1.2.0


ロボホンアプリのアイディア出しについて

以前、RoBoHoNと「触覚」というお題で、RoBoHoNと一緒におおきなかぶを抜く アプリを実装しました。

今回は(新SDKの評価と同時に)RoBoHoNと「視覚」というお題でアプリを考えました。


「視覚」とロボホン

ロボホンが視覚へもっとも訴えかけるのは、それが『動く人型』である、ということです。

ロボホンアプリのアイディア出しをするときに沸き上がる、

 「そのアイディア、スマホ実装で十分では…?」

の問いに克つには、スマホ / タブレット が持っていない『動く本体』『頭と手足』を活用するのがスタートラインかと思いました。

そこで、今回は『動く』『手』を前提とするコミュニケーション『手旗信号』を検討しました。

tebata.jpg


ロボホンのモーションと手旗信号

ロボホンの公開SDKモーションは動きが限定されていて、開発者が自分でモーションを作り込むことはできません。

ロボホン公式ドキュメントのショートモーションリスト1から、手旗信号に流用できそうなモーションを選別しました。

(ショートでないモーションリスト2もありますが、より、シチュエーション特化の記述なのでドキュメントだけでは選別難しく…(逆引きか動画があるとありがたいです))

robogif.gif

結果… 現状、以下の 2文字 しか、表現できなそうだということが判りました。

アルファベット
ロボホン動作
旗位置

D
右手を上げる 
dflg.PNG

U
両手を上に上げる 

uflg.PNG 

D と U で何が表現できるかなと調べると、不発弾を意味する dud という英単語があり、

「不発弾(がここにあるぞ!)」

という緊迫した状況でロボホンに旗を振ってもらうもよし、不発弾転じて、


((口))役立たず[期待外れ]のもの[人](http://ejje.weblio.jp/content/dud)


という意味もあるそうで、なんというオチ……。

 

今回は…英語を発語しながらそれらしく旗を振り回す「もどき」アプリ実装へ、着地することにしました!


実装

ざくざくと下記の事前手順を踏みます。


  • RoBoHoN_SDK_1_2_0 ダウンロード

  • SDKフォルダ直下の README.txt 記載の更新ドキュメントをひととおり読む

  • Android Studio のバージョンを確認(>= 2.3.1)して終了。pluguin フォルダをオリジナルに戻してから、0803_SR01MW_RoBoHoN_Template_V01_02_00 を上書きコピーしてロボホンテンプレート更新

  • 公式ドキュメント 801 の「6.1 テンプレートを利用した新規プロジェクト作成」でロボホン発声まで実行し、テンプレート更新完了を確認

実装します。


tebata.hvml

<?xml version="1.0" ?>

<hvml version="2.0">
<head>
<producer>com.dev.robohon.tebata</producer>
<description>tebata(英語)</description>
<scene value="com.dev.robohon.tebata.scene_common" />
<version value="1.0" />
<accost priority="75" topic_id="t1" word="com.dev.robohon.tebata.tebata" />
</head>
<body>
<topic id="t1" listen="false">
<action index="1">
<behavior id="0x06005a" type="normal"/>
</action>
<action index="2">
<behavior id="0x060001" type="normal"/>
<speech><emotion type="sadness" level="3">oh....</emotion><wait ms="6000"/></speech>
</action>
<action index="3">
<behavior id="0x06000f" type="normal"/>
<speech><emotion type="sadness" level="3">....cathe</emotion></speech>
</action>
<action index="4">
<behavior id="0x060027" type="normal"/>
</action>
<action index="5">
<behavior id="0x06002c" type="normal"/>
</action>
<action index="6">
<behavior id="0x06002d" type="normal"/>
</action>
<action index="7">
<behavior id="0x060001" type="normal"/>
</action>
<action index="8">
<behavior id="0x060057" type="normal"/>
<speech><emotion type="sadness" level="3">....rin</emotion><wait ms="3000"/></speech>
</action>
<action index="9">
<behavior id="0x060023" type="normal"/>
</action>
</topic>
</body>
</hvml>


(おまけ)本家コントの旗信号解析

動画を適宜 スライス して、眺めました。

(※ OpenCVの記述が長くなったので別記事にして投稿しました)


  • テリージョーンズ(ヒースクリフ役)は、顔アップや遠景で紛らわせているかんじで…

  • キャサリン役の方はエモーショナルに旗を振り回しているので、ポジション判別が難しい(はじめの O H 以後がeuij?)!

  • エドガー役、乳母役、老人役の方は旗信号感を表現していました

役柄
文字

3259.jpg
Rのところ 
R.PNG

3762.jpg
S 
S.PNG

3888.jpg
Z 
z.PNG






  1. 公式SDK ドキュメント 603 (HVML2.0 Specification AppendixB (Motion List)) 



  2. 公式SDK ドキュメント 602 (HVML2.0 Specification AppendixA (Motion List))