案内ロボットのコンテンツの考察

LINEで送る
Pocket

案内ロボットのコンテンツの考察

上のアイキャッチ画像は、四万温泉の「くらっぽ」キャラクターのポシェットです。
このポシェットを肩にかけて、温泉ガイドをしてもらいます。
ポシェット内に温泉ガイドロボットが入っています。
このように、「癒し」のある温泉ガイドロボットです。

ロボットでの案内(ガイド)のニーズが増えている。

案内コンテンツの作成について考察する。

案内コンテンツは、季節、日時などの時間的条件で内容を変えたいニーズがある。
また、案内コンテンツの内容によって、次の案内コンテンツを利用者判断で取捨選択したい場合もある。
このようなニーズに対応する案内コンテンツの構成と制御方法を示す。

1. 時間的条件:

コンテンツの内容を季節、月などの時間的条件で変えるように、コンテンツをデータベースで管理する。

(1)季節(春、夏、秋、冬)
(2)月(1月、2月、~12月)
(3)月の旬(上旬、中旬、下旬)
(4)日(1日、2日,3日、~31日)
(5)午前・午後(午前、午後、夜)
(6)時刻(0時0分0秒、1時、2時、~23時59分59秒)

 

2. 利用者判断条件:

利用者の判断でコンテンツのガイド方法を制御する。

(1)今の案内を最初から聞きたい
(2)今のフレーズをもう一度聞きたい
(3)次のフレーズは聞きたくない
(4)案内を終了したい
(5)A、B、Cの中で、Aに関心があるのでAを聞きたい(複数の選択肢から選択)

 

3. 案内音声の選択:

案内音声を利用者が選択できる。

(1)女性音声
(2)男性音声
(3)人間の音声
(4)ロボットの音声

 

4. 複数ロボットでの案内:

複数のロボット(男性の声のロボット、女性の声のロボットなど)で案内を行える。

(1)各フレーズをどのロボットが発話するかを制御
(2)複数のロボットが同時に発話する

 

5. 発話の喜怒哀楽:

コンテンツを喜怒哀楽の声表現で発話する。

(1)各フレーズの発話の喜怒哀楽制御

 

6. 案内コンテンツの構成

コンテンツの句読点(。)単位をフレーズとして扱う。

(1)フレーズ:句読点(。)単位を1フレーズと定義する。

 

テンキー案内ロボットのプロトタイプ
案内ターゲット毎に振られた番号をテンキー入力することで、案内を行う。
音声出力は、イヤホン、Bluetoothスピーカーを選択できる。

テンキー案内ロボットの構成:

(1)制御部(Raspberry Pi)
(2)案内指示(無線テンキー)
(3)音声出力(イヤホン、スピーカー)
(4)開発プログラミング言語:python
(5)制御方式:Socket通信
(6)音声合成:各種音声合成ソフト採用
(7)ログ情報収集(利用日時など)

群馬プログラミングカレッジでは、プログラミングやAIロボット開発に興味のある方を募集しております。
共同開発したり、先端AI技術を利用したシステム開発などを行います。

また、子どもプログラミング、プログラミング教育などに関心のある方のお問合せをお待ちしております。

群馬プログラミングカレッジでは、四万温泉協会と複数ロボット案内システムや温泉ガイドロボットなどの共同開発に参加しております。

 

LINEで送る
Pocket

複数ロボット会話システムとTkinter連携

LINEで送る
Pocket

複数ロボット会話システムとTkinter連携

複数ロボット会話システムとTkinterによるGUIシステムを連携したロボット案内システムを開発した。

PythonのGUI(Graphical User Interface:グラフィカル・ユーザ・インタフェース)ライブラリの一つであるTkinterで案内画像や案内文をディスプレイに表示させて、複数のロボットが案内を行うシステムです。

TkinterはPythonの標準ライブラリに採用されているGUIライブラリです。
クロスプラットフォームでGUIアプリを作成できる点は他のライブラリと同様です。

Python/Tkinter は、イベント駆動方式です。
GUI アプリケーションの場合、ユーザーからの入力やシステムの状態変化(タイマーなど)など、ある出来事をきっかけにプログラムが実行されます。
この出来事を イベント(event) といい、イベントをきっかけにしてプログラムが起動されることを イベントドリブン(eventdriven:イベント駆動) といいます。

 

複数ロボット会話システム
複数ロボット会話システムとTkinter

後ろのディスプレイに案内画像と案内文を表示させます。
ロボットは3体で、左右のロボット(ぬいぐるみ)が交互に案内を音声でします。

また、3体のロボットは、首を振ったり手を動かしながら案内をします。

複数ロボット会話システムとTkinterによるGUIシステムは、インターネットに接続しており、各々の動作はWebサービスAPIで同期をとっています。

Tkinterは、起動して画面が表示されるまで、5~6秒程の遅延があります。
Tkinterが完全に立ち上がって画面が表示されるのを待って、ロボットは、案内を開始します。
Tkinterシステムが完全に立ち上がると、サーバーに立ち上がったことを知らせます。
ロボットは、WebサービスAPIで、立ち上がりを監視していて、立ち上がりを確認してから案内を開始します。

Tkinterの after() メソッドについて

今回は、TkinterによるGUIシステムですが、マウスによるクリック入力がなくても画像やテキストを更新さないといけなので、プログラム自身でなんらかのきっかけを作ってやる必要があります。
このような場合、役に立つメソッドがTkinterの after() です。
時間によるイベント駆動です。

root.after(msec, command)
指定した時間経過後 command を実行 (固有番号 id を返す)

このように、after() には単純な時間待ちを行うほかに、一定時間後に指定した command を起動するタイマーの働きも持っています。
たとえば、一定間隔で実行する関数を talk() とします。
この場合、talk() 関数の最後で after()メソッド を使って自分自身の起動を設定します。

具体的には次のようにプログラムします。

 

案内内容は、四万温泉の摩耶姫伝説の紙芝居です。

紙芝居の画像と紙芝居の文言をディスプレイに表示させて、下のロボットたちが交互に紙芝居の文言を発声します。

このシステムは、四万温泉観光協会で稼働しています。

複数ロボット会話システムとTkinterによるGUIシステム

複数ロボット会話システムとTkinterによるGUIシステム

複数ロボット会話システムとTkinterによるGUIシステム

群馬プログラミングカレッジでは、子どもから成人を対象にしたプログラミング教室です。

現在、開発しているシステムです。
・複数ロボット自然会話システム
・案内ロボット
・自然会話ロボット
・教育ロボット
・IOTシステム

開発言語は、python、PHPなどです。
ロボットは、Raspberry Pi などのマイクロコンピュータを使用しています。

子どもたちは、Scratchビジュアルプログラミング言語から学び、上級生は並行してpythonプログラミング言語を学びます。

Scratchプログラミング、pythonプログラミング、PHPプログラミング、IOTシステム開発、AIロボット開発に興味がある方は、ご連絡ください。

 

LINEで送る
Pocket