JP6795775B1 - Speaker device, rotation control program, and information processing system - Google Patents
Speaker device, rotation control program, and information processing system Download PDFInfo
- Publication number
- JP6795775B1 JP6795775B1 JP2020022020A JP2020022020A JP6795775B1 JP 6795775 B1 JP6795775 B1 JP 6795775B1 JP 2020022020 A JP2020022020 A JP 2020022020A JP 2020022020 A JP2020022020 A JP 2020022020A JP 6795775 B1 JP6795775 B1 JP 6795775B1
- Authority
- JP
- Japan
- Prior art keywords
- rotation
- speaker
- angle
- motor
- acceleration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
【課題】スピーカの向きの検出機能を容易に実装できるようにする。【解決手段】スピーカ装置10は、スピーカ11と第1のモータ12と加速度センサ14と回転制御装置16とを有する。第1のモータ12は、水平な第1の回転軸を中心としてスピーカ11を回転させる。加速度センサ14は、スピーカ11に伴って回転する位置に取り付けられ、所定の軸方向の加速度を測定する。回転制御装置16は、第1のモータ12に回転を指示し、指示に従った第1のモータ12の回転が停止した後に加速度センサ14から加速度を示す情報を取得し、加速度を示す情報に基づいて、スピーカ11の向きと重力の方向との角度差を算出する。【選択図】図1PROBLEM TO BE SOLVED: To easily implement a speaker orientation detection function. A speaker device (10) includes a speaker (11), a first motor (12), an acceleration sensor (14), and a rotation control device (16). The first motor 12 rotates the speaker 11 about a horizontal first rotation axis. The acceleration sensor 14 is attached to a position that rotates with the speaker 11 and measures acceleration in a predetermined axial direction. The rotation control device 16 instructs the first motor 12 to rotate, acquires information indicating acceleration from the acceleration sensor 14 after the rotation of the first motor 12 according to the instruction is stopped, and is based on the information indicating acceleration. Then, the angle difference between the direction of the speaker 11 and the direction of gravity is calculated. [Selection diagram] Fig. 1
Description
本発明は、スピーカ装置、回転制御プログラム、および情報処理システムに関する。 The present invention relates to a speaker device, a rotation control program, and an information processing system.
ショッピングセンターなどの大型の施設では、施設内にいる複数の人物のうち、特定の人物に対してのみ音声を届けたい場合がある。その場合、当該人物にパラメトリックスピーカを向けて、パラメトリックスピーカから音声を出力することで、その人物にのみ音声を届けることができる。パラメトリックスピーカは、例えば超音波を用いて、鋭い指向性を有する音声を出力できるスピーカである。 In a large facility such as a shopping center, it may be desired to deliver audio only to a specific person among a plurality of people in the facility. In that case, by pointing the parametric speaker at the person and outputting the sound from the parametric speaker, the sound can be delivered only to that person. The parametric speaker is a speaker capable of outputting sound having sharp directivity by using, for example, ultrasonic waves.
パラメトリックスピーカを有するスピーカ装置は、例えばパラメトリックスピーカの向きを変えるためのモータと、そのモータの回転を制御する回転制御装置とを有する。回転制御装置は、目的の人物がいる方向にパラメトリックスピーカが向くように、モータに対して回転を指示する。指示に応じたモータの回転が停止すると、ホストコンピュータから送られるその人物向けの音声が、パラメトリックスピーカから出力される。 A speaker device having a parametric speaker has, for example, a motor for changing the direction of the parametric speaker and a rotation control device for controlling the rotation of the motor. The rotation control device instructs the motor to rotate so that the parametric speaker faces the direction in which the target person is. When the rotation of the motor in response to the instruction is stopped, the voice for the person sent from the host computer is output from the parametric speaker.
パラメトリックスピーカに関する技術としては、例えば利用者の耳位置の角度に基づいて、パラメトリックスピーカから出力される超音波の周波数を制御する音声通話装置が提案されている。 As a technique related to a parametric speaker, for example, a voice communication device that controls the frequency of ultrasonic waves output from the parametric speaker based on the angle of the user's ear position has been proposed.
パラメトリックスピーカの向きを変えるためのモータとしては、ステッピングモータを用いることができる。しかしステッピングモータは、例えば脱調によって、モータの回転量が、回転制御装置から指示された回転量とずれる可能性がある。このようなずれを放置すると、スピーカの向きのずれ量が徐々に増大し、声かけの対象である対象人物に音声を届けることができなくなる。 A stepping motor can be used as a motor for changing the direction of the parametric speaker. However, in the stepping motor, for example, due to step-out, the rotation amount of the motor may deviate from the rotation amount instructed by the rotation control device. If such a deviation is left unattended, the amount of deviation in the direction of the speaker gradually increases, and it becomes impossible to deliver the voice to the target person to be called.
そこで所定のタイミングでスピーカの実際の向きを検出することが考えられる。しかし、回転体の向きを検出するための一般的な設備では、外部にモジュール(エンコーダ、フォトインタラプタ、メカスイッチなど)の取り付けが求められ、スピーカ装置の構造設計上の制約となってしまう。構造設計の制約が大きいと、実装スペースに余裕があるスピーカ装置にしかスピーカの向きの検出機能を実装できず、スピーカの向きの検出機能を実装できるスピーカ装置が制限されてしまう。 Therefore, it is conceivable to detect the actual orientation of the speaker at a predetermined timing. However, in general equipment for detecting the orientation of a rotating body, it is required to attach a module (encoder, photointerruptor, mechanical switch, etc.) to the outside, which imposes restrictions on the structural design of the speaker device. If the structural design is severely restricted, the speaker orientation detection function can be mounted only on the speaker device having a sufficient mounting space, and the speaker device capable of mounting the speaker orientation detection function is limited.
1つの側面では、本件は、スピーカの向きの検出機能を容易に実装できるようにすることを目的とする。 In one aspect, the present case aims to facilitate the implementation of speaker orientation detection features.
1つの案では、スピーカと第1のモータと加速度センサと回転制御装置とを有するスピーカ装置が提供される。
第1のモータは、水平な第1の回転軸を中心としてスピーカを回転させる。加速度センサは、スピーカに伴って回転する位置に取り付けられ、所定の軸方向の加速度を測定する。回転制御装置は、第1のモータに回転を指示する。次に回転制御装置は、指示に従った第1のモータの回転が停止した後に加速度センサから加速度を示す情報を取得する。そして回転制御装置は、加速度を示す情報に基づいて、スピーカの向きと重力の方向との角度差を算出する。
One proposal provides a speaker device having a speaker, a first motor, an acceleration sensor, and a rotation control device.
The first motor rotates the speaker about a horizontal first rotation axis. The acceleration sensor is attached to a position that rotates with the speaker and measures acceleration in a predetermined axial direction. The rotation control device instructs the first motor to rotate. Next, the rotation control device acquires information indicating acceleration from the acceleration sensor after the rotation of the first motor according to the instruction is stopped. Then, the rotation control device calculates the angle difference between the direction of the speaker and the direction of gravity based on the information indicating the acceleration.
1態様によれば、スピーカの向きの検出機能を容易に実装できるようになる。 According to one aspect, the speaker orientation detection function can be easily implemented.
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず第1の実施の形態について説明する。第1の実施の形態は、加速度センサまたは地磁気センサを用いて、スピーカの向きを検出できるようにしたスピーカ装置である。
Hereinafter, the present embodiment will be described with reference to the drawings. It should be noted that each embodiment can be implemented by combining a plurality of embodiments within a consistent range.
[First Embodiment]
First, the first embodiment will be described. The first embodiment is a speaker device capable of detecting the orientation of the speaker by using an acceleration sensor or a geomagnetic sensor.
図1は、第1の実施の形態に係るスピーカ装置の一例を示す図である。スピーカ装置10は、スピーカ11、第1のモータ12、第2のモータ13、加速度センサ14、地磁気センサ15、および回転制御装置16を有している。
FIG. 1 is a diagram showing an example of a speaker device according to the first embodiment. The
スピーカ11は、例えば超指向性を有するパラメトリックスピーカである。
第1のモータ12は、水平な第1の回転軸を中心としてスピーカ11を回転させる。水平な第1の回転軸を中心とする回転は、重力の方向(垂直とも呼ばれる)と平行な平面内での回転となるため重力の方向の回転と呼ぶこともできる。
The
The first motor 12 rotates the
第2のモータ13は、重力の方向と平行な第2の回転軸を中心としてスピーカ11を回転させる。重力の方向と平行な第2の回転軸を中心とする回転は、水平平面内での回転となるため水平方向の回転と呼ぶこともできる。
The second motor 13 rotates the
加速度センサ14は、所定の軸方向の加速度を測定する。図1の例では、加速度センサ14は、X,Y,Zの3軸方向の加速度を測定している。また加速度センサ14は、スピーカ11に伴って回転する位置に取り付けられている。そのためスピーカ11の向きに応じて、加速度センサ14で計測される重力加速度の方向が変わる。
The
地磁気センサ15は、スピーカ11に伴って回転する位置に取り付けられ、地磁気の方向を測定する。
回転制御装置16は、例えば記憶部16aと処理部16bとを有する。記憶部16aは、メモリまたはストレージ装置である。処理部16bは、プロセッサまたは演算回路である。記憶部16aには、例えば加速度センサ14から取得した加速度を示す情報、地磁気センサ15から取得した地磁気の方向を示す情報、原点方位を示す情報などを記憶する。また記憶部16aは、処理部16bが実行する処理を記述した回転制御プログラムを記憶することができる。例えば処理部16bは、記憶部16a内の回転制御プログラムを実行することで、スピーカ11の回転を制御する。すなわち、以下の説明において回転制御装置16が実行する処理は、処理部16bが回転制御プログラムを実行することによって実現される。
The
The
回転制御装置16は、第1のモータ12と第2のモータ13との回転を制御する。また回転制御装置16は、加速度センサ14の測定値に基づいて、スピーカ11の重力の方向の角度差を計算する。また回転制御装置16は、地磁気センサ15の測定値に基づいて、スピーカ11の水平方向の角度差を計算する。ここでスピーカ11の向きは、例えばスピーカ11の放射面前方(法線方向)である。スピーカ11の重力の方向の角度差は、例えばスピーカ11の向きと重力の方向との成す角(角度差)で表される。またスピーカ11の水平方向の角度差は、例えばスピーカ11の向きを水平にした場合のスピーカ11の向きと、予め設定された原点方位との成す角(角度差)で表される。
The
例えば回転制御装置16は、第1のモータ12に回転を指示し、指示に従った第1のモータ12の回転が停止した後に加速度センサ14から加速度を示す情報を取得する。そして回転制御装置16は、取得した加速度を示す情報に基づいて、スピーカ11の重力の方向の角度差(θy)を算出する。重力の方向の角度差(θy)の算出方法については、第2の実施の形態において詳細に説明する。
For example, the
このようにして、スピーカ11の重力の方向の角度差が、加速度センサ14の測定値に基づいて検知可能となる。加速度センサ14は、例えば1つのIC(Integrated Circuit)チップに収まる大きさであり、実装場所についての自由度が高い。すなわち加速度センサ14を、スピーカ11に伴って回転する位置に取り付けることは容易である。従って、加速度センサ14の測定値に基づいてスピーカ11の重力の方向の角度差を検知できるようにしたことで、スピーカ装置10へのスピーカ11の向きの検知機能の実装が容易となっている。
In this way, the angle difference in the direction of gravity of the
また回転制御装置16は、スピーカ11の重力の方向の角度差に基づいて、スピーカ11の重力の方向の回転角と、スピーカ11の第1の回転指示の角度である第1の指定角度との誤差(第1の誤差)を算出することもできる。例えば回転制御装置16は、第1の指定角度だけスピーカ11を第1の回転軸を中心として回転させる第1の回転指示を第1のモータ12に対して出力する。回転制御装置16は、回転終了後のスピーカ11の重力の方向の角度差に基づいて、第1の回転指示に応じたスピーカ11の回転角と第1の指定角度との第1の誤差を算出する。例えばスピーカ11が重力の方向の向いている状態が初期状態の場合において、回転制御装置16は、初期状態からの第1の回転指示を第1のモータ12に対して出力する。この場合、回転制御装置16は、回転終了後のスピーカ11の重力の方向の角度差と第1の指定角度との差分を、第1の誤差として算出する。
Further, the
これにより、スピーカ11を重力の方向に回転させたときの回転誤差を容易に算出可能となる。第1の誤差を算出した場合、回転制御装置16は、その第1の誤差を減少させる方向へ第1の誤差の分だけスピーカ11を回転させる補正回転指示を、第1のモータ12に出力してもよい。これにより、回転誤差が補正され、スピーカ11の向きを目的の方向に正確に合わせることが可能となる。
This makes it possible to easily calculate the rotation error when the
回転制御装置16は、第1の誤差の補正を、例えばスピーカ11の向きを原点復帰(原点方向に向けること)させる際に実施する。原点復帰の場合、原点復帰のための回転指示後のスピーカ11の重力の方向の角度差が、第1の誤差となる。
The
回転制御装置16は、スピーカ11の水平方向の角度差の計算を、例えば次のような手順で実施する。まず回転制御装置16は、第2のモータ13に回転を指示し、指示に従った第2のモータ13の回転が停止した後に地磁気センサ15から地磁気の方向(N極またはS極の方向)を示す情報を取得する。そして回転制御装置16は、地磁気の方向を示す情報に基づいて、スピーカ11の向きを水平にした場合のスピーカ11の向きと、水平方向に予め設定された原点方位との角度差(水平方向の角度差)を算出する。
The
例えば原点方位が磁南(S極方向)であるものとする。また地磁気センサ15は磁北(N極)方向を示す情報を出力するものとする。この場合、回転制御装置16は、地磁気センサ15が出力する地磁気の方向と「180°」反対の方向を原点方位と認識する。また地磁気センサ15が出力する地磁気の方向を示す情報は、スピーカ11の向きに対する相対的な地磁気の方向が示されている。すなわちスピーカ11の水平方向の角度差が示されている。従って回転制御装置16は、地磁気の方向を示す情報に基づいて、原点方位(地磁気の方向と180°の差がある)と、スピーカ11の向きを水平にした場合のスピーカ11の向きとの角度差を算出することができる。例えば反時計回りを正の回転方向としたとき、スピーカ11の向きを水平にした場合のスピーカ11の向きに対する地磁気(N極)の方向が「100°」の方向であれば、スピーカ11の向きに対する原点方位の方向は「−80°」の方向となる。すなわち原点方位とスピーカ11の向きとの角度差(水平方向の角度差)は「80°」となる。
For example, it is assumed that the origin direction is magnetic south (S pole direction). Further, the
このようにして、スピーカ11の水平方向の角度差が、地磁気センサ15の測定値に基づいて検知可能となる。地磁気センサ15は、加速度センサ14と同様に、例えば1つのICチップに収まる大きさであり、実装場所についての自由度が高い。すなわち地磁気センサ15を、スピーカ11に伴って回転する位置に取り付けることは容易である。従って、地磁気センサ15の測定値に基づいてスピーカ11の水平方向の角度差を検知できるようにしたことで、スピーカ11の向きの検知機能の実装が容易となっている。
In this way, the horizontal angle difference of the
また回転制御装置16は、スピーカ11の水平方向の角度差に基づいて、スピーカ11の水平方向の回転角と、スピーカ11の水平方向の第2の回転指示の角度である第2の指定角度との誤差(第2の誤差)を算出することもできる。例えば回転制御装置16は、第2の指定角度だけスピーカ11を第2の回転軸を中心として回転させる第2の回転指示を第2のモータ13に対して出力する。そして回転制御装置16は、スピーカ11の水平方向の角度差に基づいて、第2の回転指示に応じたスピーカ11の回転角と第2の指定角度との第2の誤差を算出する。
Further, the
これにより、スピーカ11を水平方向に回転させたときの回転誤差を容易に算出可能となる。第2の誤差を算出した場合、回転制御装置16は、その第2の誤差を減少させる方向へ第2の誤差の分だけスピーカ11を回転させる補正回転指示を第2のモータ13に出力してもよい。これにより、回転誤差が補正され、スピーカ11の向きを目的の方向に正確に合わせることが可能となる。
This makes it possible to easily calculate the rotation error when the
スピーカ装置10には、回転の角速度を計測するジャイロセンサを取り付けることも可能である。ジャイロセンサは、スピーカ11に伴って回転する位置に取り付けられる。回転制御装置16は、ジャイロセンサを用いて、スピーカ11の回転中に回転角を計算し、誤差を補正することができる。
It is also possible to attach a gyro sensor that measures the angular velocity of rotation to the
例えば回転制御装置16は、第1の指定角度に応じた数のパルス信号を第1のモータ12に出力する。次に回転制御装置16は、スピーカ11の第1の回転軸を中心とした回転中にジャイロセンサから定期的に角速度を示す情報を取得する。そして回転制御装置16は、取得した角速度を示す情報に基づいて、スピーカ11の第1の回転軸を中心とした回転角を算出する。回転制御装置16は、所定のタイミングまでに出力したパルス信号の数に1パルス当りの第1のモータ12の回転角を乗算して得られる角度と、算出した回転角との差分を計算する。そして回転制御装置16は、算出した差分に応じて、所定のタイミング以後に出力するパルス数を補正する。例えば回転制御装置16は、算出した回転角が、出力したパルス信号の数に応じた角度に満たない場合、その後に出力するパルス数を増加させることで、誤差を補正する。
For example, the
このようにジャイロセンサの測定値を用いることで、スピーカ11の回転中であっても回転角を算出でき、回転中に誤差を補正することができる。しかもジャイロセンサは、加速度センサ14または地磁気センサ15と同様にICチップに収まる程度の大きさであり、実装が容易である。
By using the measured value of the gyro sensor in this way, the rotation angle can be calculated even during the rotation of the
回転制御装置16は、例えば重力の方向の回転の第1の指定角度に応じた回転を加速区間、等速区間、および減速区間に分けて制御してもよい。この場合、回転制御装置16は、加速区間では、パルス信号の出力間隔を時間経過と共に短くする。また回転制御装置16は、等速区間では、一定間隔でパルス信号を出力する。さらに回転制御装置16は、減速区間では、パルス信号の出力間隔を時間経過と共に長くする。
The
回転制御装置16は、例えば加速区間、等速区間、および減速区間の少なくとも1つの区間に応じたパルス信号の出力完了時を、誤差の補正を行う所定のタイミングとする。これにより、回転誤差が生じても、スピーカ11を滑らかに回転させることができる。
The
〔第2の実施の形態〕
次に第2の実施の形態について説明する。第2の実施の形態は、パラメトリックスピーカを用いて特定の人物に声かけを行う情報処理システムにおいて、パラメトリックスピーカの向きの誤差を適切に補正するものである。
[Second Embodiment]
Next, the second embodiment will be described. In the second embodiment, in an information processing system that uses a parametric speaker to speak to a specific person, an error in the orientation of the parametric speaker is appropriately corrected.
図2は、声かけを行う情報処理システム構成の一例を示す図である。図2に示される情報処理システムは、例えば店舗などの施設に設置される。情報処理システムが設置された施設内の対象人物21は、例えば施設内で怪しい挙動を示す人物である、声かけの対象となる人物である。また情報処理システムが設置された施設内には、カメラ42とスピーカ装置30とが設置されている。図2に示される情報処理システムは、カメラ42によって対象人物21を検知し、スピーカ装置30が有するスピーカによって対象人物21に向けて音声を出力する。
FIG. 2 is a diagram showing an example of an information processing system configuration for calling out. The information processing system shown in FIG. 2 is installed in a facility such as a store. The target person 21 in the facility where the information processing system is installed is, for example, a person who shows suspicious behavior in the facility and is a person to be called out. A camera 42 and a
ホストコンピュータ300は、対象人物21の検出とスピーカ装置30の制御とを行う。ホストコンピュータ300は、カメラ42の撮影した画像(映像でもよい)を取得し、対象人物21を検出する。またホストコンピュータ300は、コントローラ200を介してスピーカ装置30から出力する音声を制御する。例えばホストコンピュータ300は、スピーカ装置30から出力する音声の大きさや内容(音声ファイル)を決定し、対応する音声信号をスピーカ装置30に送信する。
The
またホストコンピュータ300は、コントローラ200を介してスピーカ装置30が有するスピーカの放射部の向きを指示する。例えばホストコンピュータ300は、対象人物21を撮影した画像に基づいて、対象人物21とスピーカ装置30との相対的な位置関係(相対位置)を特定する。なおスピーカ装置30が設置された位置とスピーカ装置30の水平方向の回転における正面の方向(方位)とは、予めホストコンピュータ300に設定されている。次にホストコンピュータ300は、対象人物21とスピーカ装置30との相対位置に基づいて、スピーカ装置30が有するスピーカを対象人物21に向けるための回転角を算出する。ホストコンピュータ300は、算出した回転角をスピーカ装置30に通知する。スピーカ装置30は、通知された回転角に応じた回転数だけモータを回転させる。そしてホストコンピュータ300は、回転指示に応じたモータの回転終了後に、スピーカから対象人物21向けに出力する音声の音声信号を、スピーカ装置30に送信する。
Further, the
次に、スピーカ装置30の構造について説明する。
図3は、スピーカ装置の構造の一例を示す図である。スピーカ装置30は、土台34と支柱35とによって天井に設置されている。支柱35は、土台34の中心から鉛直下方向に伸びる円柱状の支柱である。支柱35は、モータ32aによって回転する。モータ32aによる支柱35の回転は、土台34の中心を通り鉛直方向に伸びる水平回転軸37aを中心とする回転の角変位の変動である。水平回転軸37aを中心とする回転の角変位の変動を水平方向の回転といい、水平回転軸37aを中心とする回転の角変位を水平方向の角変位ということがある。なおモータ32aは、第1の実施の形態における第2のモータ13(図1参照)の一例である。
Next, the structure of the
FIG. 3 is a diagram showing an example of the structure of the speaker device. The
支柱35には、スピーカ33が設置されている。スピーカ33は、モータ32bの軸によって回転する。モータ32bによるスピーカ33の回転は、支柱35に対して垂直に伸びる垂直回転軸37bを中心とする回転の角変位の変動である。なお、垂直回転軸37bを中心とする回転の角変位の変動を重力の方向の回転といい、垂直回転軸37bを中心とする回転の角変位を重力の方向の角変位ということがある。なおモータ32bは、第1の実施の形態における第1のモータ12(図1参照)の一例である。
A
スピーカ33は、超指向性を有するパラメトリックスピーカである。スピーカ33は、放射部33aとスピーカ基板33bとセンサユニット31とを有する。放射部33aは、振動板を振動させ音声を出力する。スピーカ基板33bは、放射部33aの振動板を振動させる電気信号を放射部33aに入力する電子回路基板である。なおスピーカ33の向きとは、具体的には放射部33aの前面側の法線方向を指す。
The
センサユニット31は、スピーカ基板33b上に実装されている。センサユニット31は、スピーカ33の向きを測定するための複数のセンサを内蔵している。センサユニット31は、例えばIC化されており、スピーカ基板33b上の狭いスペースにも実装可能である。
The
土台34には、回転制御装置100が収納されている。回転制御装置100は、例えばコンピュータの機能が実装されたプリント基板である。回転制御装置100は、コントローラ200を介してホストコンピュータ300に接続されている。回転制御装置100は、ホストコンピュータ300の指示に応じて、スピーカ33の向きを変えるためのモータ32a,32bを回転させる。例えば回転制御装置100は、ホストコンピュータ300から通知された角度分だけ、モータ32a,32bを回転させる。
The
なお第2の実施の形態では、モータ32a,32bはステッピングモータであるものとする。この場合、回転制御装置100は、ホストコンピュータ300から通知された角度分のパルス信号をモータ32a,32bに出力することで、モータ32a,32bを回転させる。
In the second embodiment, the
図4は、回転制御装置およびコントローラのハードウェアの一構成例を示す図である。回転制御装置100は、マイクロコントローラ(マイコン)101によって装置全体が制御されている。マイコン101は、プロセッサ101aとRAM(Random Access Memory)101bとROM(Read Only Memory)101cとを有する。プロセッサ101aは、ROM101cに格納されたファームウェア(制御用のソフトウェア)をRAM101bに読み込み、ファームウェアに従ってスピーカ33の回転制御を行う。プロセッサ101aは、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101aがプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
FIG. 4 is a diagram showing a configuration example of the hardware of the rotation control device and the controller. The entire
RAM101bは、回転制御装置100の主記憶装置として使用される、揮発性の半導体記憶装置である。RAM101bには、プロセッサ101aに実行させるプログラムの少なくとも一部が一時的に格納される。また、RAM101bには、プロセッサ101aによる処理に利用する各種データが格納される。
The
ROM101cは、ファームウェアを記憶する不揮発性の半導体記憶装置である。ROM101cとしては、EPROM(Erasable Programmable Read Only Memory)またはEEPROM(Electrically Erasable Programmable Read-Only Memory)を用いることができる。
The
マイコン101には、機器接続インタフェース102、モータドライバ103,104および接続インタフェース105が接続されている。
機器接続インタフェース102には、センサユニット31が接続されている。センサユニット31は、例えば、加速度センサ31a、ジャイロセンサ31b、および地磁気センサ31cを有する。加速度センサ31aは、3軸方向の加速度を測定するセンサである。ジャイロセンサ31bは、3軸方向の回転速度(角速度)を計測するセンサである。ジャイロセンサ31bは、角速度センサとも呼ばれる。地磁気センサ31cは、地磁気の3次元での方向(例えばS極の方向)を計測するセンサである。地磁気の方向は、例えば3軸方向の成分を有するベクトルで表される。機器接続インタフェース102は、センサユニット31内の各センサが測定した値を、マイコン101に送信する。
The
A
モータドライバ103は、スピーカ33を水平方向に回転させるためのモータ32aに接続されている。モータドライバ103は、マイコン101からパルス信号を受け取りモータ32aの軸を回転させる。
The
モータドライバ104は、スピーカ33を重力の方向に回転させるためのモータ32bに接続されている。モータドライバ104は、マイコン101からパルス信号を受け取りモータ32bの軸を回転させる。
The
接続インタフェース105は、コントローラ200と接続するためのインタフェースである。接続インタフェース106が用いる規格としては、例えばRS−485などがある。
回転制御装置100は、以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、第1の実施の形態に示した回転制御装置16も、図4に示した回転制御装置100と同様のハードウェアにより実現することができる。またプロセッサ101aは、第1の実施の形態に示した処理部16bの一例である。RAM101bまたはROM101cは、第1の実施の形態に示した記憶部16aの一例である。センサユニット31は、第1の実施の形態に示した加速度センサ14、地磁気センサ15などの複数のセンサを内蔵するセンサの一例である。
The
The
回転制御装置100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。回転制御装置100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、回転制御装置100のプロセッサ101aに実行させるプログラムを、ROM101cにファームウェアとして格納しておくことができる。またプロセッサ101aに実行させるプログラムを、光ディスク、メモリ装置、メモリカードなどの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101aからの制御により、ROM101cに書き込まれた後、実行可能となる。
The
コントローラ200は、ホストコンピュータ300と周辺機器とを接続するためのハブ201を有する。ハブ201は、例えばUSB(Universal Serial Bus)などの規格によってホストコンピュータ300と接続されている。ハブ201に接続されている周辺機器としては、シリアルバス202、DAC(Digital Analog Converter)204および接続インタフェース206がある。
The controller 200 has a
シリアルバス202は、ハブ201とDPOT(Digital POTentiometer)203とを接続するためのバスである。シリアルバス202が用いる規格としては、例えばI2C(登録商標)などがある。DPOT203は、信号に応じて抵抗値が変化する可変抵抗器である。DPOT203の抵抗値によってAMP(AMPlifier)205に流れる電流が制御される。
The
DAC204は、ホストコンピュータ300からのデジタル信号をアナログ信号に変換し、AMP205に出力する。AMP205は、DAC204から入力されたアナログ信号を電流によって増幅しスピーカ33に出力する。
The
スピーカ33は、AMP205から入力された信号に応じた音声を出力する。スピーカ33は、例えばパラメトリックスピーカであり、超音波によって音声を出力する。
接続インタフェース206は、回転制御装置100と接続するためのインタフェースである。接続インタフェース206が用いる規格は、接続インタフェース106と同様である。
The
The
図5は、ホストコンピュータのハードウェアの一例を示す図である。ホストコンピュータ300は、プロセッサ301によって装置全体が制御されている。プロセッサ301には、バス311を介してメモリ302と複数の周辺機器が接続されている。プロセッサ301は、マルチプロセッサであってもよい。プロセッサ301は、例えばCPU、MPU、またはDSPである。プロセッサ301がプログラムを実行することで実現する機能の少なくとも一部を、ASIC、PLDなどの電子回路で実現してもよい。
FIG. 5 is a diagram showing an example of hardware of the host computer. The entire device of the
メモリ302は、ホストコンピュータ300の主記憶装置として使用される。メモリ302には、プロセッサ301に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ302には、プロセッサ301による処理に利用する各種データが格納される。メモリ302としては、例えばRAMなどの揮発性の半導体記憶装置が使用される。
The
バス311に接続されている周辺機器としては、ストレージ装置303、グラフィック処理装置304、機器接続インタフェース305、入力インタフェース306、光学ドライブ装置307、機器接続インタフェース308、接続インタフェース309およびネットワークインタフェース310がある。
Peripheral devices connected to the bus 311 include a
ストレージ装置303は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置303は、コンピュータの補助記憶装置として使用される。ストレージ装置303には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置303としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
The
グラフィック処理装置304には、モニタ41が接続されている。グラフィック処理装置304は、プロセッサ301からの命令に従って、画像をモニタ41の画面に表示させる。モニタ41としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置などがある。
A monitor 41 is connected to the
機器接続インタフェース305には、カメラ42が接続されている。カメラ42は、プロセッサ301からの命令に従って、カメラ42のレンズを向けた先の光景の静止画または動画のデータを生成し、メモリ302に格納する。
A camera 42 is connected to the
入力インタフェース306には、キーボード43とマウス44とが接続されている。入力インタフェース306は、キーボード43やマウス44から送られてくる信号をプロセッサ301に送信する。なお、マウス44は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
A keyboard 43 and a mouse 44 are connected to the
光学ドライブ装置307は、レーザ光などを利用して、光ディスク45に記録されたデータの読み取りを行う。光ディスク45は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク45には、DVD(Digital Versatile Disc)、DVD−RAM、CD(Compact Disc)−ROM、CD−R(Recordable)/RW(ReWritable)などがある。
The
機器接続インタフェース308は、ホストコンピュータ300に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース308には、メモリ装置46やメモリリーダライタ47を接続することができる。メモリ装置46は、機器接続インタフェース308との通信機能を搭載した記録媒体である。メモリリーダライタ47は、メモリカード48へのデータの書き込み、またはメモリカード48からのデータの読み出しを行う装置である。メモリカード48は、カード型の記録媒体である。
The
接続インタフェース309は、コントローラ200と接続するためのインタフェースである。接続インタフェース309が用いる規格は、ハブ201が用いる規格と同様である。
ネットワークインタフェース310は、ネットワーク20に接続されている。ネットワークインタフェース310は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
The
The
ホストコンピュータ300は、以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。ホストコンピュータ300は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。ホストコンピュータ300に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、ホストコンピュータ300に実行させるプログラムをストレージ装置303に格納しておくことができる。プロセッサ301は、ストレージ装置303内のプログラムの少なくとも一部をメモリ302にロードし、プログラムを実行する。またホストコンピュータ300に実行させるプログラムを、光ディスク45、メモリ装置46、メモリカード48などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ301からの制御により、ストレージ装置303にインストールされた後、実行可能となる。またプロセッサ301が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
The
次に、スピーカ33の性質について説明する。
図6は、スピーカに対する位置と音圧レベルとの関係の一例を示す図である。以下では、指向性のないスピーカ40とパラメトリックスピーカであるスピーカ33との違いについて説明する。なお図6では、スピーカ33,40が発する音声の音圧レベルの値の高低が点の濃淡で表され、点が濃い箇所は音圧レベルが高いことを示し、点が薄い箇所は音圧レベルが低いことを示す。
Next, the nature of the
FIG. 6 is a diagram showing an example of the relationship between the position with respect to the speaker and the sound pressure level. Hereinafter, the difference between the
スピーカ40が発する音声は、全方向に伝わり、距離が遠くなるほど減衰していく。よってスピーカ40の近辺では音圧レベルが高く、スピーカ40からの距離が大きくなるに連れて音圧レベルは低くなる。この場合、スピーカ40が対象人物21に向いていたとしても、スピーカ40と対象人物21との距離が大きいと、対象人物21は、スピーカ40が発する音声を聞き取りづらいことや聞き取れない場合がある。
The sound emitted by the
一方スピーカ33が発する音声は、原音に超音波の変調をかけて出力される。この音声は、超音波の特性によって直進する。ここで、超音波は広がらないため、距離が遠くなることによる音声の減衰量は小さい。よってスピーカ33が向いている方向の直線上では音圧レベルが高く、スピーカ33が向いている方向以外の方向では音圧レベルは低くなる。そのため、スピーカ33が対象人物21に向いていると、スピーカ33と対象人物21との距離が大きくても、対象人物21はスピーカ33が発する音声を聞き取ることができる。このようにして、スピーカ33によって特定の人物(対象人物21)のみに音声が届けられる。
On the other hand, the sound emitted by the
ここで、スピーカ33の向きは、2つの回転軸を中心とする回転(2つの軸回転)それぞれの角変位によって決定される。2つの軸回転の角変位は、それぞれモータ32a,32bの回転に伴って変動する。スピーカ33の水平方向の向きが原点方位と一致する状態からのモータ32aの回転によって生じた角変位は、スピーカ33の水平方向の角度差を表している。スピーカ33を重力の方向に向けた状態からのモータ32bの回転によって生じた角変位は、スピーカ33の重力の方向の角度差を表している。ホストコンピュータ300は、例えばモータ32a,32bへの回転指示を出力し、モータ32a,32bを回転させたとき、その回転で生じると期待される角変位(回転指示で指定した指定角度)を記憶しておく。そしてホストコンピュータ300は、次の回転指示では、記憶している角変位と目的の角度との差だけ軸回転の角変位が変動するように、モータ32a,32bの軸を回転させる。
Here, the orientation of the
このとき、ホストコンピュータ300から指示された回転量と実際のモータ32a,32bの回転量とが脱調などによりずれることがある。すると、ホストコンピュータ300が記憶する各軸方向の回転の現在の角変位と、実際の軸回転で生じた重力の方向の角度差または水平方向の角度差とに差異が生じる。そして、このように生じた差異だけスピーカ33の向きが目的の方向からずれる。スピーカ33の向きが目的の方向からずれると、スピーカ33が音声を届けられる幅は狭いため、対象人物21に音声を届けられなくなることがある。
At this time, the amount of rotation instructed by the
そこで第2の実施の形態では、回転制御装置100が、スピーカ33の向きのずれをキャリブレーション(較正)する。例えば回転制御装置100は、ホストコンピュータ300からの指示に従いスピーカ33を対象人物21に向ける。回転制御装置100は、音声の出力が完了したことを確認すると、スピーカ33の向きを原点方向(初期状態での向き)に復帰させる。その後、回転制御装置100は、原点復帰のための回転後のスピーカ33の向きを計測し、スピーカ33の向きと原点の方向とのずれを検知する。ずれがある場合、回転制御装置100は、ずれ量に応じて、スピーカ33の向きを原点方向にさらに回転させる。
Therefore, in the second embodiment, the
回転制御装置100による重力の方向の誤差の補正の概略の手順は以下の通りである。
回転制御装置100は、原点方向を、下向き(重力の方向)に定める。回転制御装置100は、電源投入時、加速度センサ31aの測定値に基づいて、スピーカ33の傾き(原点方向からのずれ)を算出する。回転制御装置100は、傾きが「0」になる角度分、モータ32bを回転させる。傾きが「0」の状態とは、重力加速度がZ軸のみに作用している状態である。
The general procedure for correcting the error in the direction of gravity by the
The
その後、回転制御装置100は、ホストコンピュータ300から対象人物21までの回転角度(指定角度)を受け取ると、モータ32bを回転させる。回転制御装置100は、モータ32bを回転させながらジャイロセンサ31bで回転角を算出する。回転制御装置100は、対象人物21への声かけが終了すると、ジャイロセンサ31bで検出した回転角分を戻すようにモータ32bを回転させる。回転制御装置100は、スピーカ33の向きを戻す制御が終わると、加速度センサ31aの測定値に基づいて、スピーカ33の重力の方向の傾きを検出する。回転制御装置100は、傾きが「0」でなければ、その傾きを誤差と捉え、誤差が「0」となるまで、モータ32bの補正移動の回転を指示する。
After that, the
回転制御装置100による水平方向の誤差の補正の概略の手順は以下の通りである。
回転制御装置100は、原点方向(原点方位)は、予め地磁気センサ31cで測定した方位とする。例えば回転制御装置100は、電源投入時、水平方向の一方へ、モータ32aをゆっくり回転させながらジャイロセンサ31bで測定した角速度に基づいて回転角を算出する。回転制御装置100は、回転の限界に達して脱調が発生したら、モータ32aを逆方向へ「90°」回転させる。回転制御装置100は、「90°」回転後のスピーカ33の水平方向の向き(方位)を地磁気センサ31cで検出する。そして回転制御装置100は、検出した方位を水平方向の原点方位とする。
The general procedure for correcting the horizontal error by the
In the
その後、回転制御装置100は、ホストコンピュータ300から対象人物21までの回転角度(指定角度)を受け取ると、モータ32aを回転させる。回転制御装置100は、モータ32aを回転させながらジャイロセンサ31bで回転角を算出する。回転制御装置100は、対象人物21への声かけが終了すると、ジャイロセンサ31bで検出した回転角分を戻すようにモータ32aを回転させる。回転制御装置100は、スピーカ33の向きを戻す制御が終わると、地磁気センサ31cの測定値に基づいて、スピーカ33の水平方向の向き(方位)を検出する。回転制御装置100は、検出した方位と原点方位とのずれが「0」でなければ、そのずれを誤差と捉え、誤差が「0」となるまで、モータ32aの補正移動の回転を指示する。
After that, the
このように、スピーカ装置30では、スピーカ33の向きを検知するのに、センサユニット31内の各センサの測定値を用いている。ここでセンサの測定値を用いてスピーカ33の向きを検知する利点について説明する。
As described above, in the
一般に、ステッピングモータ自身では、回転角が分からず、脱調により回転角にずれが生じても検知できない。そこでステッピングモータとは別に、回転角の検知機構を実装することが考えられる。位置検出に利用できるものとして、エンコーダ、フォトインタラプタ、メカスイッチなどが考えられるが、これらの部品の取り付けは、構造設計上の制約が大きい。例えば、エンコーダはサイズが大きく、十分な設置スペースが求められる。またフォトインタラプタは、モータごとに設けることとなり数が多くなると共に、設置位置にも制約がある。メカスイッチもモータごとに設けられることとなり数が多くなると共に、モータに機械的負荷を与えてしまう。 In general, the stepping motor itself does not know the rotation angle, and even if the rotation angle shifts due to step-out, it cannot be detected. Therefore, it is conceivable to implement a rotation angle detection mechanism separately from the stepping motor. Encoders, photo interrupters, mechanical switches, etc. can be considered as those that can be used for position detection, but the mounting of these parts has large structural design restrictions. For example, encoders are large in size and require sufficient installation space. In addition, the number of photo interrupters is increased because each motor is provided, and there are restrictions on the installation position. Since mechanical switches are also provided for each motor, the number of mechanical switches increases and a mechanical load is applied to the motors.
それに対して、加速度センサ31a、ジャイロセンサ31b、地磁気センサ31cなどの各種センサは、それらを1つのIC内に収めることが可能であり、非常にサイズが小さい。そのため、設置スペースが少なくて済む。しかも、設置位置がモータの近傍に制限されることもないため、構造設計上の制約も最小限となる。さらにモータに対する余分な負荷の増加にもならない。
On the other hand, various sensors such as the
このように、センサには実装上の制約は少ないという利点がある。しかも加速度センサ31aなどのセンサは、各種分野で利用されており、安価に入手可能である。そのため、センサの測定値を用いてスピーカ33の向きを検知できるようにすることで、スピーカ装置30へのスピーカ33の向きの検知機構の実装が容易となる。
As described above, the sensor has an advantage that there are few mounting restrictions. Moreover, sensors such as the
次にスピーカ33の向きの検知と、検知した向きのずれの較正とを実施するために回転制御装置100が有する機能について説明する。
図7は、回転制御装置の機能の一例を示すブロック図である。回転制御装置100は、記憶部110、回転指示部120、および角度算出部130を有する。
Next, the function of the
FIG. 7 is a block diagram showing an example of the function of the rotation control device. The
記憶部110は、水平方向の原点となる方角を示す原点方位情報を記憶する。水平方向の原点となる方角は、スピーカ装置30を設置した際に、記憶部110に設定される。記憶部110は、例えば回転制御装置100のROM101cによって実現される。
The storage unit 110 stores the origin direction information indicating the direction that becomes the origin in the horizontal direction. The direction serving as the origin in the horizontal direction is set in the storage unit 110 when the
回転指示部120は、ホストコンピュータ300からの指示に従って、モータ32a,32bへの回転を指示する。例えば回転指示部120は、回転角度に応じた数のパルス信号をモータ32a,32bに出力する。また回転指示部120は、角度算出部130が算出した角度に基づいて、原点方向とのずれの有無を判断し、ずれがある場合には、ずれ量に応じた回転指示をモータ32a,32bに出力する。
The
角度算出部130は、センサユニット31内の各センサの測定値に基づいて、スピーカ33の重力の方向または水平方向の角度を算出する。また角度算出部130は、算出した角度と原点方向との成す角度(ずれ量)を算出することもできる。例えば角度算出部130は、原点復帰制御後に、重力の方向または水平方向のずれ量を算出する。なお重力の方向回転の原点方向は、例えば重力の方向である。また水平方向回転の原点方向は、記憶部110に設定されている原点方位情報に示される方向である。
The
なお、図7に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図7に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。 The line connecting each element shown in FIG. 7 indicates a part of the communication path, and a communication path other than the illustrated communication path can be set. Further, the function of each element shown in FIG. 7 can be realized, for example, by causing a computer to execute a program module corresponding to the element.
次に角度算出部130による角度の算出方法について、詳細に説明する。
図8は、重力の方向に回転したときの加速度センサの回転軸の一例を示す図である。加速度センサ31aは、ローカルな3次元の座標系において加速度を計測する。加速度センサ31aのローカル座標系は、スピーカ33の回転に伴ってグローバル座標系に対して回転する。ここでグローバル座標系とは、重力の方向をZ軸とする座標系である。
Next, the angle calculation method by the
FIG. 8 is a diagram showing an example of the rotation axis of the acceleration sensor when rotating in the direction of gravity. The
スピーカ33が、重力の方向の回転における原点方向(重力の方向)を向いているとき、加速度センサ31aのX軸とY軸は水平となり、Z軸は垂直となる。図8の例では、加速度センサ31aのZ軸は、重力と反対方向が正の方向である。すなわち、スピーカ33が重力の方向の回転の原点方向を向いているとき、加速度センサ31aで測定されるZ軸の値(加速度のZ軸成分Az)は、重力加速度「9.80665」となる。
When the
ここで垂直回転軸37b(図3参照)と加速度センサ31aのY軸とが平行であるものとする。その場合、スピーカ33の重力の方向の回転は、加速度センサ31aのY軸を中心とした回転となる。このとき加速度のX軸成分AxとZ軸成分Azとに基づいて、スピーカ33の重力の方向の角度差θyを算出することができる。
Here, it is assumed that the vertical rotation axis 37b (see FIG. 3) and the Y axis of the
図9は、加速度センサの測定値を用いた重力の方向の角度差の算出方法の一例を示す図である。なお、図9では重力加速度を「9.8」と近似している。また、加速度センサ31aのローカル座標系におけるX軸とグローバル座標系のX軸との差をθxとする。
FIG. 9 is a diagram showing an example of a method of calculating an angle difference in the direction of gravity using the measured value of the acceleration sensor. In FIG. 9, the gravitational acceleration is approximated to "9.8". Further, the difference between the X-axis in the local coordinate system of the
このとき、「cosθx=Ax/9.8」、「sinθx=Az/9.8」、「tanθx=Az/Ax」となる。「cosθx=Ax/9.8」の逆関数を用いれば、加速度のX軸成分Axのみからθxを算出できる。「sinθx=Az/9.8」の逆関数を用いれば、加速度のZ軸成分Azのみからθxを算出できる。ただし一軸の成分のみを用いた計算だと、加速度センサ31aの分解能に基づく誤差が大きくなる。そこで角度算出部130は、「tanθx=Az/Ax」の逆関数を用い、加速度のX軸成分AxとZ軸成分Azとからθxを算出する。具体的には、以下の式(1)で算出できる。
θx=tan-1(Az/Ax) (1)
θxに基づいて、重力の方向の角度差θyは「θy=90−|θx|」と表すことができる。この式のθxを式(1)の右辺で置き換えると、重力の方向の角度差θyは以下の式(2)で表される。
θy=90−|tan-1(Az/Ax)| (2)
重力の方向の角度差θyは、ジャイロセンサ31bの測定値から算出することもできる。
In this case, the "cos [theta] x = A x /9.8',`Sinshita x = A z /9.8',`Tanshita x = A z / A x". By using the inverse function of "cos θ x = A x / 9.8", θ x can be calculated only from the X-axis component A x of acceleration. By using the inverse function of "sin θ x = A z / 9.8", θ x can be calculated only from the Z-axis component A z of acceleration. However, if the calculation uses only the uniaxial component, the error based on the resolution of the
θ x = tan -1 (A z / A x ) (1)
Based on θ x , the angle difference θ y in the direction of gravity can be expressed as “θ y = 90− | θ x |”. Replacing θ x in this equation with the right side of equation (1), the angle difference θ y in the direction of gravity is expressed by equation (2) below.
θ y = 90- | tan -1 (A z / A x ) | (2)
The angle difference θ y in the direction of gravity can also be calculated from the measured value of the
図10は、ジャイロセンサの測定値を用いた重力の方向の角度差の算出方法の一例を示す図である。ジャイロセンサ31bは、ローカルな3次元の座標系において角速度ωを計測する。ジャイロセンサ31bのローカル座標系は、スピーカ33の回転に伴ってグローバル座標系に対して回転する。スピーカ33が、重力の方向の回転における原点方向(重力の方向)を向いているとき、ジャイロセンサ31bのX軸とY軸は水平となり、Z軸は垂直となる。
FIG. 10 is a diagram showing an example of a method of calculating the angle difference in the direction of gravity using the measured value of the gyro sensor. The
ここで垂直回転軸37b(図3参照)とジャイロセンサ31bのY軸とが平行であるものとする。その場合、スピーカ33の重力の方向の回転は、ジャイロセンサ31bのY軸を中心とした回転となる。ジャイロセンサ31bを用いるとY軸を中心とした回転の回転角Gyを算出することができる。原点方向からの回転角Gyを求めれば、その回転角Gyは原点方向からの重力の方向の角度差θyに等しくなる。すなわち、ジャイロセンサ31bでは、以下の式(3)により、重力の方向の回転における原点方向を向いた状態からの重力の方向の角度差θyを算出することができる。
θy=Gy=Σωyt (3)
式(3)におけるωyは、Y軸を中心とした回転の角速度であり、tは角速度を計測した時間間隔である。例えばスピーカ33が重力の方向の回転における原点方向を向いた状態から、ω1の角速度で時間t1だけ回転し、ω2の角速度で時間t2だけ回転し、ω3の角速度で時間t3だけ回転し、ω4の角速度で時間t4だけ回転したものとする。この場合、重力の方向の角度差θyは、「θy=ω1t1+ω2t2+ω3t3+ω4t4」となる。
Here, it is assumed that the vertical rotation axis 37b (see FIG. 3) and the Y axis of the
θ y = G y = Σω y t (3)
In equation (3), ω y is the angular velocity of rotation about the Y axis, and t is the time interval at which the angular velocity is measured. For example, from the state where the
このように重力の方向の角度差θyは、加速度センサ31aまたはジャイロセンサ31bの測定値から算出できる。加速度センサ31aの測定値を用いた重力の方向の角度差θyは現在の加速度の状態のみから高精度に算出できる。他方、加速度センサ31aの測定値を用いた重力の方向の角度差θyの計算は、スピーカ33が回転している間は、回転運動の影響を受け、正確な計算が困難となる。それに対して、ジャイロセンサ31bの測定値を用いた重力の方向の角度差θyの計算は、スピーカ33が回転している間であっても計算精度が落ちることはない。
In this way, the angle difference θ y in the direction of gravity can be calculated from the measured values of the
従って、重力の方向の回転を停止した状態で計測できるのであれば、加速度センサ31aの測定値を用いて重力の方向の角度差θyを計算するのが適切となる。またスピーカ33を回転させながら重力の方向の角度差θyを求めるのであれば、ジャイロセンサ31bの測定値を用いて重力の方向の角度差θyを計算するのが適切となる。
Therefore, if the measurement can be performed with the rotation in the direction of gravity stopped, it is appropriate to calculate the angle difference θ y in the direction of gravity using the measured value of the
図11は、原点復帰時の重力の方向の角度差の誤差の計算例を示す図である。スピーカ33が重力の方向の原点方向を向いている場合、加速度センサ31aで計測される加速度のX軸成分は「0.0」、Y軸成分は「0.0」、Z軸成分は「−9.8」となる。またジャイロセンサ31bで計測される角速度に基づいて計算した各軸を中心とした回転で生じる角度差はすべて「0.0」である。
FIG. 11 is a diagram showing a calculation example of an error in the angle difference in the direction of gravity when returning to the origin. When the
この状態で、ホストコンピュータ300から重力の方向に「40°」回転させる指示が入力されたものとする。すると回転指示部120は、モータ32bに対して「40°」分の回転を指示する。
In this state, it is assumed that an instruction to rotate "40 °" in the direction of gravity is input from the
スピーカ33が重力の方向に「40°」回転すると、加速度センサ31aで計測される加速度のX軸成分は「7.507」、Y軸成分は「0.0」、Z軸成分は「−6.299」となる。またジャイロセンサ31bで計測される角速度に基づいて計算したY軸を中心とした回転で生じる角度差は「40.0」となる。
When the
回転指示部120は、指定された角度の回転が終了すると、ホストコンピュータ300に回転終了を通知する。するとホストコンピュータ300は、音声信号をスピーカ装置30に送信し、スピーカ33から対象人物21に対する音声を出力させる(声かけを行う)。声かけが終了すると、ホストコンピュータ300は、回転制御装置100に対して、ジャイロセンサ31bの測定値に基づいて計算した移動角度(角度差「40.0」)だけ、反対方向に回転するように指示する。すなわちホストコンピュータ300は、「−40°」の回転を指示する。すると、回転制御装置100の回転指示部120は、モータ32bに対して「−40°」分の回転を指示する。
When the rotation of the designated angle is completed, the
このときモータ32bにおいて脱調が発生し、スピーカ33の回転角は「−40°」に達していないものとする。そのため、原点復帰の処理を実施した後においても、スピーカ33の向きが原点方向からずれている。
At this time, it is assumed that step-out occurs in the
図11の例では、加速度センサ31aで計測される加速度のX軸成分は「0.854」、Y軸成分は「0.0」、Z軸成分は「−9.762」となっている。このとき、角度算出部130が誤差を計算する。すなわち角度算出部130は、式(2)に基づいて、現在の重力の方向の角度差θyを計算する。すると「角度差θy=5°」となる。この角度が、角度差の誤差である。
In the example of FIG. 11, the X-axis component of the acceleration measured by the
次に水平方向の角度差の算出方法について説明する。水平方向の回転における原点方向(原点方位)は、例えばスピーカ装置30の正面の方角である。
図12は、水平方向の回転における原点方向の一例を示す図である。図12は、スピーカ装置30の下面図である。すなわち天井に取り付けられたスピーカ装置30を下から見上げたときの様子が図12に示されている。スピーカ33は、水平方向を向いているものとする。
Next, a method of calculating the angle difference in the horizontal direction will be described. The origin direction (origin direction) in the horizontal rotation is, for example, the front direction of the
FIG. 12 is a diagram showing an example of the origin direction in the horizontal rotation. FIG. 12 is a bottom view of the
ここで、スピーカ33が水平方向に「180°」回転可能な場合を想定する。この場合、スピーカ33の回転可能範囲の中間の方向をスピーカ33が向いているときの正面(放射面前方)の方位を原点方位とする。原点方位を示す原点方位情報は、例えば電源投入時の初期化処理の際に角度算出部130によって地磁気センサ31cから取得され、記憶部110に格納される。
Here, it is assumed that the
スピーカ33の水平方向の角度差は、ジャイロセンサ31bの測定値に基づいて算出することができる。
図13は、ジャイロセンサの測定値を用いた水平方向の角度差の算出方法の一例を示す図である。スピーカ33が、重力の方向の回転における原点方向(重力の方向)を向いているとき、ジャイロセンサ31bのX軸とY軸は水平となり、Z軸は垂直となる。
The horizontal angle difference of the
FIG. 13 is a diagram showing an example of a method of calculating the angle difference in the horizontal direction using the measured value of the gyro sensor. When the
ここで水平回転軸37a(図3参照)とジャイロセンサ31bのZ軸とが平行であるものとする。その場合、スピーカ33の水平方向の回転は、ジャイロセンサ31bのZ軸を中心とした回転となる。ジャイロセンサ31bを用いるとZ軸を中心とした回転の回転角Gzを算出することができる。原点方位からの回転角Gzを求めれば、その回転角Gzは水平方向の角度差θzに等しくなる。すなわち、ジャイロセンサ31bでは、以下の式(4)により、重力の方向の回転における原点方向を向いた状態からの水平方向の角度差θzを算出することができる。
θz=Gz=Σωzt (4)
式(4)におけるωzは、Z軸を中心とした回転の角速度であり、tは角速度を計測した時間間隔である。例えばスピーカ33が重力の方向の回転における原点方向を向いた状態から、ω1の角速度で時間t1だけ回転し、ω2の角速度で時間t2だけ回転し、ω3の角速度で時間t3だけ回転し、ω4の角速度で時間t4だけ回転したものとする。この場合、水平方向の角度差θzは、「θz=ω1t1+ω2t2+ω3t3+ω4t4」となる。
Here, it is assumed that the
θ z = G z = Σω z t (4)
In equation (4), ω z is the angular velocity of rotation about the Z axis, and t is the time interval at which the angular velocity is measured. For example, from the state where the
ジャイロセンサ31bの測定値を用いれば、スピーカ33を回転させるごとの実際の回転角が分かる。スピーカ33の回転の指定角度と実際の回転角との誤差を求めれば、脱調の有無を判定することができる。
By using the measured value of the
図14は、水平方向の角度差の誤差の計算例を示す図である。図14の例では、原点方位から「90°」を指定角度とした回転指示が、ホストコンピュータ300から入力された場合を想定している。この場合、回転指示部120は、モータ32aに対して「90°」分のパルス信号を出力する。そのパルス信号に応じてモータ32aが回転する。角度算出部130は、ジャイロセンサ31bが測定した角速度を取得し、回転角を算出する。図14の例では、回転角は「80°」となっている。この場合、指定角度である「90°」と、回転角「80°」との差分が、脱調による誤差である。
FIG. 14 is a diagram showing a calculation example of an error of an angle difference in the horizontal direction. In the example of FIG. 14, it is assumed that a rotation instruction with "90 °" as a designated angle from the origin direction is input from the
回転指示部120は、脱調による誤差の量が分かれば、誤差の分だけさらにスピーカ33を回転させることで、誤差を補正することができる。また可動範囲の限界に達したことを、脱調の有無で判断することもできる。
If the amount of error due to step-out is known, the
次に、図15〜図18を参照し、スピーカ33を用いた対象人物21への声かけの手順について詳細に説明する。
図15は、電源投入時のスピーカ装置初期化処理の手順の一例を示すフローチャート(1/2)である。以下、図15に示す処理をステップ番号に沿って説明する。
Next, with reference to FIGS. 15 to 18, the procedure of speaking to the target person 21 using the
FIG. 15 is a flowchart (1/2) showing an example of the procedure of the speaker device initialization process when the power is turned on. Hereinafter, the process shown in FIG. 15 will be described along with the step numbers.
[ステップS101]スピーカ装置30は、電源ONの操作が行われると、回転制御装置100およびスピーカ33に対して電源を供給する。すると回転制御装置100は初期化処理を開始する。
[Step S101] When the power ON operation is performed, the
[ステップS102]回転制御装置100の角度算出部130は、加速度センサ31aの測定値を取得する。そして角度算出部130は、加速度のX軸成分「Ax」とZ軸成分「Az」とに基づいて、上記の式(2)に従って重力の方向の角度差θy(傾き)を算出する。角度算出部130は、算出した重力の方向の角度差θyを、回転指示部120に通知する。
[Step S102] The
[ステップS103]回転指示部120は、ステップS102で算出された重力の方向の角度差θyに基づいて、スピーカ33の原点方向への重力の方向の回転制御を行う。例えば角度算出部130で算出された重力の方向の角度差θyが「55°」であったものとする。この場合、回転指示部120は、モータ32bを「−55°」だけ回転するように制御する。すなわち回転指示部120は、回転方向を負の方向に設定し、「55°」分のパルス信号をモータ32bに出力する。
[Step S103] The
[ステップS104]角度算出部130は、回転指示部120によるモータ32bへのパルス信号の出力が終了すると、加速度センサ31aの測定値を取得する。そして角度算出部130は、加速度のX軸成分「Ax」とZ軸成分「Az」とに基づいて、上記の式(2)に従って重力の方向の角度差θy(傾き)を算出する。角度算出部130は、算出した重力の方向の角度差θyを、回転指示部120に通知する。
[Step S104] The
[ステップS105]回転指示部120は、重力の方向の角度差θyが「0°」か否かを判定する。なお回転指示部120は、重力の方向の角度差θyが「0°」か否かの判定において、ある程度の許容範囲を持たせてもよい。例えば回転指示部120は、重力の方向の角度差θyが「0°」から許容誤差の範囲内であれば、重力の方向の角度差θyが「0°」であると判定する。回転指示部120は、重力の方向の角度差θyが「0°」であれば、処理をステップS111(図16参照)に進める。回転指示部120は、重力の方向の角度差θyが「0°」でなければ、処理をステップS106に進める。
[Step S105] The
[ステップS106]回転指示部120は、ステップS104で算出された重力の方向の角度差θyに基づいて、スピーカ33の重力の方向の回転制御を行う。例えば回転指示部120は、重力の方向の角度差θyに相当する数のパルス信号をモータ32bに出力する。回転指示部120は、その後、処理をステップS104に進める。
[Step S106] The
図16は、電源投入時のスピーカ装置初期化処理の手順の一例を示すフローチャート(2/2)である。以下、図16に示す処理をステップ番号に沿って説明する。
[ステップS111]回転指示部120は、ジャイロセンサ31bの測定値に基づく計算によって得られる回転角の保存値(Gx,Gy,Gz)を(0,0,0)に初期化する。
FIG. 16 is a flowchart (2/2) showing an example of the procedure of the speaker device initialization process when the power is turned on. Hereinafter, the process shown in FIG. 16 will be described along with the step numbers.
[Step S111] The
[ステップS112]回転指示部120は、スピーカ33の、水平方向への所定の角度の等速回転制御を行う。例えば、初期化処理時の水平方向の基準回転角ZHが「10°」に設定されているものとする。この場合、回転指示部120は、モータ32aを「10°」だけ回転するように制御する。すなわち回転指示部120は、「10°」分のパルス信号をモータ32aに出力する。
[Step S112] The
[ステップS113]角度算出部130は、回転指示部120によるモータ32aへのパルス信号の出力が終了すると、ジャイロセンサ31bの測定値を取得する。そして角度算出部130は、ジャイロセンサ31bの測定値に基づいて、式(4)に従って回転角Gzを算出する。角度算出部130は、算出した回転角Gzを、回転指示部120に通知する。
[Step S113] The
[ステップS114]回転指示部120は、回転角Gzが基準回転角ZH「10°」に等しいか否かを判定する。なお回転指示部120は、回転角Gzが基準回転角ZH「10°」に等しいか否かの判定において、ある程度の許容範囲を持たせてもよい。例えば回転指示部120は、回転角Gzが「10°」から許容誤差の範囲内であれば、回転角Gzが「10°」であると判定する。回転指示部120は、回転角Gzが「10°」であれば、処理をステップS112に進める。回転指示部120は、回転角Gzが「10°」でなければ、処理をステップS115に進める。
[Step S114] The
このようにして、スピーカ33の「10°」ずつの水平方向の回転が、脱調により回転角Gzと基準回転角ZHとが不一致となるまで繰り返される。スピーカ33の水平方向の可動範囲は制限があり(例えば「180°」)、可動範囲の端部まで回転すると、スピーカ33はそれ以上回転できず、脱調が発生する。この場合、実際の回転角Gzが、回転制御で指示した基準回転角ZHに満たなくなる。そこで回転指示部120は、回転角Gzが基準回転角ZHとならないことを確認することで、スピーカ33の向きが水平方向の可動範囲の一方の端部まで回転したものと認識する。回転指示部120は、スピーカ33の向きが水平方向の可動範囲の一方の端部まで回転したら、ステップS115以降の処理を実行する。
In this way, the horizontal rotation of the
なお、回転指示部120は、ステップS114において、少しずつ(例えば「10°」ずつ)回転させることで、モータ32aへの負荷の軽減を図っている。すなわち、スピーカ33の向きが水平方向の可動範囲の端部に達した後も、パルス信号をモータ32aに送信し続けると、モータ32aに余計な負荷をかけ続けることとなる。そのため回転指示部120は、基準回転角ZHずつ回転させ、回転させるごとに脱調の有無を確認することで、モータ32aにかかる余分な負荷を最小限に抑止している。
The
[ステップS115]回転指示部120は、スピーカ33の、水平方向への所定の角度(例えば水平方向の回転の可動範囲の角度の半分)の等速回転制御を行う。例えば、水平方向の回転の可動範囲が「180°」であり、ステップS112〜S114の処理により正の回転方向の端部までスピーカ33が回転しているものとする。この場合、回転指示部120は、モータ32aを「−90°」だけ回転するように制御する。すなわち回転指示部120は、回転方向を負の方向に設定し、「90°」分のパルス信号をモータ32aに出力する。
[Step S115] The
[ステップS116]角度算出部130は、回転指示部120によるモータ32aへのパルス信号の出力が終了すると、地磁気センサ31cの測定値を取得する。そして角度算出部130は、地磁気センサ31cの測定値に基づいて原点方位M0を決定する。すなわち角度算出部130は、現時点のスピーカ33の水平方向の向きを原点方位M0とする。角度算出部130は、取得した地磁気センサ31cの測定値を、原点方位情報として記憶部110に格納する。
[Step S116] The
[ステップS117]回転指示部120は、ジャイロセンサ31bの測定値に基づく計算によって得られる回転角の保存値(Gx,Gy,Gz)を(0,0,0)に初期化する。
このようにして、スピーカ装置30への電源投入時に初期化処理が行われ、スピーカ33は、重力の方向回転の原点方向(鉛直真下)と水平方向回転の原点方位(スピーカ装置30の正面)とを向いた状態となる。また原点方位情報が記憶部110に格納される。
[Step S117] The
In this way, the initialization process is performed when the power is turned on to the
その後、ホストコンピュータ300は、不審人物を検出すると、その人物を対象人物21とする。そしてホストコンピュータ300は、対象人物21の位置を特定し、その位置に向けたスピーカ33の回転をスピーカ装置30に指示する。スピーカ装置30の回転制御装置100は、声かけ用回転制御および原点復帰処理を行う。
After that, when the
図17は、声かけ用回転制御および原点復帰処理の手順の一例を示すフローチャート(1/2)である。以下、図17に示す処理をステップ番号に沿って説明する。
[ステップS201]回転制御装置100の回転指示部120は、ホストコンピュータ300から回転指示を取得する。例えばホストコンピュータ300から、水平方向に「−60°(H=−60°)」、重力の方向に「40°(V=40°)」の回転指示を取得したものとする。
FIG. 17 is a flowchart (1/2) showing an example of the procedure of rotation control for calling and origin return processing. Hereinafter, the process shown in FIG. 17 will be described along with the step numbers.
[Step S201] The
[ステップS202]回転指示部120は、水平方向への指定された角度の回転制御を行う。例えば水平方向に「−60°(H=−60°)」の回転指示を取得している場合、回転指示部120は、モータ32aを「−60°」だけ回転するように制御する。すなわち回転指示部120は、回転方向を負の方向に設定し、「60°」分のパルス信号をモータ32aに出力する。
[Step S202] The
[ステップS203]角度算出部130は、回転指示部120によるモータ32aへのパルス信号の出力が終了すると、ジャイロセンサ31bの測定値を取得する。そして角度算出部130は、ジャイロセンサ31bの測定値に基づいて、式(4)に従って回転角Gzを算出する。脱調が発生していなければ、回転角Gzは「−60°」となる。角度算出部130は、算出した回転角Gzを、回転指示部120に通知する。
[Step S203] The
[ステップS204]回転指示部120は、重力の方向への指定された角度の回転制御を行う。例えばホストコンピュータ300から、重力の方向に「40°(V=40)」の回転指示を取得している場合、回転指示部120は、モータ32bを「40°」だけ回転するように制御する。すなわち回転指示部120は、回転方向を正の方向に設定し、「40°」分のパルス信号をモータ32bに出力する。
[Step S204] The
[ステップS205]角度算出部130は、回転指示部120によるモータ32bへのパルス信号の出力が終了すると、ジャイロセンサ31bの測定値を取得する。そして角度算出部130は、ジャイロセンサ31bの測定値に基づいて、式(3)に従って回転角Gyを算出する。脱調が発生していなければ、回転角Gyは「40°」となる。角度算出部130は、算出した回転角Gyを、回転指示部120に通知する。
[Step S205] The
[ステップS206]回転指示部120は、ホストコンピュータ300に、回転完了を通知する。するとホストコンピュータ300は、スピーカ33を用いて対象人物21向けの音声出力(声かけ)を行う。その間、回転指示部120は、ホストコンピュータ300による声かけ完了を待つ。ホストコンピュータ300は、声かけが完了すると、原点復帰指示をスピーカ装置30に送信する。回転指示部120は、原点復帰指示を受信すると、声かけが完了したものと認識し、処理をステップS211(図18参照)に進める。
[Step S206] The
図18は、声かけ用回転制御および原点復帰処理の手順の一例を示すフローチャート(2/2)である。以下、図18に示す処理をステップ番号に沿って説明する。
[ステップS211]回転指示部120は、ホストコンピュータ300からの原点復帰指示を取得する。例えば回転指示部120は、ホストコンピュータ300から、原点復帰指示として、水平方向に「−Gz」、重力の方向に「−Gy」の回転指示を取得する。この原点復帰指示は、ジャイロセンサ31bの測定値に基づいて計算した回転角の分だけの、反対方向への回転指示である。
FIG. 18 is a flowchart (2/2) showing an example of the procedure of rotation control for calling and origin return processing. Hereinafter, the process shown in FIG. 18 will be described along with the step numbers.
[Step S211] The
[ステップS212]回転指示部120は、重力の方向への指定された角度「−Gy」の回転制御を行う。例えば回転角Gyが「40°」の場合、回転指示部120は、モータ32bを「−40°」だけ回転するように制御する。すなわち回転指示部120は、回転方向を負の方向に設定して、「40°」分のパルス信号をモータ32bに出力する。
[Step S212] The
[ステップS213]角度算出部130は、加速度センサ31aの測定値を取得する。そして角度算出部130は、加速度のX軸成分「Ax」とZ軸成分「Az」とに基づいて、上記の式(2)に従って重力の方向の角度差θy(傾き)を算出する。角度算出部130は、算出した重力の方向の角度差θyを、回転指示部120に通知する。
[Step S213] The
[ステップS214]回転指示部120は、重力の方向の角度差θyが「0°」か否かを判定する。なお回転指示部120は、重力の方向の角度差θyが「0°」か否かの判定において、ある程度の許容範囲を持たせてもよい。回転指示部120は、重力の方向の角度差θyが「0°」であれば、処理をステップS216に進める。回転指示部120は、重力の方向の角度差θyが「0°」でなければ、処理をステップS215に進める。
[Step S214] The
[ステップS215]回転指示部120は、現在の重力の方向の角度差θyと原点方向「θy=0」との差分に応じた回転角の重力の方向の回転制御を行う。例えば「重力の方向の角度差θy=5°」であれば、回転指示部120は、モータ32bを「−5°」だけ回転するように制御する。すなわち回転指示部120は、回転方向を負の方向に設定して、「5°」分のパルス信号をモータ32bに出力する。その後、回転指示部120は、処理をステップS213に進める。
[Step S215] The
[ステップS216]回転指示部120は、水平方向への指定された角度「−Gz」の回転制御を行う。例えば回転角Gzが「−60°」の場合、回転指示部120は、モータ32aを「60°」だけ回転するように制御する。すなわち回転指示部120は、回転方向を正の方向に設定して、「60°」分のパルス信号をモータ32aに出力する。
[Step S216] The
[ステップS217]角度算出部130は、地磁気センサ31cの測定値に基づいて、スピーカ33の水平方向の角度差θzを検出する。例えば角度算出部130は、地磁気センサ31cの測定値を取得する。そして角度算出部130は、取得した測定値に応じたスピーカ33の水平方向の角度差θzを回転指示部120に通知する。
[Step S217] The
[ステップS218]回転指示部120は、スピーカ33の水平方向の角度差θzが「0°」か否か、の判定において、ある程度の許容範囲を持たせてもよい。回転指示部120は、スピーカ33の水平方向の角度差θzが「0°」の場合、声かけ用回転制御および原点復帰処理を終了する。回転指示部120は、スピーカ33の水平方向の角度差θzが「0°」ではない場合、処理をステップS219に進める。
[Step S218] The
[ステップS219]回転指示部120は、現在のスピーカ33の水平方向の角度差に応じた回転角の水平方向の回転制御を行う。例えばスピーカ33を水平に向けた場合のスピーカの向きMと原点方位M0とは、地磁気センサの3軸方向の値を成分とするベクトルで表すことができる。この場合、回転指示部120は、スピーカ33を水平に向けた場合のスピーカの向きMのベクトルとM0のベクトルとの成す角を、スピーカ33の水平方向の角度差θzとする。算出したベクトル間の成す角が「5°」であれば、回転指示部120は、モータ32aを「−5°」だけ回転するように制御する。すなわち回転指示部120は、回転方向を負の方向に設定して、「5°」分のパルス信号をモータ32aに出力する。その後、回転指示部120は、処理をステップS217に進める。
[Step S219] The
このようにして、声かけ処理の後に、スピーカ33の向きが原点に復帰する。回転制御装置100は、原点に復帰する際には、加速度センサ31aの測定値に基づいて、スピーカ33の向きを原点方向(重力の方向)に一致させる。また回転制御装置100は、原点に復帰する際には、地磁気センサ31cの測定値に基づいて、水平向の向きを原点方位(スピーカ装置30の正面)に一致させる。これにより、回転の際に脱調が生じても、スピーカ33の向きを正しい向きに修正することができる。
In this way, the orientation of the
また声かけの度に原点復帰処理を行うことで、脱調によるスピーカ33の向きのずれが累積せずに済み、次の声かけにおいて、対象人物21に正確に声かけを行うことができる。
〔第3の実施の形態〕
次に第3の実施の形態について説明する。第3の実施の形態は、原点復帰の際にスピーカ33の向きの誤差を補正するだけでなく、スピーカ33を対象人物21の方向に向けるとき(声かけ前)にもスピーカ33の向きの誤差を補正するものである。以下、第3の実施の形態における第2の実施の形態との相違点について説明する。
Further, by performing the origin return processing each time the voice is called, the deviation of the direction of the
[Third Embodiment]
Next, a third embodiment will be described. In the third embodiment, not only the error in the orientation of the
図19は、声かけ前におけるスピーカの向きの補正方法の一例を示す図である。図19の例では、回転制御装置100は、スピーカ33の方向を対象人物21に向ける場合、回転角を、加速区間、等速区間、および減速区間の3つの区間に分ける。加速区間は、回転速度(角速度)を徐々に速くする区間である。等速区間は、回転速度を一定に保つ区間である。減速区間は、回転速度を徐々に遅くする区間である。このようなモータ制御は、横軸に時間、縦軸に回転速度を採ったグラフを生成すると、図19に示す様な台形のグラフとなるため、台形制御と呼ばれる。
FIG. 19 is a diagram showing an example of a method of correcting the orientation of the speaker before speaking. In the example of FIG. 19, when the direction of the
図19の例では、加速区間は、モータ32a,32bにおける1パルス分の回転角の100倍の角度に予め指定されている。モータ32a,32bが、1パルスのパルス信号の入力ごとに「0.1°」だけ回転する場合、加速区間の角度は「10°」となる。1パルスのパルス信号当りのモータ32a,32bの回転角は、ステップ角とも呼ばれ、モータ32a,32bの固有値である。回転指示部120は、加速区間において、1パルスのパルス信号の出力ステップを100ステップ分繰り返すことになる。その際、回転指示部120は、パルス信号の出力間隔を、徐々に短くする。
In the example of FIG. 19, the acceleration section is designated in advance at an
減速区間も、モータ32a,32bにおける1パルス分の回転角の100倍の角度に予め指定されている。モータ32a,32bが、1パルスのパルス信号の入力ごとに「0.1°」だけ回転する場合、減速区間の角度は「10°」となる。回転指示部120は、等速区間において脱調が発生していなければ、減速区間において、1パルスのパルス信号の出力ステップを100ステップ分繰り返すことになる。その際、回転指示部120は、パルス信号の出力間隔を、徐々に長くする。
The deceleration section is also specified in advance at an
等速区間は、指定された角度から加速区間の角度と減速区間の角度を除いた残りの角度となる。図19の例では、ホストコンピュータ300から指示された回転角が「60°」であるため、等速区間は「40°」となる。この場合、回転指示部120は、加速区間において脱調が発生していなければ、等速区間において、1パルスのパルス信号の出力ステップを400ステップ分繰り返すことになる。その際、回転指示部120は、パルス信号の出力間隔を一定に保つ。
The constant velocity section is the remaining angle obtained by subtracting the angle of the acceleration section and the angle of the deceleration section from the specified angle. In the example of FIG. 19, since the rotation angle instructed by the
なお脱調が発生しない場合の等速区間でのパルス信号出力のステップ数は、以下の式で求められる。
ステップ数=(指定された角度/ステップ角)−(加速区間のステップ数×2)
このように回転角を3つの区間に分けることで、スピーカ33のスムーズな回転が可能となる。
The number of steps of pulse signal output in the constant velocity section when step-out does not occur is calculated by the following equation.
Number of steps = (specified angle / step angle)-(number of steps in acceleration section x 2)
By dividing the rotation angle into three sections in this way, the
そして回転制御装置100は、各区間の終了時点で、回転角の誤差を補正する。すなわち回転制御装置100は、加速区間から等速区間に移行するときに回転角の誤差を補正し、等速区間から減速区間に移行するときの回転角の誤差を補正し、減速区間後に停止したときにも回転角の誤差を補正する。
Then, the
加速区間、等速区間、および減速区間それぞれでの実際の回転角は、ジャイロセンサ31bの測定値を用いて計算することで、高精度に計算することができる。回転制御装置100は、ジャイロセンサ31bの測定値を用いて計算した各区間の回転角と、回転指示で指定された指定角度に応じて決定された角区間の回転角との誤差を計算して、誤差の分の補正を行う。
The actual angle of rotation in each of the acceleration section, the constant velocity section, and the deceleration section can be calculated with high accuracy by calculating using the measured value of the
停止後は、回転制御装置100は、加速度センサ31aの測定値を用いて、重力の方向の角度差θyを計算する。そして回転制御装置100は、計算した重力の方向の角度差θyと指定角度との誤差を計算して、誤差の分の補正を行う。
After stopping, the
図19の例では、加速区間の終了時点において、ジャイロセンサ31bの測定値を用いて計算した回転角Gyは「8°」である。すると加速区間における本来の回転角「10°」に「2°」不足している。この場合、回転制御装置100は、等速区間におけるパルス信号の出力ステップ数を、「2°」の回転分だけ増加させる補正を行う。図19の例では、ステップ角が「0.1°」なので、等速区間に20ステップ追加される。その結果、回転制御装置100は、等速区間において420ステップのパルス信号の出力を行う。
In the example of FIG. 19, at the end of the acceleration section, the rotation angle G y calculated using the measured value of the
図19の例では、等速区間の終了時点において、ジャイロセンサ31bの測定値を用いて計算した回転角Gyは「50°」である。この場合、誤差がないため、補正は行われない。従って、回転制御装置100は、減速区間において100ステップのパルス信号の出力を行う。
In the example of FIG. 19, at the end of the constant velocity section, the rotation angle G y calculated using the measured value of the
減速区間の終了時点において、加速度センサ31aの測定値が「Ax=8.027,Az=−5.62」であったものとする。この場合、式(2)に従って重力の方向の角度差θyを計算すると「55°」となる。すると、指定された角度「60°」に対して「5°」の誤差がある。この場合、回転制御装置100は、さらに「5°」分の回転制御(50ステップのパルス信号の出力)を行う。
It is assumed that the measured value of the
区間の終了時点で補正を行うことで、減速区間の終了時点での誤差を少なく抑えることができる。例えば回転制御装置100は、スピーカ33を対象人物21に向けるときの回転制御においては、減速区間の終了時点での誤差が「3°」以下の場合には補正を行わないようにする。これにより、スピーカ33の回転を停止させた後に、再度、小刻みに回転させるような補正を抑止することができる。なお回転制御装置100は、原点復帰の際には、停止後にさらに高精度(例えば誤差「1°」以下)にスピーカ33の向きを補正する。
By making corrections at the end of the section, it is possible to reduce the error at the end of the deceleration section. For example, the
図20は、声かけ前におけるスピーカの向きの制御手順の一例を示すフローチャートである。図20に示す処理のうち、ステップS301,S306の処理は、それぞれ図17に示した第2の実施の形態のステップS201,S206の処理と同様である。またステップS306の終了後は、第2の実施の形態と同様に、図18に示すステップS211〜S219の処理が実行される。以下、第2の実施の形態と異なる処理について、ステップごとに説明する。 FIG. 20 is a flowchart showing an example of a procedure for controlling the orientation of the speaker before speaking. Of the processes shown in FIG. 20, the processes of steps S301 and S306 are the same as the processes of steps S201 and S206 of the second embodiment shown in FIG. 17, respectively. Further, after the end of step S306, the processes of steps S211 to S219 shown in FIG. 18 are executed as in the second embodiment. Hereinafter, processing different from that of the second embodiment will be described step by step.
[ステップS302]回転指示部120は、加速区間の角度「10°」分の水平方向への回転制御を行う。例えば指定角度が「−60°」であれば、回転指示部120は、モータ32aを「−10°」だけ回転するように制御する。すなわち回転指示部120は、回転方向を負の方向に設定し、「10°」分のパルス信号(100ステップ)をモータ32aに出力する。
[Step S302] The
[ステップS303]回転制御装置100内の回転指示部120と角度算出部130とは協働して、回転途中での補正を伴う水平方向回転処理を実施する。水平方向回転処理の詳細は後述する(図21参照)。
[Step S303] The
[ステップS304]回転指示部120は、加速区間の角度「10°」分の重力の方向への回転制御を行う。例えば指定角度が「60°」であれば、回転指示部120は、モータ32bを「10°」だけ回転するように制御する。すなわち回転指示部120は、回転方向を正の方向に設定し、「10°」分のパルス信号をモータ32bに出力する。
[Step S304] The
[ステップS305]回転制御装置100内の回転指示部120と角度算出部130とは協働して、回転途中での補正を伴う重力の方向回転処理を実施する。重力の方向回転処理の詳細は後述する(図22参照)。
[Step S305] The
次に、水平方向回転処理について詳細に説明する。
図21は、回転途中での補正を伴う水平方向回転処理の手順の一例を示すフローチャートである。以下、図21に示す処理をステップ番号に沿って説明する。
Next, the horizontal rotation process will be described in detail.
FIG. 21 is a flowchart showing an example of a procedure of horizontal rotation processing accompanied by correction during rotation. Hereinafter, the process shown in FIG. 21 will be described along with the step numbers.
[ステップS401]角度算出部130は、ジャイロセンサ31bの測定値に基づいて回転角Gzを算出する。ステップS302(図20参照)において100ステップのパルス信号出力が行われており、脱調が発生していなければ、回転角Gzは「−10°」となる。
[Step S401] The
[ステップS402]回転指示部120は、回転角Gzの絶対値が「ステップ角×加速区間におけるステップ数(100)」と等しいか否かを判定する。なお回転指示部120は、回転角Gzの絶対値が「ステップ角×加速区間におけるステップ数(100)」と等しいか否かの判定において、ある程度の許容範囲を持たせてもよい。回転指示部120は、回転角Gzの絶対値が「ステップ角×加速区間におけるステップ数(100)」と等しい場合、処理をステップS403に進める。また回転指示部120は、回転角Gzの絶対値が「ステップ角×加速区間におけるステップ数(100)」と等しくない場合、処理をステップS404に進める。
[Step S402] The
[ステップS403]回転指示部120は、現在の回転角と加速区間の角度とにずれがないため、回転角の補正を行わずに等速区間における水平方向の等速回転制御を行う。すなわち回転指示部120は、「指定角度/ステップ角−加速区間のステップ数(100ステップ)×2」に相当する回数だけ、モータ32aへのパルス信号の出力ステップを実行する。例えば指定角度が「−60°」であれば、回転指示部120は、400ステップ分のパルス信号の出力を行う。その後、回転指示部120は処理をステップS406に進める。
[Step S403] Since there is no discrepancy between the current rotation angle and the angle of the acceleration section, the
[ステップS404]回転指示部120は、回転誤差分のステップ数「αH」を計算する。回転誤差分のステップ数は、「{ステップ角×加速区間におけるステップ数(100)−|Gz|}×100」で求められる。
[Step S404] The
[ステップS405]回転指示部120は、回転角の補正を伴う、等速区間における水平方向の等速回転制御を行う。すなわち回転指示部120は、「指定角度/ステップ角−加速区間のステップ数(100ステップ)×2+αH」に相当する回数だけ、モータ32aへのパルス信号の出力ステップを実行する。
[Step S405] The
[ステップS406]角度算出部130は、ジャイロセンサ31bの測定値に基づいて回転角Gzを算出する。例えば等速区間が「−40°」分の区間の場合、等速区間で脱調が生じていなければ、回転角Gzは「−50°」となる。
[Step S406] The
[ステップS407]回転指示部120は、回転角Gzの絶対値が「|指定角度|−ステップ角×減速区間におけるステップ数(100)」と等しいか否かを判定する。なお回転指示部120は、回転角Gzの絶対値が「|指定角度|−ステップ角×減速区間におけるステップ数(100)」と等しいか否かの判定において、ある程度の許容範囲を持たせてもよい。回転指示部120は、回転角Gzの絶対値が「|指定角度|−ステップ角×減速区間におけるステップ数(100)」と等しい場合、処理をステップS408に進める。また回転指示部120は、回転角Gzの絶対値が「|指定角度|−ステップ角×減速区間におけるステップ数(100)」と等しくない場合、処理をステップS409に進める。
[Step S407] The
[ステップS408]回転指示部120は、減速区間の角度「10°」分の水平方向への回転制御を行う。例えば指定角度が「−60°」であれば、回転指示部120は、モータ32aを「−10°」だけ回転するように制御する。すなわち回転指示部120は、回転方向を負の方向に設定し、「10°」分のパルス信号(100ステップ)をモータ32aに出力する。その後、回転指示部120は、処理をステップS411に進める。
[Step S408] The
[ステップS409]回転指示部120は、回転誤差分のステップ数「βH」を計算する。回転誤差分のステップ数は、「{|指定角度|−ステップ角×減速区間におけるステップ数(100)−|Gz|}×100」で求められる。
[Step S409] The
[ステップS410]回転指示部120は、回転角の補正を伴う、減速区間における水平方向の等速回転制御を行う。すなわち回転指示部120は、「減速区間のステップ数(100ステップ)+βH」に相当する回数だけ、モータ32aへのパルス信号出力ステップを実行する。
[Step S410] The
[ステップS411]角度算出部130は、ジャイロセンサ31bの測定値に基づいて回転角Gzを算出する。例えば指定角度が「−60°」の場合、減速区間で脱調が生じていなければ、回転角Gzは「−60°」となる。
[Step S411] The
[ステップS412]回転指示部120は、回転角Gzの絶対値が指定角度と等しいか否かを判定する。なお回転指示部120は、回転角Gzの絶対値が指定角度と等しいか否かの判定において、ある程度の許容範囲を持たせてもよい。回転指示部120は、回転角Gzの絶対値が指定角度と等しい場合、水平方向回転処理を終了する。また回転指示部120は、回転角Gzの絶対値が指定角度と等しくない場合、処理をステップS413に進める。
[Step S412] The
[ステップS413]回転指示部120は、誤差分の水平方向への回転制御を行う。例えば回転指示部120は、「指定角度−回転角Gz」を誤差の角度とし、誤差の角度だけ回転するように、モータ32aを制御する。すなわち回転指示部120は、誤差の角度分のパルス信号(誤差の角度×100ステップ)をモータ32aに出力する。その後、回転指示部120は、処理をステップS411に進める。
[Step S413] The
このようにして、回転途中で回転角の補正を行いながら、水平方向の回転処理を行うことができる。
図22は、回転途中での補正を伴う重力の方向回転処理の手順の一例を示すフローチャートである。以下、図22に示す処理をステップ番号に沿って説明する。
In this way, it is possible to perform the rotation process in the horizontal direction while correcting the rotation angle during the rotation.
FIG. 22 is a flowchart showing an example of a procedure for directional rotation processing of gravity accompanied by correction during rotation. Hereinafter, the process shown in FIG. 22 will be described along with the step numbers.
[ステップS501]角度算出部130は、ジャイロセンサ31bの測定値に基づいて回転角Gyを算出する。ステップS304(図20参照)において100ステップのパルス信号出力が行われており、脱調が発生していなければ、回転角Gyは「10°」となる。
[Step S501] The
[ステップS502]回転指示部120は、回転角Gyの絶対値が「ステップ角×加速区間におけるステップ数(100)」と等しいか否かを判定する。なお回転指示部120は、回転角Gyの絶対値が「ステップ角×加速区間におけるステップ数(100)」と等しいか否かの判定において、ある程度の許容範囲を持たせてもよい。回転指示部120は、回転角Gyの絶対値が「ステップ角×加速区間におけるステップ数(100)」と等しい場合、処理をステップS503に進める。また回転指示部120は、回転角Gyの絶対値が「ステップ角×加速区間におけるステップ数(100)」と等しくない場合、処理をステップS504に進める。
[Step S502] The
[ステップS503]回転指示部120は、現在の回転角と加速区間の角度とにずれがないため、回転角の補正を行わずに等速区間における重力の方向の等速回転制御を行う。すなわち回転指示部120は、「指定角度/ステップ角−加速区間のステップ数(100)×2」に相当する回数だけ、モータ32bへのパルス信号出力ステップを実行する。例えば指定角度が「60°」であれば、回転指示部120は、400ステップ分のパルス信号の出力を行う。その後、回転指示部120は処理をステップS506に進める。
[Step S503] Since there is no deviation between the current rotation angle and the angle of the acceleration section, the
[ステップS504]回転指示部120は、回転誤差分のステップ数「αV」を計算する。回転誤差分のステップ数は、「{ステップ角×加速区間におけるステップ数(100)−|Gy|}×100」で求められる。
[Step S504] The
[ステップS505]回転指示部120は、回転角の補正を伴う、等速区間における重力の方向の等速回転制御を行う。すなわち回転指示部120は、「指定角度/ステップ角−加速区間のステップ数(100)×2+αV」に相当する回数だけ、モータ32bへのパルス信号出力ステップを実行する。
[Step S505] The
[ステップS506]角度算出部130は、ジャイロセンサ31bの測定値に基づいて回転角Gyを算出する。例えば等速区間が「40°」分の区間の場合、等速区間で脱調が生じていなければ、回転角Gyは「50°」となる。
[Step S506] The
[ステップS507]回転指示部120は、回転角Gyの絶対値が「|指定角度|−ステップ角×減速区間におけるステップ数(100)」と等しいか否かを判定する。なお回転指示部120は、回転角Gyの絶対値が「|指定角度|−ステップ角×減速区間におけるステップ数(100)」と等しいか否かの判定において、ある程度の許容範囲を持たせてもよい。回転指示部120は、回転角Gyの絶対値が「|指定角度|−ステップ角×減速区間におけるステップ数(100)」と等しい場合、処理をステップS508に進める。また回転指示部120は、回転角Gyの絶対値が「|指定角度|−ステップ角×減速区間におけるステップ数(100)」と等しくない場合、処理をステップS509に進める。
[Step S507] The
[ステップS508]回転指示部120は、減速区間の角度「10°」分の重力の方向への回転制御を行う。例えば指定角度が「60°」であれば、回転指示部120は、モータ32bを「10°」だけ回転するように制御する。すなわち回転指示部120は、回転方向を正の方向に設定し、「10°」分のパルス信号(100ステップ)をモータ32bに出力する。その後、回転指示部120は、処理をステップS511に進める。
[Step S508] The
[ステップS509]回転指示部120は、回転誤差分のステップ数「βV」を計算する。回転誤差分のステップ数は、「{|指定角度|−ステップ角×減速区間におけるステップ数(100)−|Gy|}×100」で求められる。
[Step S509] The
[ステップS510]回転指示部120は、回転角の補正を伴う、減速区間における重力の方向の等速回転制御を行う。すなわち回転指示部120は、「加速区間のステップ数(100ステップ)+βV」に相当する回数だけ、モータ32bへのパルス信号出力ステップを実行する。
[Step S510] The
[ステップS511]角度算出部130は、ジャイロセンサ31bの測定値に基づいて回転角Gyを算出する。例えば指定角度が「60°」の場合、減速区間で脱調が生じていなければ、回転角Gyは「60°」となる。
[Step S511] The
[ステップS512]回転指示部120は、回転角Gyの絶対値が指定角度と等しいか否かを判定する。なお回転指示部120は、回転角Gyの絶対値が指定角度と等しいか否かの判定において、ある程度の許容範囲を持たせてもよい。回転指示部120は、回転角Gyの絶対値が指定角度と等しい場合、重力の方向回転処理を終了する。また回転指示部120は、回転角Gyの絶対値が指定角度と等しくない場合、処理をステップS513に進める。
[Step S512] The
[ステップS513]回転指示部120は、誤差分の重力の方向への回転制御を行う。例えば回転指示部120は、「指定角度−回転角Gy」を誤差の角度とし、誤差の角度だけ回転するように、モータ32bを制御する。すなわち回転指示部120は、誤差の角度分のパルス信号(誤差の角度×100ステップ)をモータ32bに出力する。その後、回転指示部120は、処理をステップS511に進める。
[Step S513] The
このようにして、回転途中で回転角の補正を行いながら、重力の方向の回転処理を行うことができる。
このように、対象人物21にスピーカ33を向ける際にも回転角の補正を行うことで、スピーカ33から出力された音声を正確に対象人物21に届けることができる。またスピーカ33の回転動作中にも回転角の補正を行うことで、補正を行いながらも、スピーカ33を滑らかに回転させることができる。
In this way, it is possible to perform rotation processing in the direction of gravity while correcting the rotation angle during rotation.
In this way, by correcting the rotation angle even when the
〔第4の実施の形態〕
次に第4の実施の形態について説明する。第4の実施の形態は、ジャイロセンサ31bを用いずに、回転角のずれを補正するものである。
[Fourth Embodiment]
Next, a fourth embodiment will be described. In the fourth embodiment, the deviation of the rotation angle is corrected without using the
図23は、ジャイロセンサを用いない場合の初期化処理の手順の一例を示すフローチャートである。なお、図23に示すステップS601〜S606の処理は、それぞれ図15に示す第2の実施の形態のステップS101〜S106と同様である。そこで第2の実施の形態と異なるステップS607以降の処理について、以下にステップ番号に沿って説明する。 FIG. 23 is a flowchart showing an example of the procedure of the initialization process when the gyro sensor is not used. The processing of steps S601 to S606 shown in FIG. 23 is the same as the processing of steps S101 to S106 of the second embodiment shown in FIG. 15, respectively. Therefore, the processing after step S607, which is different from the second embodiment, will be described below along with the step numbers.
[ステップS607]角度算出部130は、地磁気センサ31cの測定値を取得する。そして角度算出部130は、地磁気センサ31cの測定値に基づいて、現在のスピーカ33の向きの方位M1を決定する。
[Step S607] The
[ステップS608]回転指示部120は、スピーカ33の、水平方向への所定の角度の等速回転制御を行う。例えば、初期化処理時の水平方向の基準回転角ZHが「10°」に設定されているものとする。この場合、回転指示部120は、モータ32aを「10°」だけ回転するように制御する。すなわち回転指示部120は、「10°」分のパルス信号をモータ32aに出力する。
[Step S608] The
[ステップS609]角度算出部130は、地磁気センサ31cの測定値を取得する。そして角度算出部130は、地磁気センサ31cの測定値に基づいて、現在のスピーカ33の向きの方位M1’を決定する。
[Step S609] The
[ステップS610]回転指示部120は、方位M1’と方位M1との差分(|M1’−M1|)が基準回転角ZH「10°」に等しいか否かを判定する。なお回転指示部120は、方位M1’と方位M1との差分が基準回転角ZH「10°」に等しいか否かの判定において、ある程度の許容範囲を持たせてもよい。回転指示部120は、方位M1’と方位M1との差分が「10°」であれば、処理をステップS608に進める。回転指示部120は、方位M1’と方位M1との差分が「10°」でなければ、処理をステップS611に進める。
[Step S610] The
[ステップS611]回転指示部120は、スピーカ33の、水平方向への所定の角度(例えば水平方向の回転の可動範囲の角度の半分)の等速回転制御を行う。例えば、水平方向の回転の可動範囲が「180°」であり、ステップS608〜S610の処理により正の回転方向の端部までスピーカ33が回転しているものとする。この場合、回転指示部120は、モータ32aを「−90°」だけ回転するように制御する。すなわち回転指示部120は、回転方向を負の方向に設定し、「90°」分のパルス信号をモータ32aに出力する。
[Step S611] The
[ステップS612]角度算出部130は、回転指示部120によるモータ32aへのパルス信号の出力が終了すると、地磁気センサ31cの測定値を取得する。そして角度算出部130は、地磁気センサ31cの測定値に基づいて原点方位M0を決定する。すなわち角度算出部130は、現時点のスピーカ33の向きを水平にした場合にスピーカ33が向く方位を原点方位M0とする。角度算出部130は、取得した地磁気センサ31cの測定値を、原点方位情報として記憶部110に格納する。
[Step S612] The
このようにして、初期化時に、ジャイロセンサ31bを用いずに、原点方位M0を定めることができる。その後、角度算出部130は、スピーカ33の水平方向の回転時の回転角を、その時点でスピーカ33の向きを水平にした場合のスピーカ33の向きと原点方位M0との差分によって算出する。また、角度算出部130は、スピーカ33の重力の方向の回転時の回転角を、加速度センサ31aの測定値に基づいて得られる傾きによって算出する。これにより、ジャイロセンサ31bを用いなくても、水平方向の回転角および重力の方向の回転角の誤差の補正が可能となる。
In this way, the origin direction M0 can be determined at the time of initialization without using the
〔その他の実施の形態〕
第2〜第4の実施の形態では、各センサは3次元のセンサであるが、例えば加速度センサ31aで測定した加速度のY軸成分は使用していないため、加速度センサ31aとしては2次元のセンサを使用することもできる。またスピーカ33の正面方向の重力方向からの傾きは、例えば1つの軸(例えば図8に示すX軸またはZ軸)の成分の値の変化によって算出することも可能である。そのため、加速度センサ31aとして1次元のセンサを用いることも可能である。
[Other embodiments]
In the second to fourth embodiments, each sensor is a three-dimensional sensor, but for example, since the Y-axis component of the acceleration measured by the
また地磁気センサ31cとしては、水平方向での方位を検出できればよいため、2次元のセンサを用いることも可能である。
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
Further, as the geomagnetic sensor 31c, a two-dimensional sensor can be used as long as it can detect the orientation in the horizontal direction.
Although the embodiment has been illustrated above, the configuration of each part shown in the embodiment can be replaced with another having the same function. Moreover, other arbitrary components and processes may be added. Further, any two or more configurations (features) of the above-described embodiments may be combined.
10 スピーカ装置
11 スピーカ
12 第1のモータ
13 第2のモータ
14 加速度センサ
15 地磁気センサ
16 回転制御装置
16a 記憶部
16b 処理部
10
Claims (8)
水平な第1の回転軸を中心として前記スピーカを回転させる第1のモータと、
前記スピーカに伴って回転する位置に取り付けられ、所定の軸方向の加速度を測定する加速度センサと、
第1の指定角度だけ前記スピーカを前記第1の回転軸を中心として回転させる第1の回転指示を前記第1のモータに対して出力し、指示に従った前記第1のモータの回転が停止した後に前記加速度センサから前記加速度を示す情報を取得し、前記加速度を示す情報に基づいて、前記スピーカの向きと重力の方向との角度差を算出し、前記スピーカの向きと重力の方向との角度差に基づいて、前記第1の回転指示に応じた前記スピーカの回転角と前記第1の指定角度との第1の誤差を算出する回転制御装置と、
を有するスピーカ装置。 With speakers
A first motor that rotates the speaker around a horizontal first rotation axis, and
An acceleration sensor that is attached to a position that rotates with the speaker and measures acceleration in a predetermined axial direction,
A first rotation instruction for rotating the speaker about the first rotation axis by a first designated angle is output to the first motor, and the rotation of the first motor according to the instruction is stopped. After that, the information indicating the acceleration is acquired from the acceleration sensor, the angle difference between the direction of the speaker and the direction of gravity is calculated based on the information indicating the acceleration, and the direction of the speaker and the direction of gravity are A rotation control device that calculates a first error between the rotation angle of the speaker and the first designated angle in response to the first rotation instruction based on the angle difference .
Speaker device with.
請求項1記載のスピーカ装置。 The rotation control device outputs a correction rotation instruction for rotating the speaker by the amount of the first error in a direction of reducing the first error to the first motor.
The speaker device according to claim 1 .
水平な第1の回転軸を中心として前記スピーカを回転させる第1のモータと、
前記スピーカに伴って回転する位置に取り付けられ、所定の軸方向の加速度を測定する加速度センサと、
前記スピーカに伴って回転する位置に取り付けられ、回転の角速度を計測するジャイロセンサと、
前記第1のモータに回転を指示し、指示に従った前記第1のモータの回転が停止した後に前記加速度センサから前記加速度を示す情報を取得し、前記加速度を示す情報に基づいて、前記スピーカの向きと重力の方向との角度差を算出する回転制御装置と、
を有し、
前記回転制御装置は、第3の指定角度に応じた数のパルス信号を前記第1のモータに出力し、前記スピーカの前記第1の回転軸を中心とした回転中に前記ジャイロセンサから定期的に角速度を示す情報を取得し、取得した角速度を示す情報に基づいて前記スピーカの前記第1の回転軸を中心とした回転角を算出し、所定のタイミングまでに出力したパルス信号の数に1パルス当りの前記第1のモータの回転角を乗算して得られる角度と、前記回転角との差分を計算し、差分に応じて、前記所定のタイミング以後に出力するパルス数を補正する、
スピーカ装置。 With speakers
A first motor that rotates the speaker around a horizontal first rotation axis, and
An acceleration sensor that is attached to a position that rotates with the speaker and measures acceleration in a predetermined axial direction,
A gyro sensor that is attached to a position that rotates with the speaker and measures the angular velocity of rotation,
After instructing the first motor to rotate and stopping the rotation of the first motor according to the instruction, information indicating the acceleration is acquired from the acceleration sensor, and the speaker is based on the information indicating the acceleration. A rotation control device that calculates the angle difference between the direction of
Have,
The rotation control device outputs a number of pulse signals corresponding to a third designated angle to the first motor, and periodically from the gyro sensor during rotation of the speaker around the first rotation axis. The information indicating the angular velocity is acquired, the rotation angle around the first rotation axis of the speaker is calculated based on the acquired information indicating the angular velocity, and the number of pulse signals output by a predetermined timing is 1. The difference between the angle obtained by multiplying the rotation angle of the first motor per pulse and the rotation angle is calculated, and the number of pulses output after the predetermined timing is corrected according to the difference.
Speaker system.
請求項3記載のスピーカ装置。 The rotation control device divides the rotation according to the third designated angle into an acceleration section, a constant velocity section, and a deceleration section. In the acceleration section, the output interval of the pulse signal is shortened with the passage of time, and the like. In the high speed section, the pulse signal is output at regular intervals, and in the deceleration section, the output interval of the pulse signal is lengthened with the passage of time, and at least one of the acceleration section, the constant velocity section, and the deceleration section. The time when the output of the pulse signal corresponding to one section is completed is set as the predetermined timing.
The speaker device according to claim 3 .
前記スピーカに伴って回転する位置に取り付けられ、地磁気の方向を測定する地磁気センサと、
をさらに有し、
前記回転制御装置は、前記第2のモータに回転を指示し、指示に従った前記第2のモータの回転が停止した後に前記地磁気センサから前記地磁気の方向を示す情報を取得し、前記地磁気の方向を示す情報に基づいて、前記スピーカを水平に向けた場合の前記スピーカの向きと、水平方向に予め設定された原点方位との角度差を算出する、
請求項1ないし4のいずれかに記載のスピーカ装置。 A second motor that rotates the speaker around a second axis of rotation parallel to the direction of gravity, and
A geomagnetic sensor that is attached to a position that rotates with the speaker and measures the direction of the geomagnetism,
Have more
The rotation control device instructs the second motor to rotate, obtains information indicating the direction of the geomagnetism from the geomagnetic sensor after the rotation of the second motor according to the instruction is stopped, and obtains information indicating the direction of the geomagnetism of the geomagnetism. Based on the information indicating the direction, the angle difference between the orientation of the speaker when the speaker is oriented horizontally and the origin orientation preset in the horizontal direction is calculated.
The speaker device according to any one of claims 1 to 4 .
請求項5記載のスピーカ装置。 The rotation control device outputs a second rotation instruction for rotating the speaker about the second rotation axis by a second designated angle to the second motor, and directs the speaker horizontally. A second error between the rotation angle of the speaker and the second designated angle in response to the second rotation instruction is calculated based on the angle difference between the orientation of the speaker and the origin orientation in the case.
The speaker device according to claim 5 .
水平な回転軸を中心としてスピーカを回転させるモータに対して指定角度だけ前記スピーカを前記回転軸を中心として回転させる回転指示を出力し、
指示に従った前記モータの回転が停止した後に、前記スピーカに伴って回転する位置に取り付けられ、所定の軸方向の加速度を測定する加速度センサから、前記加速度を示す情報を取得し、
前記加速度を示す情報に基づいて、前記スピーカの向きと重力の方向との角度差を算出し、
前記スピーカの向きと重力の方向との角度差に基づいて、前記回転指示に応じた前記スピーカの回転角と前記指定角度との誤差を算出する、
処理を実行させる回転制御プログラム。 On the computer
And it outputs the rotation instruction to the speaker for a specified angle for the motor for rotating the speaker about a horizontal rotational axis is rotated about said rotational axis,
After the rotation of the motor is stopped according to the instruction, information indicating the acceleration is acquired from an acceleration sensor that is attached to a position that rotates with the speaker and measures acceleration in a predetermined axial direction.
Based on the information indicating the acceleration, calculating the angular difference between the direction and the direction of gravity of the speaker,
Based on the angle difference between the direction of the speaker and the direction of gravity, the error between the rotation angle of the speaker and the designated angle in response to the rotation instruction is calculated.
A rotation control program that executes processing.
声かけ対象の対象人物と前記スピーカ装置との相対位置に基づいて、前記スピーカ装置に対して前記スピーカの回転指示を送信し、前記回転指示に応じた前記スピーカの回転終了後に、前記スピーカから前記対象人物向けに出力する音声の音声信号を、前記スピーカ装置に送信するホストコンピュータと、
を有する情報処理システム。 A speaker, a motor that rotates the speaker around a horizontal rotation axis, an acceleration sensor that is attached to a position that rotates with the speaker and measures acceleration in a predetermined axial direction, and input of a rotation instruction of the speaker. Information indicating the acceleration from the acceleration sensor after outputting a rotation instruction to rotate the speaker about the rotation axis by a specified angle to the motor and stopping the rotation of the motor according to the instruction. Is acquired, the angle difference between the direction of the speaker and the direction of gravity is calculated based on the information indicating the acceleration, and the rotation instruction is responded to based on the angle difference between the direction of the speaker and the direction of gravity. A speaker device having a rotation control device for calculating an error between the rotation angle of the speaker and the designated angle .
A rotation instruction of the speaker is transmitted to the speaker device based on the relative position between the target person to be called and the speaker device, and after the rotation of the speaker in response to the rotation instruction is completed, the speaker performs the rotation instruction. A host computer that transmits an audio signal of audio output to the target person to the speaker device, and
Information processing system with.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020022020A JP6795775B1 (en) | 2020-02-13 | 2020-02-13 | Speaker device, rotation control program, and information processing system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020022020A JP6795775B1 (en) | 2020-02-13 | 2020-02-13 | Speaker device, rotation control program, and information processing system |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6795775B1 true JP6795775B1 (en) | 2020-12-02 |
JP2021129183A JP2021129183A (en) | 2021-09-02 |
Family
ID=73544758
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020022020A Active JP6795775B1 (en) | 2020-02-13 | 2020-02-13 | Speaker device, rotation control program, and information processing system |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6795775B1 (en) |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006025300A (en) * | 2004-07-09 | 2006-01-26 | Pioneer Electronic Corp | Loudspeaker system and audition system for the loudspeaker system |
JP5396769B2 (en) * | 2008-08-04 | 2014-01-22 | セイコーエプソン株式会社 | Audio output control device, audio output device, audio output control method, and program |
JP2010206451A (en) * | 2009-03-03 | 2010-09-16 | Panasonic Corp | Speaker with camera, signal processing apparatus, and av system |
JP5870818B2 (en) * | 2012-03-30 | 2016-03-01 | ソニー株式会社 | Input device, control system, calibration method, and program |
JP6304740B2 (en) * | 2013-11-01 | 2018-04-04 | Necディスプレイソリューションズ株式会社 | Attitude detection apparatus, control method therefor, and projector |
JP6174654B2 (en) * | 2015-10-15 | 2017-08-02 | ファナック株式会社 | Robot system with function to calculate sensor position and orientation |
JP6697174B1 (en) * | 2019-10-30 | 2020-05-20 | 富士通クライアントコンピューティング株式会社 | Information processing device, program, and information processing system |
-
2020
- 2020-02-13 JP JP2020022020A patent/JP6795775B1/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2021129183A (en) | 2021-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9182229B2 (en) | Enhanced position measurement systems and methods | |
EP3450637B1 (en) | Excavator bucket positioning via mobile device | |
JP5023073B2 (en) | Motion sensing program and electronic compass provided with the same | |
US10216002B2 (en) | Anti-shake correction system for curved optical sensor | |
EP2056066A2 (en) | Surveying Instrument | |
US11412142B2 (en) | Translation correction for optical image stabilization | |
CA2901655A1 (en) | Image processing device, image processing method, and program therefor | |
JP2017044550A (en) | Measurement device | |
JP6823482B2 (en) | 3D position measurement system, 3D position measurement method, and measurement module | |
JP2008139035A (en) | 3-d environment measurement device and mobile robot provided with the same | |
JP2009300265A (en) | Position detecting device of underwater mobile body | |
JP2019124496A (en) | Three-dimensional surveying device and three-dimensional surveying method | |
KR101896061B1 (en) | System for airshooting with making a precise measurement of aerial work image | |
KR20170094851A (en) | Calibration method for gyro sensor using tilt sensor | |
JP6697174B1 (en) | Information processing device, program, and information processing system | |
JP6795775B1 (en) | Speaker device, rotation control program, and information processing system | |
JP7093618B2 (en) | Surveying device | |
WO2019127139A1 (en) | Calibration method for magnetometer and related device | |
JP6966229B2 (en) | Runout correction characteristic evaluation device for optical equipment with runout correction function | |
JP6763749B2 (en) | Mobile control system and mobile | |
JP4595042B2 (en) | Three-dimensional measurement method and system, and manipulator control method and apparatus | |
JP2022158099A (en) | Inverted actuator type inertia detection device and surveying device | |
JP2017062265A (en) | Measurement device and program | |
KR20050063469A (en) | Three dimensional input device using geo-magnetic sensor and data processing method therefor | |
JP2001175411A (en) | Image controller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200305 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20200305 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20200609 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200616 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200803 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20201013 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201026 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6795775 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |