ロボット@徳島

徳島からロボットのアプリ開発情報をメインに発信するブログ

ロボット Sota(ソータ) 受付アプリ作成1

・はじめに

現在のところ徳島でロボットを見るのは、Softbankショップ、あすたむらんど(子ども科学館)くらいで、一般的な店舗では見る機会はなさそうです。
ソータは小柄で比較的安価なため、お店の受付で簡単な対応をしたり、商品紹介をしたりすると、おもしろいかなと思っています。

そこでSotaを受付ロボットとして活躍させたく、いろいろと機能を試しながらソフト作製をしました。

・動作イメージ

  1. 見つけるまで人の顔を探す<顔追従>
  2. 人の顔を見つけると、挨拶する<発話>
  3. 相手の名前を聞き取る<名前の取得>
  4. (聞いた名前)さんと言う<音声合成

ソータの動きを仮想ロボットビューワで確認している画像

・アプリ作成

ロボットを動作させるソフト(アプリ)を作成するためには、VstoneMagic を使います。詳しくは(Sota アプリ開発環境 VstoneMagic)もご覧ください。
今回は以下の<ブロック>等を用いてソフト作成することで、イメージしていた動作が実現できました。

<顔追従>
ソータ君が顔を上下左右に動かし、顔を認識すると見つめます。

<発話>
音声合成して発話する際に、ランダムに各関節が動作するようです。

音声合成
<発話>ボックスの動きなしバージョンです。

<名前の取得>
名前と判断された部分のみを抜き取って変数に入れてくれます。例えば、「私は田中です」と言うと、変数には「田中」だけが入ります。便利!

・現状の問題点

 おぉ楽しい!と色々と試していたところ、(聞いた名前)を音声合成で発話する際に、アレ?違う・・それさっき言った言葉やんかー!と思うことが出てきました。
色々とテストしたところ、それまでに音声合成したファイルが保存されているようで、同じ文字数の場合には、保存ファイルを使用してしまうようです。
例えば、「田中さん」を音声合成して、その後「吉田さん」を音声合成で発話させても「田中さん」と言ってしまいます。

Vstone Magicから生成されたJavaのコードを確認してみると、

 String file = TextToSpeechSota.getTTSFile((String)speechRecogResult); 

の部分で、speechRecogResultは「吉田さん」となっていたので、getTTSFile()に問題ありなのかな?と思います。

どなたかよい解決方法をご存知であれば教えてくださいー。
次のアップデートで修正して頂けることを期待しております。

(追記)
2016年02月22日現在、Sotaが1.2.3にアップデートされ、問題解消したように感じています。

・やってみた感想

簡単にイメージした動作を実現でき、ロボットのアプリ開発ができて、楽しいの一言です!かわいい動きやデザインはさすがヴイストンさんだなと感じます。
ただ、まだSotaがデベロッパー版ということもあり、色々と問題点もあるようです。アップデート等を期待しながら、アプリ作成をやっていきたいと思います。

ソータ君が受付ロボットとして徳島でも活躍できる日が来ると良いなー。
次回記事(Sota 受付アプリ作成2)では、もう少し成長させていきます。