(57)【特許請求の範囲】
【請求項１】
スピーカと、
水平な第１の回転軸を中心として前記スピーカを回転させる第１のモータと、
前記スピーカに伴って回転する位置に取り付けられ、所定の軸方向の加速度を測定する加速度センサと、
第１の指定角度だけ前記スピーカを前記第１の回転軸を中心として回転させる第１の回転指示を前記第１のモータに対して出力し、指示に従った前記第１のモータの回転が停止した後に前記加速度センサから前記加速度を示す情報を取得し、前記加速度を示す情報に基づいて、前記スピーカの向きと重力の方向との角度差を算出し、前記スピーカの向きと重力の方向との角度差に基づいて、前記第１の回転指示に応じた前記スピーカの回転角と前記第１の指定角度との第１の誤差を算出する回転制御装置と、
を有するスピーカ装置。
【請求項２】
前記回転制御装置は、前記第１の誤差を減少させる方向へ前記第１の誤差の分だけ前記スピーカを回転させる補正回転指示を、前記第１のモータに出力する、
請求項１記載のスピーカ装置。
【請求項３】
スピーカと、
水平な第１の回転軸を中心として前記スピーカを回転させる第１のモータと、
前記スピーカに伴って回転する位置に取り付けられ、所定の軸方向の加速度を測定する加速度センサと、
前記スピーカに伴って回転する位置に取り付けられ、回転の角速度を計測するジャイロセンサと、
前記第１のモータに回転を指示し、指示に従った前記第１のモータの回転が停止した後に前記加速度センサから前記加速度を示す情報を取得し、前記加速度を示す情報に基づいて、前記スピーカの向きと重力の方向との角度差を算出する回転制御装置と、
を有し、
前記回転制御装置は、第３の指定角度に応じた数のパルス信号を前記第１のモータに出力し、前記スピーカの前記第１の回転軸を中心とした回転中に前記ジャイロセンサから定期的に角速度を示す情報を取得し、取得した角速度を示す情報に基づいて前記スピーカの前記第１の回転軸を中心とした回転角を算出し、所定のタイミングまでに出力したパルス信号の数に１パルス当りの前記第１のモータの回転角を乗算して得られる角度と、前記回転角との差分を計算し、差分に応じて、前記所定のタイミング以後に出力するパルス数を補正する、
スピーカ装置。
【請求項４】
前記回転制御装置は、前記第３の指定角度に応じた回転を加速区間、等速区間、および減速区間に分け、前記加速区間では、前記パルス信号の出力間隔を時間経過と共に短くし、前記等速区間では、一定間隔で前記パルス信号を出力し、前記減速区間では、前記パルス信号の出力間隔を時間経過と共に長くし、前記加速区間、前記等速区間、および前記減速区間のうちの少なくとも１つの区間に応じた前記パルス信号の出力完了時を、前記所定のタイミングとする、
請求項３記載のスピーカ装置。
【請求項５】
重力の方向と平行な第２の回転軸を中心として前記スピーカを回転させる第２のモータと、
前記スピーカに伴って回転する位置に取り付けられ、地磁気の方向を測定する地磁気センサと、
をさらに有し、
前記回転制御装置は、前記第２のモータに回転を指示し、指示に従った前記第２のモータの回転が停止した後に前記地磁気センサから前記地磁気の方向を示す情報を取得し、前記地磁気の方向を示す情報に基づいて、前記スピーカを水平に向けた場合の前記スピーカの向きと、水平方向に予め設定された原点方位との角度差を算出する、
請求項１ないし４のいずれかに記載のスピーカ装置。
【請求項６】
前記回転制御装置は、第２の指定角度だけ前記スピーカを前記第２の回転軸を中心として回転させる第２の回転指示を前記第２のモータに対して出力し、前記スピーカを水平に向けた場合の前記スピーカの向きと前記原点方位との角度差に基づいて、前記第２の回転指示に応じた前記スピーカの回転角と前記第２の指定角度との第２の誤差を算出する、
請求項５記載のスピーカ装置。
【請求項７】
コンピュータに、
水平な回転軸を中心としてスピーカを回転させるモータに対して指定角度だけ前記スピーカを前記回転軸を中心として回転させる回転指示を出力し、
指示に従った前記モータの回転が停止した後に、前記スピーカに伴って回転する位置に取り付けられ、所定の軸方向の加速度を測定する加速度センサから、前記加速度を示す情報を取得し、
前記加速度を示す情報に基づいて、前記スピーカの向きと重力の方向との角度差を算出し、
前記スピーカの向きと重力の方向との角度差に基づいて、前記回転指示に応じた前記スピーカの回転角と前記指定角度との誤差を算出する、
処理を実行させる回転制御プログラム。
【請求項８】
スピーカと、水平な回転軸を中心として前記スピーカを回転させるモータと、前記スピーカに伴って回転する位置に取り付けられ、所定の軸方向の加速度を測定する加速度センサと、前記スピーカの回転指示の入力に基づいて、指定角度だけ前記スピーカを前記回転軸を中心として回転させる回転指示を前記モータに対して出力し、指示に従った前記モータの回転が停止した後に前記加速度センサから前記加速度を示す情報を取得し、前記加速度を示す情報に基づいて、前記スピーカの向きと重力の方向との角度差を算出し、前記スピーカの向きと重力の方向との角度差に基づいて、前記回転指示に応じた前記スピーカの回転角と前記指定角度との誤差を算出する回転制御装置と、を有するスピーカ装置と、
声かけ対象の対象人物と前記スピーカ装置との相対位置に基づいて、前記スピーカ装置に対して前記スピーカの回転指示を送信し、前記回転指示に応じた前記スピーカの回転終了後に、前記スピーカから前記対象人物向けに出力する音声の音声信号を、前記スピーカ装置に送信するホストコンピュータと、
を有する情報処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、スピーカ装置、回転制御プログラム、および情報処理システムに関する。
【背景技術】
【０００２】
ショッピングセンターなどの大型の施設では、施設内にいる複数の人物のうち、特定の人物に対してのみ音声を届けたい場合がある。その場合、当該人物にパラメトリックスピーカを向けて、パラメトリックスピーカから音声を出力することで、その人物にのみ音声を届けることができる。パラメトリックスピーカは、例えば超音波を用いて、鋭い指向性を有する音声を出力できるスピーカである。
【０００３】
パラメトリックスピーカを有するスピーカ装置は、例えばパラメトリックスピーカの向きを変えるためのモータと、そのモータの回転を制御する回転制御装置とを有する。回転制御装置は、目的の人物がいる方向にパラメトリックスピーカが向くように、モータに対して回転を指示する。指示に応じたモータの回転が停止すると、ホストコンピュータから送られるその人物向けの音声が、パラメトリックスピーカから出力される。
【０００４】
パラメトリックスピーカに関する技術としては、例えば利用者の耳位置の角度に基づいて、パラメトリックスピーカから出力される超音波の周波数を制御する音声通話装置が提案されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−５５０７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
パラメトリックスピーカの向きを変えるためのモータとしては、ステッピングモータを用いることができる。しかしステッピングモータは、例えば脱調によって、モータの回転量が、回転制御装置から指示された回転量とずれる可能性がある。このようなずれを放置すると、スピーカの向きのずれ量が徐々に増大し、声かけの対象である対象人物に音声を届けることができなくなる。
【０００７】
そこで所定のタイミングでスピーカの実際の向きを検出することが考えられる。しかし、回転体の向きを検出するための一般的な設備では、外部にモジュール（エンコーダ、フォトインタラプタ、メカスイッチなど）の取り付けが求められ、スピーカ装置の構造設計上の制約となってしまう。構造設計の制約が大きいと、実装スペースに余裕があるスピーカ装置にしかスピーカの向きの検出機能を実装できず、スピーカの向きの検出機能を実装できるスピーカ装置が制限されてしまう。
【０００８】
１つの側面では、本件は、スピーカの向きの検出機能を容易に実装できるようにすることを目的とする。
【課題を解決するための手段】
【０００９】
１つの案では、スピーカと第１のモータと加速度センサと回転制御装置とを有するスピーカ装置が提供される。
第１のモータは、水平な第１の回転軸を中心としてスピーカを回転させる。加速度センサは、スピーカに伴って回転する位置に取り付けられ、所定の軸方向の加速度を測定する。回転制御装置は、第１のモータに回転を指示する。次に回転制御装置は、指示に従った第１のモータの回転が停止した後に加速度センサから加速度を示す情報を取得する。そして回転制御装置は、加速度を示す情報に基づいて、スピーカの向きと重力の方向との角度差を算出する。
【発明の効果】
【００１０】
１態様によれば、スピーカの向きの検出機能を容易に実装できるようになる。
【図面の簡単な説明】
【００１１】
【図１】第１の実施の形態に係るスピーカ装置の一例を示す図である。
【図２】声かけを行う情報処理システム構成の一例を示す図である。
【図３】スピーカ装置の構造の一例を示す図である。
【図４】回転制御装置およびコントローラのハードウェアの一構成例を示す図である。
【図５】ホストコンピュータのハードウェアの一例を示す図である。
【図６】スピーカに対する位置と音圧レベルとの関係の一例を示す図である。
【図７】回転制御装置の機能の一例を示すブロック図である。
【図８】重力の方向に回転したときの加速度センサの回転軸の一例を示す図である。
【図９】加速度センサの測定値を用いた重力の方向の角度差の算出方法の一例を示す図である。
【図１０】ジャイロセンサの測定値を用いた重力の方向の角度差の算出方法の一例を示す図である。
【図１１】原点復帰時の重力の方向の角度差の誤差の計算例を示す図である。
【図１２】水平方向の回転における原点方向の一例を示す図である。
【図１３】ジャイロセンサの測定値を用いた水平方向の角度差の算出方法の一例を示す図である。
【図１４】水平方向の角度差の誤差の計算例を示す図である。
【図１５】電源投入時のスピーカ装置初期化処理の手順の一例を示すフローチャート（１／２）である。
【図１６】電源投入時のスピーカ装置初期化処理の手順の一例を示すフローチャート（２／２）である。
【図１７】声かけ用回転制御および原点復帰処理の手順の一例を示すフローチャート（１／２）である。
【図１８】声かけ用回転制御および原点復帰処理の手順の一例を示すフローチャート（２／２）である。
【図１９】声かけ前におけるスピーカの向きの補正方法の一例を示す図である。
【図２０】声かけ前におけるスピーカの向きの制御手順の一例を示すフローチャートである。
【図２１】回転途中での補正を伴う水平方向回転処理の手順の一例を示すフローチャートである。
【図２２】回転途中での補正を伴う重力の方向回転処理の手順の一例を示すフローチャートである。
【図２３】ジャイロセンサを用いない場合の初期化処理の手順の一例を示すフローチャートである。
【発明を実施するための形態】
【００１２】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第１の実施の形態〕
まず第１の実施の形態について説明する。第１の実施の形態は、加速度センサまたは地磁気センサを用いて、スピーカの向きを検出できるようにしたスピーカ装置である。
【００１３】
図１は、第１の実施の形態に係るスピーカ装置の一例を示す図である。スピーカ装置１０は、スピーカ１１、第１のモータ１２、第２のモータ１３、加速度センサ１４、地磁気センサ１５、および回転制御装置１６を有している。
【００１４】
スピーカ１１は、例えば超指向性を有するパラメトリックスピーカである。
第１のモータ１２は、水平な第１の回転軸を中心としてスピーカ１１を回転させる。水平な第１の回転軸を中心とする回転は、重力の方向（垂直とも呼ばれる）と平行な平面内での回転となるため重力の方向の回転と呼ぶこともできる。
【００１５】
第２のモータ１３は、重力の方向と平行な第２の回転軸を中心としてスピーカ１１を回転させる。重力の方向と平行な第２の回転軸を中心とする回転は、水平平面内での回転となるため水平方向の回転と呼ぶこともできる。
【００１６】
加速度センサ１４は、所定の軸方向の加速度を測定する。図１の例では、加速度センサ１４は、Ｘ，Ｙ，Ｚの３軸方向の加速度を測定している。また加速度センサ１４は、スピーカ１１に伴って回転する位置に取り付けられている。そのためスピーカ１１の向きに応じて、加速度センサ１４で計測される重力加速度の方向が変わる。
【００１７】
地磁気センサ１５は、スピーカ１１に伴って回転する位置に取り付けられ、地磁気の方向を測定する。
回転制御装置１６は、例えば記憶部１６ａと処理部１６ｂとを有する。記憶部１６ａは、メモリまたはストレージ装置である。処理部１６ｂは、プロセッサまたは演算回路である。記憶部１６ａには、例えば加速度センサ１４から取得した加速度を示す情報、地磁気センサ１５から取得した地磁気の方向を示す情報、原点方位を示す情報などを記憶する。また記憶部１６ａは、処理部１６ｂが実行する処理を記述した回転制御プログラムを記憶することができる。例えば処理部１６ｂは、記憶部１６ａ内の回転制御プログラムを実行することで、スピーカ１１の回転を制御する。すなわち、以下の説明において回転制御装置１６が実行する処理は、処理部１６ｂが回転制御プログラムを実行することによって実現される。
【００１８】
回転制御装置１６は、第１のモータ１２と第２のモータ１３との回転を制御する。また回転制御装置１６は、加速度センサ１４の測定値に基づいて、スピーカ１１の重力の方向の角度差を計算する。また回転制御装置１６は、地磁気センサ１５の測定値に基づいて、スピーカ１１の水平方向の角度差を計算する。ここでスピーカ１１の向きは、例えばスピーカ１１の放射面前方（法線方向）である。スピーカ１１の重力の方向の角度差は、例えばスピーカ１１の向きと重力の方向との成す角（角度差）で表される。またスピーカ１１の水平方向の角度差は、例えばスピーカ１１の向きを水平にした場合のスピーカ１１の向きと、予め設定された原点方位との成す角（角度差）で表される。
【００１９】
例えば回転制御装置１６は、第１のモータ１２に回転を指示し、指示に従った第１のモータ１２の回転が停止した後に加速度センサ１４から加速度を示す情報を取得する。そして回転制御装置１６は、取得した加速度を示す情報に基づいて、スピーカ１１の重力の方向の角度差（θy）を算出する。重力の方向の角度差（θy）の算出方法については、第２の実施の形態において詳細に説明する。
【００２０】
このようにして、スピーカ１１の重力の方向の角度差が、加速度センサ１４の測定値に基づいて検知可能となる。加速度センサ１４は、例えば１つのＩＣ（Integrated Circuit）チップに収まる大きさであり、実装場所についての自由度が高い。すなわち加速度センサ１４を、スピーカ１１に伴って回転する位置に取り付けることは容易である。従って、加速度センサ１４の測定値に基づいてスピーカ１１の重力の方向の角度差を検知できるようにしたことで、スピーカ装置１０へのスピーカ１１の向きの検知機能の実装が容易となっている。
【００２１】
また回転制御装置１６は、スピーカ１１の重力の方向の角度差に基づいて、スピーカ１１の重力の方向の回転角と、スピーカ１１の第１の回転指示の角度である第１の指定角度との誤差（第１の誤差）を算出することもできる。例えば回転制御装置１６は、第１の指定角度だけスピーカ１１を第１の回転軸を中心として回転させる第１の回転指示を第１のモータ１２に対して出力する。回転制御装置１６は、回転終了後のスピーカ１１の重力の方向の角度差に基づいて、第１の回転指示に応じたスピーカ１１の回転角と第１の指定角度との第１の誤差を算出する。例えばスピーカ１１が重力の方向の向いている状態が初期状態の場合において、回転制御装置１６は、初期状態からの第１の回転指示を第１のモータ１２に対して出力する。この場合、回転制御装置１６は、回転終了後のスピーカ１１の重力の方向の角度差と第１の指定角度との差分を、第１の誤差として算出する。
【００２２】
これにより、スピーカ１１を重力の方向に回転させたときの回転誤差を容易に算出可能となる。第１の誤差を算出した場合、回転制御装置１６は、その第１の誤差を減少させる方向へ第１の誤差の分だけスピーカ１１を回転させる補正回転指示を、第１のモータ１２に出力してもよい。これにより、回転誤差が補正され、スピーカ１１の向きを目的の方向に正確に合わせることが可能となる。
【００２３】
回転制御装置１６は、第１の誤差の補正を、例えばスピーカ１１の向きを原点復帰（原点方向に向けること）させる際に実施する。原点復帰の場合、原点復帰のための回転指示後のスピーカ１１の重力の方向の角度差が、第１の誤差となる。
【００２４】
回転制御装置１６は、スピーカ１１の水平方向の角度差の計算を、例えば次のような手順で実施する。まず回転制御装置１６は、第２のモータ１３に回転を指示し、指示に従った第２のモータ１３の回転が停止した後に地磁気センサ１５から地磁気の方向（Ｎ極またはＳ極の方向）を示す情報を取得する。そして回転制御装置１６は、地磁気の方向を示す情報に基づいて、スピーカ１１の向きを水平にした場合のスピーカ１１の向きと、水平方向に予め設定された原点方位との角度差（水平方向の角度差）を算出する。
【００２５】
例えば原点方位が磁南（Ｓ極方向）であるものとする。また地磁気センサ１５は磁北（Ｎ極）方向を示す情報を出力するものとする。この場合、回転制御装置１６は、地磁気センサ１５が出力する地磁気の方向と「１８０°」反対の方向を原点方位と認識する。また地磁気センサ１５が出力する地磁気の方向を示す情報は、スピーカ１１の向きに対する相対的な地磁気の方向が示されている。すなわちスピーカ１１の水平方向の角度差が示されている。従って回転制御装置１６は、地磁気の方向を示す情報に基づいて、原点方位（地磁気の方向と１８０°の差がある）と、スピーカ１１の向きを水平にした場合のスピーカ１１の向きとの角度差を算出することができる。例えば反時計回りを正の回転方向としたとき、スピーカ１１の向きを水平にした場合のスピーカ１１の向きに対する地磁気（Ｎ極）の方向が「１００°」の方向であれば、スピーカ１１の向きに対する原点方位の方向は「−８０°」の方向となる。すなわち原点方位とスピーカ１１の向きとの角度差（水平方向の角度差）は「８０°」となる。
【００２６】
このようにして、スピーカ１１の水平方向の角度差が、地磁気センサ１５の測定値に基づいて検知可能となる。地磁気センサ１５は、加速度センサ１４と同様に、例えば１つのＩＣチップに収まる大きさであり、実装場所についての自由度が高い。すなわち地磁気センサ１５を、スピーカ１１に伴って回転する位置に取り付けることは容易である。従って、地磁気センサ１５の測定値に基づいてスピーカ１１の水平方向の角度差を検知できるようにしたことで、スピーカ１１の向きの検知機能の実装が容易となっている。
【００２７】
また回転制御装置１６は、スピーカ１１の水平方向の角度差に基づいて、スピーカ１１の水平方向の回転角と、スピーカ１１の水平方向の第２の回転指示の角度である第２の指定角度との誤差（第２の誤差）を算出することもできる。例えば回転制御装置１６は、第２の指定角度だけスピーカ１１を第２の回転軸を中心として回転させる第２の回転指示を第２のモータ１３に対して出力する。そして回転制御装置１６は、スピーカ１１の水平方向の角度差に基づいて、第２の回転指示に応じたスピーカ１１の回転角と第２の指定角度との第２の誤差を算出する。
【００２８】
これにより、スピーカ１１を水平方向に回転させたときの回転誤差を容易に算出可能となる。第２の誤差を算出した場合、回転制御装置１６は、その第２の誤差を減少させる方向へ第２の誤差の分だけスピーカ１１を回転させる補正回転指示を第２のモータ１３に出力してもよい。これにより、回転誤差が補正され、スピーカ１１の向きを目的の方向に正確に合わせることが可能となる。
【００２９】
スピーカ装置１０には、回転の角速度を計測するジャイロセンサを取り付けることも可能である。ジャイロセンサは、スピーカ１１に伴って回転する位置に取り付けられる。回転制御装置１６は、ジャイロセンサを用いて、スピーカ１１の回転中に回転角を計算し、誤差を補正することができる。
【００３０】
例えば回転制御装置１６は、第１の指定角度に応じた数のパルス信号を第１のモータ１２に出力する。次に回転制御装置１６は、スピーカ１１の第１の回転軸を中心とした回転中にジャイロセンサから定期的に角速度を示す情報を取得する。そして回転制御装置１６は、取得した角速度を示す情報に基づいて、スピーカ１１の第１の回転軸を中心とした回転角を算出する。回転制御装置１６は、所定のタイミングまでに出力したパルス信号の数に１パルス当りの第１のモータ１２の回転角を乗算して得られる角度と、算出した回転角との差分を計算する。そして回転制御装置１６は、算出した差分に応じて、所定のタイミング以後に出力するパルス数を補正する。例えば回転制御装置１６は、算出した回転角が、出力したパルス信号の数に応じた角度に満たない場合、その後に出力するパルス数を増加させることで、誤差を補正する。
【００３１】
このようにジャイロセンサの測定値を用いることで、スピーカ１１の回転中であっても回転角を算出でき、回転中に誤差を補正することができる。しかもジャイロセンサは、加速度センサ１４または地磁気センサ１５と同様にＩＣチップに収まる程度の大きさであり、実装が容易である。
【００３２】
回転制御装置１６は、例えば重力の方向の回転の第１の指定角度に応じた回転を加速区間、等速区間、および減速区間に分けて制御してもよい。この場合、回転制御装置１６は、加速区間では、パルス信号の出力間隔を時間経過と共に短くする。また回転制御装置１６は、等速区間では、一定間隔でパルス信号を出力する。さらに回転制御装置１６は、減速区間では、パルス信号の出力間隔を時間経過と共に長くする。
【００３３】
回転制御装置１６は、例えば加速区間、等速区間、および減速区間の少なくとも１つの区間に応じたパルス信号の出力完了時を、誤差の補正を行う所定のタイミングとする。これにより、回転誤差が生じても、スピーカ１１を滑らかに回転させることができる。
【００３４】
〔第２の実施の形態〕
次に第２の実施の形態について説明する。第２の実施の形態は、パラメトリックスピーカを用いて特定の人物に声かけを行う情報処理システムにおいて、パラメトリックスピーカの向きの誤差を適切に補正するものである。
【００３５】
図２は、声かけを行う情報処理システム構成の一例を示す図である。図２に示される情報処理システムは、例えば店舗などの施設に設置される。情報処理システムが設置された施設内の対象人物２１は、例えば施設内で怪しい挙動を示す人物である、声かけの対象となる人物である。また情報処理システムが設置された施設内には、カメラ４２とスピーカ装置３０とが設置されている。図２に示される情報処理システムは、カメラ４２によって対象人物２１を検知し、スピーカ装置３０が有するスピーカによって対象人物２１に向けて音声を出力する。
【００３６】
ホストコンピュータ３００は、対象人物２１の検出とスピーカ装置３０の制御とを行う。ホストコンピュータ３００は、カメラ４２の撮影した画像（映像でもよい）を取得し、対象人物２１を検出する。またホストコンピュータ３００は、コントローラ２００を介してスピーカ装置３０から出力する音声を制御する。例えばホストコンピュータ３００は、スピーカ装置３０から出力する音声の大きさや内容（音声ファイル）を決定し、対応する音声信号をスピーカ装置３０に送信する。
【００３７】
またホストコンピュータ３００は、コントローラ２００を介してスピーカ装置３０が有するスピーカの放射部の向きを指示する。例えばホストコンピュータ３００は、対象人物２１を撮影した画像に基づいて、対象人物２１とスピーカ装置３０との相対的な位置関係（相対位置）を特定する。なおスピーカ装置３０が設置された位置とスピーカ装置３０の水平方向の回転における正面の方向（方位）とは、予めホストコンピュータ３００に設定されている。次にホストコンピュータ３００は、対象人物２１とスピーカ装置３０との相対位置に基づいて、スピーカ装置３０が有するスピーカを対象人物２１に向けるための回転角を算出する。ホストコンピュータ３００は、算出した回転角をスピーカ装置３０に通知する。スピーカ装置３０は、通知された回転角に応じた回転数だけモータを回転させる。そしてホストコンピュータ３００は、回転指示に応じたモータの回転終了後に、スピーカから対象人物２１向けに出力する音声の音声信号を、スピーカ装置３０に送信する。
【００３８】
次に、スピーカ装置３０の構造について説明する。
図３は、スピーカ装置の構造の一例を示す図である。スピーカ装置３０は、土台３４と支柱３５とによって天井に設置されている。支柱３５は、土台３４の中心から鉛直下方向に伸びる円柱状の支柱である。支柱３５は、モータ３２ａによって回転する。モータ３２ａによる支柱３５の回転は、土台３４の中心を通り鉛直方向に伸びる水平回転軸３７ａを中心とする回転の角変位の変動である。水平回転軸３７ａを中心とする回転の角変位の変動を水平方向の回転といい、水平回転軸３７ａを中心とする回転の角変位を水平方向の角変位ということがある。なおモータ３２ａは、第１の実施の形態における第２のモータ１３（図１参照）の一例である。
【００３９】
支柱３５には、スピーカ３３が設置されている。スピーカ３３は、モータ３２ｂの軸によって回転する。モータ３２ｂによるスピーカ３３の回転は、支柱３５に対して垂直に伸びる垂直回転軸３７ｂを中心とする回転の角変位の変動である。なお、垂直回転軸３７ｂを中心とする回転の角変位の変動を重力の方向の回転といい、垂直回転軸３７ｂを中心とする回転の角変位を重力の方向の角変位ということがある。なおモータ３２ｂは、第１の実施の形態における第１のモータ１２（図１参照）の一例である。
【００４０】
スピーカ３３は、超指向性を有するパラメトリックスピーカである。スピーカ３３は、放射部３３ａとスピーカ基板３３ｂとセンサユニット３１とを有する。放射部３３ａは、振動板を振動させ音声を出力する。スピーカ基板３３ｂは、放射部３３ａの振動板を振動させる電気信号を放射部３３ａに入力する電子回路基板である。なおスピーカ３３の向きとは、具体的には放射部３３ａの前面側の法線方向を指す。
【００４１】
センサユニット３１は、スピーカ基板３３ｂ上に実装されている。センサユニット３１は、スピーカ３３の向きを測定するための複数のセンサを内蔵している。センサユニット３１は、例えばＩＣ化されており、スピーカ基板３３ｂ上の狭いスペースにも実装可能である。
【００４２】
土台３４には、回転制御装置１００が収納されている。回転制御装置１００は、例えばコンピュータの機能が実装されたプリント基板である。回転制御装置１００は、コントローラ２００を介してホストコンピュータ３００に接続されている。回転制御装置１００は、ホストコンピュータ３００の指示に応じて、スピーカ３３の向きを変えるためのモータ３２ａ，３２ｂを回転させる。例えば回転制御装置１００は、ホストコンピュータ３００から通知された角度分だけ、モータ３２ａ，３２ｂを回転させる。
【００４３】
なお第２の実施の形態では、モータ３２ａ，３２ｂはステッピングモータであるものとする。この場合、回転制御装置１００は、ホストコンピュータ３００から通知された角度分のパルス信号をモータ３２ａ，３２ｂに出力することで、モータ３２ａ，３２ｂを回転させる。
【００４４】
図４は、回転制御装置およびコントローラのハードウェアの一構成例を示す図である。回転制御装置１００は、マイクロコントローラ（マイコン）１０１によって装置全体が制御されている。マイコン１０１は、プロセッサ１０１ａとＲＡＭ（Random Access Memory）１０１ｂとＲＯＭ（Read Only Memory）１０１ｃとを有する。プロセッサ１０１ａは、ＲＯＭ１０１ｃに格納されたファームウェア（制御用のソフトウェア）をＲＡＭ１０１ｂに読み込み、ファームウェアに従ってスピーカ３３の回転制御を行う。プロセッサ１０１ａは、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、またはＤＳＰ（Digital Signal Processor）である。プロセッサ１０１ａがプログラムを実行することで実現する機能の少なくとも一部を、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）などの電子回路で実現してもよい。
【００４５】
ＲＡＭ１０１ｂは、回転制御装置１００の主記憶装置として使用される、揮発性の半導体記憶装置である。ＲＡＭ１０１ｂには、プロセッサ１０１ａに実行させるプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０１ｂには、プロセッサ１０１ａによる処理に利用する各種データが格納される。
【００４６】
ＲＯＭ１０１ｃは、ファームウェアを記憶する不揮発性の半導体記憶装置である。ＲＯＭ１０１ｃとしては、ＥＰＲＯＭ（Erasable Programmable Read Only Memory）またはＥＥＰＲＯＭ（Electrically Erasable Programmable Read-Only Memory）を用いることができる。
【００４７】
マイコン１０１には、機器接続インタフェース１０２、モータドライバ１０３，１０４および接続インタフェース１０５が接続されている。
機器接続インタフェース１０２には、センサユニット３１が接続されている。センサユニット３１は、例えば、加速度センサ３１ａ、ジャイロセンサ３１ｂ、および地磁気センサ３１ｃを有する。加速度センサ３１ａは、３軸方向の加速度を測定するセンサである。ジャイロセンサ３１ｂは、３軸方向の回転速度（角速度）を計測するセンサである。ジャイロセンサ３１ｂは、角速度センサとも呼ばれる。地磁気センサ３１ｃは、地磁気の３次元での方向（例えばＳ極の方向）を計測するセンサである。地磁気の方向は、例えば３軸方向の成分を有するベクトルで表される。機器接続インタフェース１０２は、センサユニット３１内の各センサが測定した値を、マイコン１０１に送信する。
【００４８】
モータドライバ１０３は、スピーカ３３を水平方向に回転させるためのモータ３２ａに接続されている。モータドライバ１０３は、マイコン１０１からパルス信号を受け取りモータ３２ａの軸を回転させる。
【００４９】
モータドライバ１０４は、スピーカ３３を重力の方向に回転させるためのモータ３２ｂに接続されている。モータドライバ１０４は、マイコン１０１からパルス信号を受け取りモータ３２ｂの軸を回転させる。
【００５０】
接続インタフェース１０５は、コントローラ２００と接続するためのインタフェースである。接続インタフェース１０６が用いる規格としては、例えばＲＳ−４８５などがある。
回転制御装置１００は、以上のようなハードウェア構成によって、第２の実施の形態の処理機能を実現することができる。なお、第１の実施の形態に示した回転制御装置１６も、図４に示した回転制御装置１００と同様のハードウェアにより実現することができる。またプロセッサ１０１ａは、第１の実施の形態に示した処理部１６ｂの一例である。ＲＡＭ１０１ｂまたはＲＯＭ１０１ｃは、第１の実施の形態に示した記憶部１６ａの一例である。センサユニット３１は、第１の実施の形態に示した加速度センサ１４、地磁気センサ１５などの複数のセンサを内蔵するセンサの一例である。
【００５１】
回転制御装置１００は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施の形態の処理機能を実現する。回転制御装置１００に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、回転制御装置１００のプロセッサ１０１ａに実行させるプログラムを、ＲＯＭ１０１ｃにファームウェアとして格納しておくことができる。またプロセッサ１０１ａに実行させるプログラムを、光ディスク、メモリ装置、メモリカードなどの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ１０１ａからの制御により、ＲＯＭ１０１ｃに書き込まれた後、実行可能となる。
【００５２】
コントローラ２００は、ホストコンピュータ３００と周辺機器とを接続するためのハブ２０１を有する。ハブ２０１は、例えばＵＳＢ（Universal Serial Bus）などの規格によってホストコンピュータ３００と接続されている。ハブ２０１に接続されている周辺機器としては、シリアルバス２０２、ＤＡＣ（Digital Analog Converter）２０４および接続インタフェース２０６がある。
【００５３】
シリアルバス２０２は、ハブ２０１とＤＰＯＴ（Digital POTentiometer）２０３とを接続するためのバスである。シリアルバス２０２が用いる規格としては、例えばＩ２Ｃ（登録商標）などがある。ＤＰＯＴ２０３は、信号に応じて抵抗値が変化する可変抵抗器である。ＤＰＯＴ２０３の抵抗値によってＡＭＰ（AMPlifier）２０５に流れる電流が制御される。
【００５４】
ＤＡＣ２０４は、ホストコンピュータ３００からのデジタル信号をアナログ信号に変換し、ＡＭＰ２０５に出力する。ＡＭＰ２０５は、ＤＡＣ２０４から入力されたアナログ信号を電流によって増幅しスピーカ３３に出力する。
【００５５】
スピーカ３３は、ＡＭＰ２０５から入力された信号に応じた音声を出力する。スピーカ３３は、例えばパラメトリックスピーカであり、超音波によって音声を出力する。
接続インタフェース２０６は、回転制御装置１００と接続するためのインタフェースである。接続インタフェース２０６が用いる規格は、接続インタフェース１０６と同様である。
【００５６】
図５は、ホストコンピュータのハードウェアの一例を示す図である。ホストコンピュータ３００は、プロセッサ３０１によって装置全体が制御されている。プロセッサ３０１には、バス３１１を介してメモリ３０２と複数の周辺機器が接続されている。プロセッサ３０１は、マルチプロセッサであってもよい。プロセッサ３０１は、例えばＣＰＵ、ＭＰＵ、またはＤＳＰである。プロセッサ３０１がプログラムを実行することで実現する機能の少なくとも一部を、ＡＳＩＣ、ＰＬＤなどの電子回路で実現してもよい。
【００５７】
メモリ３０２は、ホストコンピュータ３００の主記憶装置として使用される。メモリ３０２には、プロセッサ３０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ３０２には、プロセッサ３０１による処理に利用する各種データが格納される。メモリ３０２としては、例えばＲＡＭなどの揮発性の半導体記憶装置が使用される。
【００５８】
バス３１１に接続されている周辺機器としては、ストレージ装置３０３、グラフィック処理装置３０４、機器接続インタフェース３０５、入力インタフェース３０６、光学ドライブ装置３０７、機器接続インタフェース３０８、接続インタフェース３０９およびネットワークインタフェース３１０がある。
【００５９】
ストレージ装置３０３は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置３０３は、コンピュータの補助記憶装置として使用される。ストレージ装置３０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置３０３としては、例えばＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）を使用することができる。
【００６０】
グラフィック処理装置３０４には、モニタ４１が接続されている。グラフィック処理装置３０４は、プロセッサ３０１からの命令に従って、画像をモニタ４１の画面に表示させる。モニタ４１としては、有機ＥＬ（Electro Luminescence）を用いた表示装置や液晶表示装置などがある。
【００６１】
機器接続インタフェース３０５には、カメラ４２が接続されている。カメラ４２は、プロセッサ３０１からの命令に従って、カメラ４２のレンズを向けた先の光景の静止画または動画のデータを生成し、メモリ３０２に格納する。
【００６２】
入力インタフェース３０６には、キーボード４３とマウス４４とが接続されている。入力インタフェース３０６は、キーボード４３やマウス４４から送られてくる信号をプロセッサ３０１に送信する。なお、マウス４４は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００６３】
光学ドライブ装置３０７は、レーザ光などを利用して、光ディスク４５に記録されたデータの読み取りを行う。光ディスク４５は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク４５には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ（Compact Disc）−ＲＯＭ、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００６４】
機器接続インタフェース３０８は、ホストコンピュータ３００に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース３０８には、メモリ装置４６やメモリリーダライタ４７を接続することができる。メモリ装置４６は、機器接続インタフェース３０８との通信機能を搭載した記録媒体である。メモリリーダライタ４７は、メモリカード４８へのデータの書き込み、またはメモリカード４８からのデータの読み出しを行う装置である。メモリカード４８は、カード型の記録媒体である。
【００６５】
接続インタフェース３０９は、コントローラ２００と接続するためのインタフェースである。接続インタフェース３０９が用いる規格は、ハブ２０１が用いる規格と同様である。
ネットワークインタフェース３１０は、ネットワーク２０に接続されている。ネットワークインタフェース３１０は、ネットワーク２０を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【００６６】
ホストコンピュータ３００は、以上のようなハードウェア構成によって、第２の実施の形態の処理機能を実現することができる。ホストコンピュータ３００は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施の形態の処理機能を実現する。ホストコンピュータ３００に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、ホストコンピュータ３００に実行させるプログラムをストレージ装置３０３に格納しておくことができる。プロセッサ３０１は、ストレージ装置３０３内のプログラムの少なくとも一部をメモリ３０２にロードし、プログラムを実行する。またホストコンピュータ３００に実行させるプログラムを、光ディスク４５、メモリ装置４６、メモリカード４８などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ３０１からの制御により、ストレージ装置３０３にインストールされた後、実行可能となる。またプロセッサ３０１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００６７】
次に、スピーカ３３の性質について説明する。
図６は、スピーカに対する位置と音圧レベルとの関係の一例を示す図である。以下では、指向性のないスピーカ４０とパラメトリックスピーカであるスピーカ３３との違いについて説明する。なお図６では、スピーカ３３，４０が発する音声の音圧レベルの値の高低が点の濃淡で表され、点が濃い箇所は音圧レベルが高いことを示し、点が薄い箇所は音圧レベルが低いことを示す。
【００６８】
スピーカ４０が発する音声は、全方向に伝わり、距離が遠くなるほど減衰していく。よってスピーカ４０の近辺では音圧レベルが高く、スピーカ４０からの距離が大きくなるに連れて音圧レベルは低くなる。この場合、スピーカ４０が対象人物２１に向いていたとしても、スピーカ４０と対象人物２１との距離が大きいと、対象人物２１は、スピーカ４０が発する音声を聞き取りづらいことや聞き取れない場合がある。
【００６９】
一方スピーカ３３が発する音声は、原音に超音波の変調をかけて出力される。この音声は、超音波の特性によって直進する。ここで、超音波は広がらないため、距離が遠くなることによる音声の減衰量は小さい。よってスピーカ３３が向いている方向の直線上では音圧レベルが高く、スピーカ３３が向いている方向以外の方向では音圧レベルは低くなる。そのため、スピーカ３３が対象人物２１に向いていると、スピーカ３３と対象人物２１との距離が大きくても、対象人物２１はスピーカ３３が発する音声を聞き取ることができる。このようにして、スピーカ３３によって特定の人物（対象人物２１）のみに音声が届けられる。
【００７０】
ここで、スピーカ３３の向きは、２つの回転軸を中心とする回転（２つの軸回転）それぞれの角変位によって決定される。２つの軸回転の角変位は、それぞれモータ３２ａ，３２ｂの回転に伴って変動する。スピーカ３３の水平方向の向きが原点方位と一致する状態からのモータ３２ａの回転によって生じた角変位は、スピーカ３３の水平方向の角度差を表している。スピーカ３３を重力の方向に向けた状態からのモータ３２ｂの回転によって生じた角変位は、スピーカ３３の重力の方向の角度差を表している。ホストコンピュータ３００は、例えばモータ３２ａ，３２ｂへの回転指示を出力し、モータ３２ａ，３２ｂを回転させたとき、その回転で生じると期待される角変位（回転指示で指定した指定角度）を記憶しておく。そしてホストコンピュータ３００は、次の回転指示では、記憶している角変位と目的の角度との差だけ軸回転の角変位が変動するように、モータ３２ａ，３２ｂの軸を回転させる。
【００７１】
このとき、ホストコンピュータ３００から指示された回転量と実際のモータ３２ａ，３２ｂの回転量とが脱調などによりずれることがある。すると、ホストコンピュータ３００が記憶する各軸方向の回転の現在の角変位と、実際の軸回転で生じた重力の方向の角度差または水平方向の角度差とに差異が生じる。そして、このように生じた差異だけスピーカ３３の向きが目的の方向からずれる。スピーカ３３の向きが目的の方向からずれると、スピーカ３３が音声を届けられる幅は狭いため、対象人物２１に音声を届けられなくなることがある。
【００７２】
そこで第２の実施の形態では、回転制御装置１００が、スピーカ３３の向きのずれをキャリブレーション（較正）する。例えば回転制御装置１００は、ホストコンピュータ３００からの指示に従いスピーカ３３を対象人物２１に向ける。回転制御装置１００は、音声の出力が完了したことを確認すると、スピーカ３３の向きを原点方向（初期状態での向き）に復帰させる。その後、回転制御装置１００は、原点復帰のための回転後のスピーカ３３の向きを計測し、スピーカ３３の向きと原点の方向とのずれを検知する。ずれがある場合、回転制御装置１００は、ずれ量に応じて、スピーカ３３の向きを原点方向にさらに回転させる。
【００７３】
回転制御装置１００による重力の方向の誤差の補正の概略の手順は以下の通りである。
回転制御装置１００は、原点方向を、下向き（重力の方向）に定める。回転制御装置１００は、電源投入時、加速度センサ３１ａの測定値に基づいて、スピーカ３３の傾き（原点方向からのずれ）を算出する。回転制御装置１００は、傾きが「０」になる角度分、モータ３２ｂを回転させる。傾きが「０」の状態とは、重力加速度がＺ軸のみに作用している状態である。
【００７４】
その後、回転制御装置１００は、ホストコンピュータ３００から対象人物２１までの回転角度（指定角度）を受け取ると、モータ３２ｂを回転させる。回転制御装置１００は、モータ３２ｂを回転させながらジャイロセンサ３１ｂで回転角を算出する。回転制御装置１００は、対象人物２１への声かけが終了すると、ジャイロセンサ３１ｂで検出した回転角分を戻すようにモータ３２ｂを回転させる。回転制御装置１００は、スピーカ３３の向きを戻す制御が終わると、加速度センサ３１ａの測定値に基づいて、スピーカ３３の重力の方向の傾きを検出する。回転制御装置１００は、傾きが「０」でなければ、その傾きを誤差と捉え、誤差が「０」となるまで、モータ３２ｂの補正移動の回転を指示する。
【００７５】
回転制御装置１００による水平方向の誤差の補正の概略の手順は以下の通りである。
回転制御装置１００は、原点方向（原点方位）は、予め地磁気センサ３１ｃで測定した方位とする。例えば回転制御装置１００は、電源投入時、水平方向の一方へ、モータ３２ａをゆっくり回転させながらジャイロセンサ３１ｂで測定した角速度に基づいて回転角を算出する。回転制御装置１００は、回転の限界に達して脱調が発生したら、モータ３２ａを逆方向へ「９０°」回転させる。回転制御装置１００は、「９０°」回転後のスピーカ３３の水平方向の向き（方位）を地磁気センサ３１ｃで検出する。そして回転制御装置１００は、検出した方位を水平方向の原点方位とする。
【００７６】
その後、回転制御装置１００は、ホストコンピュータ３００から対象人物２１までの回転角度（指定角度）を受け取ると、モータ３２ａを回転させる。回転制御装置１００は、モータ３２ａを回転させながらジャイロセンサ３１ｂで回転角を算出する。回転制御装置１００は、対象人物２１への声かけが終了すると、ジャイロセンサ３１ｂで検出した回転角分を戻すようにモータ３２ａを回転させる。回転制御装置１００は、スピーカ３３の向きを戻す制御が終わると、地磁気センサ３１ｃの測定値に基づいて、スピーカ３３の水平方向の向き（方位）を検出する。回転制御装置１００は、検出した方位と原点方位とのずれが「０」でなければ、そのずれを誤差と捉え、誤差が「０」となるまで、モータ３２ａの補正移動の回転を指示する。
【００７７】
このように、スピーカ装置３０では、スピーカ３３の向きを検知するのに、センサユニット３１内の各センサの測定値を用いている。ここでセンサの測定値を用いてスピーカ３３の向きを検知する利点について説明する。
【００７８】
一般に、ステッピングモータ自身では、回転角が分からず、脱調により回転角にずれが生じても検知できない。そこでステッピングモータとは別に、回転角の検知機構を実装することが考えられる。位置検出に利用できるものとして、エンコーダ、フォトインタラプタ、メカスイッチなどが考えられるが、これらの部品の取り付けは、構造設計上の制約が大きい。例えば、エンコーダはサイズが大きく、十分な設置スペースが求められる。またフォトインタラプタは、モータごとに設けることとなり数が多くなると共に、設置位置にも制約がある。メカスイッチもモータごとに設けられることとなり数が多くなると共に、モータに機械的負荷を与えてしまう。
【００７９】
それに対して、加速度センサ３１ａ、ジャイロセンサ３１ｂ、地磁気センサ３１ｃなどの各種センサは、それらを１つのＩＣ内に収めることが可能であり、非常にサイズが小さい。そのため、設置スペースが少なくて済む。しかも、設置位置がモータの近傍に制限されることもないため、構造設計上の制約も最小限となる。さらにモータに対する余分な負荷の増加にもならない。
【００８０】
このように、センサには実装上の制約は少ないという利点がある。しかも加速度センサ３１ａなどのセンサは、各種分野で利用されており、安価に入手可能である。そのため、センサの測定値を用いてスピーカ３３の向きを検知できるようにすることで、スピーカ装置３０へのスピーカ３３の向きの検知機構の実装が容易となる。
【００８１】
次にスピーカ３３の向きの検知と、検知した向きのずれの較正とを実施するために回転制御装置１００が有する機能について説明する。
図７は、回転制御装置の機能の一例を示すブロック図である。回転制御装置１００は、記憶部１１０、回転指示部１２０、および角度算出部１３０を有する。
【００８２】
記憶部１１０は、水平方向の原点となる方角を示す原点方位情報を記憶する。水平方向の原点となる方角は、スピーカ装置３０を設置した際に、記憶部１１０に設定される。記憶部１１０は、例えば回転制御装置１００のＲＯＭ１０１ｃによって実現される。
【００８３】
回転指示部１２０は、ホストコンピュータ３００からの指示に従って、モータ３２ａ，３２ｂへの回転を指示する。例えば回転指示部１２０は、回転角度に応じた数のパルス信号をモータ３２ａ，３２ｂに出力する。また回転指示部１２０は、角度算出部１３０が算出した角度に基づいて、原点方向とのずれの有無を判断し、ずれがある場合には、ずれ量に応じた回転指示をモータ３２ａ，３２ｂに出力する。
【００８４】
角度算出部１３０は、センサユニット３１内の各センサの測定値に基づいて、スピーカ３３の重力の方向または水平方向の角度を算出する。また角度算出部１３０は、算出した角度と原点方向との成す角度（ずれ量）を算出することもできる。例えば角度算出部１３０は、原点復帰制御後に、重力の方向または水平方向のずれ量を算出する。なお重力の方向回転の原点方向は、例えば重力の方向である。また水平方向回転の原点方向は、記憶部１１０に設定されている原点方位情報に示される方向である。
【００８５】
なお、図７に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図７に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
【００８６】
次に角度算出部１３０による角度の算出方法について、詳細に説明する。
図８は、重力の方向に回転したときの加速度センサの回転軸の一例を示す図である。加速度センサ３１ａは、ローカルな３次元の座標系において加速度を計測する。加速度センサ３１ａのローカル座標系は、スピーカ３３の回転に伴ってグローバル座標系に対して回転する。ここでグローバル座標系とは、重力の方向をＺ軸とする座標系である。
【００８７】
スピーカ３３が、重力の方向の回転における原点方向（重力の方向）を向いているとき、加速度センサ３１ａのＸ軸とＹ軸は水平となり、Ｚ軸は垂直となる。図８の例では、加速度センサ３１ａのＺ軸は、重力と反対方向が正の方向である。すなわち、スピーカ３３が重力の方向の回転の原点方向を向いているとき、加速度センサ３１ａで測定されるＺ軸の値（加速度のＺ軸成分Ａz）は、重力加速度「９．８０６６５」となる。
【００８８】
ここで垂直回転軸３７ｂ（図３参照）と加速度センサ３１ａのＹ軸とが平行であるものとする。その場合、スピーカ３３の重力の方向の回転は、加速度センサ３１ａのＹ軸を中心とした回転となる。このとき加速度のＸ軸成分ＡxとＺ軸成分Ａzとに基づいて、スピーカ３３の重力の方向の角度差θyを算出することができる。
【００８９】
図９は、加速度センサの測定値を用いた重力の方向の角度差の算出方法の一例を示す図である。なお、図９では重力加速度を「９．８」と近似している。また、加速度センサ３１ａのローカル座標系におけるＸ軸とグローバル座標系のＸ軸との差をθxとする。
【００９０】
このとき、「ｃｏｓθx＝Ａx／９．８」、「ｓｉｎθx＝Ａz／９．８」、「ｔａｎθx＝Ａz／Ａx」となる。「ｃｏｓθx＝Ａx／９．８」の逆関数を用いれば、加速度のＸ軸成分Ａxのみからθxを算出できる。「ｓｉｎθx＝Ａz／９．８」の逆関数を用いれば、加速度のＺ軸成分Ａzのみからθxを算出できる。ただし一軸の成分のみを用いた計算だと、加速度センサ３１ａの分解能に基づく誤差が大きくなる。そこで角度算出部１３０は、「ｔａｎθx＝Ａz／Ａx」の逆関数を用い、加速度のＸ軸成分ＡxとＺ軸成分Ａzとからθxを算出する。具体的には、以下の式（１）で算出できる。
θx＝ｔａｎ-1（Ａz／Ａx）      （１）
θxに基づいて、重力の方向の角度差θyは「θy＝９０−｜θx｜」と表すことができる。この式のθxを式（１）の右辺で置き換えると、重力の方向の角度差θyは以下の式（２）で表される。
θy＝９０−｜ｔａｎ-1（Ａz／Ａx）｜      （２）
重力の方向の角度差θyは、ジャイロセンサ３１ｂの測定値から算出することもできる。
【００９１】
図１０は、ジャイロセンサの測定値を用いた重力の方向の角度差の算出方法の一例を示す図である。ジャイロセンサ３１ｂは、ローカルな３次元の座標系において角速度ωを計測する。ジャイロセンサ３１ｂのローカル座標系は、スピーカ３３の回転に伴ってグローバル座標系に対して回転する。スピーカ３３が、重力の方向の回転における原点方向（重力の方向）を向いているとき、ジャイロセンサ３１ｂのＸ軸とＹ軸は水平となり、Ｚ軸は垂直となる。
【００９２】
ここで垂直回転軸３７ｂ（図３参照）とジャイロセンサ３１ｂのＹ軸とが平行であるものとする。その場合、スピーカ３３の重力の方向の回転は、ジャイロセンサ３１ｂのＹ軸を中心とした回転となる。ジャイロセンサ３１ｂを用いるとＹ軸を中心とした回転の回転角Ｇyを算出することができる。原点方向からの回転角Ｇyを求めれば、その回転角Ｇyは原点方向からの重力の方向の角度差θyに等しくなる。すなわち、ジャイロセンサ３１ｂでは、以下の式（３）により、重力の方向の回転における原点方向を向いた状態からの重力の方向の角度差θyを算出することができる。
θy＝Ｇy＝Σωyｔ      （３）
式（３）におけるωyは、Ｙ軸を中心とした回転の角速度であり、ｔは角速度を計測した時間間隔である。例えばスピーカ３３が重力の方向の回転における原点方向を向いた状態から、ω1の角速度で時間ｔ1だけ回転し、ω2の角速度で時間ｔ2だけ回転し、ω3の角速度で時間ｔ3だけ回転し、ω4の角速度で時間ｔ4だけ回転したものとする。この場合、重力の方向の角度差θyは、「θy＝ω1ｔ1＋ω2ｔ2＋ω3ｔ3＋ω4ｔ4」となる。
【００９３】
このように重力の方向の角度差θyは、加速度センサ３１ａまたはジャイロセンサ３１ｂの測定値から算出できる。加速度センサ３１ａの測定値を用いた重力の方向の角度差θyは現在の加速度の状態のみから高精度に算出できる。他方、加速度センサ３１ａの測定値を用いた重力の方向の角度差θyの計算は、スピーカ３３が回転している間は、回転運動の影響を受け、正確な計算が困難となる。それに対して、ジャイロセンサ３１ｂの測定値を用いた重力の方向の角度差θyの計算は、スピーカ３３が回転している間であっても計算精度が落ちることはない。
【００９４】
従って、重力の方向の回転を停止した状態で計測できるのであれば、加速度センサ３１ａの測定値を用いて重力の方向の角度差θyを計算するのが適切となる。またスピーカ３３を回転させながら重力の方向の角度差θyを求めるのであれば、ジャイロセンサ３１ｂの測定値を用いて重力の方向の角度差θyを計算するのが適切となる。
【００９５】
図１１は、原点復帰時の重力の方向の角度差の誤差の計算例を示す図である。スピーカ３３が重力の方向の原点方向を向いている場合、加速度センサ３１ａで計測される加速度のＸ軸成分は「０．０」、Ｙ軸成分は「０．０」、Ｚ軸成分は「−９．８」となる。またジャイロセンサ３１ｂで計測される角速度に基づいて計算した各軸を中心とした回転で生じる角度差はすべて「０．０」である。
【００９６】
この状態で、ホストコンピュータ３００から重力の方向に「４０°」回転させる指示が入力されたものとする。すると回転指示部１２０は、モータ３２ｂに対して「４０°」分の回転を指示する。
【００９７】
スピーカ３３が重力の方向に「４０°」回転すると、加速度センサ３１ａで計測される加速度のＸ軸成分は「７．５０７」、Ｙ軸成分は「０．０」、Ｚ軸成分は「−６．２９９」となる。またジャイロセンサ３１ｂで計測される角速度に基づいて計算したＹ軸を中心とした回転で生じる角度差は「４０．０」となる。
【００９８】
回転指示部１２０は、指定された角度の回転が終了すると、ホストコンピュータ３００に回転終了を通知する。するとホストコンピュータ３００は、音声信号をスピーカ装置３０に送信し、スピーカ３３から対象人物２１に対する音声を出力させる（声かけを行う）。声かけが終了すると、ホストコンピュータ３００は、回転制御装置１００に対して、ジャイロセンサ３１ｂの測定値に基づいて計算した移動角度（角度差「４０．０」）だけ、反対方向に回転するように指示する。すなわちホストコンピュータ３００は、「−４０°」の回転を指示する。すると、回転制御装置１００の回転指示部１２０は、モータ３２ｂに対して「−４０°」分の回転を指示する。
【００９９】
このときモータ３２ｂにおいて脱調が発生し、スピーカ３３の回転角は「−４０°」に達していないものとする。そのため、原点復帰の処理を実施した後においても、スピーカ３３の向きが原点方向からずれている。
【０１００】
図１１の例では、加速度センサ３１ａで計測される加速度のＸ軸成分は「０．８５４」、Ｙ軸成分は「０．０」、Ｚ軸成分は「−９．７６２」となっている。このとき、角度算出部１３０が誤差を計算する。すなわち角度算出部１３０は、式（２）に基づいて、現在の重力の方向の角度差θyを計算する。すると「角度差θy＝５°」となる。この角度が、角度差の誤差である。
【０１０１】
次に水平方向の角度差の算出方法について説明する。水平方向の回転における原点方向（原点方位）は、例えばスピーカ装置３０の正面の方角である。
図１２は、水平方向の回転における原点方向の一例を示す図である。図１２は、スピーカ装置３０の下面図である。すなわち天井に取り付けられたスピーカ装置３０を下から見上げたときの様子が図１２に示されている。スピーカ３３は、水平方向を向いているものとする。
【０１０２】
ここで、スピーカ３３が水平方向に「１８０°」回転可能な場合を想定する。この場合、スピーカ３３の回転可能範囲の中間の方向をスピーカ３３が向いているときの正面（放射面前方）の方位を原点方位とする。原点方位を示す原点方位情報は、例えば電源投入時の初期化処理の際に角度算出部１３０によって地磁気センサ３１ｃから取得され、記憶部１１０に格納される。
【０１０３】
スピーカ３３の水平方向の角度差は、ジャイロセンサ３１ｂの測定値に基づいて算出することができる。
図１３は、ジャイロセンサの測定値を用いた水平方向の角度差の算出方法の一例を示す図である。スピーカ３３が、重力の方向の回転における原点方向（重力の方向）を向いているとき、ジャイロセンサ３１ｂのＸ軸とＹ軸は水平となり、Ｚ軸は垂直となる。
【０１０４】
ここで水平回転軸３７ａ（図３参照）とジャイロセンサ３１ｂのＺ軸とが平行であるものとする。その場合、スピーカ３３の水平方向の回転は、ジャイロセンサ３１ｂのＺ軸を中心とした回転となる。ジャイロセンサ３１ｂを用いるとＺ軸を中心とした回転の回転角Ｇzを算出することができる。原点方位からの回転角Ｇzを求めれば、その回転角Ｇzは水平方向の角度差θzに等しくなる。すなわち、ジャイロセンサ３１ｂでは、以下の式（４）により、重力の方向の回転における原点方向を向いた状態からの水平方向の角度差θzを算出することができる。
θz＝Ｇz＝Σωzｔ      （４）
式（４）におけるωzは、Ｚ軸を中心とした回転の角速度であり、ｔは角速度を計測した時間間隔である。例えばスピーカ３３が重力の方向の回転における原点方向を向いた状態から、ω1の角速度で時間ｔ1だけ回転し、ω2の角速度で時間ｔ2だけ回転し、ω3の角速度で時間ｔ3だけ回転し、ω4の角速度で時間ｔ4だけ回転したものとする。この場合、水平方向の角度差θzは、「θz＝ω1ｔ1＋ω2ｔ2＋ω3ｔ3＋ω4ｔ4」となる。
【０１０５】
ジャイロセンサ３１ｂの測定値を用いれば、スピーカ３３を回転させるごとの実際の回転角が分かる。スピーカ３３の回転の指定角度と実際の回転角との誤差を求めれば、脱調の有無を判定することができる。
【０１０６】
図１４は、水平方向の角度差の誤差の計算例を示す図である。図１４の例では、原点方位から「９０°」を指定角度とした回転指示が、ホストコンピュータ３００から入力された場合を想定している。この場合、回転指示部１２０は、モータ３２ａに対して「９０°」分のパルス信号を出力する。そのパルス信号に応じてモータ３２ａが回転する。角度算出部１３０は、ジャイロセンサ３１ｂが測定した角速度を取得し、回転角を算出する。図１４の例では、回転角は「８０°」となっている。この場合、指定角度である「９０°」と、回転角「８０°」との差分が、脱調による誤差である。
【０１０７】
回転指示部１２０は、脱調による誤差の量が分かれば、誤差の分だけさらにスピーカ３３を回転させることで、誤差を補正することができる。また可動範囲の限界に達したことを、脱調の有無で判断することもできる。
【０１０８】
次に、図１５〜図１８を参照し、スピーカ３３を用いた対象人物２１への声かけの手順について詳細に説明する。
図１５は、電源投入時のスピーカ装置初期化処理の手順の一例を示すフローチャート（１／２）である。以下、図１５に示す処理をステップ番号に沿って説明する。
【０１０９】
［ステップＳ１０１］スピーカ装置３０は、電源ＯＮの操作が行われると、回転制御装置１００およびスピーカ３３に対して電源を供給する。すると回転制御装置１００は初期化処理を開始する。
【０１１０】
［ステップＳ１０２］回転制御装置１００の角度算出部１３０は、加速度センサ３１ａの測定値を取得する。そして角度算出部１３０は、加速度のＸ軸成分「Ａx」とＺ軸成分「Ａz」とに基づいて、上記の式（２）に従って重力の方向の角度差θy（傾き）を算出する。角度算出部１３０は、算出した重力の方向の角度差θyを、回転指示部１２０に通知する。
【０１１１】
［ステップＳ１０３］回転指示部１２０は、ステップＳ１０２で算出された重力の方向の角度差θyに基づいて、スピーカ３３の原点方向への重力の方向の回転制御を行う。例えば角度算出部１３０で算出された重力の方向の角度差θyが「５５°」であったものとする。この場合、回転指示部１２０は、モータ３２ｂを「−５５°」だけ回転するように制御する。すなわち回転指示部１２０は、回転方向を負の方向に設定し、「５５°」分のパルス信号をモータ３２ｂに出力する。
【０１１２】
［ステップＳ１０４］角度算出部１３０は、回転指示部１２０によるモータ３２ｂへのパルス信号の出力が終了すると、加速度センサ３１ａの測定値を取得する。そして角度算出部１３０は、加速度のＸ軸成分「Ａx」とＺ軸成分「Ａz」とに基づいて、上記の式（２）に従って重力の方向の角度差θy（傾き）を算出する。角度算出部１３０は、算出した重力の方向の角度差θyを、回転指示部１２０に通知する。
【０１１３】
［ステップＳ１０５］回転指示部１２０は、重力の方向の角度差θyが「０°」か否かを判定する。なお回転指示部１２０は、重力の方向の角度差θyが「０°」か否かの判定において、ある程度の許容範囲を持たせてもよい。例えば回転指示部１２０は、重力の方向の角度差θyが「０°」から許容誤差の範囲内であれば、重力の方向の角度差θyが「０°」であると判定する。回転指示部１２０は、重力の方向の角度差θyが「０°」であれば、処理をステップＳ１１１（図１６参照）に進める。回転指示部１２０は、重力の方向の角度差θyが「０°」でなければ、処理をステップＳ１０６に進める。
【０１１４】
［ステップＳ１０６］回転指示部１２０は、ステップＳ１０４で算出された重力の方向の角度差θyに基づいて、スピーカ３３の重力の方向の回転制御を行う。例えば回転指示部１２０は、重力の方向の角度差θyに相当する数のパルス信号をモータ３２ｂに出力する。回転指示部１２０は、その後、処理をステップＳ１０４に進める。
【０１１５】
図１６は、電源投入時のスピーカ装置初期化処理の手順の一例を示すフローチャート（２／２）である。以下、図１６に示す処理をステップ番号に沿って説明する。
［ステップＳ１１１］回転指示部１２０は、ジャイロセンサ３１ｂの測定値に基づく計算によって得られる回転角の保存値（Ｇx，Ｇy，Ｇz）を（０，０，０）に初期化する。
【０１１６】
［ステップＳ１１２］回転指示部１２０は、スピーカ３３の、水平方向への所定の角度の等速回転制御を行う。例えば、初期化処理時の水平方向の基準回転角ＺＨが「１０°」に設定されているものとする。この場合、回転指示部１２０は、モータ３２ａを「１０°」だけ回転するように制御する。すなわち回転指示部１２０は、「１０°」分のパルス信号をモータ３２ａに出力する。
【０１１７】
［ステップＳ１１３］角度算出部１３０は、回転指示部１２０によるモータ３２ａへのパルス信号の出力が終了すると、ジャイロセンサ３１ｂの測定値を取得する。そして角度算出部１３０は、ジャイロセンサ３１ｂの測定値に基づいて、式（４）に従って回転角Ｇzを算出する。角度算出部１３０は、算出した回転角Ｇzを、回転指示部１２０に通知する。
【０１１８】
［ステップＳ１１４］回転指示部１２０は、回転角Ｇzが基準回転角ＺＨ「１０°」に等しいか否かを判定する。なお回転指示部１２０は、回転角Ｇzが基準回転角ＺＨ「１０°」に等しいか否かの判定において、ある程度の許容範囲を持たせてもよい。例えば回転指示部１２０は、回転角Ｇzが「１０°」から許容誤差の範囲内であれば、回転角Ｇzが「１０°」であると判定する。回転指示部１２０は、回転角Ｇzが「１０°」であれば、処理をステップＳ１１２に進める。回転指示部１２０は、回転角Ｇzが「１０°」でなければ、処理をステップＳ１１５に進める。
【０１１９】
このようにして、スピーカ３３の「１０°」ずつの水平方向の回転が、脱調により回転角Ｇzと基準回転角ＺＨとが不一致となるまで繰り返される。スピーカ３３の水平方向の可動範囲は制限があり（例えば「１８０°」）、可動範囲の端部まで回転すると、スピーカ３３はそれ以上回転できず、脱調が発生する。この場合、実際の回転角Ｇzが、回転制御で指示した基準回転角ＺＨに満たなくなる。そこで回転指示部１２０は、回転角Ｇzが基準回転角ＺＨとならないことを確認することで、スピーカ３３の向きが水平方向の可動範囲の一方の端部まで回転したものと認識する。回転指示部１２０は、スピーカ３３の向きが水平方向の可動範囲の一方の端部まで回転したら、ステップＳ１１５以降の処理を実行する。
【０１２０】
なお、回転指示部１２０は、ステップＳ１１４において、少しずつ（例えば「１０°」ずつ）回転させることで、モータ３２ａへの負荷の軽減を図っている。すなわち、スピーカ３３の向きが水平方向の可動範囲の端部に達した後も、パルス信号をモータ３２ａに送信し続けると、モータ３２ａに余計な負荷をかけ続けることとなる。そのため回転指示部１２０は、基準回転角ＺＨずつ回転させ、回転させるごとに脱調の有無を確認することで、モータ３２ａにかかる余分な負荷を最小限に抑止している。
【０１２１】
［ステップＳ１１５］回転指示部１２０は、スピーカ３３の、水平方向への所定の角度（例えば水平方向の回転の可動範囲の角度の半分）の等速回転制御を行う。例えば、水平方向の回転の可動範囲が「１８０°」であり、ステップＳ１１２〜Ｓ１１４の処理により正の回転方向の端部までスピーカ３３が回転しているものとする。この場合、回転指示部１２０は、モータ３２ａを「−９０°」だけ回転するように制御する。すなわち回転指示部１２０は、回転方向を負の方向に設定し、「９０°」分のパルス信号をモータ３２ａに出力する。
【０１２２】
［ステップＳ１１６］角度算出部１３０は、回転指示部１２０によるモータ３２ａへのパルス信号の出力が終了すると、地磁気センサ３１ｃの測定値を取得する。そして角度算出部１３０は、地磁気センサ３１ｃの測定値に基づいて原点方位Ｍ０を決定する。すなわち角度算出部１３０は、現時点のスピーカ３３の水平方向の向きを原点方位Ｍ０とする。角度算出部１３０は、取得した地磁気センサ３１ｃの測定値を、原点方位情報として記憶部１１０に格納する。
【０１２３】
［ステップＳ１１７］回転指示部１２０は、ジャイロセンサ３１ｂの測定値に基づく計算によって得られる回転角の保存値（Ｇx，Ｇy，Ｇz）を（０，０，０）に初期化する。
このようにして、スピーカ装置３０への電源投入時に初期化処理が行われ、スピーカ３３は、重力の方向回転の原点方向（鉛直真下）と水平方向回転の原点方位（スピーカ装置３０の正面）とを向いた状態となる。また原点方位情報が記憶部１１０に格納される。
【０１２４】
その後、ホストコンピュータ３００は、不審人物を検出すると、その人物を対象人物２１とする。そしてホストコンピュータ３００は、対象人物２１の位置を特定し、その位置に向けたスピーカ３３の回転をスピーカ装置３０に指示する。スピーカ装置３０の回転制御装置１００は、声かけ用回転制御および原点復帰処理を行う。
【０１２５】
図１７は、声かけ用回転制御および原点復帰処理の手順の一例を示すフローチャート（１／２）である。以下、図１７に示す処理をステップ番号に沿って説明する。
［ステップＳ２０１］回転制御装置１００の回転指示部１２０は、ホストコンピュータ３００から回転指示を取得する。例えばホストコンピュータ３００から、水平方向に「−６０°（Ｈ＝−６０°）」、重力の方向に「４０°（Ｖ＝４０°）」の回転指示を取得したものとする。
【０１２６】
［ステップＳ２０２］回転指示部１２０は、水平方向への指定された角度の回転制御を行う。例えば水平方向に「−６０°（Ｈ＝−６０°）」の回転指示を取得している場合、回転指示部１２０は、モータ３２ａを「−６０°」だけ回転するように制御する。すなわち回転指示部１２０は、回転方向を負の方向に設定し、「６０°」分のパルス信号をモータ３２ａに出力する。
【０１２７】
［ステップＳ２０３］角度算出部１３０は、回転指示部１２０によるモータ３２ａへのパルス信号の出力が終了すると、ジャイロセンサ３１ｂの測定値を取得する。そして角度算出部１３０は、ジャイロセンサ３１ｂの測定値に基づいて、式（４）に従って回転角Ｇzを算出する。脱調が発生していなければ、回転角Ｇzは「−６０°」となる。角度算出部１３０は、算出した回転角Ｇzを、回転指示部１２０に通知する。
【０１２８】
［ステップＳ２０４］回転指示部１２０は、重力の方向への指定された角度の回転制御を行う。例えばホストコンピュータ３００から、重力の方向に「４０°（Ｖ＝４０）」の回転指示を取得している場合、回転指示部１２０は、モータ３２ｂを「４０°」だけ回転するように制御する。すなわち回転指示部１２０は、回転方向を正の方向に設定し、「４０°」分のパルス信号をモータ３２ｂに出力する。
【０１２９】
［ステップＳ２０５］角度算出部１３０は、回転指示部１２０によるモータ３２ｂへのパルス信号の出力が終了すると、ジャイロセンサ３１ｂの測定値を取得する。そして角度算出部１３０は、ジャイロセンサ３１ｂの測定値に基づいて、式（３）に従って回転角Ｇyを算出する。脱調が発生していなければ、回転角Ｇyは「４０°」となる。角度算出部１３０は、算出した回転角Ｇyを、回転指示部１２０に通知する。
【０１３０】
［ステップＳ２０６］回転指示部１２０は、ホストコンピュータ３００に、回転完了を通知する。するとホストコンピュータ３００は、スピーカ３３を用いて対象人物２１向けの音声出力（声かけ）を行う。その間、回転指示部１２０は、ホストコンピュータ３００による声かけ完了を待つ。ホストコンピュータ３００は、声かけが完了すると、原点復帰指示をスピーカ装置３０に送信する。回転指示部１２０は、原点復帰指示を受信すると、声かけが完了したものと認識し、処理をステップＳ２１１（図１８参照）に進める。
【０１３１】
図１８は、声かけ用回転制御および原点復帰処理の手順の一例を示すフローチャート（２／２）である。以下、図１８に示す処理をステップ番号に沿って説明する。
［ステップＳ２１１］回転指示部１２０は、ホストコンピュータ３００からの原点復帰指示を取得する。例えば回転指示部１２０は、ホストコンピュータ３００から、原点復帰指示として、水平方向に「−Ｇz」、重力の方向に「−Ｇy」の回転指示を取得する。この原点復帰指示は、ジャイロセンサ３１ｂの測定値に基づいて計算した回転角の分だけの、反対方向への回転指示である。
【０１３２】
［ステップＳ２１２］回転指示部１２０は、重力の方向への指定された角度「−Ｇy」の回転制御を行う。例えば回転角Ｇyが「４０°」の場合、回転指示部１２０は、モータ３２ｂを「−４０°」だけ回転するように制御する。すなわち回転指示部１２０は、回転方向を負の方向に設定して、「４０°」分のパルス信号をモータ３２ｂに出力する。
【０１３３】
［ステップＳ２１３］角度算出部１３０は、加速度センサ３１ａの測定値を取得する。そして角度算出部１３０は、加速度のＸ軸成分「Ａx」とＺ軸成分「Ａz」とに基づいて、上記の式（２）に従って重力の方向の角度差θy（傾き）を算出する。角度算出部１３０は、算出した重力の方向の角度差θyを、回転指示部１２０に通知する。
【０１３４】
［ステップＳ２１４］回転指示部１２０は、重力の方向の角度差θyが「０°」か否かを判定する。なお回転指示部１２０は、重力の方向の角度差θyが「０°」か否かの判定において、ある程度の許容範囲を持たせてもよい。回転指示部１２０は、重力の方向の角度差θyが「０°」であれば、処理をステップＳ２１６に進める。回転指示部１２０は、重力の方向の角度差θyが「０°」でなければ、処理をステップＳ２１５に進める。
【０１３５】
［ステップＳ２１５］回転指示部１２０は、現在の重力の方向の角度差θyと原点方向「θy＝０」との差分に応じた回転角の重力の方向の回転制御を行う。例えば「重力の方向の角度差θy＝５°」であれば、回転指示部１２０は、モータ３２ｂを「−５°」だけ回転するように制御する。すなわち回転指示部１２０は、回転方向を負の方向に設定して、「５°」分のパルス信号をモータ３２ｂに出力する。その後、回転指示部１２０は、処理をステップＳ２１３に進める。
【０１３６】
［ステップＳ２１６］回転指示部１２０は、水平方向への指定された角度「−Ｇz」の回転制御を行う。例えば回転角Ｇzが「−６０°」の場合、回転指示部１２０は、モータ３２ａを「６０°」だけ回転するように制御する。すなわち回転指示部１２０は、回転方向を正の方向に設定して、「６０°」分のパルス信号をモータ３２ａに出力する。
【０１３７】
［ステップＳ２１７］角度算出部１３０は、地磁気センサ３１ｃの測定値に基づいて、スピーカ３３の水平方向の角度差θzを検出する。例えば角度算出部１３０は、地磁気センサ３１ｃの測定値を取得する。そして角度算出部１３０は、取得した測定値に応じたスピーカ３３の水平方向の角度差θzを回転指示部１２０に通知する。
【０１３８】
［ステップＳ２１８］回転指示部１２０は、スピーカ３３の水平方向の角度差θzが「０°」か否か、の判定において、ある程度の許容範囲を持たせてもよい。回転指示部１２０は、スピーカ３３の水平方向の角度差θzが「０°」の場合、声かけ用回転制御および原点復帰処理を終了する。回転指示部１２０は、スピーカ３３の水平方向の角度差θzが「０°」ではない場合、処理をステップＳ２１９に進める。
【０１３９】
［ステップＳ２１９］回転指示部１２０は、現在のスピーカ３３の水平方向の角度差に応じた回転角の水平方向の回転制御を行う。例えばスピーカ３３を水平に向けた場合のスピーカの向きＭと原点方位Ｍ０とは、地磁気センサの３軸方向の値を成分とするベクトルで表すことができる。この場合、回転指示部１２０は、スピーカ３３を水平に向けた場合のスピーカの向きＭのベクトルとＭ０のベクトルとの成す角を、スピーカ３３の水平方向の角度差θzとする。算出したベクトル間の成す角が「５°」であれば、回転指示部１２０は、モータ３２ａを「−５°」だけ回転するように制御する。すなわち回転指示部１２０は、回転方向を負の方向に設定して、「５°」分のパルス信号をモータ３２ａに出力する。その後、回転指示部１２０は、処理をステップＳ２１７に進める。
【０１４０】
このようにして、声かけ処理の後に、スピーカ３３の向きが原点に復帰する。回転制御装置１００は、原点に復帰する際には、加速度センサ３１ａの測定値に基づいて、スピーカ３３の向きを原点方向（重力の方向）に一致させる。また回転制御装置１００は、原点に復帰する際には、地磁気センサ３１ｃの測定値に基づいて、水平向の向きを原点方位（スピーカ装置３０の正面）に一致させる。これにより、回転の際に脱調が生じても、スピーカ３３の向きを正しい向きに修正することができる。
【０１４１】
また声かけの度に原点復帰処理を行うことで、脱調によるスピーカ３３の向きのずれが累積せずに済み、次の声かけにおいて、対象人物２１に正確に声かけを行うことができる。
〔第３の実施の形態〕
次に第３の実施の形態について説明する。第３の実施の形態は、原点復帰の際にスピーカ３３の向きの誤差を補正するだけでなく、スピーカ３３を対象人物２１の方向に向けるとき（声かけ前）にもスピーカ３３の向きの誤差を補正するものである。以下、第３の実施の形態における第２の実施の形態との相違点について説明する。
【０１４２】
図１９は、声かけ前におけるスピーカの向きの補正方法の一例を示す図である。図１９の例では、回転制御装置１００は、スピーカ３３の方向を対象人物２１に向ける場合、回転角を、加速区間、等速区間、および減速区間の３つの区間に分ける。加速区間は、回転速度（角速度）を徐々に速くする区間である。等速区間は、回転速度を一定に保つ区間である。減速区間は、回転速度を徐々に遅くする区間である。このようなモータ制御は、横軸に時間、縦軸に回転速度を採ったグラフを生成すると、図１９に示す様な台形のグラフとなるため、台形制御と呼ばれる。
【０１４３】
図１９の例では、加速区間は、モータ３２ａ，３２ｂにおける１パルス分の回転角の１００倍の角度に予め指定されている。モータ３２ａ，３２ｂが、１パルスのパルス信号の入力ごとに「０．１°」だけ回転する場合、加速区間の角度は「１０°」となる。１パルスのパルス信号当りのモータ３２ａ，３２ｂの回転角は、ステップ角とも呼ばれ、モータ３２ａ，３２ｂの固有値である。回転指示部１２０は、加速区間において、１パルスのパルス信号の出力ステップを１００ステップ分繰り返すことになる。その際、回転指示部１２０は、パルス信号の出力間隔を、徐々に短くする。
【０１４４】
減速区間も、モータ３２ａ，３２ｂにおける１パルス分の回転角の１００倍の角度に予め指定されている。モータ３２ａ，３２ｂが、１パルスのパルス信号の入力ごとに「０．１°」だけ回転する場合、減速区間の角度は「１０°」となる。回転指示部１２０は、等速区間において脱調が発生していなければ、減速区間において、１パルスのパルス信号の出力ステップを１００ステップ分繰り返すことになる。その際、回転指示部１２０は、パルス信号の出力間隔を、徐々に長くする。
【０１４５】
等速区間は、指定された角度から加速区間の角度と減速区間の角度を除いた残りの角度となる。図１９の例では、ホストコンピュータ３００から指示された回転角が「６０°」であるため、等速区間は「４０°」となる。この場合、回転指示部１２０は、加速区間において脱調が発生していなければ、等速区間において、１パルスのパルス信号の出力ステップを４００ステップ分繰り返すことになる。その際、回転指示部１２０は、パルス信号の出力間隔を一定に保つ。
【０１４６】
なお脱調が発生しない場合の等速区間でのパルス信号出力のステップ数は、以下の式で求められる。
ステップ数＝（指定された角度／ステップ角）−（加速区間のステップ数×２）
このように回転角を３つの区間に分けることで、スピーカ３３のスムーズな回転が可能となる。
【０１４７】
そして回転制御装置１００は、各区間の終了時点で、回転角の誤差を補正する。すなわち回転制御装置１００は、加速区間から等速区間に移行するときに回転角の誤差を補正し、等速区間から減速区間に移行するときの回転角の誤差を補正し、減速区間後に停止したときにも回転角の誤差を補正する。
【０１４８】
加速区間、等速区間、および減速区間それぞれでの実際の回転角は、ジャイロセンサ３１ｂの測定値を用いて計算することで、高精度に計算することができる。回転制御装置１００は、ジャイロセンサ３１ｂの測定値を用いて計算した各区間の回転角と、回転指示で指定された指定角度に応じて決定された角区間の回転角との誤差を計算して、誤差の分の補正を行う。
【０１４９】
停止後は、回転制御装置１００は、加速度センサ３１ａの測定値を用いて、重力の方向の角度差θyを計算する。そして回転制御装置１００は、計算した重力の方向の角度差θyと指定角度との誤差を計算して、誤差の分の補正を行う。
【０１５０】
図１９の例では、加速区間の終了時点において、ジャイロセンサ３１ｂの測定値を用いて計算した回転角Ｇyは「８°」である。すると加速区間における本来の回転角「１０°」に「２°」不足している。この場合、回転制御装置１００は、等速区間におけるパルス信号の出力ステップ数を、「２°」の回転分だけ増加させる補正を行う。図１９の例では、ステップ角が「０．１°」なので、等速区間に２０ステップ追加される。その結果、回転制御装置１００は、等速区間において４２０ステップのパルス信号の出力を行う。
【０１５１】
図１９の例では、等速区間の終了時点において、ジャイロセンサ３１ｂの測定値を用いて計算した回転角Ｇyは「５０°」である。この場合、誤差がないため、補正は行われない。従って、回転制御装置１００は、減速区間において１００ステップのパルス信号の出力を行う。
【０１５２】
減速区間の終了時点において、加速度センサ３１ａの測定値が「Ａx＝８．０２７，Ａz＝−５．６２」であったものとする。この場合、式（２）に従って重力の方向の角度差θyを計算すると「５５°」となる。すると、指定された角度「６０°」に対して「５°」の誤差がある。この場合、回転制御装置１００は、さらに「５°」分の回転制御（５０ステップのパルス信号の出力）を行う。
【０１５３】
区間の終了時点で補正を行うことで、減速区間の終了時点での誤差を少なく抑えることができる。例えば回転制御装置１００は、スピーカ３３を対象人物２１に向けるときの回転制御においては、減速区間の終了時点での誤差が「３°」以下の場合には補正を行わないようにする。これにより、スピーカ３３の回転を停止させた後に、再度、小刻みに回転させるような補正を抑止することができる。なお回転制御装置１００は、原点復帰の際には、停止後にさらに高精度（例えば誤差「１°」以下）にスピーカ３３の向きを補正する。
【０１５４】
図２０は、声かけ前におけるスピーカの向きの制御手順の一例を示すフローチャートである。図２０に示す処理のうち、ステップＳ３０１，Ｓ３０６の処理は、それぞれ図１７に示した第２の実施の形態のステップＳ２０１，Ｓ２０６の処理と同様である。またステップＳ３０６の終了後は、第２の実施の形態と同様に、図１８に示すステップＳ２１１〜Ｓ２１９の処理が実行される。以下、第２の実施の形態と異なる処理について、ステップごとに説明する。
【０１５５】
［ステップＳ３０２］回転指示部１２０は、加速区間の角度「１０°」分の水平方向への回転制御を行う。例えば指定角度が「−６０°」であれば、回転指示部１２０は、モータ３２ａを「−１０°」だけ回転するように制御する。すなわち回転指示部１２０は、回転方向を負の方向に設定し、「１０°」分のパルス信号（１００ステップ）をモータ３２ａに出力する。
【０１５６】
［ステップＳ３０３］回転制御装置１００内の回転指示部１２０と角度算出部１３０とは協働して、回転途中での補正を伴う水平方向回転処理を実施する。水平方向回転処理の詳細は後述する（図２１参照）。
【０１５７】
［ステップＳ３０４］回転指示部１２０は、加速区間の角度「１０°」分の重力の方向への回転制御を行う。例えば指定角度が「６０°」であれば、回転指示部１２０は、モータ３２ｂを「１０°」だけ回転するように制御する。すなわち回転指示部１２０は、回転方向を正の方向に設定し、「１０°」分のパルス信号をモータ３２ｂに出力する。
【０１５８】
［ステップＳ３０５］回転制御装置１００内の回転指示部１２０と角度算出部１３０とは協働して、回転途中での補正を伴う重力の方向回転処理を実施する。重力の方向回転処理の詳細は後述する（図２２参照）。
【０１５９】
次に、水平方向回転処理について詳細に説明する。
図２１は、回転途中での補正を伴う水平方向回転処理の手順の一例を示すフローチャートである。以下、図２１に示す処理をステップ番号に沿って説明する。
【０１６０】
［ステップＳ４０１］角度算出部１３０は、ジャイロセンサ３１ｂの測定値に基づいて回転角Ｇzを算出する。ステップＳ３０２（図２０参照）において１００ステップのパルス信号出力が行われており、脱調が発生していなければ、回転角Ｇzは「−１０°」となる。
【０１６１】
［ステップＳ４０２］回転指示部１２０は、回転角Ｇzの絶対値が「ステップ角×加速区間におけるステップ数（１００）」と等しいか否かを判定する。なお回転指示部１２０は、回転角Ｇzの絶対値が「ステップ角×加速区間におけるステップ数（１００）」と等しいか否かの判定において、ある程度の許容範囲を持たせてもよい。回転指示部１２０は、回転角Ｇzの絶対値が「ステップ角×加速区間におけるステップ数（１００）」と等しい場合、処理をステップＳ４０３に進める。また回転指示部１２０は、回転角Ｇzの絶対値が「ステップ角×加速区間におけるステップ数（１００）」と等しくない場合、処理をステップＳ４０４に進める。
【０１６２】
［ステップＳ４０３］回転指示部１２０は、現在の回転角と加速区間の角度とにずれがないため、回転角の補正を行わずに等速区間における水平方向の等速回転制御を行う。すなわち回転指示部１２０は、「指定角度／ステップ角−加速区間のステップ数（１００ステップ）×２」に相当する回数だけ、モータ３２ａへのパルス信号の出力ステップを実行する。例えば指定角度が「−６０°」であれば、回転指示部１２０は、４００ステップ分のパルス信号の出力を行う。その後、回転指示部１２０は処理をステップＳ４０６に進める。
【０１６３】
［ステップＳ４０４］回転指示部１２０は、回転誤差分のステップ数「αＨ」を計算する。回転誤差分のステップ数は、「｛ステップ角×加速区間におけるステップ数（１００）−｜Ｇz｜｝×１００」で求められる。
【０１６４】
［ステップＳ４０５］回転指示部１２０は、回転角の補正を伴う、等速区間における水平方向の等速回転制御を行う。すなわち回転指示部１２０は、「指定角度／ステップ角−加速区間のステップ数（１００ステップ）×２＋αＨ」に相当する回数だけ、モータ３２ａへのパルス信号の出力ステップを実行する。
【０１６５】
［ステップＳ４０６］角度算出部１３０は、ジャイロセンサ３１ｂの測定値に基づいて回転角Ｇzを算出する。例えば等速区間が「−４０°」分の区間の場合、等速区間で脱調が生じていなければ、回転角Ｇzは「−５０°」となる。
【０１６６】
［ステップＳ４０７］回転指示部１２０は、回転角Ｇzの絶対値が「｜指定角度｜−ステップ角×減速区間におけるステップ数（１００）」と等しいか否かを判定する。なお回転指示部１２０は、回転角Ｇzの絶対値が「｜指定角度｜−ステップ角×減速区間におけるステップ数（１００）」と等しいか否かの判定において、ある程度の許容範囲を持たせてもよい。回転指示部１２０は、回転角Ｇzの絶対値が「｜指定角度｜−ステップ角×減速区間におけるステップ数（１００）」と等しい場合、処理をステップＳ４０８に進める。また回転指示部１２０は、回転角Ｇzの絶対値が「｜指定角度｜−ステップ角×減速区間におけるステップ数（１００）」と等しくない場合、処理をステップＳ４０９に進める。
【０１６７】
［ステップＳ４０８］回転指示部１２０は、減速区間の角度「１０°」分の水平方向への回転制御を行う。例えば指定角度が「−６０°」であれば、回転指示部１２０は、モータ３２ａを「−１０°」だけ回転するように制御する。すなわち回転指示部１２０は、回転方向を負の方向に設定し、「１０°」分のパルス信号（１００ステップ）をモータ３２ａに出力する。その後、回転指示部１２０は、処理をステップＳ４１１に進める。
【０１６８】
［ステップＳ４０９］回転指示部１２０は、回転誤差分のステップ数「βＨ」を計算する。回転誤差分のステップ数は、「｛｜指定角度｜−ステップ角×減速区間におけるステップ数（１００）−｜Ｇz｜｝×１００」で求められる。
【０１６９】
［ステップＳ４１０］回転指示部１２０は、回転角の補正を伴う、減速区間における水平方向の等速回転制御を行う。すなわち回転指示部１２０は、「減速区間のステップ数（１００ステップ）＋βＨ」に相当する回数だけ、モータ３２ａへのパルス信号出力ステップを実行する。
【０１７０】
［ステップＳ４１１］角度算出部１３０は、ジャイロセンサ３１ｂの測定値に基づいて回転角Ｇzを算出する。例えば指定角度が「−６０°」の場合、減速区間で脱調が生じていなければ、回転角Ｇzは「−６０°」となる。
【０１７１】
［ステップＳ４１２］回転指示部１２０は、回転角Ｇzの絶対値が指定角度と等しいか否かを判定する。なお回転指示部１２０は、回転角Ｇzの絶対値が指定角度と等しいか否かの判定において、ある程度の許容範囲を持たせてもよい。回転指示部１２０は、回転角Ｇzの絶対値が指定角度と等しい場合、水平方向回転処理を終了する。また回転指示部１２０は、回転角Ｇzの絶対値が指定角度と等しくない場合、処理をステップＳ４１３に進める。
【０１７２】
［ステップＳ４１３］回転指示部１２０は、誤差分の水平方向への回転制御を行う。例えば回転指示部１２０は、「指定角度−回転角Ｇz」を誤差の角度とし、誤差の角度だけ回転するように、モータ３２ａを制御する。すなわち回転指示部１２０は、誤差の角度分のパルス信号（誤差の角度×１００ステップ）をモータ３２ａに出力する。その後、回転指示部１２０は、処理をステップＳ４１１に進める。
【０１７３】
このようにして、回転途中で回転角の補正を行いながら、水平方向の回転処理を行うことができる。
図２２は、回転途中での補正を伴う重力の方向回転処理の手順の一例を示すフローチャートである。以下、図２２に示す処理をステップ番号に沿って説明する。
【０１７４】
［ステップＳ５０１］角度算出部１３０は、ジャイロセンサ３１ｂの測定値に基づいて回転角Ｇyを算出する。ステップＳ３０４（図２０参照）において１００ステップのパルス信号出力が行われており、脱調が発生していなければ、回転角Ｇyは「１０°」となる。
【０１７５】
［ステップＳ５０２］回転指示部１２０は、回転角Ｇyの絶対値が「ステップ角×加速区間におけるステップ数（１００）」と等しいか否かを判定する。なお回転指示部１２０は、回転角Ｇyの絶対値が「ステップ角×加速区間におけるステップ数（１００）」と等しいか否かの判定において、ある程度の許容範囲を持たせてもよい。回転指示部１２０は、回転角Ｇyの絶対値が「ステップ角×加速区間におけるステップ数（１００）」と等しい場合、処理をステップＳ５０３に進める。また回転指示部１２０は、回転角Ｇyの絶対値が「ステップ角×加速区間におけるステップ数（１００）」と等しくない場合、処理をステップＳ５０４に進める。
【０１７６】
［ステップＳ５０３］回転指示部１２０は、現在の回転角と加速区間の角度とにずれがないため、回転角の補正を行わずに等速区間における重力の方向の等速回転制御を行う。すなわち回転指示部１２０は、「指定角度／ステップ角−加速区間のステップ数（１００）×２」に相当する回数だけ、モータ３２ｂへのパルス信号出力ステップを実行する。例えば指定角度が「６０°」であれば、回転指示部１２０は、４００ステップ分のパルス信号の出力を行う。その後、回転指示部１２０は処理をステップＳ５０６に進める。
【０１７７】
［ステップＳ５０４］回転指示部１２０は、回転誤差分のステップ数「αＶ」を計算する。回転誤差分のステップ数は、「｛ステップ角×加速区間におけるステップ数（１００）−｜Ｇy｜｝×１００」で求められる。
【０１７８】
［ステップＳ５０５］回転指示部１２０は、回転角の補正を伴う、等速区間における重力の方向の等速回転制御を行う。すなわち回転指示部１２０は、「指定角度／ステップ角−加速区間のステップ数（１００）×２＋αＶ」に相当する回数だけ、モータ３２ｂへのパルス信号出力ステップを実行する。
【０１７９】
［ステップＳ５０６］角度算出部１３０は、ジャイロセンサ３１ｂの測定値に基づいて回転角Ｇyを算出する。例えば等速区間が「４０°」分の区間の場合、等速区間で脱調が生じていなければ、回転角Ｇyは「５０°」となる。
【０１８０】
［ステップＳ５０７］回転指示部１２０は、回転角Ｇyの絶対値が「｜指定角度｜−ステップ角×減速区間におけるステップ数（１００）」と等しいか否かを判定する。なお回転指示部１２０は、回転角Ｇyの絶対値が「｜指定角度｜−ステップ角×減速区間におけるステップ数（１００）」と等しいか否かの判定において、ある程度の許容範囲を持たせてもよい。回転指示部１２０は、回転角Ｇyの絶対値が「｜指定角度｜−ステップ角×減速区間におけるステップ数（１００）」と等しい場合、処理をステップＳ５０８に進める。また回転指示部１２０は、回転角Ｇyの絶対値が「｜指定角度｜−ステップ角×減速区間におけるステップ数（１００）」と等しくない場合、処理をステップＳ５０９に進める。
【０１８１】
［ステップＳ５０８］回転指示部１２０は、減速区間の角度「１０°」分の重力の方向への回転制御を行う。例えば指定角度が「６０°」であれば、回転指示部１２０は、モータ３２ｂを「１０°」だけ回転するように制御する。すなわち回転指示部１２０は、回転方向を正の方向に設定し、「１０°」分のパルス信号（１００ステップ）をモータ３２ｂに出力する。その後、回転指示部１２０は、処理をステップＳ５１１に進める。
【０１８２】
［ステップＳ５０９］回転指示部１２０は、回転誤差分のステップ数「βＶ」を計算する。回転誤差分のステップ数は、「｛｜指定角度｜−ステップ角×減速区間におけるステップ数（１００）−｜Ｇy｜｝×１００」で求められる。
【０１８３】
［ステップＳ５１０］回転指示部１２０は、回転角の補正を伴う、減速区間における重力の方向の等速回転制御を行う。すなわち回転指示部１２０は、「加速区間のステップ数（１００ステップ）＋βＶ」に相当する回数だけ、モータ３２ｂへのパルス信号出力ステップを実行する。
【０１８４】
［ステップＳ５１１］角度算出部１３０は、ジャイロセンサ３１ｂの測定値に基づいて回転角Ｇyを算出する。例えば指定角度が「６０°」の場合、減速区間で脱調が生じていなければ、回転角Ｇyは「６０°」となる。
【０１８５】
［ステップＳ５１２］回転指示部１２０は、回転角Ｇyの絶対値が指定角度と等しいか否かを判定する。なお回転指示部１２０は、回転角Ｇyの絶対値が指定角度と等しいか否かの判定において、ある程度の許容範囲を持たせてもよい。回転指示部１２０は、回転角Ｇyの絶対値が指定角度と等しい場合、重力の方向回転処理を終了する。また回転指示部１２０は、回転角Ｇyの絶対値が指定角度と等しくない場合、処理をステップＳ５１３に進める。
【０１８６】
［ステップＳ５１３］回転指示部１２０は、誤差分の重力の方向への回転制御を行う。例えば回転指示部１２０は、「指定角度−回転角Ｇy」を誤差の角度とし、誤差の角度だけ回転するように、モータ３２ｂを制御する。すなわち回転指示部１２０は、誤差の角度分のパルス信号（誤差の角度×１００ステップ）をモータ３２ｂに出力する。その後、回転指示部１２０は、処理をステップＳ５１１に進める。
【０１８７】
このようにして、回転途中で回転角の補正を行いながら、重力の方向の回転処理を行うことができる。
このように、対象人物２１にスピーカ３３を向ける際にも回転角の補正を行うことで、スピーカ３３から出力された音声を正確に対象人物２１に届けることができる。またスピーカ３３の回転動作中にも回転角の補正を行うことで、補正を行いながらも、スピーカ３３を滑らかに回転させることができる。
【０１８８】
〔第４の実施の形態〕
次に第４の実施の形態について説明する。第４の実施の形態は、ジャイロセンサ３１ｂを用いずに、回転角のずれを補正するものである。
【０１８９】
図２３は、ジャイロセンサを用いない場合の初期化処理の手順の一例を示すフローチャートである。なお、図２３に示すステップＳ６０１〜Ｓ６０６の処理は、それぞれ図１５に示す第２の実施の形態のステップＳ１０１〜Ｓ１０６と同様である。そこで第２の実施の形態と異なるステップＳ６０７以降の処理について、以下にステップ番号に沿って説明する。
【０１９０】
［ステップＳ６０７］角度算出部１３０は、地磁気センサ３１ｃの測定値を取得する。そして角度算出部１３０は、地磁気センサ３１ｃの測定値に基づいて、現在のスピーカ３３の向きの方位Ｍ１を決定する。
【０１９１】
［ステップＳ６０８］回転指示部１２０は、スピーカ３３の、水平方向への所定の角度の等速回転制御を行う。例えば、初期化処理時の水平方向の基準回転角ＺＨが「１０°」に設定されているものとする。この場合、回転指示部１２０は、モータ３２ａを「１０°」だけ回転するように制御する。すなわち回転指示部１２０は、「１０°」分のパルス信号をモータ３２ａに出力する。
【０１９２】
［ステップＳ６０９］角度算出部１３０は、地磁気センサ３１ｃの測定値を取得する。そして角度算出部１３０は、地磁気センサ３１ｃの測定値に基づいて、現在のスピーカ３３の向きの方位Ｍ１’を決定する。
【０１９３】
［ステップＳ６１０］回転指示部１２０は、方位Ｍ１’と方位Ｍ１との差分（｜Ｍ１’−Ｍ１｜）が基準回転角ＺＨ「１０°」に等しいか否かを判定する。なお回転指示部１２０は、方位Ｍ１’と方位Ｍ１との差分が基準回転角ＺＨ「１０°」に等しいか否かの判定において、ある程度の許容範囲を持たせてもよい。回転指示部１２０は、方位Ｍ１’と方位Ｍ１との差分が「１０°」であれば、処理をステップＳ６０８に進める。回転指示部１２０は、方位Ｍ１’と方位Ｍ１との差分が「１０°」でなければ、処理をステップＳ６１１に進める。
【０１９４】
［ステップＳ６１１］回転指示部１２０は、スピーカ３３の、水平方向への所定の角度（例えば水平方向の回転の可動範囲の角度の半分）の等速回転制御を行う。例えば、水平方向の回転の可動範囲が「１８０°」であり、ステップＳ６０８〜Ｓ６１０の処理により正の回転方向の端部までスピーカ３３が回転しているものとする。この場合、回転指示部１２０は、モータ３２ａを「−９０°」だけ回転するように制御する。すなわち回転指示部１２０は、回転方向を負の方向に設定し、「９０°」分のパルス信号をモータ３２ａに出力する。
【０１９５】
［ステップＳ６１２］角度算出部１３０は、回転指示部１２０によるモータ３２ａへのパルス信号の出力が終了すると、地磁気センサ３１ｃの測定値を取得する。そして角度算出部１３０は、地磁気センサ３１ｃの測定値に基づいて原点方位Ｍ０を決定する。すなわち角度算出部１３０は、現時点のスピーカ３３の向きを水平にした場合にスピーカ３３が向く方位を原点方位Ｍ０とする。角度算出部１３０は、取得した地磁気センサ３１ｃの測定値を、原点方位情報として記憶部１１０に格納する。
【０１９６】
このようにして、初期化時に、ジャイロセンサ３１ｂを用いずに、原点方位Ｍ０を定めることができる。その後、角度算出部１３０は、スピーカ３３の水平方向の回転時の回転角を、その時点でスピーカ３３の向きを水平にした場合のスピーカ３３の向きと原点方位Ｍ０との差分によって算出する。また、角度算出部１３０は、スピーカ３３の重力の方向の回転時の回転角を、加速度センサ３１ａの測定値に基づいて得られる傾きによって算出する。これにより、ジャイロセンサ３１ｂを用いなくても、水平方向の回転角および重力の方向の回転角の誤差の補正が可能となる。
【０１９７】
〔その他の実施の形態〕
第２〜第４の実施の形態では、各センサは３次元のセンサであるが、例えば加速度センサ３１ａで測定した加速度のＹ軸成分は使用していないため、加速度センサ３１ａとしては２次元のセンサを使用することもできる。またスピーカ３３の正面方向の重力方向からの傾きは、例えば１つの軸（例えば図８に示すＸ軸またはＺ軸）の成分の値の変化によって算出することも可能である。そのため、加速度センサ３１ａとして１次元のセンサを用いることも可能である。
【０１９８】
また地磁気センサ３１ｃとしては、水平方向での方位を検出できればよいため、２次元のセンサを用いることも可能である。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【符号の説明】
【０１９９】
１０  スピーカ装置
１１  スピーカ
１２  第１のモータ
１３  第２のモータ
１４  加速度センサ
１５  地磁気センサ
１６  回転制御装置
１６ａ  記憶部
１６ｂ  処理部
【要約】
【課題】スピーカの向きの検出機能を容易に実装できるようにする。
【解決手段】スピーカ装置１０は、スピーカ１１と第１のモータ１２と加速度センサ１４と回転制御装置１６とを有する。第１のモータ１２は、水平な第１の回転軸を中心としてスピーカ１１を回転させる。加速度センサ１４は、スピーカ１１に伴って回転する位置に取り付けられ、所定の軸方向の加速度を測定する。回転制御装置１６は、第１のモータ１２に回転を指示し、指示に従った第１のモータ１２の回転が停止した後に加速度センサ１４から加速度を示す情報を取得し、加速度を示す情報に基づいて、スピーカ１１の向きと重力の方向との角度差を算出する。
【選択図】図１【図１】
0006795775.tif 000002
【図２】
0006795775.tif 000003
【図３】
0006795775.tif 000004
【図４】
0006795775.tif 000005
【図５】
0006795775.tif 000006
【図６】
0006795775.tif 000007
【図７】
0006795775.tif 000008
【図８】
0006795775.tif 000009
【図９】
0006795775.tif 000010
【図１０】
0006795775.tif 000011
【図１１】
0006795775.tif 000012
【図１２】
0006795775.tif 000013
【図１３】
0006795775.tif 000014
【図１４】
0006795775.tif 000015
【図１５】
0006795775.tif 000016
【図１６】
0006795775.tif 000017
【図１７】
0006795775.tif 000018
【図１８】
0006795775.tif 000019
【図１９】
0006795775.tif 000020
【図２０】
0006795775.tif 000021
【図２１】
0006795775.tif 000022
【図２２】
0006795775.tif 000023
【図２３】
0006795775.tif 000024