(57)【特許請求の範囲】
【請求項１】
物体の位置と当該物体までの距離を求める情報処理装置であって、
空間を伝播する波を送信する送信機と、
前記送信機から送信された波の、前記物体による反射波を受信する第１の受信機、第２の受信機、及び、第３の受信機と、
前記第１から第３の受信機のそれぞれが受信した前記反射波と、前記送信機が前記波を送信してから前記第１から第３の受信機のそれぞれが前記反射波を受信するまでの時間とに基づいて、前記物体の位置と前記物体までの距離を計算する計算部と、
前記計算部による計算結果を出力する出力部と、
を備え、
前記送信機と前記第１の受信機と前記第２の受信機と前記第３の受信機は同一平面内に配置され、
前記計算部は、
前記第１から第３の受信機のそれぞれと前記物体との距離を、前記波の伝播速度と、前記送信機が前記波を送信してから前記第１から第３の受信機のそれぞれが前記反射波を受信するまでの各時間とに基づいて計算し、
前記第１の受信機と前記第２の受信機を結ぶ線分の中点と前記物体とを結ぶベクトルと、前記第１から第３の受信機のそれぞれを含む平面に垂直なベクトルと、のなす第１の角度を、三角関数を用いて計算し、
前記第２の受信機と前記第３の受信機を結ぶ線分の中点と前記物体とを結ぶベクトルと、前記第１から第３の受信機のそれぞれを含む平面に垂直なベクトルと、のなす第２の角度を、三角関数を用いて計算し、
前記送信機と前記第１の受信機と前記第２の受信機と前記第３の受信機との間の各距離は、前記第１の受信機から前記物体までの距離と、前記第２の受信機から前記物体までの距離と、第３の受信機から前記物体までの距離とに比べて十分に小さいと近似し、
前記第１の受信機と前記第２の受信機を結ぶ線分の中点から前記物体までの距離と、前記第２の受信機と前記第３の受信機を結ぶ線分の中点から前記物体までの距離とを、前記第１から第３の受信機のそれぞれと前記物体との距離の平均値に近似し、
さらに、前記物体の位置を、前記計算された距離と、前記計算された第１の角度と、前記計算された第２の角度と、に基づいて計算する、
ことを特徴とする情報処理装置。
【請求項２】
前記出力部により出力される前記計算結果に基づいて、当該情報処理装置に接続される可動装置を制御する制御部、
を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記制御部は、第１の時刻に、前記計算部により計算された前記物体の位置が所定範囲内にあり、且つ、前記可動装置が前記物体の存在する第１の方向に動いていると判断された場合、前記制御部は、当該可動装置を非動作にするか又は当該第１の方向と異なる第２の方向に動かすように制御する、
ことを特徴とする請求項２に記載の情報処理装置。
【請求項４】
前記制御部は、前記第１の時刻より後の第２の時刻に、前記計算部により計算された前記物体の位置が前記所定範囲内にない場合、前記制御部は、前記可動装置を前記第１の方向に動かすように制御する、
ことを特徴とする請求項２又は３に記載の情報処理装置。
【請求項５】
空間を伝播する波を送信する送信ステップと、
前記波の反射波を少なくとも第１から第３の三地点で受信する受信ステップと、
前記波を送信してから前記三地点でそれぞれが前記反射波を受信するまでの時間に基づいて、前記物体の位置と前記物体までの距離を計算する計算ステップと、
前記計算ステップによる計算結果を出力する出力ステップと、
を備え、
前記波を送信する地点と前記第１の地点と前記第２の地点と前記第３の地点は同一平面内に配置され、
前記計算ステップでは、
前記三地点でそれぞれ受信した前記反射波を生成した物体との距離を、前記波の伝播速度と、前記波を送信してから前記三地点で前記反射波を受信するまでの各時間とに基づいて計算し、
前記第１の地点と前記第２の地点を結ぶ線分の中点と前記物体とを結ぶベクトルと、前記第１から第３の地点のそれぞれを含む平面に垂直なベクトルと、のなす第１の角度を、三角関数を用いて計算し、
前記第２の地点と前記第３の地点を結ぶ線分の中点と前記物体とを結ぶベクトルと、前記第１から第３の地点のそれぞれを含む平面に垂直なベクトルと、のなす第２の角度を、三角関数を用いて計算し、
前記波を送信する地点と前記第１の地点と前記第２の地点と前記第３の地点との間の各距離は、前記第１の地点から前記物体までの距離と、前記第２の地点から前記物体までの距離と、第３の地点から前記物体までの距離とに比べて十分に小さいと近似し、
前記第１の地点と前記第２の地点を結ぶ線分の中点から前記物体までの距離と、前記第２の地点と前記第３の地点を結ぶ線分の中点から前記物体までの距離とを、前記第１から第３の地点のそれぞれと前記物体との距離の平均値に近似し、
さらに、前記物体の位置を、前記計算された距離と、前記計算された第１の角度と、前記計算された第２の角度と、に基づいて計算する、
ことを特徴とする情報処理方法。
【請求項６】
コンピュータを、
空間を伝播する波を送信する送信機から送信された波の物体による反射波を受信する第１の受信機と第２の受信機と第３の受信機のそれぞれが受信した前記反射波と、前記送信機が前記波を送信してから前記第１から第３の受信機のそれぞれが前記反射波を受信するまでの時間とに基づいて、前記物体の位置と前記物体までの距離を計算する計算部、
前記計算部による計算結果を出力する出力部、
として機能させ、
前記送信機と前記第１の受信機と前記第２の受信機と前記第３の受信機は同一平面内に配置され、
前記計算部が、
前記第１から第３の受信機のそれぞれと前記物体との距離を、前記波の伝播速度と、前記送信機が前記波を送信してから前記第１から第３の受信機のそれぞれが前記反射波を受信するまでの各時間とに基づいて計算し、
前記第１の受信機と前記第２の受信機を結ぶ線分の中点と前記物体とを結ぶベクトルと、前記第１から第３の受信機のそれぞれを含む平面に垂直なベクトルと、のなす第１の角度を、三角関数を用いて計算し、
前記第２の受信機と前記第３の受信機を結ぶ線分の中点と前記物体とを結ぶベクトルと、前記第１から第３の受信機のそれぞれを含む平面に垂直なベクトルと、のなす第２の角度を、三角関数を用いて計算し、
前記送信機と前記第１の受信機と前記第２の受信機と前記第３の受信機との間の各距離は、前記第１の受信機から前記物体までの距離と、前記第２の受信機から前記物体までの距離と、第３の受信機から前記物体までの距離とに比べて十分に小さいと近似し、
前記第１の受信機と前記第２の受信機を結ぶ線分の中点から前記物体までの距離と、前記第２の受信機と前記第３の受信機を結ぶ線分の中点から前記物体までの距離とを、前記第１から第３の受信機のそれぞれと前記物体との距離の平均値に近似し、
さらに、前記物体の位置を、前記計算された距離と、前記計算された第１の角度と、前記計算された第２の角度と、に基づいて計算する、
ように制御する、
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、低コストで容易に物体の位置計算を行うために好適な情報処理装置、情報処理方法、及び、プログラムに関する。
【背景技術】
【０００２】
車両の周囲に障害物があるかを検知してユーザに検出結果を通知する装置が普及してきている。例えば、特許文献１には、超音波を用いて監視対象物の動きや位置を検出する装置が開示されている。これによれば、この装置は１つの超音波発信機と複数の超音波受信機とを備え、発信機から発信され超音波の監視対象物で反射された反射波を複数の受信機で受信する。そして、異なる時刻で受信した超音波の波形の差を求めて、監視対象物の位置座標を得る。
【特許文献１】特開２００５−０３０８３８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、上述の方法によれば、監視対象物の位置を求めることはできるものの、プロセッサの限られた処理能力を考慮すれば、位置計算のための演算量が多く、プロセッサへの負荷がとても大きいという問題があった。そのため、正確にかつ迅速に処理を行うためには、より性能の高いプロセッサを導入しなければならず、コストが多くかかってしまうという問題があった。
【０００４】
この発明は、上記実情に鑑みてなされたものであり、低コストで容易に物体の位置計算を行うために好適な情報処理装置、情報処理方法、及び、プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するため、本発明の第１の観点に係る情報処理装置は、物体の位置とその物体までの距離を求める情報処理装置であって、
空間を伝播する波を送信する送信機と、
前記送信機から送信された波の、前記物体による反射波を受信する第１の受信機、第２の受信機、及び、第３の受信機と、
前記第１から第３の受信機のそれぞれが受信した前記反射波と、前記送信機が前記波を送信してから前記第１から第３の受信機のそれぞれが前記反射波を受信するまでの時間とに基づいて、前記物体の位置と前記物体までの距離を計算する計算部と、
前記計算部による計算結果を出力する出力部と、
を備え、
前記送信機と前記第１の受信機と前記第２の受信機と前記第３の受信機は同一平面内に配置され、
前記計算部は、
前記第１から第３の受信機のそれぞれと前記物体との距離を、前記波の伝播速度と、前記送信機が前記波を送信してから前記第１から第３の受信機のそれぞれが前記反射波を受信するまでの各時間とに基づいて計算し、
前記第１の受信機と前記第２の受信機を結ぶ線分の中点と前記物体とを結ぶベクトルと、前記第１から第３の受信機のそれぞれを含む平面に垂直なベクトルと、のなす第１の角度を、三角関数を用いて計算し、
前記第２の受信機と前記第３の受信機を結ぶ線分の中点と前記物体とを結ぶベクトルと、前記第１から第３の受信機のそれぞれを含む平面に垂直なベクトルと、のなす第２の角度を、三角関数を用いて計算し、
前記送信機と前記第１の受信機と前記第２の受信機と前記第３の受信機との間の各距離は、前記第１の受信機から前記物体までの距離と、前記第２の受信機から前記物体までの距離と、第３の受信機から前記物体までの距離とに比べて十分に小さいと近似し、
前記第１の受信機と前記第２の受信機を結ぶ線分の中点から前記物体までの距離と、前記第２の受信機と前記第３の受信機を結ぶ線分の中点から前記物体までの距離とを、前記第１から第３の受信機のそれぞれと前記物体との距離の平均値に近似し、
さらに、前記物体の位置を、前記計算された距離と、前記計算された第１の角度と、前記計算された第２の角度と、に基づいて計算する、
ことを特徴とする。
【０００６】
前記出力部により出力される前記計算結果に基づいて、当該情報処理装置に接続される可動装置を制御する制御部を更に配置してもよい。
【０００７】
前記制御部は、例えば、第１の時刻に、前記計算部により計算された前記物体の位置が所定範囲内にあり、且つ、前記可動装置が前記物体の存在する第１の方向に動いていると判断された場合、前記制御部は、当該可動装置を非動作にするか又は当該第１の方向と異なる第２の方向に動かすように制御する。
【０００８】
前記制御部は、例えば、前記第１の時刻より後の第２の時刻に、前記計算部により計算された前記物体の位置が前記所定範囲内にない場合、前記制御部は、前記可動装置を前記第１の方向に動かすように制御する。
【０００９】
上記目的を達成するため、本発明の第２の観点に係る情報処理方法は、
空間を伝播する波を送信する送信ステップと、
前記波の反射波を少なくとも第１から第３の三地点で受信する受信ステップと、
前記波を送信してから前記三地点でそれぞれが前記反射波を受信するまでの時間に基づいて、前記物体の位置と前記物体までの距離を計算する計算ステップと、
前記計算ステップによる計算結果を出力する出力ステップと、
を備え、
前記波を送信する地点と前記第１の地点と前記第２の地点と前記第３の地点は同一平面内に配置され、
前記計算ステップでは、
前記三地点でそれぞれ受信した前記反射波を生成した物体との距離を、前記波の伝播速度と、前記波を送信してから前記三地点で前記反射波を受信するまでの各時間とに基づいて計算し、
前記第１の地点と前記第２の地点を結ぶ線分の中点と前記物体とを結ぶベクトルと、前記第１から第３の地点のそれぞれを含む平面に垂直なベクトルと、のなす第１の角度を、三角関数を用いて計算し、
前記第２の地点と前記第３の地点を結ぶ線分の中点と前記物体とを結ぶベクトルと、前記第１から第３の地点のそれぞれを含む平面に垂直なベクトルと、のなす第２の角度を、三角関数を用いて計算し、
前記波を送信する地点と前記第１の地点と前記第２の地点と前記第３の地点との間の各距離は、前記第１の地点から前記物体までの距離と、前記第２の地点から前記物体までの距離と、第３の地点から前記物体までの距離とに比べて十分に小さいと近似し、
前記第１の地点と前記第２の地点を結ぶ線分の中点から前記物体までの距離と、前記第２の地点と前記第３の地点を結ぶ線分の中点から前記物体までの距離とを、前記第１から第３の地点のそれぞれと前記物体との距離の平均値に近似し、
さらに、前記物体の位置を、前記計算された距離と、前記計算された第１の角度と、前記計算された第２の角度と、に基づいて計算する、
ことを特徴とする。
【００１０】
上記目的を達成するため、本発明の第３の観点に係るコンピュータプログラムは、
コンピュータを、
空間を伝播する波を送信する送信機から送信された波の物体による反射波を受信する第１の受信機と第２の受信機と第３の受信機のそれぞれが受信した前記反射波と、前記送信機が前記波を送信してから前記第１から第３の受信機のそれぞれが前記反射波を受信するまでの時間とに基づいて、前記物体の位置と前記物体までの距離を計算する計算部、
前記計算部による計算結果を出力する出力部、
として機能させ、
前記送信機と前記第１の受信機と前記第２の受信機と前記第３の受信機は同一平面内に配置され、
前記計算部が、
前記第１から第３の受信機のそれぞれと前記物体との距離を、前記波の伝播速度と、前記送信機が前記波を送信してから前記第１から第３の受信機のそれぞれが前記反射波を受信するまでの各時間とに基づいて計算し、
前記第１の受信機と前記第２の受信機を結ぶ線分の中点と前記物体とを結ぶベクトルと、前記第１から第３の受信機のそれぞれを含む平面に垂直なベクトルと、のなす第１の角度を、三角関数を用いて計算し、
前記第２の受信機と前記第３の受信機を結ぶ線分の中点と前記物体とを結ぶベクトルと、前記第１から第３の受信機のそれぞれを含む平面に垂直なベクトルと、のなす第２の角度を、三角関数を用いて計算し、
前記送信機と前記第１の受信機と前記第２の受信機と前記第３の受信機との間の各距離は、前記第１の受信機から前記物体までの距離と、前記第２の受信機から前記物体までの距離と、第３の受信機から前記物体までの距離とに比べて十分に小さいと近似し、
前記第１の受信機と前記第２の受信機を結ぶ線分の中点から前記物体までの距離と、前記第２の受信機と前記第３の受信機を結ぶ線分の中点から前記物体までの距離とを、前記第１から第３の受信機のそれぞれと前記物体との距離の平均値に近似し、
さらに、前記物体の位置を、前記計算された距離と、前記計算された第１の角度と、前記計算された第２の角度と、に基づいて計算する、
ように制御する、
ことを特徴とする。
【００１１】
また、本発明のプログラムは、コンパクトディスク、フレキシブルディスク、ハードディスク、光磁気ディスク、ディジタルビデオディスク、磁気テープ、半導体メモリ等のコンピュータ読取可能な情報記憶媒体に記録することができる。
上記プログラムは、プログラムが実行されるコンピュータとは独立して、コンピュータ通信網を介して配布・販売することができる。また、上記情報記憶媒体は、コンピュータとは独立して配布・販売することができる。
【発明の効果】
【００１２】
この発明によれば、低コストで容易に物体の位置計算を行うために好適な情報処理装置、情報処理方法、及び、プログラムを提供することができる。
【発明を実施するための最良の形態】
【００１３】
本発明の実施形態について説明する。本実施形態では、情報処理装置１００として、車両のドアの開閉を制御して、開閉時にドアの周囲の障害物などを検知する装置を用いて説明する。ただし、本実施形態は一例に過ぎず本発明の範囲を限定するものではない。
【００１４】
図１は、本実施形態の情報処理装置１００の構成を示す図である。情報処理装置１００は、送信部１０１、受信部１０２、可動部１０３、入力部１０４、出力部１０５、記憶部１０６、ＲＯＭ１０７、ＲＡＭ１０８、制御部１０９、及び、システムバス１１０を備える。
【００１５】
送信部１０１は、所定の周波数（例えば、４０キロヘルツ）の超音波を情報処理装置１００の周囲に発信する発信機を備える。送信機が設置される場所は任意である。送信部１０１は、制御部１０９の制御により、発信機から超音波を発信する。本実施形態では情報処理装置１００は１つの発信機を備える。情報処理装置１００の周囲に障害物などが存在すると、この発信機から発信された超音波は障害物によって反射される。
【００１６】
受信部１０２は、送信部１０１から送信され障害物などによって反射された超音波を受信する受信機を備える。受信部１０２は、制御部１０９の制御により、障害物などで反射した反射波を情報処理装置１００の周囲からこの受信機で受信する。本実施形態では、受信部１０２は３つの受信機を備えるが、受信機の個数を任意に変更した実施形態を採用することも可能である。受信機が設置される場所は任意である。
【００１７】
なお、本実施形態では超音波を用いるが、所定の周波数の電磁波であってもよい。この場合、送信部１０１は所定の周波数の電磁波を情報処理装置１００の周囲に発信する１つ以上の発信機を備え、受信部１０２は情報処理装置１００の周囲からこの電磁波の反射波を受信する複数の受信機を備えていればよい。また、発信機と受信機との両方の機能を有する機器を用いてもよい。
【００１８】
可動部１０３は、モータ（図示せず）を制御して車両のドアを開閉する開閉装置を備える。可動部１０３は、制御部１０９の制御により、可動部分（本実施形態では、車両のドア）を開閉する。受信部１０２が備える受信機は、可動部分に搭載される。送信部１０１が備える送信機も同様にこの可動部分に搭載してもよい。
【００１９】
例えば、図２は、本実施形態の情報処理装置１００を車両に搭載した場合の構成例を示す図である。本図では、可動部１０３は、モータを制御して車両後部のドアを矢印方向に開閉する。このドアには、車両の外側の所定角度範囲に向けて超音波を発信する発信機を備える送信部１０１と、車両の外側の所定角度範囲から超音波の反射波を受信する受信機を備える受信部１０２とが取り付けられている。
【００２０】
なお、本実施形態の情報処理装置１００は可動部１０３を備えているが、可動部１０３を備えない他の構成を採用することも可能である。すなわち、情報処理装置１００は可動装置を備える他の機器等と接続され、受信部１０２がこの可動装置に搭載されるようにしてもよい。
【００２１】
入力部１０４は、ユーザから情報処理装置１００への指示入力を受け付ける。入力部１０４は、入力部１０４に接続される操作ボタン（図示せず）等から入力された指示入力を受け付けて、その指示入力に対応する指示信号を制御部１０９に入力する。例えば、入力部１０４は、後述する位置計算処理を開始することを示す所定の操作指示を受け付けると、その旨を制御部１０９に通知し、制御部１０９は後述する位置計算処理を行う。例えば、入力部１０４は、可動部１０３の備える開閉装置を開閉する指示入力を受け付けると、その旨を制御部１０９に通知し、制御部１０９は、送信部１０１、受信部１０２、可動部１０３を制御して、開閉装置の可動部分が障害物等に接触しないように制御する。
【００２２】
出力部１０５は、制御部１０９が位置計算処理を行って得た計算結果データなどを出力する。例えば、出力部１０５は、スピーカやモニタなどの出力装置に接続され、計算結果や障害物等が周辺に存在する旨の警告音、警告表示などを出力する。出力部１０５は、音声データをＤ／Ａコンバータ（図示せず）で変換してスピーカなどに音声を出力する。これにより、各種の音声出力が可能となる。また、出力部１０５は、制御部１０９から入力される画像データを画像演算プロセッサ（図示せず）によって加工処理した後、これを出力部１０５が備えるフレームメモリ（図示せず）に記録する。フレームメモリに記録された画像情報は、所定の同期タイミングでビデオ信号に変換され出力部１０５に接続されるモニタへ出力される。これにより、各種の画像表示が可能となる。
【００２３】
記憶部１０６は、受信部１０２により得られた反射波データや、制御部１０９により得られた位置計算の結果データなどを記憶する。例えば、記憶部１０６は、ハードディスク装置やフラッシュメモリなどから構成される。
【００２４】
ＲＯＭ１０７は、情報処理装置１００全体の制御に必要なオペレーティングシステム（以下、「ＯＳ」と呼ぶ）やプログラム等を記憶する不揮発性メモリである。
【００２５】
ＲＡＭ１０８は、制御部１０９が行う処理に必要なデータやプログラム等を一時的に記憶する。制御部１０９は、ＲＡＭ１０８に変数領域を設け、この変数領域に格納された値に対して演算を行う。あるいは、制御部１０９は、ＲＡＭ１０８に格納された値を一旦レジスタに格納してからレジスタに対して演算を行い、演算結果をＲＡＭ１０８に書き戻す、などの処理を行う。
【００２６】
制御部１０９は、例えばＣＰＵ（Central Processing Unit）から構成され、ＲＯＭ１０７に記憶されたＯＳや制御プログラムに従って、情報処理装置１００全体の制御を行う。制御部１０９は、制御の必要に応じて、各部に制御信号およびデータを送信、または、各部から応答信号およびデータを受信する。制御部１０９は、受信部１０２が受信した反射波を示すデータを記憶部１０６に記憶する。制御部１０９は、情報処理装置１００の周辺の障害物の位置を求める処理（以下、「位置計算処理」と呼ぶ）を行うが、詳細は後述する。
【００２７】
システムバス１１０は、送信部１０１、受信部１０２、可動部１０３、入力部１０４、出力部１０５、記憶部１０６、ＲＯＭ１０７、ＲＡＭ１０８、及び、制御部１０９との間で命令やデータを転送するための伝送経路である。
【００２８】
次に、本実施形態の制御部１０９が行う位置計算処理について説明する。なお、本実施形態では、制御部１０９は所定の時間間隔で、あるいは、ユーザから位置計算処理を開始する旨の指示入力を受け付けたときに位置計算処理を行うこととするが、これに限られるものではなく、位置計算処理を行うタイミングを任意に変更した実施形態を採用することもできる。以下詳述する。
【００２９】
図３は、送信機、受信機、及び、障害物の位置関係を示す図である。本実施形態では、情報処理装置１００は１つの送信機と、３つの受信機（以降、それぞれ、第１受信機、第２受信機、第３受信機と呼ぶ）を備える。本実施形態では、送信機と各受信機は同一平面内に等間隔で配置されるものとする。また、３次元空間内に配置された送信機と送信機を含む平面内の任意の位置を原点として互いに直交するＸ，Ｙ，Ｚ軸を設定する。Ｚ軸は３つの受信機を含む平面に垂直な方向にとる。障害物の位置座標を（ｘ，ｙ，ｚ）、第１受信機の位置座標を（ｘ１，ｙ１，ｚ１）、第２受信機の位置座標を（ｘ２，ｙ２，ｚ２）、第３受信機の位置座標を（ｘ３，ｙ３，ｚ３）、送信機の位置座標を（ｘ４，ｙ４，ｚ４）とする。
【００３０】
図４は、制御部１０９が行う位置計算処理を説明するためのフローチャートである。
【００３１】
まず、制御部１０９は、送信部１０１を制御して、送信機から所定の波長の超音波を発信する（ステップＳ４０１）。具体的には、発信機は、所定の周波数（例えば４０キロヘルツ）の超音波を、昇圧コイルで駆動電圧を上げた後、連続発信する。送信機からは、所定角度範囲の方向に超音波が発信される。
【００３２】
制御部１０９は、受信部１０２を制御して第１〜第３受信機で反射波を受信する（ステップＳ４０２）。例えば、送信機の周囲に壁などの障害物や人などが存在すると、これによって超音波が反射されて任意の方向に反射波が発生する。受信機の受信素子は、任意の方向に反射された反射波のうち、受信機方向に反射された反射波成分を検出する。受信部１０２は、受信素子で超音波信号を検出する。さらに、受信部１０２は、アンプでこの信号を増幅し、整流器で整流し、Ａ／Ｄコンバータでアナログ／ディジタル変換して、反射波を示すデータを得て制御部１０９に入力する。制御部１０９は、取得した反射波を示すデータを記憶部１０６に記憶する。
【００３３】
典型的には、制御部１０９は、反射波を示すデータとして、図５に示すような超音波信号の電圧値（信号強度）の時系列変化を示すデータを得る。そして、各受信機が受信した反射波信号を包絡線で結んで反射波の波形を得る。なお、制御部１０９は、送信部１０１から発信されてから所定の経過時間内に検出された超音波を、送信部１０１で送信された超音波の反射波であるとみなす。
【００３４】
制御部１０９は、ステップＳ４０１で発信された超音波の反射波があるか否かを判別する（ステップＳ４０３）。
【００３５】
反射波がないと判別された場合（ステップＳ４０３；ＮＯ）、制御部１０９は位置計算処理を終了する。例えば、第１〜第３受信機が所定の電圧値（信号強度）以上の反射波を検出しない場合、制御部１０９は反射波がないと判定する。
【００３６】
一方、反射波があると判定された場合（ステップＳ４０３；ＹＥＳ）、制御部１０９は、超音波を反射した対象物（例えば、障害物）の位置を求める（ステップＳ４０４）。
【００３７】
本実施形態では、制御部１０９は、図３に示すように、第１受信機、第２受信機、第３受信機、送信機がそれぞれ等間隔に同一平面内に配置されているものとして、これらの重心の位置を原点としてＸ，Ｙ，Ｚ軸を設定する。
また、第１受信機から第３受信機を含む平面に垂直なベクトル（第１受信機と第２受信機とを結ぶベクトルのＺ軸方向の法線ベクトル）と、第１受信機と第２受信機の中点ＰＡと障害物とを結ぶベクトルと、のなす角をθとする。同様に、第１受信機から第３受信機を含む平面に垂直なベクトル（第２受信機と第３受信機とを結ぶベクトルのＺ軸方向の法線ベクトル）と、第２受信機と第３受信機の中点ＰＢと障害物とを結ぶベクトルと、のなす角をφとする。
また、障害物と第１受信機との距離をＬ１、障害物と第２受信機との距離をＬ２、障害物と第３受信機との距離をＬ３、障害物と中点ＰＡとの距離をＬＡ、障害物と中点ＰＢとの距離をＬＢとする。
【００３８】
例えば、特許文献１のような従来の方法で障害物の位置座標を求めるためには、次に示すような計算を行う必要がある。すなわち、障害物で反射された反射波が第１、第２、第３受信機に到達するまでの時間をそれぞれＴ１，Ｔ２，Ｔ３とし、音速をＶとすると、式（１）〜（３）の連立方程式が立てられる。
【００３９】
Ｌ１＾２＝（Ｖ・Ｔ１）＾２
＝（ｘ−ｘ１）＾２＋（ｙ−ｙ１）＾２＋（ｚ−ｚ１）＾２  ・・・（１）
Ｌ２＾２＝（Ｖ・Ｔ２）＾２
＝（ｘ−ｘ２）＾２＋（ｙ−ｙ２）＾２＋（ｚ−ｚ２）＾２  ・・・（２）
Ｌ３＾２＝（Ｖ・Ｔ３）＾２
＝（ｘ−ｘ３）＾２＋（ｙ−ｙ３）＾２＋（ｚ−ｚ３）＾２  ・・・（３）
【００４０】
ここで、演算子「＾」は、べき乗を表し、例えば「Ａ＾Ｂ」は「ＡのＢ乗」であることを示す。この連立方程式を解くことにより、障害物の位置座標（ｘ，ｙ，ｚ）を求めることができる。しかし、仮に第１受信機、第２受信機、第３受信機が同一平面（Ｚ＝０）上にあると仮定しても、この連立方程式を解くためには計算量が多く時間がかかるため、高性能なＣＰＵを用いる必要がある。本発明によれば、このような複雑な連立方程式を立てて計算する必要はない。
【００４１】
すなわち、本実施形態では、第１受信機、第２受信機、第３受信機、送信機との間のそれぞれの距離は、Ｌ１、Ｌ２、Ｌ３、ＬＡ、ＬＢに比べて十分に小さいと仮定して近似を行う。障害物の位置座標（ｘ，ｙ，ｚ）のうちｘ座標とｙ座標は次の式（４）〜（５）で表すことができる。
【００４２】
ｘ  ＝  ＬＡ・ｓｉｎθ      ・・・（４）
ｙ  ＝  ＬＢ・ｓｉｎφ      ・・・（５）
【００４３】
角度θ、φは、一般に用いられている三角法などによって求めることができる。さらに、ＬＡ、ＬＢは、式（６）のように、Ｌ１，Ｌ２，Ｌ３の平均値に近似することができる。ＡＶＥ（  ）は平均値をとる演算子である。
【００４４】
ＬＡ  ＝  ＬＢ  ＝ＡＶＥ（Ｌ１，Ｌ２，Ｌ３）  ＝  Ｒ      ・・・（６）
【００４５】
また、音速Ｖと、発信機から超音波が発信されて各受信機が反射波を受信するまでの往復時間Ｔ４，Ｔ５，Ｔ６とを用い、送信機（及び受信機）と障害物との距離が十分に大きいとして近似を行うと、距離Ｌ１，Ｌ２，Ｌ３は式（７）〜（９）から求められる。
【００４６】
Ｌ１  ＝  Ｖ・Ｔ４／２      ・・・（７）
Ｌ２  ＝  Ｖ・Ｔ５／２      ・・・（８）
Ｌ３  ＝  Ｖ・Ｔ６／２      ・・・（９）
【００４７】
そして、式（４）〜（９）から、障害物の位置座標（ｘ，ｙ，ｚ）のｚ座標は次の式（１０）で表すことができる。
【００４８】
ｚ  ＝  （Ｒ＾２−ｘ＾２−ｙ＾２）＾（０．５）      ・・・（１０）
【００４９】
すなわち、送信機と受信機が障害物より十分離れているとして近似すると、上述の式（４）〜（１０）を用いて障害物の位置座標と、障害物までの距離とを容易に求めることができる。
【００５０】
図４に戻り、制御部１０９は、ステップＳ４０４で求めた障害物の位置が、所定の範囲内か否かを判別する（ステップＳ４０５）。
【００５１】
所定の範囲内にはないと判別された場合（ステップＳ４０５；ＮＯ）、制御部１０９は位置計算処理を終了する。
【００５２】
所定の範囲内にあると判別された場合（ステップＳ４０５；ＹＥＳ）、制御部１０９は、受信機（あるいは情報処理装置１００を搭載した車両など）の近くの所定範囲内に障害物がある旨の通知を行う（ステップＳ４０６）。例えば、この通知は、出力部１０５が備えるモニタに出力される障害物がある旨の警告表示や、出力部１０５が備えるスピーカから出力される障害物がある旨の警告音などである。あるいは、制御部１０９は、外部に接続された他の装置に、障害物があることを示す信号を出力することにより通知を行ってもよい。
【００５３】
制御部１０９は、障害物がある旨の通知の代わりに、あるいはこの通知とともに、可動部１０３を制御して可動部分を動かす動作を停止させたり、障害物が存在しない方向（接触しないと推測される方向）に稼動させたりする制御を行うこともできる。
【００５４】
例えば、可動部１０３の開閉装置が可動部分を所定方向に向かって（例えば、車両の内側方向にドアを閉じるように）動作させ、その動かす所定方向に障害物などが存在すると判断されると、制御部１０９は、開閉装置の可動部分を停止させる（非動作にする）か、もしくは、所定の逆方向に向かって（例えば、車両の外側方向にドアを開くように）動作させるように制御することができる。
【００５５】
例えば、可動部１０３の開閉装置が可動部分を所定方向（例えば、車両の外側方向または内側方向）に動作させているとき、第１の時刻に、その所定方向に障害物などが存在すると判断されると、制御部１０９は、開閉装置の可動部分を停止させるか、もしくは、所定の逆方向（例えば、車両の内側方向または外側方向）に動作させる。そして、第１の時刻より後の第２の時刻に、前回動かしていた所定方向に障害物などが存在しないと判断されると、制御部１０９は、開閉装置の可動部分を前回動かしていた所定方向に再び動かすように制御することもできる。
【００５６】
記憶部１０６は、所定の範囲を示す情報を予め記憶しておき、制御部１０９は随時この情報を読み出して物体の位置が所定の範囲内にあるか否かを判断することができる。例えば、所定の範囲とは、送信機（あるいは受信機）を中心とした所定半径の球で囲まれる範囲などである。入力部１０４がこの所定の範囲を示す情報の入力を受け付けて、所定の範囲を示す情報を記憶部１０６等に記憶するように構成してもよい。
【００５７】
なお、制御部１０９は、距離ＬＡ，ＬＢの大きさを距離Ｌ１，Ｌ２，Ｌ３の平均値として求めているが、他の統計演算によって求めてもよい。あるいは、受信機ごとに重みを設定し、特定の受信機と障害物との距離を優先して用いることにより求めてもよい。
【００５８】
このように、本実施形態によれば、情報処理装置１００は、複雑な計算を必要とせず、容易に物体の位置計算を行うことができる。
【００５９】
本発明は、上述した実施形態に限定されず、種々の変形及び応用が可能である。
【００６０】
上述の実施形態では、情報処理装置１００は入力部１０４、出力部１０５を備えているが、これらを省略した構成を採用することもできる。すなわち、制御部１０９は、可動部１０３の開閉装置などを動作させているときに位置計算処理を行い、障害物があると判別されると、ステップＳ４０６で通知する代わりに、可動部１０３の開閉装置などを動作を停止させたり逆方向に動作させたりする。これにより、最小限の構成でこの情報処理装置１００を実現することができる。
【００６１】
上述の実施形態では、情報処理装置１００は可動部１０３を備えているが、これを省略した構成を採用することもできる。すなわち、本発明を、周囲に障害物があるか否かを判別し、その障害物の位置を計算する装置・方法として用いることもできる。
【００６２】
上述の実施形態では、送信機と受信機は可動部１０３の可動部分に搭載されるものとして説明したが、これに限られず任意の場所に設置された実施形態を採用することができる。例えば、送信機が超音波を情報処理装置１００の周囲に発信できる固定位置に配置されていてもよい。ただし、送信機と受信機との距離は、障害物との距離に比べて十分小さいと近似できる程度であることが望ましい。
【００６３】
本発明は、車両のドアを開閉する装置とともに用いられるのに限られず、他の任意の装置とともに、あるいは単独で、障害物などの物体や人物の位置を求める装置・方法として用いることができることは言うまでもない。また、上述の実施形態では障害物の位置を求めているが、障害物以外の他の任意の物体、人物、生物などの位置を求めてもよい。
【００６４】
以上説明したように、この発明によれば、低コストで容易に物体の位置計算を行うために好適な情報処理装置、情報処理方法、及び、プログラムを提供することができる。
【図面の簡単な説明】
【００６５】
【図１】情報処理装置の構成を示す図である。
【図２】情報処理装置を車両に搭載したときの構成例を示す図である。
【図３】送信機、第１乃至第３受信機、障害物の位置関係を説明するための図である。
【図４】位置計算処理を説明するためのフローチャートである。
【図５】制御部が取得した反射波の波形の例を示す図である。
【符号の説明】
【００６６】
１００  情報処理装置
１０１  送信部（送信機）
１０２  受信部（第１の受信機、第２の受信機、第３の受信機）
１０３  可動部（可動装置）
１０４  入力部
１０５  出力部
１０６  記憶部
１０７  ＲＯＭ
１０８  ＲＡＭ
１０９  制御部（計算部）
１１０  システムバス
【図１】
0005444589.tif 000002
【図２】
0005444589.tif 000003
【図３】
0005444589.tif 000004
【図４】
0005444589.tif 000005
【図５】
0005444589.tif 000006