四万温泉ガイドロボット

LINEで送る
Pocket

四万温泉ガイドロボット

温泉訪問客に温泉街の旅館、ホテルなどの宿泊施設、お店、観光スポットを散策時に音声ガイドする「四万温泉ガイドロボット」を開発しました。

2018年10月16日上毛新聞に掲載されました。

四万温泉ガイドロボット

 

ロボットは、ラズパイ、バッテリー、テンキー、イヤホン、スピーカーで構成されています。
開発プログラミング言語は、pythonとPHPです。データベースは、MySQLです。

温泉ガイドマップに記載された宿泊施設などに予め付与した「番号」をテンキーで入力するとイヤホン又はスピーカーでその施設のガイドを音声で行います。

ガイド時は、自動で温泉街のイベント情報や観光スポット情報をプッシュ型でガイドします。

イヤホン、スピーカーの切替えは「*+Enter」で行えます。複数人でガイドを受ける場合は、スピーカーに切り替えることで対応できます。

本ガイドロボットの特徴:
(1)廉価版で提供できます。
(2)ガイドをプッシュ型で行うことができ、適宜広告宣伝が可能です。
(3)DB(データベース)でコンテンツやログ情報を管理します。
(4)オンラインでコンテンツを維持管理できます。
(5)テンキーのみでロボット制御可能です。

イヤホン、スピーカーの音量は、「+」、「-」ボタンを押すことで調整できます。

ガイド時に、ガイド内容を繰り返し聞けるリピート機能や当該ガイドを途中で中断する機能などもあります。

ガイドコンテンツは、サーバーのDB(データベース)に格納されており、コンテンツの追加、変更、削除は、オンラインで行うことができます。
四季毎のコンテンツをDBに格納できますので、四季折々のガイドを提供することができます。

また、訪問客がガイドを受けた施設などのログ情報も収集できます。
貸出日時や返却日時のログ情報を収集して、有料貸出の場合の課金計算をログ情報から行うことができます。

今回は、誰でも簡単に操作できる「入力方式」をあえて採用しましたが、マイクロホンで、宿泊施設名や商店名、観光スポット名を言うとクラウド人工知能音声認識で、名称を特定してそのガイドを行うことができるバージョンも開発済みで、今後、ニーズに応じてリリースします。

次期バージョンは、AI画像認識で施設名を特定してガイドを行うバージョンを開発予定です。

群馬プログラミングカレッジでは、AIエンジニア、IoTエンジニアを募集しています。
今後、キーワードは、AI×IoTの時代です。
AI、IoTに興味のある方のご連絡をお待ちしております。

ガイドロボットの導入をご検討中の方もご連絡ください。

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