以下、本開示の実施形態を図面に基づいて説明する。以下に記載する実施形態の構成、ならびに当該構成によってもたらされる作用および効果は、あくまで一例であって、以下の記載内容に制限されるものではない。
図1は、実施形態にかかる声掛けシステムの全体構成を示した例示的かつ模式的な図である。声掛けシステムは、本開示の「情報処理システム」の一例である。
以下に説明するように、実施形態にかかる声掛けシステムは、たとえば、小売りの店舗内の領域などの所定の領域を撮像することで得られる画像データに基づいて、当該所定の領域内に存在する対象を検出し、検出された対象に対して音声を出力するように構成されている。
図1に示されるように、実施形態にかかる声掛けシステムは、ホスト装置100と、指向性スピーカ200と、中継装置300と、監視カメラ400と、を備えている。ホスト装置100および指向性スピーカ200は、それぞれ、本開示の「情報処理装置」および「音声出力装置」の一例である。なお、図1に示される例では、指向性スピーカ200が複数(4個)設けられた構成が例示されているが、指向性スピーカ200の個数は、複数であればよい。同様に、図1に示される例では、監視カメラ400が2個設けられているが、監視カメラ400の個数は、1個であってもよいし3個以上であってもよい。
ホスト装置100は、たとえば店舗のバックヤードなどに設置され、指向性スピーカ200および監視カメラ400は、たとえば店舗の売り場などに設置される。ホスト装置100と指向性スピーカ200とは、中継装置300を介して互いに通信可能に接続されている。また、ホスト装置100と監視カメラ400とは、ホスト装置100と指向性スピーカ200との間の通信経路とは異なる通信経路で互いに通信可能に接続されている。
監視カメラ400は、たとえばカラーの2次元画像データを撮像可能なエリアカメラ(エリア画像センサ)として構成されている。監視カメラ400は、たとえば店舗の売り場のような所定の領域の撮像を行い、当該撮像により得られた画像データをホスト装置100に送信する。
指向性スピーカ200は、指向性を有する音声(音波、音声信号)を出力可能に構成されている。より具体的に、指向性スピーカ200は、ホスト装置100による所定の情報処理の結果、たとえば店舗の売り場のような所定の領域内に存在する対象としての人物Xの検出の結果に応じて、次の図2に示されるような態様で動作するように構成されている。
図2は、実施形態にかかる指向性スピーカ200を示した例示的かつ模式的な図である。
図2に示されるように、指向性スピーカ200は、水平方向に180°回動可能であり、かつ垂直方向に180°回動可能に構成されている。これにより、指向性スピーカ200は、たとえば店舗の売り場のような所定の領域内の任意の位置に向けて指向性を有する音声を出力することが可能である。
ここで、上記のような声掛けシステムにおいては、中継装置300および指向性スピーカ200に異常が発生した場合、当該異常(特に中継装置300から指向性スピーカ200への後述するような電力の供給の異常)をホスト装置100側で適切に検出することが望まれる。
そこで、実施形態にかかる声掛けシステムは、次の図3に示されるような構成により、中継装置300および指向性スピーカ200の異常を適切に検出することを実現する。
図3は、実施形態にかかるホスト装置100、指向性スピーカ200、および中継装置300の構成を示した例示的かつ模式的な図である。
図3に示されるように、指向性スピーカ200は、スピーカユニット210と、モータドライバ220と、ステッピングモータ230と、コネクタ250と、を備えている。スピーカユニット210は、本開示の「出力部」の一例であり、ステッピングモータ230は、本開示の「作動部」の一例である。なお、図3において、「CN」は、「コネクタ」という意味である。
スピーカユニット210は、電気信号を音に変えることで指向性を有する音声を出力するハードウェアである。詳細は後述するが、スピーカユニット210は、ホスト装置100から中継装置300を介して受信される音声データに対応した音声を出力する。
モータドライバ220は、ホスト装置100から中継装置300を介して受信される作動指示に応じてステッピングモータ230を制御するハードウェアである。そして、ステッピングモータ230は、モータドライバ220の制御のもとで、スピーカユニット210の向きを変更することで音声の出力の方向を変更するように作動するハードウェアである。なお、ステッピングモータ230は、上述した水平方向における180°の回動を実現するための第1のステッピングモータと、上述した垂直方向における180°の回動を実現するための第2のステッピングモータと、を備えている。
なお、コネクタ250は、指向性スピーカ200を中継装置300に接続するためのインターフェースである。実施形態において、コネクタ250は、たとえばLAN(Local Area Network)のインターフェースとして構成される。これにより、実施形態において、指向性スピーカ200と中継装置300とは、たとえばLANケーブルを介して互いに通信可能に接続される。
また、図3に示されるように、ホスト装置100は、記憶部110と、検出処理部120と、通信処理部130と、異常処理部140と、コネクタ150と、を備えている。記憶部110は、メモリまたはストレージのような、情報(データ)を記憶するためのハードウェアにより実現される。また、検出処理部120、通信処理部130、および異常処理部140は、ホスト装置100に搭載されるハードウェア(回路:circuitry)とソフトウェアとの協働、たとえば少なくとも1つのプロセッサがメモリなどに記憶されたプログラムを実行すること、により機能的に実現される。ホスト装置100の具体的なハードウェア構成については、後で図12を参照して説明する。なお、検出処理部120は、本開示の「情報処理部」の一例である。
記憶部110には、指向性スピーカ200に出力させる可能性のある複数種類の音声に対応した複数種類の(デジタルの)音声データが予め記憶されている。
検出処理部120は、監視カメラ400から取得される画像データに基づいて、たとえば人物を検出する検出処理のような所定の情報処理を実行する。
通信処理部130は、中継装置300を介した指向性スピーカ200との通信を司る。たとえば、通信処理部130は、検出処理部120による所定の情報処理の結果に応じて、指向性スピーカ200のスピーカユニット210に出力させる音声のもととなる音声データを中継装置300に出力(送信)可能に構成される。また、通信処理部130は、指向性スピーカ200のステッピングモータ230を制御させるための制御指示を中継装置300に送信し、当該制御指示に応じた応答を指向性スピーカ200から中継装置300を介して受信することも可能に構成される。制御指示は、たとえば所定の情報処理の結果に応じて作動することをステッピングモータ230に指示する作動指示と、回転位置を原点位置に復帰することをステッピングモータ230に指示する復帰指示と、を含んでいる。さらに、通信処理部130は、後述するスイッチ回路部330を制御するための切替指示なども中継装置300に送信可能に構成される。
異常処理部140は、中継装置300および指向性スピーカ200の異常を検出する。そして、異常処理部140は、異常が検出された場合、当該異常を、ホスト装置100に接続されるディスプレイまたはスピーカのような出力装置を介して通知する。なお、異常処理部140が中継装置300の異常をどのように検出するかと、異常処理部140が指向性スピーカ200の異常をどのように検出するかと、については、後で詳細に説明するため、ここでは説明を省略する。
コネクタ150は、ホスト装置100を中継装置300に接続するためのインターフェースである。実施形態において、コネクタ150は、たとえばUSB(Universal Serial Bus)のインターフェースとして構成される。これにより、実施形態において、ホスト装置100と中継装置300とは、たとえばUSBケーブルを介して互いに通信可能に接続される。
なお、図示は省略するが、実施形態において、ホスト装置100は、音声を出力するための内臓音声出力なども備えている。このため、通信処理部130は、指向性スピーカ200に出力させるべき音声が内臓音声出力から出力される事態およびその逆の事態を回避するように、音声データの出力先を、内臓音声出力と指向性スピーカ200(中継装置300)とで状況に応じて適宜切り替えうる。
また、図3に示されるように、中継装置300は、コネクタ311および312と、ハブ320と、スイッチ回路部330と、DAC(Digital to Analog Converter)340と、プロトコル変換回路350と、スイッチ制御回路360と、電源370と、遮断回路380と、信号処理回路390と、を備えている。
コネクタ311は、中継装置300をホスト装置100に接続するためのインターフェースである。前述したように、実施形態において、ホスト装置100と中継装置300とは、たとえばUSBケーブルを介して互いに通信可能に接続される。このため、実施形態において、コネクタ311は、たとえばUSBのインターフェースとして構成される。
また、コネクタ312は、中継装置300を指向性スピーカ200に接続するためのインターフェースである。コネクタ312は、指向性スピーカ200の個数と同数(図1および図3では4個)設けられている。前述したように、実施形態において、ホスト装置100と指向性スピーカ200とは、たとえばLANケーブルを介して互いに通信可能に接続される。このため、実施形態において、複数のコネクタ312は、いずれも、たとえばLANのインターフェースとして構成される。
ハブ320は、第1ラインL301を介してコネクタ311に接続され、当該第1ラインL301を、第2ラインL302と第3ラインL303と第4ラインL304との3本のラインに分岐するように構成される。より具体的に、ハブ320は、第1ラインL301に接続される第1ポート321と、第2ラインL302に接続される第2ポート322と、第3ラインL303に接続される第3ポート323と、第4ラインL304に接続される第4ポート324と、の4個のUSBポートを有したUSBハブとして構成される。
DAC340は、第2ラインL302上に設けられている。DAC340は、ホスト装置100から出力されるデジタルの音声データをアナログの音声データに変換する。このため、第2ラインL302は、中継装置300から指向性スピーカ200に音声データを出力するための音声出力ラインとして機能する。なお、実施形態では、DAC340の後段にアンプが設けられうる。
プロトコル変換回路350は、第3ラインL303上に設けられる。プロトコル変換回路350は、ホスト装置100と指向性スピーカ200との間における上記の制御指示および当該制御指示に応じた応答を含むデータの送受信のプロトコルを変換する。このため、第3ラインL303は、ホスト装置100と指向性スピーカ200との間でデータを送受信するためのデータ送受信ラインとして機能する。なお、前述した通り、実施形態において、ホスト装置100と中継装置300とは、USBケーブルを介して接続され、指向性スピーカ200と中継装置300とは、LANケーブルを介して接続される。このため、実施形態において、プロトコル変換回路350は、ホスト装置100から指向性スピーカ200へとデータが送信される場合にはUSBのプロトコルをLANのプロトコルに変換し、指向性スピーカ200からホスト装置100へとデータが送信される場合にはLANのプロトコルをUSBのプロトコルに変換する。
ここで、実施形態では、中継装置300に複数(図1および図3では4個)の指向性スピーカ200が接続されている。このため、実施形態では、全ての指向性スピーカ200との接続を可能にするために、第2ラインL302は、指向性スピーカ200側で複数(4個)に分岐しており、第3ラインL303も、指向性スピーカ200側で複数(4個)に分岐している。第2ラインL302の分岐した複数の部分(一点鎖線参照)は、スイッチ回路部330を介してそれぞれ異なるコネクタ312に接続可能に構成されており、第3ラインL303の分岐した複数の部分(二点鎖線参照)も、スイッチ回路部330を介してそれぞれ異なるコネクタ312に接続可能に構成されている。このため、各コネクタ312は、いずれも、スイッチ回路部330を介して、第2ラインL302の分岐した1つの部分と第3ラインL303の分岐した1つの部分とに接続される。
スイッチ回路部330は、第2ラインL302を指向性スピーカ200(のスピーカユニット210)に接続するか否かと、第3ラインL303を指向性スピーカ200(のモータドライバ220およびステッピングモータ230)に接続するか否かと、を切り替えるように構成される。つまり、スイッチ回路部330は、第2ラインL302およびコネクタ312を介したホスト装置100から指向性スピーカ200への音声データの出力の可否と、第3ラインL303およびコネクタ312を介したホスト装置100と指向性スピーカ200との間のデータの送受信の可否と、を切り替えるように構成される。
より具体的に、スイッチ回路部330は、第2ラインL302(の分岐した各部分)の接続および遮断を切り替える第1スイッチ331と、第3ラインL303(の分岐した各部分)の接続および遮断を切り替える第2スイッチ332と、を含んでいる。第1スイッチ331は、第2ラインL302の分岐数と同数(図3では4個)設けられており、第2スイッチは、第3ラインL303の分岐数と同数(図3では4個)設けられている。なお、図3において、「SW」は、「スイッチ」の意味である。
スイッチ回路部330の第1スイッチ331および第2スイッチ332は、第4ラインL304を介して入力される切替指示に応じて切り替わる。この切替指示は、ホスト装置100における所定の情報処理の結果に応じて、第4ラインL304上に設けられたスイッチ制御回路360により出力される。スイッチ制御回路360は、たとえばUSB−GPIO(General Purpose Input Output)ボードにより構成される。
また、電源370は、電力供給ラインL300を介して指向性スピーカ200に電力を出力する。電源370は、指向性スピーカ200の他、DAC340の後段に設けられる上述したアンプにも電力を供給しうる。電力供給ラインL300は、指向性スピーカ200に接続されるコネクタ312に対応するように複数(4本)設けられている。
また、遮断回路380は、電力供給ラインL300上、より具体的には電源370と各コネクタ312との間において、電力供給ラインL300と1対1で対応するように複数(4個)設けられている。遮断回路380は、電力供給ラインL300を介した電力の供給の異常(たとえば過電流の発生など)に応じて電力供給ラインL300を(論理的に)遮断するたとえばeFuseのような回路として構成されている。遮断回路380は、次の図4に示されるような構成を有している。
図4は、実施形態にかかる遮断回路380の構成を示した例示的かつ模式的な図である。
図4に示されるように、遮断回路380は、入力ピン381と、出力ピン382と、状態ピン383と、制御ピン384と、の4個のピンを備えている。入力ピン381は、電源370からの電力の入力を受け付ける。出力ピン382は、入力ピン381から入力された電力をコネクタ312へ出力する。状態ピン383は、出力ピン382からの電力の出力の遮断の有無の状態を示す第1信号を後述する信号処理回路390(図3参照)に出力する。たとえば、状態ピン383は、出力ピン382からの電力の出力が遮断された場合に第1レベル(Lレベル、0)の第1信号を出力し、出力ピン382からの電力の出力が遮断されていない場合に第2レベル(Hレベル、1)の第1信号を出力する。制御ピン384は、遮断回路380のリセットなどの各種の制御のトリガとなる制御信号の入力を受け付ける。制御信号は、たとえばスイッチ制御回路360から制御ピン384に入力される。
図3に戻り、信号処理回路390は、複数(4個)の遮断回路380からそれぞれ出力される複数(4つ)の第1信号に応じて、当該第1信号よりも少ない複数(たとえば3つ)の第2信号をスイッチ制御回路360に出力する。第2信号は、第1信号よりも少ない数で第1信号と略同様の情報、より具体的には複数の遮断回路380のうちどの遮断回路380が電力供給ラインL300を遮断しているかを示す情報、をスイッチ制御回路360に伝達するための信号である。この構成は、スイッチ制御回路360に信号の入出力用のポートの余裕が少ない場合に特に有効である。
より具体的に、信号処理回路390は、下記の図5および図6に示されるような構成を有している。なお、下記の図5および図6では、各遮断回路380が有する第1信号を出力する状態ピン383が、状態ピン383−1、383−2、383−3、および383−4に区別して図示されている。
図5は、実施形態にかかる信号処理回路390に含まれる第1回路500を示した例示的かつ模式的な図である。
図5に示されるように、第1回路500は、AND回路510および520と、NAND回路530と、を備えている。
AND回路510は、状態ピン383−1および383−2から出力される第1信号の値(0または1)の論理積をNAND回路530に出力する。AND回路520は、状態ピン383−3および383−4から出力される第1信号の値(0または1)の論理積をNAND回路530に出力する。NAND回路530は、AND回路510からの出力と、AND回路520からの出力と、の否定論理積を上記の第2信号の1つとしてスイッチ制御回路360のポートP1に出力する。
図6は、実施形態にかかる信号処理回路390に含まれる第2回路600を示した例示的かつ模式的な図である。
図6に示されるように、第2回路600は、AND回路610、630、640、660、および670と、バッファ回路620および650と、OR回路680と、を備えている。
AND回路610は、状態ピン383−1および383−2から出力される第1信号の値(0または1)の論理積を上記の第2信号の1つとしてスイッチ制御回路360のポートP2に出力する。バッファ回路620は、状態ピン383−2からの出力を遅延させてAND回路630に出力する。AND回路630は、状態ピン383−1からの出力と、バッファ回路620からの出力と、の論理積をOR回路680に出力する。
AND回路640は、状態ピン383−2および383−3から出力される第1信号の値(0または1)の論理積をAND回路660に出力する。バッファ回路650は、状態ピン383−4からの出力を遅延させてAND回路660に出力する。AND回路660は、AND回路640からの出力と、バッファ回路650からの出力と、の論理積をAND回路670に出力する。AND回路670は、AND回路660からの出力と、状態ピン383−1からの出力と、の論理積をOR回路680に出力する。OR回路680は、AND回路630からの出力と、AND回路670からの出力と、の論理和を上記の第2信号の1つとしてスイッチ制御回路360のポートP3に出力する。
上記のような回路構成によれば、状態ピン383−1〜383−4から信号処理回路390に入力される4つの第1信号の値と、信号処理回路390からスイッチ制御回路360のポートP1〜P3に出力される3つの第2信号の値と、の対応関係(論理値表)は、次の図7に示される形となる。
図7は、実施形態にかかる第1信号の値と第2信号の値との対応関係(論理値表)を示した例示的かつ模式的な図である。
図7に示される論理値表、スイッチ制御回路360のポートP1における第2信号の値が1である場合、状態ピン383−1〜383−4における第1信号の値の少なくともいずれか1つが0になっていることが分かる。また、ポートP1における第2信号の値が0である場合、状態ピン383−1〜383−4の全ての第1信号の値が1になっていることも分かる。前述した通り、第1信号の値が0であることは、電力供給ラインL300が遮断されていることを示すため、ポートP1における第2信号の値を取得すれば、遮断回路380の状態が、複数の遮断回路380のうち少なくとも1つによる電力供給ラインL300の遮断が発生している状態であるか、または、電力供給ラインL300の遮断が全く発生していない状態であるか、を判定することができる。
さらに、スイッチ制御回路360のポートP1における第2信号の値が1である場合、他のポートP2およびP3における第2信号の値の組み合わせを考慮すれば、複数の遮断回路380のうち電力供給ラインL300を遮断している少なくとも1つの遮断回路380を特定することができる。
より具体的に、図7に示される論理値表によれば、スイッチ制御回路360のポートP1における第2信号の値が1である場合において、ポートP2およびP3における第2信号の値がいずれも0である場合、少なくとも状態ピン383−1における第1信号の値が0となっていることが分かる。この場合、少なくとも状態ピン383−1を有する遮断回路380が電力供給ラインL300を遮断していることを特定することができる。
また、図7に示される論理値表よれば、スイッチ制御回路360のポートP1における第2信号の値が1である場合において、ポートP2における第2信号の値が0であり、かつ、ポートP3における第2信号の値が1である場合、少なくとも状態ピン383−2における第1信号の値が0となっていることが分かる。この場合、少なくとも状態ピン383−2を有する遮断回路380が電力供給ラインL300を遮断していることを特定することができる。
また、図7に示される論理値表によれば、スイッチ制御回路360のポートP1における第2信号の値が1である場合において、ポートP2における第2信号の値が1であり、かつ、ポートP3における第2信号の値が0である場合、少なくとも状態ピン383−3における第1信号の値が0となっていることが分かる。この場合、少なくとも状態ピン383−3を有する遮断回路380が電力供給ラインL300を遮断していることを特定することができる。
また、図7に示される論理値表によれば、スイッチ制御回路360のポートP1における第2信号の値が1である場合において、ポートP2およびP3における第2信号の値がいずれも1である場合、少なくとも状態ピン383−4における第1信号の値が0となっていることが分かる。この場合、少なくとも状態ピン383−4を有する遮断回路380が電力供給ラインL300を遮断していることを特定することができる。
以上を踏まえて、実施形態にかかるホスト装置100の異常処理部140は、スイッチ制御回路360のポートP1における第2信号の値を、遮断回路380の状態として定期的に取得する。そして、異常処理部140は、定期的に取得される遮断回路380の状態に基づいて、遮断回路380の状態が電力供給ラインL300の遮断を示すか否かを定期的に判定する。そして、異常処理部140は、遮断回路380の状態が電力供給ラインL300の遮断を示す場合に、中継装置300の異常を検出する。なお、中継装置300の異常の検出については、後で図9を参照してさらに詳細に説明するため、ここではこれ以上の説明を省略する。
さらに、実施形態にかかるホスト装置100の異常処理部140は、ステッピングモータ230の状態(たとえば現在の回転位置、電流、電圧、および温度など)も定期的に取得する。そして、異常処理部140は、定期的に取得されるステッピングモータ230の状態に基づいて、指向性スピーカ200の異常、より具体的にはステッピングモータ230の異常または指向性スピーカ200と中継装置300との間の接続の異常を検出することも可能である。なお、指向性スピーカ200の異常の検出については、後で図10を参照してさらに詳細に説明するため、ここではこれ以上の説明を省略する。
以上の構成に基づき、実施形態にかかる声掛けシステムは、下記の図8〜図10に示される例のような流れで動作する。
まず、図8を参照して、実施形態にかかる声掛けシステムの基本的な動作として行う声掛け、つまりホスト装置100における所定の情報処理の結果に応じて指向性スピーカ200から音声を出力する動作、の流れについて説明する。
図8は、実施形態にかかる情報処理システムが声掛けを行う際に実行する処理を説明するための例示的かつ模式的なシーケンス図である。
図8に示されるように、実施形態では、まず、S801において、ホスト装置100の検出処理部120が、監視カメラ400から取得される画像データに基づいて、たとえば人物を検出する検出処理のような所定の情報処理を実行する。
そして、S802において、ホスト装置100の通信処理部130は、S801における検出処理の結果に応じて、第2スイッチ332の切替指示を、中継装置300に送信する。つまり、通信処理部130は、S801における検出処理の結果に応じて、声掛けのために動作させるべき指向性スピーカ200に、制御指示の伝達のための第3ラインL303が適切に接続されるように、第2スイッチ332の切替指示を、中継装置300のハブ320を介してスイッチ制御回路360に送信する。
そして、S802の結果、切替指示がスイッチ制御回路360から第4ラインL305を介して第2スイッチ332に入力され、第2スイッチ332が切り替わる。これにより、S803以降、声掛けのために動作させるべき指向性スピーカ200に第3ラインL303を介して制御指示を伝達することが可能になる。
そして、S804において、ホスト装置100の通信処理部130は、S801における検出処理の結果に応じて、第1スイッチ331の切替指示を、中継装置300に送信する。つまり、通信処理部130は、S801における検出処理の結果に応じて、声掛けのために動作させるべき指向性スピーカ200に、音声データの出力のための第2ラインL302が適切に接続されるように、第1スイッチ331の切替指示を、中継装置300のハブ320を介してスイッチ制御回路360に送信する。
そして、S804の結果、切替指示がスイッチ制御回路360から第4ラインL305を介して第1スイッチ331に入力され、第1スイッチ331が切り替わる。これにより、S805以降、声掛けのために動作させるべき指向性スピーカ200に第2ラインL302を介して音声データを出力することが可能になる。
そして、S806において、ホスト装置100の通信処理部130は、指向性スピーカ200のステッピングモータ230に、S801における検出処理の結果に応じた作動量だけ作動することを指示する作動指示を、モータドライバ220を介して伝達する。
そして、S807において、指向性スピーカ200のステッピングモータ230は、S806の作動指示に応じて作動する。
そして、S808において、指向性スピーカ200のモータドライバ220は、S807におけるステッピングモータ230の作動が完了した旨の応答をホスト装置100に送信する。
そして、S809において、ホスト装置100の通信処理部130は、S801における検出処理の結果に応じて指向性スピーカ200に出力させるべき音声がホスト装置100の内臓音声出力(不図示)から出力される事態を回避するように、音声データの出力先を、内臓音声出力(不図示)から指向性スピーカ200に切り替える。
そして、S810において、ホスト装置100の通信処理部130は、指向性スピーカ200に出力させるべき音声に対応した音声データを記憶部110から読み出し、読み出した音声データを指向性スピーカ200に送信する。
そして、S811において、指向性スピーカ200のスピーカユニット210は、S810においてホスト装置100から送信された音声データを受信し、受信した音声データに対応した音声を出力する。
そして、S812において、ホスト装置100の通信処理部130は、音声データの出力先を、指向性スピーカ200から内臓音声出力(不図示)に切り替える。
なお、実施形態において、上記のS810〜S812の処理の実行または不実行は、S808における応答の内容に応じて切り替えることも可能である。たとえば、実施形態では、ステッピングモータ230の位置を検出するエンコーダのようなセンサが指向性スピーカ200に設けられている場合、S808における応答に、作動指示により指定されたステッピングモータ230の回転角度の指示値と、S807において実現されたステッピングモータ230の回転角度の実値と、の誤差などを含めることも可能である。この場合、誤差が一定未満の場合、スピーカユニット210が略適切な方向を向いていると推定できるため、S810〜S812の処理が実行されうる。一方、誤差が一定以上の場合、スピーカユニット210が適切な方向を向いていないと推定できるため、S810〜S812の処理がスキップされうる。
そして、S813において、ホスト装置100の通信処理部130は、第1スイッチ331の切替指示を、中継装置300に送信する。つまり、通信処理部130は、声掛けの完了に応じて、音声データの出力のための第2ラインL302が遮断されるように、第1スイッチ331の切替指示を、中継装置300のハブ320を介してスイッチ制御回路360に送信する。
そして、S813の結果、切替指示がスイッチ制御回路360から第4ラインL305を介して第1スイッチ331に入力され、第1スイッチ331が切り替わる。これにより、S814以降、指向性スピーカ200に第2ラインL302を介して音声データを出力することが不可能になる。
そして、S815において、ホスト装置100の通信処理部130は、指向性スピーカ200のステッピングモータ230に、回転位置を原点位置に戻すことを指示する復帰指示を、モータドライバ220を介して伝達する。
そして、S816において、指向性スピーカ200のステッピングモータ230は、S815の作動指示に応じて、回転位置を原点位置に復帰させる。
そして、S817において、指向性スピーカ200のモータドライバ220は、S816におけるステッピングモータ230の復帰が完了した旨の応答をホスト装置100に送信する。
そして、S818において、ホスト装置100の通信処理部130は、S817の応答に応じて、ステッピングモータ230の作動後の状態(たとえば現在の回転位置、電流、電圧、および温度など)をホスト装置100に送信することを指示する状態送信指示を指向性スピーカ200に送信する。
そして、S819において、指向性スピーカ200のモータドライバ220は、S818の状態送信指示に応じて、ステッピングモータ230の状態を取得し、ホスト装置100に送信する。その後は、ステッピングモータ230の状態のチェックなどがホスト装置100により適宜実行され、第3ラインL303が遮断されうる。
次に、図9を参照して、実施形態にかかるホスト装置100が中継装置300の異常を検出する動作、より具体的には中継装置300から指向性スピーカ200への電力の供給の異常を検出する動作の流れについて説明する。
図9は、実施形態にかかるホスト装置100が中継装置300の異常を検出する際に実行する処理を説明するための例示的かつ模式的なシーケンス図である。
図9に示されるように、実施形態では、まず、S901において、ホスト装置100の異常処理部140は、通信処理部130およびスイッチ制御回路360を介して、遮断回路380の状態を定期的に取得する。異常処理部140は、遮断回路380の状態を示す情報として、スイッチ制御回路360のポートP1における第2信号の値を取得する。
そして、S902において、ホスト装置100の異常処理部140は、S901で取得される遮断回路380の状態に基づいて、異常の有無、すなわち遮断回路380の状態が電力供給ラインL300の遮断を示すか否かを判定する。
ここで、遮断回路380による電力供給ラインL300の遮断に応じて中継装置300から指向性スピーカへの電力の供給が停止されている場合を想定する。この場合、下記のS903〜S908により、異常の発生に応じて作動した遮断回路380の特定、および当該異常が確定的か否かの確認が実行される。
より具体的に、S903において、ホスト装置100の異常処理部140は、複数の遮断回路380のうち電力供給ラインL300を遮断している少なくとも1つの遮断回路380を特定する特定処理を実行する。この特定処理は、中継装置300のポートP2およびP3における第2信号の値の組み合わせに基づいて実行される。
そして、S904において、ホスト装置100の異常処理部140は、通信処理部130およびスイッチ制御回路360を介して、S903において特定した遮断回路380の制御ピン384にリセット信号を出力することで、電力供給ラインL300の遮断を解除する解除処理を実行する。この場合、S905において、中継装置300の電源370から指向性スピーカ200への電力供給が開始される。
そして、S906において、ホスト装置100の異常処理部140は、通信処理部130およびスイッチ制御回路360を介して、S904の解除処理後における遮断回路380の状態を取得する状態取得処理を実行する。このとき、異常処理部140は、上記のS901と同様に、スイッチ制御回路360のポートP3における第2信号の値を、遮断回路380の状態として取得する。
そして、S907において、ホスト装置100の異常処理部140は、S904の解除処理を実行した後にS906の状態取得処理を実行するというサイクルを、予め決められた複数回繰り返し実行する。
そして、S908において、ホスト装置100の異常処理部140は、S904の解除処理およびS906の状態取得処理を繰り返した結果、遮断回路380の状態が異常を示すことが複数回継続したか否か、つまり遮断回路380の状態が電力供給ラインL300の遮断を示すことが複数回継続したか否かを判定する。この判定は、スイッチ制御回路360のポートP3における第2信号の値が複数回継続して異常を示す値(図7の例では1)となることが複数回継続したか否かに基づいて実行される。
S908において、遮断回路380の状態が異常を示すことが複数回継続したと判定された場合、当該異常をホスト装置100に接続されるディスプレイまたはスピーカのような出力装置を介して通知することが妥当である。したがって、この場合、S909において、ホスト装置100の異常処理部140は、中継装置300の異常を通知する。
一方、S908において、遮断回路380の状態が異常を示すことが複数回継続しなかったと判定された場合、中継装置300の異常の通知は不要である。したがって、この場合、S909の処理が実行されることなく、S901に処理が戻る。
次に、図10を参照して、実施形態にかかるホスト装置100が指向性スピーカ200の異常を検出する動作、より具体的にはステッピングモータ230の異常または指向性スピーカ200と中継装置300との間の接続の異常を検出する動作の流れについて説明する。
図10は、実施形態にかかるホスト装置100が指向性スピーカ200の異常を検出する際に実行する処理を説明するための例示的かつ模式的なシーケンス図である。
図10に示されるように、実施形態では、まず、S1001において、ホスト装置100の通信処理部130は、異常を検出する対象の指向性スピーカ200に第3ラインL303が適切に接続されるように、第2スイッチ332の切替指示をスイッチ制御回路360に送信する。
そして、S1001の結果、切替指示がスイッチ制御回路360から第4ラインL305を介して第2スイッチ332に入力され、第2スイッチ332が切り替わる。これにより、S1002以降、異常を検出する対象の指向性スピーカ200に第3ラインL303を介して状態送信指示を伝達することが可能になる。
そして、S1003において、ホスト装置100の通信処理部130は、ステッピングモータ230の状態をホスト装置100に送信することを指示する状態送信指示を指向性スピーカ200に送信する。
そして、S1004において、指向性スピーカ200のモータドライバ220は、S1003の状態送信指示に応じて、ステッピングモータ230の状態を取得し、ホスト装置100に送信する。
そして、S1005において、ホスト装置100の異常処理部140は、指向性スピーカ200から受信された状態、またはそもそも指向性スピーカ200から状態が受信されたか否かに基づいて、指向性スピーカ200の異常の有無を判定する。
S1005において、指向性スピーカ200の異常がないと判定された場合は、次のS1006以降の処理が不要である。この場合、所定時間の経過後に、別の指向性スピーカ200を対象としてS1001〜S1005の処理が実行される。
一方、S1005において、指向性スピーカ200の異常があると判定された場合、下記のS1006〜S1009により、指向性スピーカ200の異常が確定的か否かの確認が実行される。
より具体的に、S1006において、ホスト装置100の通信処理部130は、状態送信指示を指向性スピーカ200に送信する。
そして、S1007において、指向性スピーカ200のモータドライバ220は、S1006の状態送信指示に応じて、ステッピングモータ230の状態を取得し、ホスト装置100に送信する。
そして、S1008において、ホスト装置100および指向性スピーカ200は、S1006およびS1007の処理を予め決められた複数回繰り返し実行する。
そして、S1009において、ホスト装置100の異常処理部140は、S1006およびS1007の処理の繰り返しの結果、指向性スピーカ200の異常が複数回継続したか否かを判定する。このとき、ステッピングモータ230の状態が異常を示すことが複数形継続したか否か、または、そもそもステッピングモータ230の状態が取得されないことが複数回継続したか否かが判定される。
S1009において、指向性スピーカ200の異常が複数回継続した場合、当該異常をホスト装置100に接続されるディスプレイまたはスピーカのような出力装置を介して通知することが妥当である。したがって、この場合、S1010において、ホスト装置100の異常処理部140は、指向性スピーカ200の異常を通知する。
一方、S1009において、指向性スピーカ200の異常が複数回継続しなかった場合、指向性スピーカ200の異常の通知は不要である。したがって、この場合、S1010の処理が実行されることなく、別の指向性スピーカ200を対象としたS1001以降の処理が実行される。
以上説明したように、実施形態にかかる声掛けシステムは、ホスト装置100と、指向性スピーカ200と、中継装置300と、を備えている。指向性スピーカ200は、指向性を有する音声を出力するスピーカユニット210と、当該スピーカユニット210の向きを変更することで音声の出力の方向を変更するように作動するステッピングモータ230と、を含む。また、ホスト装置100は、スピーカユニット210から出力される音声のもととなる音声データを記憶する記憶部110と、たとえば人物を検出する検出処理のような所定の情報処理を実行する検出処理部120と、所定の情報処理の結果に応じて、スピーカユニットに出力させるべき音声に対応した音声データおよびステッピングモータ230に対する作動指示の送信を含む通信を指向性スピーカ200との間で実行する通信処理部130と、を含む。また、中継装置300は、ホスト装置100と指向性スピーカ200との間の通信を中継する。
ここで、実施形態において、中継装置300は、電力供給ラインL300を介して指向性スピーカ200に電力を供給する電源370と、電力供給ラインL300を介した電力の供給の異常に応じて電力供給ラインL300を遮断する遮断回路380と、を含んでいる。そして、ホスト装置100は、遮断回路380の状態が電力供給ラインL300の遮断を示すか否かに基づいて、中継装置300の異常を検出する異常処理部140を含んでいる。
上記の構成によれば、遮断回路380の状態に基づいて、電源370から指向性スピーカ200への電力の供給の異常、つまり中継装置300の異常、を適切に検出することができる。
また、実施形態において、異常処理部140は、遮断回路380の状態が電力供給ラインL300の遮断を示す場合に、遮断回路380による電力供給ラインL380の遮断を解除する解除処理と、当該解除処理後に遮断回路380の状態をさらに取得する状態取得処理と、を実行することで、中継装置300の異常を検出し、検出結果に応じて、中継装置300の異常の発生を通知する。
上記の構成によれば、解除処理および状態取得処理をさらに実行することで、中継装置300の異常を確実に検出することができる。
また、実施形態において、異常処理部140は、解除処理を実行した後に状態取得処理を実行するというサイクルを複数回繰り返し実行し、状態取得処理により取得された遮断回路380の状態が電力供給ラインL300の遮断を示すことが複数回継続して検出された場合に、中継装置300に異常が発生していることを検出し、中継装置300の異常の発生を通知する。
上記の構成によれば、解除処理および状態取得処理の複数回の繰り返しの結果に基づいて、中継装置300の異常をより確実に検出し、中継装置300の異常の発生を適切に通知することができる。
また、実施形態では、指向性スピーカ200および遮断回路380が複数設けられている。このため、異常処理部140は、複数の遮断回路380から電力供給ラインL300を遮断している少なくとも1つの遮断回路380を特定する特定処理を、解除処理および状態取得処理に先立って実行する。
上記の構成によれば、電力供給ラインL300を遮断している少なくとも1つの遮断回路380を特定した上で、解除処理および状態取得処理を実行することができる。
ここで、実施形態において、中継装置300は、遮断回路380の状態を示す信号として複数の遮断回路380から出力される複数の第1信号に応じて、複数の第1信号よりも少ない複数の第2信号を出力する信号処理回路390を含む。そして、異常処理部140は、複数の第2信号の値の組み合わせに基づいて、特定処理を実行する。
上記の構成によれば、より少ない情報量で特定処理を実行することができる。
なお、実施形態において、異常処理部140は、遮断回路380の状態を定期的に取得し、遮断回路380の状態が電力供給ラインL300の遮断を示すか否かを定期的に判定する。
上記の構成によれば、中継装置300の異常の有無を定期的に検出することができる。
また、実施形態において、通信処理部130は、ステッピングモータ230の状態を定期的に取得し、異常処理部140は、定期的に取得されるステッピングモータ230の状態に基づいて、指向性スピーカ200の異常を検出する。
上記の構成によれば、指向性スピーカ200の異常も定期的に検出することができる。
より具体的に、実施形態において、異常処理部140は、定期的に取得されるステッピングモータ230の状態が異常を示す場合、ステッピングモータ230の状態をさらに複数回繰り返し取得し、ステッピングモータ230の状態が異常を示すことが複数回継続して検出された場合、指向性スピーカ200の異常を検出する。
上記の構成によれば、指向性スピーカ200の異常を確実に検出することができる。
なお、上述した実施形態では、ステッピングモータ230によってスピーカユニット210の向きを変更する構成が例示されている。しかしながら、本開示の技術は、たとえばサーボモータのような、ステッピングモータ230以外のアクチュエータによってスピーカユニット210の向きを変更する構成にも適用することが可能である。なお、サーボモータは、ステッピングモータ230と異なり、回転位置を自分自身で把握できる。したがって、ステッピングモータ230に代えてサーボモータを用いた構成では、上述した実施形態のような復帰指示が不要になる。
また、上述した実施形態では、指向性スピーカ200と中継装置300との関係が4対1である構成が例示されている。しかしながら、本開示の技術は、1つの中継装置300に接続される指向性スピーカ200の個数が1〜3であっても、5以上であってもよい。
ここで、指向性スピーカ200と中継装置300との関係が1対1である場合、次の図11に示されるような動作によっても、指向性スピーカ200の異常を検出することが可能である。
図11は、変形例にかかるホスト装置100が指向性スピーカ200の異常を検出する際に実行する処理を説明するための例示的かつ模式的なシーケンス図である。
図11に示される変形例は、1対1の関係であるホスト装置100および指向性スピーカ200の接続が常に成立しており、指向性スピーカ200がステッピングモータ230の状態を定期的にホスト装置100に送信するように構成されており、かつ、ホスト装置100が指向性スピーカ200からの定期的な情報の取得を受け入れるように設定されていることを前提としている。
図11に示される変形例では、まず、S1101において、指向性スピーカ200は、ステッピングモータ230の状態をホスト装置100に送信する。
そして、S1102において、ホスト装置100の異常処理部140は、ホスト装置100の異常処理部140は、指向性スピーカ200から受信されたステッピングモータ230の状態に基づいて、指向性スピーカ200の異常の有無を判定する。
S1102において、指向性スピーカ200の異常がないと判定された場合は、次のS1003以降の処理が不要である。この場合、ホスト装置100の異常処理部140は、S1101におけるステッピングモータの状態が再び実行されるまで待機する。
一方、S1102において、指向性スピーカ200の異常があると判定された場合、下記のS1103〜S1106により、指向性スピーカ200の異常が確定的か否かの確認が実行される。
より具体的に、S1103において、ホスト装置100の通信処理部130は、状態送信指示を指向性スピーカ200に送信する。
そして、S1104において、指向性スピーカ200のモータドライバ220は、S1003の状態送信指示に応じて、ステッピングモータ230の状態を取得し、ホスト装置100に送信する。
そして、S1105において、ホスト装置100および指向性スピーカ200は、S1003およびS1004の処理を予め決められた複数回繰り返し実行する。
そして、S1106において、ホスト装置100の異常処理部140は、S1003およびS1004の処理の繰り返しの結果、指向性スピーカ200の異常が複数回継続したか否かを判定する。
S1106において、指向性スピーカ200の異常が複数回継続した場合、当該異常をホスト装置100に接続されるディスプレイまたはスピーカのような出力装置を介して通知することが妥当である。したがって、この場合、S1107において、ホスト装置100の異常処理部140は、指向性スピーカ200の異常を通知する。
一方、S1106において、指向性スピーカ200の異常が複数回継続しなかった場合、指向性スピーカ200の異常の通知は不要である。したがって、この場合、ホスト装置100の異常処理部140は、S1107の処理を実行することなく、S1101におけるステッピングモータの状態が再び実行されるまで待機する。
最後に、図12を参照して、実施形態(上記の変形例も同様)にかかるホスト装置100のハードウェア構成について説明する。ホスト装置100は、たとえば次の図12に示されるようなハードウェア構成を有するコンピュータ1200により実現される。
図12は、実施形態にかかるホスト装置100を実現するコンピュータ1200のハードウェア構成を示した例示的かつ模式的なブロック図である。
図12に示されるように、コンピュータ1200は、プロセッサ1210と、メモリ1220と、ストレージ1230と、入出力インターフェース(I/F)1240と、通信インターフェース(I/F)1250と、を備えている。これらのハードウェアは、バス1260に接続されている。
プロセッサ1210は、たとえばCPU(Central Processing Unit)として構成され、コンピュータ1200の各部の動作を統括的に制御する。
メモリ1220は、たとえばROM(Read Only Memory)およびRAM(Random Access Memory)を含み、プロセッサ1210により実行されるプログラムなどの各種のデータの揮発的または不揮発的な記憶、およびプロセッサ1210がプログラムを実行するための作業領域の提供などを実現する。
ストレージ1230は、たとえばHDD(Hard Disk Drive)またはSSD(Solid State Drive)を含み、各種のデータを不揮発的に記憶する。
入出力インターフェース1240は、たとえばキーボードおよびマウスなどのような入力装置(不図示)からコンピュータ1200へのデータの入力と、たとえばコンピュータ1200からディスプレイおよびスピーカなどのような出力装置(不図示)へのデータの出力と、を制御する。
通信インターフェース1250は、コンピュータ1200が他の装置と通信を実行することを可能にする。
実施形態において、ホスト装置100が有する図3に示されるような機能モジュール群は、コンピュータ1200のプロセッサ1210がメモリ1220またはストレージ1230などに記憶された所定のコンピュータプログラムとしての情報処理プログラムを実行した結果として、ハードウェアとソフトウェアとの協働により実現される。ただし、実施形態では、図3に示される機能モジュール群のうち少なくとも一部が、専用のハードウェアのみによって実現されてもよい。
以上、本開示のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。