物体位置検出装置、地図作成装置、自律移動装置、物体位置検出方法および物体位置検出プログラム
【課題】各センサの特性を利用するとともに、高精度な地図を生成すること。
【解決手段】移動ロボット100において、超音波センサ101と、撮像カメラ102と、障害物までの距離の概算値を算出する距離算出部111と、距離の概算値に基づいて、撮像カメラ102からの画像データ中における障害物が存在する候補領域を設定し、この候補領域の内部と外部とで異なる閾値を用いて画像データおよび距離の概算値に基づいて障害物の位置を検出する障害物位置検出部112とを備えた。
【解決手段】移動ロボット100において、超音波センサ101と、撮像カメラ102と、障害物までの距離の概算値を算出する距離算出部111と、距離の概算値に基づいて、撮像カメラ102からの画像データ中における障害物が存在する候補領域を設定し、この候補領域の内部と外部とで異なる閾値を用いて画像データおよび距離の概算値に基づいて障害物の位置を検出する障害物位置検出部112とを備えた。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、距離センサおよび撮像部から取得した各データを統合して任意の領域内の物体の位置を安定的に検出する物体位置検出装置、物体の位置に基づいて地図データを生成する地図作成装置、自律移動装置、物体位置検出方法および物体位置検出プログラムに関する。
【背景技術】
【0002】
従来の自律移動型のロボット(以下、「移動ロボット」という。)は、超音波センサ、レンジファインダなどの距離センサやTVカメラ等の撮像部を、ロボット周囲の外界の情報を取り込むためのセンサとして搭載して、これらの各種センサから取得した情報に基づいて移動する等の行動を行っていた。そして、各種センサから取得したデータは主に各センサごとに処理をされ、センサごとの最終的な処理結果を複数利用して外界認識の精度を向上させる手法が中心となっている(非特許文献1参照)。
【0003】
また、特許文献1の技術では、種類の異なる複数のセンサから得られたセンサデータを統合して総合的に環境を認識して移動ロボットの走行誘導を行う技術が開示されている。
【0004】
【特許文献1】特開平7−116981号公報
【非特許文献1】三浦純、白井良明「不確かさを考慮した移動ロボットのための資格とそのプランニング」情報処理学会論文誌Vol.44No.SIG17(CVIM8) 37〜49ページ 2003年
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、非特許文献1の技術では、複数のセンサからのデータを使用して障害物の位置検出等を行っているものの、各センサからのデータを個々に処理してその処理結果により障害物の位置検出や地図データが生成され、この処理の後に複数の処理結果や複数の地図データを統合している。ところが、複数のセンサのそれぞれのデータ特性はセンサ毎に異なっており、これらのセンサ特性を考慮せずに処理結果のデータを統合すると誤差の多い環境地図が生成されてしまうという問題がある。
【0006】
特に、各センサからデータを個々に処理し、その処理結果として生成された環境地図同士を統合する技術では、地図の位置合わせ等が困難であり、高精度な環境地図を生成することが困難であるとともに、各センサの長所を十分に利用していないという問題がある。
【0007】
また、特許文献1の技術では、異なる種類の複数のセンサのセンサデータを統合しているとはいうものの、各センサから取得したセンサデータをそれぞれ判断し、複数のセンサデータの組み合わせから物体の存在する環境の仮説をたてているだけであり、複数のセンサデータを連携して物体の位置を検出してはいない。このため、この特許文献1の技術によっても各センサの特性を考慮した物体の位置検出を行うことができず、検出される物体の位置には誤差が生じてしまうという問題がある。
【0008】
本発明は、上記に鑑みてなされたものであって、各々のセンサの特性に基づいて、互いのセンサのデータを物体検出の中間段階で相互に利用して物体を検出することによって、各センサの特性を利用するとともに、高精度に物体の位置を検出することができる物体位置検出装置、地図作成装置、自律移動装置、物体位置検出方法および物体位置検出プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上述した課題を解決し、目的を達成するために、本発明は、物体位置検出装置であって、前記物体位置検出装置の周囲に設定された検知領域内における物体を検知する距離センサと、前記検知領域内を撮像する撮像部と、前記距離センサによって検知された物体までの距離の概算値を算出する距離算出部と、 前記距離の概算値に基づいて前記撮像部で撮像された画像データ中で物体が存在する候補領域を設定し、前記候補領域の内部と外部とで異なる閾値を用いて、前記画像データおよび前記距離の概算値に基づいて物体の位置を検出する位置検出部とを備えたことを特徴とする。
【0010】
また、本発明は、地図作成装置であって、前記地図作成装置の周囲に設定された検知領域内における物体を検知する距離センサと、 前記検知領域内を撮像する撮像部と、前記距離センサによって検知された物体までの距離の概算値を算出する距離算出部と、前記距離の概算値に基づいて前記撮像部で撮像された画像データ中で物体が存在する候補領域を設定し、前記候補領域の内部と外部とで異なる閾値を用いて、前記画像データおよび前記距離の概算値に基づいて物体の位置を検出する位置検出部と、前記位置検出部により時系列に検出された前記物体の位置の整合を取ることによって自己位置周辺の地図データを生成する地図生成部とを備えたことを特徴とする。
【0011】
また、本発明は、自律移動装置であって、前記自律移動装置の周囲に設定された検知領域内における物体を検知する距離センサと、前記検知領域内を撮像する撮像部と、前記距離センサによって検知された物体までの距離の概算値を算出する距離算出部と、前記距離の概算値に基づいて前記撮像部で撮像された画像データ中で物体が存在する候補領域を設定し、前記候補領域の内部と外部とで異なる閾値を用いて、前記画像データおよび前記距離の概算値に基づいて物体の位置を検出する位置検出部と、前記位置検出部により時系列に検出された前記物体の位置に基づいて、前記物体を回避して自装置の移動を制御する移動制御部とを備えたことを特徴とする。
【0012】
また、本発明は、自律移動装置であって、前記自律移動装置の周囲に設定された検知領域内における物体を検知する距離センサと、前記検知領域内を撮像する撮像部と、前記距離センサによって検知された物体までの距離の概算値を算出する距離算出部と、前記距離の概算値に基づいて前記撮像部で撮像された画像データ中で物体が存在する候補領域を設定し、前記候補領域の内部と外部とで異なる閾値を用いて、前記画像データおよび前記距離の概算値に基づいて物体の位置を検出する位置検出部と、前記位置検出部により時系列に検出された前記物体の位置の整合を取ることによって自己位置周辺の地図データを生成する地図生成部と、前記地図生成部によって生成された前記地図データに基づいて前記物体を回避して自装置の移動を制御する移動制御部とを備えたことを特徴とする。
【0013】
また、本発明は、上記物体位置検出装置に対応した物体位置検出方法および物体位置検出プログラムである。
【発明の効果】
【0014】
本発明によれば、距離センサからのデータと撮像部から取得した画像データのそれぞれから別個に物体の位置を検出して後で物体の位置情報を統合するのではなく、距離センサからのデータから物体までの距離の概算値を求めて、その概算値から撮像部からの画像データ中で物体が存在する候補領域を設定し、候補領域の内部と外部とで異なる閾値を用いて画像データおよび距離の概算値に基づいて物体の位置を検出する。すなわち、距離センサと撮像部の特性に基づいて、距離センサと撮像部からの互いのデータを物体検出の中間段階で相互に利用して実際の物体の位置を検出しているので、距離センサと撮像部の特性を利用でき、高精度な物体の位置検出を行うことができるという効果を奏する。
【発明を実施するための最良の形態】
【0015】
以下に添付図面を参照して、この発明にかかる物体位置検出装置、地図作成装置、自律移動装置、物体位置検出方法および物体位置検出プログラムの最良な実施の形態を詳細に説明する。
【0016】
実施の形態1および2は、本発明の物体位置検出装置、地図作成装置、自律移動装置、物体位置検出方法および物体位置検出プログラムを、自律走行して移動可能な自律移動型のロボット(以下、「移動ロボット」という。)に適用したものである。ただし、移動ロボットに限定されるものではなく、距離センサと撮像部を備える装置であれば、いずれの装置にも本発明にかかる物体位置検出装置、地図作成装置、自律移動装置、物体位置検出方法および物体位置検出プログラムを適用することが可能である。
【0017】
ここで、移動ロボットの場合は、障害物位置検出装置の出力結果を基に地図を作成する地図作成装置および作成された地図を元に移動する駆動制御装置を備えることになるが、システムの構成によっては、障害物の位置のみを算出するシステムや、障害物の位置から地図を作成するシステムなどにも本発明の物体位置検出装置を適用することが可能である。
【0018】
(実施の形態1)
実施の形態1にかかる移動ロボット100は、予め定められた移動領域内を自律的に移動して、移動領域内に存在する障害物の位置検出をおこなうものである。
【0019】
(移動ロボットの構成)
図1は、実施の形態1にかかる移動ロボットの機能的構成を示すブロック図である。本実施の形態にかかる移動ロボット100は、図1に示すように、本体部110と本体部110に接続された距離センサとしての5個の超音波センサ101と撮像部としての2個の撮像カメラ102とを主に備えている。ただし、超音波センサ及び撮像部の個数は各センサの精度や計測が必要な範囲の広さに依存しており、必ずしもこの個数に限定されるものではない。
【0020】
超音波センサ101は、超音波パルスを障害物に照射してその反射パルスを受信する距離センサである。この超音波センサ101は、超音波の照射によって、移動ロボット100の周囲に設定された検知領域内の障害物を検知するようになっている。図2は、超音波センサの超音波の到達範囲を示す模式図である。図2に示すように、超音波センサは、一般的に、超音波が広がりをもって照射されるため、横方向の解像度が低く前方における障害物の有無を調べるという簡単な判別に使用されることが多いが、超音波センサ101を使用した場合でも、前方の奥行き方向の距離は超音波の波長に応じた精度で取得することができ、対象物との距離に依存はするが、一般的には数cm程度の精度で距離を測定することが可能となっている。
【0021】
図3は、本実施の形態の移動ロボット100に接続された5個の超音波センサ101から照射される超音波の到達範囲を示す模式図である。本実施の形態の移動ロボット100には、5個の超音波センサ101が移動ロボット100の側面から前面にかけて45°の角度間隔で配置されている。
【0022】
後述するように、画像データ中でのコーナーの位置は前方の壁までの距離と側方の壁までの距離の比によって一意に決定され、距離の絶対値には依存していないため、本実施の形態では、前方と左右両側方に設置している。さらに、本実施の形態にかかる移動ロボット100では、距離に依存する画像中のコーナー位置の推定精度を向上させるため、±45°の斜め方向に超音波を照射するように超音波センサ101を設置している。なお、移動ロボット101をさらに後進させる場合を考慮して、さらに後方に超音波を照射するように超音波センサ101と撮像カメラ102を設置するように構成してもよい。
【0023】
なお、本実施の形態の移動ロボット100に配置された数以上の超音波センサ101を配置することも可能であるが、超音波センサ101から照射される超音波は、拡張して伝搬する特性を有するため、推定精度の向上には影響を与えない場合が多い。 ただし、超音波の伝搬の広がりが小さい場合には、さらに小さな角度間隔で超音波センサ101を配置するように構成すれば、距離の精度の向上を図ることが可能である。
【0024】
また、本実施の形態では、距離センサとして超音波センサを使用しているが、これに限定されるものではなく、距離を測定可能なセンサであれば、例えばレンジファインダ等いずれのセンサを使用してもよい。撮像カメラは、移動領域内を撮像するものであり、例えばTVカメラ等を用いることができる。
【0025】
本体部110は、図1に示すように、距離算出部111と、障害物位置検出部112と、地図生成部113と、移動制御部114と、駆動部115と、記憶部116とを主に備えている。
【0026】
距離算出部111は、超音波センサ110によって受信した反射波により、障害物までの距離の概算値を算出するものであり、各超音波センサ110ごとに距離の概算値を算出するようになっている。
【0027】
障害物位置検出部112は、距離算出部111よって算出された距離の概算値と、撮像部102によって撮像された移動領域内の画像データとから障害物が存在する可能性がある前記画像データ上の領域である探索範囲(候補領域)を決定し、探索範囲内部と外部とで異なる閾値を用いて画像データから障害物の位置を検出するものである。具体的には、距離算出部111よって算出された距離の概算値から画像データ中の障害物の位置を予測した範囲を探索範囲とし、この探索範囲内部で画像処理を行い、画像処理の段階で所定の閾値を用いて画像処理結果により障害物を特定し、障害物の位置を検出する処理を行う。また、探索領域内部で障害物を検出することができない場合には、顔図データ中で探索領域を拡張して障害物の特定を行い、あるいは探索領域外部では上記閾値とは異なる閾値と比較して障害物を特定し、その位置を検出する処理を行う。
【0028】
また、超音波センサの精度によっては必ずしも探索範囲を一意に決定できない場合もあり、この場合には任意の個数の領域に対して信頼度を定義し、各領域の信頼度に応じて画像処理の閾値を制御することによって、より精度の高いセンサ情報の統合処理が可能となる。
【0029】
一般に、超音波センサから取得される距離データはノイズが多く、取得される距離データの信頼性もそれほど高くない。また、超音波は、図2に示すように拡張して伝搬する性質を有している、移動領域内に複数の障害物が存在する場合には、十分な大きさを有する障害物の中で最も近い障害物の距離のみが取得されることになる。このため、本実施の形態では、超音波センサ101から得られたセンサデータから求めた距離の概算値の位置にある障害物を、撮像カメラ102から取得した画像データを解析して特定している。
【0030】
すなわち、本実施の形態では、超音波センサ101による距離の概算値と、画像データの画像解析の両方を、障害物の検出の中間段階で相互に利用して、障害物の正確な位置検出をおこなって、超音波センサ101と撮像カメラ102の各特性の長所を生かして、高精度な障害物検出および地図生成をおこなっている。
【0031】
地図生成部113は、障害物位置検出部112によって検出された障害物の位置を時系列に取得し、取得した位置情報の補正等の処理を行って整合性をとり、整合性をとった位置情報を反映した自己位置周辺の地図データを生成し、記憶部116に生成された地図データを保存するものである。また、地図生成部113は、新たに障害物が検出された場合には、記憶部116に記憶されている地図データに新たに検出された障害物の位置を反映して地図データを更新する処理もおこなう。
【0032】
移動制御部114は、地図データに従って移動ロボット100の移動をおこなうように、駆動部を制御するものである。具体的には、地図データ上で特定された障害物の位置を回避して移動ロボット100が走行するように駆動部115を制御する。駆動部115は、移動ロボットの車輪(図示せず)の駆動および停止をおこなうものである。
【0033】
記憶部116は、メモリやハードディスクドライブ装置(HDD)などの記憶媒体であり、上述した地図データや、後述する傾斜データや位置データを保存している。
【0034】
(地図生成処理)
次に、以上のように構成された本実施の形態にかかる移動ロボット100による地図生成処理について説明する。図4は、本実施の形態にかかる移動ロボット100による地図生成処理の手順を示すフローチャートである。
【0035】
各超音波センサ101では、移動領域内に障害物が存在するか否かを検知するため反射パルスを照射しており、障害物からの反射波を受信してセンサデータとして送出している。距離算出部111は超音波センサ101からセンサデータを取得して(ステップS401)、取得したセンサデータから障害物までの距離の概算値を各超音波センサ101ごとに算出する(ステップS402)。一方、撮像カメラ102では移動領域内を撮像しており、一定のタイミングで静止画像の画像データが送出される。そして、障害物位置検出部112によって、撮像カメラ102からの画像データを取得する(ステップS403)。
【0036】
次に、障害物位置検出部112では、距離算出部距離の概算値に基づいて取得した画像データから障害物の位置検出処理をおこなう(ステップS404)。なお、障害物の位置検出処理の詳細については後述する。そして、障害物位置検出部112で求められた障害物の位置を反映した地図データを生成し(ステップS405)、記憶部116に保存する(ステップS406)。
【0037】
次に、ステップS404における障害物の位置検出処理について説明する。図5は、障害物位置検出部112による障害物の位置検出処理の手順を示すフローチャートである。なお、ここでは、障害物の位置検出の例として、壁と壁との境界であるコーナーの検出をおこなう場合について説明する。
【0038】
一般的に、移動ロボットの移動領域である部屋の地図を作成する際に、部屋の境界(壁の境や扉)を同定することが必要となる。特に、壁と壁との境界、すなわち壁の交線であるコーナーを正確に検出することが必要となってくる。しかしながら、上述したように、超音波は拡張して伝搬する性質を有するため、コーナーの部分に移動ロボットを配置して超音波センサ101によってその形状を観測すると、図6に示すように、0°、45°、90°のいずれの角度からも同一の距離が観測され、コーナーの位置を同定することが困難である。
【0039】
図2に示すような、超音波の広がり(図2の扇形の形状)が理論通りに求められる場合には、3方向の距離の値からある程度のコーナーの位置を推測することも可能である。しかしながら、実際には超音波センサ101からのセンサデータには多くのノイズが含まれるため、コーナーの位置の推測は困難となる。このため、超音波センサ101からのセンサデータからの壁までの距離の概算値を利用して、コーナーの正確な位置を画像データ上で特定することとしている。
【0040】
まず、距離算出部111によって求めた超音波センサ101ごとの障害物まで距離の概算値を比較し、0°位置の超音波センサ101による前方の距離の概算値、45°位置の超音波センサ101による斜め方向の距離の概算値、+90°位置の超音波センサ101による側方の距離の概算値がほぼ等しいか否か、すなわち各概算値の差が一定の範囲内にあるか否かを調べる(ステップS501)。このように3方向の距離の概算値がほぼ同一であるか否かを判断しているは、以下の理由による。
【0041】
図7〜10は、90°で交わる壁600a,600bのコーナー601付近に移動ロボット100が到達したときの超音波センサ101から照射される超音波と撮像カメラ102から取得した画像データを示す説明図である。図11は、超音波センサ101を45°の方向に照射するように設置した場合における超音波の到達範囲と撮像カメラ102から取得した画像データを示す説明図である。図11に示すように、45°位置に配置された超音波センサ101から得られる距離は、前方と側方のうちの短い方の距離に近い値が得られる。
【0042】
図7〜10からわかるように、画像データ中でのコーナー601の位置は移動ロボット100の前方の壁600aまでの距離と側方の壁600bまでの距離の比によって一意に決定され、距離の絶対値には依存していない。このため、本実施の形態では、一方向にだけ超音波センサ101を設置せずに、前方と左右両側方に設置し、さらに、±45°の斜め方向に超音波を照射するように超音波センサ101を設置している。
【0043】
また、図7〜10からわかるように、移動ロボット100が壁600bに平行に移動している場合、進行方向の前方の壁600aが超音波センサ101で検出されない状態では、45°斜め方向の超音波センサ101からのセンサデータは側方向の壁との距離より少し長い値を示す。この状態で移動ロボット100が前進を続け、前方の壁600aが検出された場合には、最初は前方の壁600aまでの距離の方が側方の壁600bまでの距離より長く、次第にその距離の差が小さくなって、距離が等しくなることがわかる。
【0044】
かかる前方の壁600aまでの距離と側方の壁600bまでの距離が等しくなった位置が移動ロボット100が方向転換をおこなう位置として最適な位置であり、この時点では、+45°斜め方向の距離もほぼ前方、側方の距離と等しい値となる。このため、ステップS501では、3方向の距離の概算値がほぼ等しいか否か(すなわち、距離の差が一定範囲内にあるか否か)を判断している。
【0045】
そして、ステップS501で、3方向の距離の概算値がほぼ等しい状態ではないと判断された場合(ステップS501:No)、3方向の距離の概算値がほぼ等しい状態となるまで、移動ロボット100を前進させる。なお、斜め方向の距離が残りの方向の距離より十分に長い場合には、前方または側方の障害物のどちらかまたはその両方が壁ではない可能性が高いので、撮像カメラ102から取得した画像データの解析を行うように構成すればよい。
【0046】
また、超音波の広がりが比較的小さな超音波センサを用いた場合には、3方向の距離の概算値は等しくならず、45度方向の距離のみが前方及び側方の距離よりも長いという状況が起こる可能性がある。ただし、この場合には45度方向の距離は前進している間はほぼ等しく、コーナー付近に近付いた時点以降計測された距離が短くなることになる。これはコーナー付近では、45度方向のセンサは当初側面までの距離が反映されているのに対して、前進するに従って側面までの距離と前方までの距離が等しくなった時点で前面までの距離が反映されるためである。このため、3方向のセンサの距離がほぼ等しくにならない場合でも、前方と側方の距離がほぼ等しくなり、45度方向の距離も小さくなり出した地点がコーナー付近であることが分かる。
【0047】
一方、ステップS501において、3方向の距離の各概算値の差がほぼ等しい場合、すなわち一定の範囲内にある場合には(ステップS501:Yes)、当該地点がコーナーである可能性が高いのでコーナーの探索をおこなう。すなわち、撮像カメラ102から取得した画像データから、距離の概算値の付近に該当する画像データ上の位置付近を探索範囲として決定する(ステップS502)。具体的には、3方向の距離がほぼ等しくなる点は斜め45°方向にコーナー601が存在する確率が最も高い地点であるため、斜め45°方向の位置の画像データ上のX座標を求め、かかる位置から所定値の画素数の範囲を画像データ上の探索範囲として決定する。
【0048】
例えば、撮像カメラ102の焦点距離fがピクセル数[Pix]で表される場合には、この焦点距離fと同じ画素数分、画像の中央から右側の地点がコーナーとなるエッジが存在する可能性がある方向となる。撮像カメラ102の焦点距離fがSI単位系で表される場合には、受光面の物理サイズw[mm]、受光面の画素数y[Pix]、画像データの中心からコーナー位置までの画素数x[Pix]は、次の式(1)の関係がある。
【0049】
x:f=w:y ・・・(1)
このため、画像データの中心からコーナー位置までの画素数x[Pix]は、次の(2)式で算出される。
【0050】
x=f・y/w ・・・(2)
ここで、f:撮像カメラ102の焦点距離[mm]、y:受光面の画素数[Pix]、
w:受光面の物理サイズ[mm]
【0051】
同様に、平行に移動している側方の壁600bと前方に検出された壁600aで、維持する距離を変えたい場合には、その距離の比から次の(3)式でコーナーの位置を求める。
【0052】
x=f・(y/w)・(L/L’) ・・・(3)
ここで、x,f,y,wは(2)式と同様であり、
L:前方の壁と維持する距離,L’:側方の壁と維持していた距離
【0053】
このようにして、コーナー位置のX座標を求めるが、かかる位置は、実際には各超音波センサ101からのセンサデータに誤差が含まれている場合が多い。このため、本実施の形態では、コーナー位置のX座標を中心にした所定の範囲を探索範囲と決定している。そして、かかる探索範囲内でエッジを探索する(ステップS503)。なお、探索範囲を決定する際の所定の範囲は、超音波センサによってセンサデータが有する誤差を予め求めておき、設定するように構成すればよい。
【0054】
ここで、エッジを検出するのは、2つの壁が交わる交線では、同一の材質の壁紙が使われている場合でも、平面の法線方向が変換するため、かかる交線部分に強いエッジが画像データ上に現れてくる場合が多いことから、検出されたエッジの部分をコーナー位置と特定するためである。
【0055】
エッジの検出は、例えば、障害物位置検出部112にソーベルフィルタ等のエッジ検出フィルタを設け、縦方向の強いエッジを探索することによりおこなう。ここで、エッジ検出フィルタは縦方向のエッジに適応可能なものであれば、微分フィルタ等いずれのフィルタを使用してもよい。
【0056】
そして、探索範囲において、複数のエッジが検出されたか否かを判断し(ステップS504)、複数のエッジが検出されなかった場合(ステップS504:No)、すなわち1個のエッジが検出された場合には、検出されたエッジをコーナーと特定し、コーナの位置を画像データの中央位置からの画素値として求める(ステップS509)。
【0057】
一方、ステップS504において、探索範囲内で複数のエッジが検出された場合には(ステップS504:Yes)、画像データのエッジを境界とした2つの領域の特性の相違を判断すべく、エッジごとに2つの領域の明度差、および色の差を検出する(ステップS505)。
【0058】
図12は、壁1200aと壁1200bの色、明度に明らかな差が存在する場合の画像データの例を示す模式図である。図12に示すように、2枚の壁1200a,1200bの色や明度に明らかに差がある場合は、画像データ上で2つの領域の色や明度の差が最大となるエッジを選択してコーナーと特定している。
【0059】
このため、2つの領域の明度差および色の差が検出できず不明であるか否かを判断する(ステップS506)。具体的には、2つの領域の明度差および色の差が所定の閾値より大きいか否かを調べ、大きい場合には2つの領域の明度差および色の差が検出でき、小さい場合には2つの領域の明度差および色の差が検出できないと判断する。そして、2つの領域の明度差および色の差が検出できた場合には(ステップS506:No)、明度差あるいは色の差が検出できた2つの領域の境界のエッジをコーナーと特定し、コーナの位置を画像データの中央位置からの画素値あるいはその位置座標とする(ステップS509)。
【0060】
なお、本実施の形態では、壁となる画像データ上の領域の特性として、色や明度を使用しているが、これに限定されるものではなく、エッジを特定することができる特性であれば、いずれの特性値を使用してもよい。
【0061】
また、明度差や色の差は微分系の特徴量であるためノイズの影響を受けやすいことがあり、通常の画像処理では検出のための閾値を大幅に下げることが出来ない。しかし、本実施の形態では、距離の概算値からエッジの探索範囲を限定しているが、探索範囲を拡張または縮小するように制御したり、また探索範囲内の位置に応じて閾値を変動させるように制御するように構成してもよい。この場合には、探索範囲となる画像データ中の領域に応じてより明度差や色の差が小さなエッジなども検出することが可能となるという利点がある。
【0062】
さらに、探索範囲をエッジの出現可能性に応じて複数の領域に分割し、より出現可能性の高い領域で利用する閾値を小さくすることによって、他のセンサ情報から指示されているエッジを高精度に検出することが可能となる。
【0063】
一方、ステップS506において、閾値の制御を行った上でも、いずれのエッジについても2つの領域の明度差および色の差が検出できない場合には(ステップS506:Yes)、画像データにおける探索範囲をエッジの上方および下方に拡張し、エッジの上方または下方において壁との交点を検索する(ステップS507)。
【0064】
図13は、明度や色が近似している2つの壁1200a,1200bを撮像した画像データの例を示す説明図である。図13に示すように、壁の交線のエッジは、エッジの上端または下端で、Y字または逆Y字となって現れる。このため、本実施の形態では、エッジの上部または下部の状態を観測し、Y字または逆Y字となって現れた交点の存在を検索している。これにより、画像データ中の明度差や色の差が不明確な場合やエッジ自体が不鮮明な場合等は、エッジの上部または下部において交点を検索することにより、より高精度にコーナーとなるエッジを特定することが可能となる。なお、本実施の形態では、エッジの上部か下部のいずれかで交点を検索しているが、上部と下部の両方において交点を検索するように構成してもよい。
【0065】
このため、エッジの上部または下部において壁との交点が存在するか否か判断し(ステップS508)、存在しない場合には(ステップS508:No)、次のエッジの下部または下部において壁との交点を検索する(ステップS507)。
【0066】
一方、ステップS508において、エッジの上部または下部において壁との交点が存在する場合には(ステップS508:Yes)、壁との交点が存在するエッジをコーナーと特定し、コーナーの位置を画像データの中央位置からの画素値あるいは位置座標とする(ステップS509)。このような処理により、コーナー位置を高精度に求めることが可能となる。
【0067】
一方、このような探索領域の内部でコーナーと検出できない場合には、探索領域の外部でコーナーを検出する。この場合には、上記探索範囲内部の閾値とは異なる閾値、例えば上記探索範囲内部での閾値より大きな値の閾値により、2つの領域の明度差および色の差が検出できるか否かを判断する。
【0068】
上述した障害物の位置検索処理においては、移動ロボット100が側方の壁に平行に移動する場合を示したが、次に、移動ロボット100が壁に平行でない方向に移動している場合の障害物の位置検出処理について説明する。
【0069】
図14は移動ロボット100が壁600bに平行に移動した場合の例を示す模式図であり、図15は移動ロボット100が壁600bに平行でない方向に移動した場合の例を示す模式図である。図14、15の超音波の到達範囲からわかるように、超音波センサ101からのみでは、移動ロボット100から前方の壁までの距離および側方の壁600bの距離は、壁600bに平行に移動した場合と壁600bに平行でない方向に移動した場合の共に同じ値となり、コーナーの位置は同じであると検出されてしまう可能性がある。しかしながら、撮像した画像データを観測すると、画像データ中でのコーナー601の位置は異なっており、壁600bに平行でない方向に移動ロボット100が移動する場合(図15)のコーナーの位置は、壁600bに平行に移動していた場合(図14)よりも左側に存在している。
【0070】
そこで、本実施の形態では、上述のステップS502で探索範囲を決定する際に、記憶部116に保存されている傾斜データと位置データを使用してコーナー位置のX座標を求め、探索範囲を決定している。
【0071】
傾斜データは、前方の壁600aまでの距離と側方の壁600bまでの距離の比と、移動ロボット100の壁600aに対する傾斜角度αとの相関関係を予め定めたものである。
【0072】
図16は、壁600bに平行でない方向に移動している移動ロボット100が前方の壁600aに対して傾斜角度αである場合における超音波センサからの超音波の到達範囲と画像データの例を示す説明図である。図16に示すように、上記傾斜データを予め求めておけば、45°方向の距離の値から傾斜角度αを推測することが可能となる。すなわち、図16に示すように、移動ロボット100が正面の壁600aに対して傾斜角度α傾いて移動する場合には、その傾斜角度αが大きくなるに従って45°方向の距離も長くなり、コーナーの位置は画像データの中心に近づくことになる。
【0073】
このため、超音波センサの特性を予め調べ、傾斜角度と距離の変化の相関関係を求めて傾斜データとして保持することにより、コーナーの位置の探索範囲を容易に決定することができる。図17は、傾斜データの一例を示す説明図である。コーナーの位置は前方の壁600aと側方の壁600bの距離の比と壁の角度αのみによって決定される。図17に示すように、前方の壁600aまでの距離が1.0単位、側方の壁600bまでの距離が2.0単位である場合には、壁600aに対する傾斜角度αが0〜45°の間で与えられたとき、45°方向の距離は図17に示すように変化する。
【0074】
また、図18は、位置データの例を示す説明図である。位置データは、傾斜角度αと画像データ上におけるコーナーの位置の相関関係を予め定めたものである。すなわち、移動ロボット100が壁600bに平行でない方向に移動する場合には、ステップS502において、超音波センサによる距離の概算値から図17の傾斜データを参照することにより傾斜角度αを求め、この傾斜角度αから図18の位置データを参照することによりコーナーの位置を求めて、このコーナーの位置を中心として一定の範囲を探索範囲と決定することにより、コーナーの正確な探索が可能となる。なお、ステップS503以降の処理については、移動ロボット100が壁600bに平行移動する場合の位置検出処理と同様におこなわれる。
【0075】
このように実施の形態1にかかる移動ロボット100では、超音波センサ101で検知された障害物までの距離の概算値を算出し、算出された障害物までの距離の概算値と、撮像カメラ102で撮像された画像データとから、障害物が存在する可能性がある探索範囲を決定し、探索範囲内で画像データから障害物の位置を検出して、移動領域の地図データを生成しているので、距離センサからのデータと撮像部から取得した画像データのそれぞれから別個に地図データを生成して後で各地図データを統合している従来の方式に比べ、各センサの特性を利用でき、高精度な地図を生成することができる。すなわち、特性の異なるセンサからのセンサデータを有効に統合することができ、信頼性の高い障害物の位置検出をおこなうことができるので、移動ロボットにおいて信頼性の高い障害物の情報が取得できない場合に、少し移動させてから再度障害物を検出するという手法も採用することができ、より的確な地図データを生成することができる。
【0076】
このように実施の形態1にかかる移動ロボット100では、超音波センサ101から障害物までの距離の概算値を求めて、その概算値から撮像部からの画像データ中で物体が存在する探索範囲を設定し、探索範囲の内部と外部とで異なる閾値を用いて画像データおよび距離の概算値から物体の位置を検出している。言い換えれば、超音波センサ101と撮像カメラ102の特性に基づいて、超音波センサ101と撮像カメラ102からの互いのデータを障害物検出の中間段階で相互に利用して実際の物体の位置を検出しているので、超音波センサ101で検知された障害物からの距離データと撮像カメラ102から取得した画像データのそれぞれから別個に物体の位置を検出して後で物体の位置情報を統合する従来の技術と比較して、超音波センサ101と撮像カメラ102特性をより有効に利用して高精度な障害物などの物体の位置検出を行うことができる。
【0077】
また、この結果、実施の形態1にかかる移動ロボット100では、周辺領域の高精度な地図を作成することができる。さらに、移動ロボット100において信頼性の高い障害物の情報が取得できない場合に、少し移動させてから再度障害物を検出するという手法も採用することができ、より的確な地図データを生成することができる。
【0078】
(実施の形態2)
実施の形態2にかかる移動ロボット100は、2つの撮像カメラ102で撮像された2つの画像データからステレオ方式における視差を求め、この視差に基づいて画像データ上で障害物の探索範囲を決定し、探索範囲内で障害物の位置を検出するものである。
【0079】
実施の形態2にかかる移動ロボット100の機能的構成は、実施の形態1と同様である。また、実施の形態2にかかる移動ロボット100による地図データ生成の全体処理についても実施の形態1と同様におこなわれる。
【0080】
本実施の形態では、図5で説明した障害物の位置検出処理において、ステップS502の探索範囲の決定の処理において、2つの画像データから視差を求めて探索範囲を決定する点で、実施の形態1と異なっている。
【0081】
すなわち、本実施の形態では、2つの撮像カメラ102をスレテオカメラして使用し、各撮像カメラ102で撮像された2つの画像データから、それぞれの画像データ中のコーナーのエッジのX座標の差をステレオ法における視差に相当するものとする。
【0082】
ここで求められたコーナー位置までの距離をDc、超音波センサによって得られた前方の壁600aまでの距離をDf、側方の壁600bまでの距離をDsとすると、これらの距離には次の(4)、(5)式が成立する。
【0083】
【数1】
【0084】
実際には、超音波センサ101のセンサデータから求めた距離には誤差が含まれるため、次の(6)式で示される差Eが所定の閾値以下になる場合に、(4)、(5)式が成立すると考える。
【0085】
【数2】
【0086】
2つの撮像カメラ102は、任意の距離だけ離れて配置されているため、各撮像カメラ102からのコーナーの見え方が異なっており、一方の撮像カメラ102からコーナーを撮像できない場合がある。このような場合には、式(4)、(5)を使うことによって、コーナー位置の特定が可能となる。
【0087】
具体的には、ステップS502の探索範囲の決定処理において、超音波センサ101によちり算出した距離の概算値DfとDsからコーナーまでの距離Dcを算出する。そして、Dcと2つの画像データ間でのコーナーの位置の視差dを算出している。
【0088】
図19は、撮像カメラ102とコーナー上の点P(X,Y,Z)の関係を示す模式図である。図19から、視差dおよび2つの画像データ中での障害物の位置(xr,xl)は、次の(7)〜(11)式によって求めることが出来る。
【0089】
Z=Df=B*f/d ・・・(7)
【0090】
すなわち、(7)式を変形して(8)式が得られる。
d=B*f/Df=xl−xr ・・・(8)
X=Ds=B*f*xr ・・・(9)
【0091】
また、(9)式を変形して(10)式が得られる。
xr=Ds/(B*f) ・・・(10)
【0092】
そして、(8)式と(10)式から(11)式が得られる。
xl=B*f/Df+Ds/(B*f) ・・・(11)
ここで、B:撮像カメラ間の距離、f:撮像カメラの焦点距離、d:視差
【0093】
これにより、視差dが求められれば、コーナーが検出された画像データ中におけるコーナーのX座標xrと視差dから、コーナーの検出に失敗した画像データ中でのコーナーのX座標の予想値を算出することができる。このため、このコーナーの検出に失敗した画像データ中でのコーナーのX座標の予想値を中心とした一定の範囲を探索範囲として決定し、実施の形態1のステップS503以降の処理と同様のエッジの検出をおこなうことによってコーナーの位置を検出する。
【0094】
なお、コーナー以外の障害物についても上述の視差を利用した探索範囲の決定の処理によって障害物の位置検出が可能である。
【0095】
図20および図21は、視差を利用して探索範囲を決定した場合の障害物検出の状態を示す模式図である。例えば、図20に示すようなエッジが左の撮像カメラ102の画像データから取得された場合、右画像データ中で、左画像データで得られたエッジのX座標の値を始点として、そこから左の方向の範囲を探索範囲と決定する。そして、その探索範囲内で所定の閾値以上の強度のエッジを探索し、探索されたエッジを障害物と特定する。
【0096】
図20の例では、探索範囲内に障害物に対応する可能性のあるエッジが2本あり、かかる2本のエッジの中から、エッジの特性が左画像データのエッジの特性に近いものを選択して障害物であると特定する。具体的には、例えば、2本のエッジの中からエッジの強度と左画像データのエッジの強度との差が一定の閾値以下のエッジを左画像データのエッジの特性に近いとして、かかるエッジを選択して障害物であると特定する。この閾値は、探索範囲の内部と外部とで異なる値を使用する。
【0097】
ここで、規則正しく並んだ柱のように繰り返しパターンがあった場合には、エッジの特性はどのエッジでもほぼ等しくなり、正しい対応を求めることが困難となる。このような場合には、超音波センサ101から得られたセンサデータを利用して、かかるセンサデータから求めた距離に基づいて、そのエッジが存在する探索範囲を図21のように決定する。図21の例では、2本のエッジの候補のうち1本のみが探索範囲に含まれている。このため、かかる探索範囲内のエッジを障害物として特定する。
【0098】
このように実施の形態1にかかる移動ロボット100では、2つの撮像カメラ102で撮像された2つの画像データからステレオ方式における視差を求め、この視差に基づいて画像データ上で障害物の探索範囲を決定し、探索範囲内で障害物の位置を検出しているので、探索範囲をより的確に決定することができ、画像全体に対する画一的な処理では発見できないような弱いエッジなども、2つの画像データのいずれかの画像データで強く現れていれば容易に検出することが可能となる。このため、実施の形態2の移動ロボットによれば、障害物などの物体の位置検出をより高精度に行うことができる。また、この結果、実施の形態2にかかる移動ロボット100では、周辺領域のより高精度な地図を作成することができる。
【0099】
(実施の形態3)
実施の形態1および実施の形態2では、移動制御機構を有する移動ロボットを例にあげて説明したが、実施の形態3では移動機構を有さない固定装置の地図作成装置や、人間が別途移動操作する台上に装着された地図作成装置に対して本発明を適用したものである。実施の形態3にかかる地図作成装置では、複数種類のセンサから得られるデータを統合して使用することによって高精度な地図を生成することができる。
【0100】
図22は、実施の形態3にかかる地図作成装置の構成を示すブロック図である。本実施の形態の地図作成装置2200は、図22に示すように、本体部1210と本体部1210に接続された距離センサとしての5個の超音波センサ101と撮像部としての2個の撮像カメラ102とを主に備えている。かかる超音波センサ101及び撮像カメラ102の機能および構成は実施の形態1と同様である。
【0101】
本体部1210は、図22に示すように、距離算出部111と、障害物位置検出部112と、地図生成部113と、記憶部116とを備えており、実施の形態1および2の移動ロボットと異なり、移動制御部や駆動部などの移動機構は有さない構成となっている。
【0102】
本体部1210の各部の構成および機能は実施の形態1の移動ロボットの各部と同様の機能および構成を有しており、障害物位置検出部112は、距離算出部111よって算出された距離の概算値と、撮像部102によって撮像された移動領域内の画像データとから障害物が存在する可能性がある前記画像データ上の領域である探索範囲(候補領域)を決定し、探索範囲内部と外部とで異なる閾値を用いて画像データから障害物の位置を検出する。また、地図生成部113は、実施の形態1と同様に、障害物位置検出部112によって検出された障害物の位置を時系列に取得し、取得した位置情報の補正等の処理を行って整合性をとり、整合性をとった位置情報を反映した自己位置周辺の地図データを生成し、記憶部116に生成された地図データを保存する。
【0103】
実施の形態3にかかる地図生成装置における地図生成処理および障害物位置検出処理については実施の形態1および2の地図生成処理および障害物位置検出処理と同様に行われる。従って、実施の形態3にかかる地図作成装置2200によれば、実施の形態1および2と同様に障害物などの物体の位置検出をより高精度に行うことができるため、周辺領域の高精度な地図を作成することができる。
【0104】
(実施の形態4)
実施の形態1〜3の各装置は、検出した障害物の位置から自己の周辺領域の地図を生成する機能を備えていたが、実施の形態4は、自動車などに搭載可能な障害物検出装置としても利用可能な、センサ情報を統合して利用することによって障害物の位置を検出する障害物位置検出装置である。本実施の形態にかかる障害物位置検出装置は、障害物の位置情報から地図データを生成する機能は有さずに、時系列的に得られる障害物の位置情報そのものが最終出力として利用される。
【0105】
図23は、実施の形態4にかかる障害物位置検出装置の構成を示すブロック図である。本実施の形態の障害物位置検出2300は、図23に示すように、本体部2310と本体部2310に接続された距離センサとしての5個の超音波センサ101と撮像部としての2個の撮像カメラ102とを主に備えている。かかる超音波センサ101及び撮像カメラ102の機能および構成は実施の形態1と同様である。
【0106】
本体部2310は、図23に示すように、距離算出部111と、障害物位置検出部112とを備えており、実施の形態1および2の移動ロボット、実施の形態3の地図作成装置と異なり、地図生成部や記憶部等の地図生成機構は有さない構成となっている。また、実施の形態1および2の移動ロボットと異なり、移動制御部や駆動部などの移動機構は有さない構成となっている。
【0107】
本体部2310の各部の構成および機能は実施の形態1の移動ロボットの各部と同様の機能および構成を有しており、障害物位置検出部112は、距離算出部111よって算出された距離の概算値と、撮像部102によって撮像された移動領域内の画像データとから障害物が存在する可能性がある前記画像データ上の領域である探索範囲(候補領域)を決定し、探索範囲内部と外部とで異なる閾値を用いて画像データから障害物の位置を検出し、検出された障害物の位置情報を出力する。
【0108】
実施の形態4にかかる障害物位置検出装置における障害物位置検出処理については実施の形態1および2の障害物位置検出処理と同様に行われる。従って、実施の形態4にかかる障害物位置検出装置2300によれば、実施の形態1および2と同様に、障害物などの物体の位置検出をより高精度に行うことができる。
【0109】
なお、以上の実施の形態では、物体として障害物の位置検出を行うことを例にあげて説明しているが、障害物以外の物体の位置検出にも本発明を適用することができる。
【0110】
なお、以上の実施の形態の移動ロボット100、地図作成装置2200、障害物位置検出装置2300で実行される地図生成プログラムおよび位置検出プログラムは、ROM等に予め組み込まれて提供される。なお、以上の実施の形態の実施の形態の移動ロボット100、地図作成装置2200、障害物位置検出装置2300で実行される地図生成プログラムおよび位置検出プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。さらに、以上の実施の形態の実施の形態の移動ロボット100、地図作成装置2200、障害物位置検出装置2300で実行される地図生成プログラムおよび位置検出プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、かかる地図生成プログラムおよび位置検出プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【0111】
以上の実施の形態の移動ロボット100、地図作成装置2200、障害物位置検出装置2300で実行される地図生成プログラムおよび位置検出プログラムは、上述した各部を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記ROMから地図生成プログラム、位置検出プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされる。
【図面の簡単な説明】
【0112】
【図1】実施の形態1にかかる移動ロボットの機能的構成を示すブロック図である。
【図2】超音波センサの超音波の到達範囲を示す模式図である。
【図3】実施の形態1の移動ロボット100に接続された5個の超音波センサ101から照射される超音波の到達範囲を示す模式図である。
【図4】実施の形態1にかかる移動ロボット100による地図生成処理の手順を示すフローチャートである。
【図5】障害物位置検出部112による障害物の位置検出処理の手順を示すフローチャートである。
【図6】0°、45°、90°の角度からの超音波センサによる超音波の到達範囲を示す模式図である。
【図7】90°で交わる壁600a,600bのコーナー601付近に移動ロボット100が到達したときの超音波センサ101から照射される超音波と撮像カメラ102から取得した画像データを示す説明図である。
【図8】90°で交わる壁600a,600bのコーナー601付近に移動ロボット100が到達したときの超音波センサ101から照射される超音波と撮像カメラ102から取得した画像データを示す説明図である。
【図9】90°で交わる壁600a,600bのコーナー601付近に移動ロボット100が到達したときの超音波センサ101から照射される超音波と撮像カメラ102から取得した画像データを示す説明図である。
【図10】90°で交わる壁600a,600bのコーナー601付近に移動ロボット100が到達したときの超音波センサ101から照射される超音波と撮像カメラ102から取得した画像データを示す説明図である。
【図11】超音波センサ101を45°の方向に照射するように設置した場合における超音波の到達範囲と撮像カメラ102から取得した画像データを示す説明図である。
【図12】壁1200aと壁1200bの色、明度に明らかな差が存在する場合の画像データの例を示す模式図である。
【図13】明度や色が近似している2つの壁1200a,1200bを撮像した画像データの例を示す説明図である。
【図14】移動ロボット100が壁600bに平行に移動した場合の例を示す模式図である。
【図15】移動ロボット100が壁600bに平行でない方向に移動した場合の例を示す模式図である。
【図16】壁600bに平行でない方向に移動している移動ロボット100が前方の壁600aに対して傾斜角度αである場合における超音波センサからの超音波の到達範囲と画像データの例を示す説明図である。
【図17】傾斜データの一例を示す説明図である。
【図18】位置データの例を示す説明図である。
【図19】撮像カメラ102とコーナー上の点P(X,Y,Z)の関係を示す模式図である。
【図20】視差を利用して探索範囲を決定した場合のエッジ検出の状態を示す模式図である。
【図21】視差を利用して探索範囲を決定した場合のエッジ検出の状態を示す模式図である。
【図22】実施の形態3にかかる地図作成装置の構成を示すブロック図である。
【図23】実施の形態4にかかる障害物位置検出装置の構成を示すブロック図である。
【符号の説明】
【0113】
100 移動ロボット
101 超音波センサ
102 撮像カメラ
110,1210,2310 本体部
111 距離算出部
112 障害物位置検出部
113 地図生成部
114 移動制御部
115 駆動部
116 記憶部
600a,600b,1200a,1200b 壁
2200 地図作成装置
2300 障害物位置検出装置
【技術分野】
【0001】
本発明は、距離センサおよび撮像部から取得した各データを統合して任意の領域内の物体の位置を安定的に検出する物体位置検出装置、物体の位置に基づいて地図データを生成する地図作成装置、自律移動装置、物体位置検出方法および物体位置検出プログラムに関する。
【背景技術】
【0002】
従来の自律移動型のロボット(以下、「移動ロボット」という。)は、超音波センサ、レンジファインダなどの距離センサやTVカメラ等の撮像部を、ロボット周囲の外界の情報を取り込むためのセンサとして搭載して、これらの各種センサから取得した情報に基づいて移動する等の行動を行っていた。そして、各種センサから取得したデータは主に各センサごとに処理をされ、センサごとの最終的な処理結果を複数利用して外界認識の精度を向上させる手法が中心となっている(非特許文献1参照)。
【0003】
また、特許文献1の技術では、種類の異なる複数のセンサから得られたセンサデータを統合して総合的に環境を認識して移動ロボットの走行誘導を行う技術が開示されている。
【0004】
【特許文献1】特開平7−116981号公報
【非特許文献1】三浦純、白井良明「不確かさを考慮した移動ロボットのための資格とそのプランニング」情報処理学会論文誌Vol.44No.SIG17(CVIM8) 37〜49ページ 2003年
【発明の開示】
【発明が解決しようとする課題】
【0005】
しかしながら、非特許文献1の技術では、複数のセンサからのデータを使用して障害物の位置検出等を行っているものの、各センサからのデータを個々に処理してその処理結果により障害物の位置検出や地図データが生成され、この処理の後に複数の処理結果や複数の地図データを統合している。ところが、複数のセンサのそれぞれのデータ特性はセンサ毎に異なっており、これらのセンサ特性を考慮せずに処理結果のデータを統合すると誤差の多い環境地図が生成されてしまうという問題がある。
【0006】
特に、各センサからデータを個々に処理し、その処理結果として生成された環境地図同士を統合する技術では、地図の位置合わせ等が困難であり、高精度な環境地図を生成することが困難であるとともに、各センサの長所を十分に利用していないという問題がある。
【0007】
また、特許文献1の技術では、異なる種類の複数のセンサのセンサデータを統合しているとはいうものの、各センサから取得したセンサデータをそれぞれ判断し、複数のセンサデータの組み合わせから物体の存在する環境の仮説をたてているだけであり、複数のセンサデータを連携して物体の位置を検出してはいない。このため、この特許文献1の技術によっても各センサの特性を考慮した物体の位置検出を行うことができず、検出される物体の位置には誤差が生じてしまうという問題がある。
【0008】
本発明は、上記に鑑みてなされたものであって、各々のセンサの特性に基づいて、互いのセンサのデータを物体検出の中間段階で相互に利用して物体を検出することによって、各センサの特性を利用するとともに、高精度に物体の位置を検出することができる物体位置検出装置、地図作成装置、自律移動装置、物体位置検出方法および物体位置検出プログラムを提供することを目的とする。
【課題を解決するための手段】
【0009】
上述した課題を解決し、目的を達成するために、本発明は、物体位置検出装置であって、前記物体位置検出装置の周囲に設定された検知領域内における物体を検知する距離センサと、前記検知領域内を撮像する撮像部と、前記距離センサによって検知された物体までの距離の概算値を算出する距離算出部と、 前記距離の概算値に基づいて前記撮像部で撮像された画像データ中で物体が存在する候補領域を設定し、前記候補領域の内部と外部とで異なる閾値を用いて、前記画像データおよび前記距離の概算値に基づいて物体の位置を検出する位置検出部とを備えたことを特徴とする。
【0010】
また、本発明は、地図作成装置であって、前記地図作成装置の周囲に設定された検知領域内における物体を検知する距離センサと、 前記検知領域内を撮像する撮像部と、前記距離センサによって検知された物体までの距離の概算値を算出する距離算出部と、前記距離の概算値に基づいて前記撮像部で撮像された画像データ中で物体が存在する候補領域を設定し、前記候補領域の内部と外部とで異なる閾値を用いて、前記画像データおよび前記距離の概算値に基づいて物体の位置を検出する位置検出部と、前記位置検出部により時系列に検出された前記物体の位置の整合を取ることによって自己位置周辺の地図データを生成する地図生成部とを備えたことを特徴とする。
【0011】
また、本発明は、自律移動装置であって、前記自律移動装置の周囲に設定された検知領域内における物体を検知する距離センサと、前記検知領域内を撮像する撮像部と、前記距離センサによって検知された物体までの距離の概算値を算出する距離算出部と、前記距離の概算値に基づいて前記撮像部で撮像された画像データ中で物体が存在する候補領域を設定し、前記候補領域の内部と外部とで異なる閾値を用いて、前記画像データおよび前記距離の概算値に基づいて物体の位置を検出する位置検出部と、前記位置検出部により時系列に検出された前記物体の位置に基づいて、前記物体を回避して自装置の移動を制御する移動制御部とを備えたことを特徴とする。
【0012】
また、本発明は、自律移動装置であって、前記自律移動装置の周囲に設定された検知領域内における物体を検知する距離センサと、前記検知領域内を撮像する撮像部と、前記距離センサによって検知された物体までの距離の概算値を算出する距離算出部と、前記距離の概算値に基づいて前記撮像部で撮像された画像データ中で物体が存在する候補領域を設定し、前記候補領域の内部と外部とで異なる閾値を用いて、前記画像データおよび前記距離の概算値に基づいて物体の位置を検出する位置検出部と、前記位置検出部により時系列に検出された前記物体の位置の整合を取ることによって自己位置周辺の地図データを生成する地図生成部と、前記地図生成部によって生成された前記地図データに基づいて前記物体を回避して自装置の移動を制御する移動制御部とを備えたことを特徴とする。
【0013】
また、本発明は、上記物体位置検出装置に対応した物体位置検出方法および物体位置検出プログラムである。
【発明の効果】
【0014】
本発明によれば、距離センサからのデータと撮像部から取得した画像データのそれぞれから別個に物体の位置を検出して後で物体の位置情報を統合するのではなく、距離センサからのデータから物体までの距離の概算値を求めて、その概算値から撮像部からの画像データ中で物体が存在する候補領域を設定し、候補領域の内部と外部とで異なる閾値を用いて画像データおよび距離の概算値に基づいて物体の位置を検出する。すなわち、距離センサと撮像部の特性に基づいて、距離センサと撮像部からの互いのデータを物体検出の中間段階で相互に利用して実際の物体の位置を検出しているので、距離センサと撮像部の特性を利用でき、高精度な物体の位置検出を行うことができるという効果を奏する。
【発明を実施するための最良の形態】
【0015】
以下に添付図面を参照して、この発明にかかる物体位置検出装置、地図作成装置、自律移動装置、物体位置検出方法および物体位置検出プログラムの最良な実施の形態を詳細に説明する。
【0016】
実施の形態1および2は、本発明の物体位置検出装置、地図作成装置、自律移動装置、物体位置検出方法および物体位置検出プログラムを、自律走行して移動可能な自律移動型のロボット(以下、「移動ロボット」という。)に適用したものである。ただし、移動ロボットに限定されるものではなく、距離センサと撮像部を備える装置であれば、いずれの装置にも本発明にかかる物体位置検出装置、地図作成装置、自律移動装置、物体位置検出方法および物体位置検出プログラムを適用することが可能である。
【0017】
ここで、移動ロボットの場合は、障害物位置検出装置の出力結果を基に地図を作成する地図作成装置および作成された地図を元に移動する駆動制御装置を備えることになるが、システムの構成によっては、障害物の位置のみを算出するシステムや、障害物の位置から地図を作成するシステムなどにも本発明の物体位置検出装置を適用することが可能である。
【0018】
(実施の形態1)
実施の形態1にかかる移動ロボット100は、予め定められた移動領域内を自律的に移動して、移動領域内に存在する障害物の位置検出をおこなうものである。
【0019】
(移動ロボットの構成)
図1は、実施の形態1にかかる移動ロボットの機能的構成を示すブロック図である。本実施の形態にかかる移動ロボット100は、図1に示すように、本体部110と本体部110に接続された距離センサとしての5個の超音波センサ101と撮像部としての2個の撮像カメラ102とを主に備えている。ただし、超音波センサ及び撮像部の個数は各センサの精度や計測が必要な範囲の広さに依存しており、必ずしもこの個数に限定されるものではない。
【0020】
超音波センサ101は、超音波パルスを障害物に照射してその反射パルスを受信する距離センサである。この超音波センサ101は、超音波の照射によって、移動ロボット100の周囲に設定された検知領域内の障害物を検知するようになっている。図2は、超音波センサの超音波の到達範囲を示す模式図である。図2に示すように、超音波センサは、一般的に、超音波が広がりをもって照射されるため、横方向の解像度が低く前方における障害物の有無を調べるという簡単な判別に使用されることが多いが、超音波センサ101を使用した場合でも、前方の奥行き方向の距離は超音波の波長に応じた精度で取得することができ、対象物との距離に依存はするが、一般的には数cm程度の精度で距離を測定することが可能となっている。
【0021】
図3は、本実施の形態の移動ロボット100に接続された5個の超音波センサ101から照射される超音波の到達範囲を示す模式図である。本実施の形態の移動ロボット100には、5個の超音波センサ101が移動ロボット100の側面から前面にかけて45°の角度間隔で配置されている。
【0022】
後述するように、画像データ中でのコーナーの位置は前方の壁までの距離と側方の壁までの距離の比によって一意に決定され、距離の絶対値には依存していないため、本実施の形態では、前方と左右両側方に設置している。さらに、本実施の形態にかかる移動ロボット100では、距離に依存する画像中のコーナー位置の推定精度を向上させるため、±45°の斜め方向に超音波を照射するように超音波センサ101を設置している。なお、移動ロボット101をさらに後進させる場合を考慮して、さらに後方に超音波を照射するように超音波センサ101と撮像カメラ102を設置するように構成してもよい。
【0023】
なお、本実施の形態の移動ロボット100に配置された数以上の超音波センサ101を配置することも可能であるが、超音波センサ101から照射される超音波は、拡張して伝搬する特性を有するため、推定精度の向上には影響を与えない場合が多い。 ただし、超音波の伝搬の広がりが小さい場合には、さらに小さな角度間隔で超音波センサ101を配置するように構成すれば、距離の精度の向上を図ることが可能である。
【0024】
また、本実施の形態では、距離センサとして超音波センサを使用しているが、これに限定されるものではなく、距離を測定可能なセンサであれば、例えばレンジファインダ等いずれのセンサを使用してもよい。撮像カメラは、移動領域内を撮像するものであり、例えばTVカメラ等を用いることができる。
【0025】
本体部110は、図1に示すように、距離算出部111と、障害物位置検出部112と、地図生成部113と、移動制御部114と、駆動部115と、記憶部116とを主に備えている。
【0026】
距離算出部111は、超音波センサ110によって受信した反射波により、障害物までの距離の概算値を算出するものであり、各超音波センサ110ごとに距離の概算値を算出するようになっている。
【0027】
障害物位置検出部112は、距離算出部111よって算出された距離の概算値と、撮像部102によって撮像された移動領域内の画像データとから障害物が存在する可能性がある前記画像データ上の領域である探索範囲(候補領域)を決定し、探索範囲内部と外部とで異なる閾値を用いて画像データから障害物の位置を検出するものである。具体的には、距離算出部111よって算出された距離の概算値から画像データ中の障害物の位置を予測した範囲を探索範囲とし、この探索範囲内部で画像処理を行い、画像処理の段階で所定の閾値を用いて画像処理結果により障害物を特定し、障害物の位置を検出する処理を行う。また、探索領域内部で障害物を検出することができない場合には、顔図データ中で探索領域を拡張して障害物の特定を行い、あるいは探索領域外部では上記閾値とは異なる閾値と比較して障害物を特定し、その位置を検出する処理を行う。
【0028】
また、超音波センサの精度によっては必ずしも探索範囲を一意に決定できない場合もあり、この場合には任意の個数の領域に対して信頼度を定義し、各領域の信頼度に応じて画像処理の閾値を制御することによって、より精度の高いセンサ情報の統合処理が可能となる。
【0029】
一般に、超音波センサから取得される距離データはノイズが多く、取得される距離データの信頼性もそれほど高くない。また、超音波は、図2に示すように拡張して伝搬する性質を有している、移動領域内に複数の障害物が存在する場合には、十分な大きさを有する障害物の中で最も近い障害物の距離のみが取得されることになる。このため、本実施の形態では、超音波センサ101から得られたセンサデータから求めた距離の概算値の位置にある障害物を、撮像カメラ102から取得した画像データを解析して特定している。
【0030】
すなわち、本実施の形態では、超音波センサ101による距離の概算値と、画像データの画像解析の両方を、障害物の検出の中間段階で相互に利用して、障害物の正確な位置検出をおこなって、超音波センサ101と撮像カメラ102の各特性の長所を生かして、高精度な障害物検出および地図生成をおこなっている。
【0031】
地図生成部113は、障害物位置検出部112によって検出された障害物の位置を時系列に取得し、取得した位置情報の補正等の処理を行って整合性をとり、整合性をとった位置情報を反映した自己位置周辺の地図データを生成し、記憶部116に生成された地図データを保存するものである。また、地図生成部113は、新たに障害物が検出された場合には、記憶部116に記憶されている地図データに新たに検出された障害物の位置を反映して地図データを更新する処理もおこなう。
【0032】
移動制御部114は、地図データに従って移動ロボット100の移動をおこなうように、駆動部を制御するものである。具体的には、地図データ上で特定された障害物の位置を回避して移動ロボット100が走行するように駆動部115を制御する。駆動部115は、移動ロボットの車輪(図示せず)の駆動および停止をおこなうものである。
【0033】
記憶部116は、メモリやハードディスクドライブ装置(HDD)などの記憶媒体であり、上述した地図データや、後述する傾斜データや位置データを保存している。
【0034】
(地図生成処理)
次に、以上のように構成された本実施の形態にかかる移動ロボット100による地図生成処理について説明する。図4は、本実施の形態にかかる移動ロボット100による地図生成処理の手順を示すフローチャートである。
【0035】
各超音波センサ101では、移動領域内に障害物が存在するか否かを検知するため反射パルスを照射しており、障害物からの反射波を受信してセンサデータとして送出している。距離算出部111は超音波センサ101からセンサデータを取得して(ステップS401)、取得したセンサデータから障害物までの距離の概算値を各超音波センサ101ごとに算出する(ステップS402)。一方、撮像カメラ102では移動領域内を撮像しており、一定のタイミングで静止画像の画像データが送出される。そして、障害物位置検出部112によって、撮像カメラ102からの画像データを取得する(ステップS403)。
【0036】
次に、障害物位置検出部112では、距離算出部距離の概算値に基づいて取得した画像データから障害物の位置検出処理をおこなう(ステップS404)。なお、障害物の位置検出処理の詳細については後述する。そして、障害物位置検出部112で求められた障害物の位置を反映した地図データを生成し(ステップS405)、記憶部116に保存する(ステップS406)。
【0037】
次に、ステップS404における障害物の位置検出処理について説明する。図5は、障害物位置検出部112による障害物の位置検出処理の手順を示すフローチャートである。なお、ここでは、障害物の位置検出の例として、壁と壁との境界であるコーナーの検出をおこなう場合について説明する。
【0038】
一般的に、移動ロボットの移動領域である部屋の地図を作成する際に、部屋の境界(壁の境や扉)を同定することが必要となる。特に、壁と壁との境界、すなわち壁の交線であるコーナーを正確に検出することが必要となってくる。しかしながら、上述したように、超音波は拡張して伝搬する性質を有するため、コーナーの部分に移動ロボットを配置して超音波センサ101によってその形状を観測すると、図6に示すように、0°、45°、90°のいずれの角度からも同一の距離が観測され、コーナーの位置を同定することが困難である。
【0039】
図2に示すような、超音波の広がり(図2の扇形の形状)が理論通りに求められる場合には、3方向の距離の値からある程度のコーナーの位置を推測することも可能である。しかしながら、実際には超音波センサ101からのセンサデータには多くのノイズが含まれるため、コーナーの位置の推測は困難となる。このため、超音波センサ101からのセンサデータからの壁までの距離の概算値を利用して、コーナーの正確な位置を画像データ上で特定することとしている。
【0040】
まず、距離算出部111によって求めた超音波センサ101ごとの障害物まで距離の概算値を比較し、0°位置の超音波センサ101による前方の距離の概算値、45°位置の超音波センサ101による斜め方向の距離の概算値、+90°位置の超音波センサ101による側方の距離の概算値がほぼ等しいか否か、すなわち各概算値の差が一定の範囲内にあるか否かを調べる(ステップS501)。このように3方向の距離の概算値がほぼ同一であるか否かを判断しているは、以下の理由による。
【0041】
図7〜10は、90°で交わる壁600a,600bのコーナー601付近に移動ロボット100が到達したときの超音波センサ101から照射される超音波と撮像カメラ102から取得した画像データを示す説明図である。図11は、超音波センサ101を45°の方向に照射するように設置した場合における超音波の到達範囲と撮像カメラ102から取得した画像データを示す説明図である。図11に示すように、45°位置に配置された超音波センサ101から得られる距離は、前方と側方のうちの短い方の距離に近い値が得られる。
【0042】
図7〜10からわかるように、画像データ中でのコーナー601の位置は移動ロボット100の前方の壁600aまでの距離と側方の壁600bまでの距離の比によって一意に決定され、距離の絶対値には依存していない。このため、本実施の形態では、一方向にだけ超音波センサ101を設置せずに、前方と左右両側方に設置し、さらに、±45°の斜め方向に超音波を照射するように超音波センサ101を設置している。
【0043】
また、図7〜10からわかるように、移動ロボット100が壁600bに平行に移動している場合、進行方向の前方の壁600aが超音波センサ101で検出されない状態では、45°斜め方向の超音波センサ101からのセンサデータは側方向の壁との距離より少し長い値を示す。この状態で移動ロボット100が前進を続け、前方の壁600aが検出された場合には、最初は前方の壁600aまでの距離の方が側方の壁600bまでの距離より長く、次第にその距離の差が小さくなって、距離が等しくなることがわかる。
【0044】
かかる前方の壁600aまでの距離と側方の壁600bまでの距離が等しくなった位置が移動ロボット100が方向転換をおこなう位置として最適な位置であり、この時点では、+45°斜め方向の距離もほぼ前方、側方の距離と等しい値となる。このため、ステップS501では、3方向の距離の概算値がほぼ等しいか否か(すなわち、距離の差が一定範囲内にあるか否か)を判断している。
【0045】
そして、ステップS501で、3方向の距離の概算値がほぼ等しい状態ではないと判断された場合(ステップS501:No)、3方向の距離の概算値がほぼ等しい状態となるまで、移動ロボット100を前進させる。なお、斜め方向の距離が残りの方向の距離より十分に長い場合には、前方または側方の障害物のどちらかまたはその両方が壁ではない可能性が高いので、撮像カメラ102から取得した画像データの解析を行うように構成すればよい。
【0046】
また、超音波の広がりが比較的小さな超音波センサを用いた場合には、3方向の距離の概算値は等しくならず、45度方向の距離のみが前方及び側方の距離よりも長いという状況が起こる可能性がある。ただし、この場合には45度方向の距離は前進している間はほぼ等しく、コーナー付近に近付いた時点以降計測された距離が短くなることになる。これはコーナー付近では、45度方向のセンサは当初側面までの距離が反映されているのに対して、前進するに従って側面までの距離と前方までの距離が等しくなった時点で前面までの距離が反映されるためである。このため、3方向のセンサの距離がほぼ等しくにならない場合でも、前方と側方の距離がほぼ等しくなり、45度方向の距離も小さくなり出した地点がコーナー付近であることが分かる。
【0047】
一方、ステップS501において、3方向の距離の各概算値の差がほぼ等しい場合、すなわち一定の範囲内にある場合には(ステップS501:Yes)、当該地点がコーナーである可能性が高いのでコーナーの探索をおこなう。すなわち、撮像カメラ102から取得した画像データから、距離の概算値の付近に該当する画像データ上の位置付近を探索範囲として決定する(ステップS502)。具体的には、3方向の距離がほぼ等しくなる点は斜め45°方向にコーナー601が存在する確率が最も高い地点であるため、斜め45°方向の位置の画像データ上のX座標を求め、かかる位置から所定値の画素数の範囲を画像データ上の探索範囲として決定する。
【0048】
例えば、撮像カメラ102の焦点距離fがピクセル数[Pix]で表される場合には、この焦点距離fと同じ画素数分、画像の中央から右側の地点がコーナーとなるエッジが存在する可能性がある方向となる。撮像カメラ102の焦点距離fがSI単位系で表される場合には、受光面の物理サイズw[mm]、受光面の画素数y[Pix]、画像データの中心からコーナー位置までの画素数x[Pix]は、次の式(1)の関係がある。
【0049】
x:f=w:y ・・・(1)
このため、画像データの中心からコーナー位置までの画素数x[Pix]は、次の(2)式で算出される。
【0050】
x=f・y/w ・・・(2)
ここで、f:撮像カメラ102の焦点距離[mm]、y:受光面の画素数[Pix]、
w:受光面の物理サイズ[mm]
【0051】
同様に、平行に移動している側方の壁600bと前方に検出された壁600aで、維持する距離を変えたい場合には、その距離の比から次の(3)式でコーナーの位置を求める。
【0052】
x=f・(y/w)・(L/L’) ・・・(3)
ここで、x,f,y,wは(2)式と同様であり、
L:前方の壁と維持する距離,L’:側方の壁と維持していた距離
【0053】
このようにして、コーナー位置のX座標を求めるが、かかる位置は、実際には各超音波センサ101からのセンサデータに誤差が含まれている場合が多い。このため、本実施の形態では、コーナー位置のX座標を中心にした所定の範囲を探索範囲と決定している。そして、かかる探索範囲内でエッジを探索する(ステップS503)。なお、探索範囲を決定する際の所定の範囲は、超音波センサによってセンサデータが有する誤差を予め求めておき、設定するように構成すればよい。
【0054】
ここで、エッジを検出するのは、2つの壁が交わる交線では、同一の材質の壁紙が使われている場合でも、平面の法線方向が変換するため、かかる交線部分に強いエッジが画像データ上に現れてくる場合が多いことから、検出されたエッジの部分をコーナー位置と特定するためである。
【0055】
エッジの検出は、例えば、障害物位置検出部112にソーベルフィルタ等のエッジ検出フィルタを設け、縦方向の強いエッジを探索することによりおこなう。ここで、エッジ検出フィルタは縦方向のエッジに適応可能なものであれば、微分フィルタ等いずれのフィルタを使用してもよい。
【0056】
そして、探索範囲において、複数のエッジが検出されたか否かを判断し(ステップS504)、複数のエッジが検出されなかった場合(ステップS504:No)、すなわち1個のエッジが検出された場合には、検出されたエッジをコーナーと特定し、コーナの位置を画像データの中央位置からの画素値として求める(ステップS509)。
【0057】
一方、ステップS504において、探索範囲内で複数のエッジが検出された場合には(ステップS504:Yes)、画像データのエッジを境界とした2つの領域の特性の相違を判断すべく、エッジごとに2つの領域の明度差、および色の差を検出する(ステップS505)。
【0058】
図12は、壁1200aと壁1200bの色、明度に明らかな差が存在する場合の画像データの例を示す模式図である。図12に示すように、2枚の壁1200a,1200bの色や明度に明らかに差がある場合は、画像データ上で2つの領域の色や明度の差が最大となるエッジを選択してコーナーと特定している。
【0059】
このため、2つの領域の明度差および色の差が検出できず不明であるか否かを判断する(ステップS506)。具体的には、2つの領域の明度差および色の差が所定の閾値より大きいか否かを調べ、大きい場合には2つの領域の明度差および色の差が検出でき、小さい場合には2つの領域の明度差および色の差が検出できないと判断する。そして、2つの領域の明度差および色の差が検出できた場合には(ステップS506:No)、明度差あるいは色の差が検出できた2つの領域の境界のエッジをコーナーと特定し、コーナの位置を画像データの中央位置からの画素値あるいはその位置座標とする(ステップS509)。
【0060】
なお、本実施の形態では、壁となる画像データ上の領域の特性として、色や明度を使用しているが、これに限定されるものではなく、エッジを特定することができる特性であれば、いずれの特性値を使用してもよい。
【0061】
また、明度差や色の差は微分系の特徴量であるためノイズの影響を受けやすいことがあり、通常の画像処理では検出のための閾値を大幅に下げることが出来ない。しかし、本実施の形態では、距離の概算値からエッジの探索範囲を限定しているが、探索範囲を拡張または縮小するように制御したり、また探索範囲内の位置に応じて閾値を変動させるように制御するように構成してもよい。この場合には、探索範囲となる画像データ中の領域に応じてより明度差や色の差が小さなエッジなども検出することが可能となるという利点がある。
【0062】
さらに、探索範囲をエッジの出現可能性に応じて複数の領域に分割し、より出現可能性の高い領域で利用する閾値を小さくすることによって、他のセンサ情報から指示されているエッジを高精度に検出することが可能となる。
【0063】
一方、ステップS506において、閾値の制御を行った上でも、いずれのエッジについても2つの領域の明度差および色の差が検出できない場合には(ステップS506:Yes)、画像データにおける探索範囲をエッジの上方および下方に拡張し、エッジの上方または下方において壁との交点を検索する(ステップS507)。
【0064】
図13は、明度や色が近似している2つの壁1200a,1200bを撮像した画像データの例を示す説明図である。図13に示すように、壁の交線のエッジは、エッジの上端または下端で、Y字または逆Y字となって現れる。このため、本実施の形態では、エッジの上部または下部の状態を観測し、Y字または逆Y字となって現れた交点の存在を検索している。これにより、画像データ中の明度差や色の差が不明確な場合やエッジ自体が不鮮明な場合等は、エッジの上部または下部において交点を検索することにより、より高精度にコーナーとなるエッジを特定することが可能となる。なお、本実施の形態では、エッジの上部か下部のいずれかで交点を検索しているが、上部と下部の両方において交点を検索するように構成してもよい。
【0065】
このため、エッジの上部または下部において壁との交点が存在するか否か判断し(ステップS508)、存在しない場合には(ステップS508:No)、次のエッジの下部または下部において壁との交点を検索する(ステップS507)。
【0066】
一方、ステップS508において、エッジの上部または下部において壁との交点が存在する場合には(ステップS508:Yes)、壁との交点が存在するエッジをコーナーと特定し、コーナーの位置を画像データの中央位置からの画素値あるいは位置座標とする(ステップS509)。このような処理により、コーナー位置を高精度に求めることが可能となる。
【0067】
一方、このような探索領域の内部でコーナーと検出できない場合には、探索領域の外部でコーナーを検出する。この場合には、上記探索範囲内部の閾値とは異なる閾値、例えば上記探索範囲内部での閾値より大きな値の閾値により、2つの領域の明度差および色の差が検出できるか否かを判断する。
【0068】
上述した障害物の位置検索処理においては、移動ロボット100が側方の壁に平行に移動する場合を示したが、次に、移動ロボット100が壁に平行でない方向に移動している場合の障害物の位置検出処理について説明する。
【0069】
図14は移動ロボット100が壁600bに平行に移動した場合の例を示す模式図であり、図15は移動ロボット100が壁600bに平行でない方向に移動した場合の例を示す模式図である。図14、15の超音波の到達範囲からわかるように、超音波センサ101からのみでは、移動ロボット100から前方の壁までの距離および側方の壁600bの距離は、壁600bに平行に移動した場合と壁600bに平行でない方向に移動した場合の共に同じ値となり、コーナーの位置は同じであると検出されてしまう可能性がある。しかしながら、撮像した画像データを観測すると、画像データ中でのコーナー601の位置は異なっており、壁600bに平行でない方向に移動ロボット100が移動する場合(図15)のコーナーの位置は、壁600bに平行に移動していた場合(図14)よりも左側に存在している。
【0070】
そこで、本実施の形態では、上述のステップS502で探索範囲を決定する際に、記憶部116に保存されている傾斜データと位置データを使用してコーナー位置のX座標を求め、探索範囲を決定している。
【0071】
傾斜データは、前方の壁600aまでの距離と側方の壁600bまでの距離の比と、移動ロボット100の壁600aに対する傾斜角度αとの相関関係を予め定めたものである。
【0072】
図16は、壁600bに平行でない方向に移動している移動ロボット100が前方の壁600aに対して傾斜角度αである場合における超音波センサからの超音波の到達範囲と画像データの例を示す説明図である。図16に示すように、上記傾斜データを予め求めておけば、45°方向の距離の値から傾斜角度αを推測することが可能となる。すなわち、図16に示すように、移動ロボット100が正面の壁600aに対して傾斜角度α傾いて移動する場合には、その傾斜角度αが大きくなるに従って45°方向の距離も長くなり、コーナーの位置は画像データの中心に近づくことになる。
【0073】
このため、超音波センサの特性を予め調べ、傾斜角度と距離の変化の相関関係を求めて傾斜データとして保持することにより、コーナーの位置の探索範囲を容易に決定することができる。図17は、傾斜データの一例を示す説明図である。コーナーの位置は前方の壁600aと側方の壁600bの距離の比と壁の角度αのみによって決定される。図17に示すように、前方の壁600aまでの距離が1.0単位、側方の壁600bまでの距離が2.0単位である場合には、壁600aに対する傾斜角度αが0〜45°の間で与えられたとき、45°方向の距離は図17に示すように変化する。
【0074】
また、図18は、位置データの例を示す説明図である。位置データは、傾斜角度αと画像データ上におけるコーナーの位置の相関関係を予め定めたものである。すなわち、移動ロボット100が壁600bに平行でない方向に移動する場合には、ステップS502において、超音波センサによる距離の概算値から図17の傾斜データを参照することにより傾斜角度αを求め、この傾斜角度αから図18の位置データを参照することによりコーナーの位置を求めて、このコーナーの位置を中心として一定の範囲を探索範囲と決定することにより、コーナーの正確な探索が可能となる。なお、ステップS503以降の処理については、移動ロボット100が壁600bに平行移動する場合の位置検出処理と同様におこなわれる。
【0075】
このように実施の形態1にかかる移動ロボット100では、超音波センサ101で検知された障害物までの距離の概算値を算出し、算出された障害物までの距離の概算値と、撮像カメラ102で撮像された画像データとから、障害物が存在する可能性がある探索範囲を決定し、探索範囲内で画像データから障害物の位置を検出して、移動領域の地図データを生成しているので、距離センサからのデータと撮像部から取得した画像データのそれぞれから別個に地図データを生成して後で各地図データを統合している従来の方式に比べ、各センサの特性を利用でき、高精度な地図を生成することができる。すなわち、特性の異なるセンサからのセンサデータを有効に統合することができ、信頼性の高い障害物の位置検出をおこなうことができるので、移動ロボットにおいて信頼性の高い障害物の情報が取得できない場合に、少し移動させてから再度障害物を検出するという手法も採用することができ、より的確な地図データを生成することができる。
【0076】
このように実施の形態1にかかる移動ロボット100では、超音波センサ101から障害物までの距離の概算値を求めて、その概算値から撮像部からの画像データ中で物体が存在する探索範囲を設定し、探索範囲の内部と外部とで異なる閾値を用いて画像データおよび距離の概算値から物体の位置を検出している。言い換えれば、超音波センサ101と撮像カメラ102の特性に基づいて、超音波センサ101と撮像カメラ102からの互いのデータを障害物検出の中間段階で相互に利用して実際の物体の位置を検出しているので、超音波センサ101で検知された障害物からの距離データと撮像カメラ102から取得した画像データのそれぞれから別個に物体の位置を検出して後で物体の位置情報を統合する従来の技術と比較して、超音波センサ101と撮像カメラ102特性をより有効に利用して高精度な障害物などの物体の位置検出を行うことができる。
【0077】
また、この結果、実施の形態1にかかる移動ロボット100では、周辺領域の高精度な地図を作成することができる。さらに、移動ロボット100において信頼性の高い障害物の情報が取得できない場合に、少し移動させてから再度障害物を検出するという手法も採用することができ、より的確な地図データを生成することができる。
【0078】
(実施の形態2)
実施の形態2にかかる移動ロボット100は、2つの撮像カメラ102で撮像された2つの画像データからステレオ方式における視差を求め、この視差に基づいて画像データ上で障害物の探索範囲を決定し、探索範囲内で障害物の位置を検出するものである。
【0079】
実施の形態2にかかる移動ロボット100の機能的構成は、実施の形態1と同様である。また、実施の形態2にかかる移動ロボット100による地図データ生成の全体処理についても実施の形態1と同様におこなわれる。
【0080】
本実施の形態では、図5で説明した障害物の位置検出処理において、ステップS502の探索範囲の決定の処理において、2つの画像データから視差を求めて探索範囲を決定する点で、実施の形態1と異なっている。
【0081】
すなわち、本実施の形態では、2つの撮像カメラ102をスレテオカメラして使用し、各撮像カメラ102で撮像された2つの画像データから、それぞれの画像データ中のコーナーのエッジのX座標の差をステレオ法における視差に相当するものとする。
【0082】
ここで求められたコーナー位置までの距離をDc、超音波センサによって得られた前方の壁600aまでの距離をDf、側方の壁600bまでの距離をDsとすると、これらの距離には次の(4)、(5)式が成立する。
【0083】
【数1】
【0084】
実際には、超音波センサ101のセンサデータから求めた距離には誤差が含まれるため、次の(6)式で示される差Eが所定の閾値以下になる場合に、(4)、(5)式が成立すると考える。
【0085】
【数2】
【0086】
2つの撮像カメラ102は、任意の距離だけ離れて配置されているため、各撮像カメラ102からのコーナーの見え方が異なっており、一方の撮像カメラ102からコーナーを撮像できない場合がある。このような場合には、式(4)、(5)を使うことによって、コーナー位置の特定が可能となる。
【0087】
具体的には、ステップS502の探索範囲の決定処理において、超音波センサ101によちり算出した距離の概算値DfとDsからコーナーまでの距離Dcを算出する。そして、Dcと2つの画像データ間でのコーナーの位置の視差dを算出している。
【0088】
図19は、撮像カメラ102とコーナー上の点P(X,Y,Z)の関係を示す模式図である。図19から、視差dおよび2つの画像データ中での障害物の位置(xr,xl)は、次の(7)〜(11)式によって求めることが出来る。
【0089】
Z=Df=B*f/d ・・・(7)
【0090】
すなわち、(7)式を変形して(8)式が得られる。
d=B*f/Df=xl−xr ・・・(8)
X=Ds=B*f*xr ・・・(9)
【0091】
また、(9)式を変形して(10)式が得られる。
xr=Ds/(B*f) ・・・(10)
【0092】
そして、(8)式と(10)式から(11)式が得られる。
xl=B*f/Df+Ds/(B*f) ・・・(11)
ここで、B:撮像カメラ間の距離、f:撮像カメラの焦点距離、d:視差
【0093】
これにより、視差dが求められれば、コーナーが検出された画像データ中におけるコーナーのX座標xrと視差dから、コーナーの検出に失敗した画像データ中でのコーナーのX座標の予想値を算出することができる。このため、このコーナーの検出に失敗した画像データ中でのコーナーのX座標の予想値を中心とした一定の範囲を探索範囲として決定し、実施の形態1のステップS503以降の処理と同様のエッジの検出をおこなうことによってコーナーの位置を検出する。
【0094】
なお、コーナー以外の障害物についても上述の視差を利用した探索範囲の決定の処理によって障害物の位置検出が可能である。
【0095】
図20および図21は、視差を利用して探索範囲を決定した場合の障害物検出の状態を示す模式図である。例えば、図20に示すようなエッジが左の撮像カメラ102の画像データから取得された場合、右画像データ中で、左画像データで得られたエッジのX座標の値を始点として、そこから左の方向の範囲を探索範囲と決定する。そして、その探索範囲内で所定の閾値以上の強度のエッジを探索し、探索されたエッジを障害物と特定する。
【0096】
図20の例では、探索範囲内に障害物に対応する可能性のあるエッジが2本あり、かかる2本のエッジの中から、エッジの特性が左画像データのエッジの特性に近いものを選択して障害物であると特定する。具体的には、例えば、2本のエッジの中からエッジの強度と左画像データのエッジの強度との差が一定の閾値以下のエッジを左画像データのエッジの特性に近いとして、かかるエッジを選択して障害物であると特定する。この閾値は、探索範囲の内部と外部とで異なる値を使用する。
【0097】
ここで、規則正しく並んだ柱のように繰り返しパターンがあった場合には、エッジの特性はどのエッジでもほぼ等しくなり、正しい対応を求めることが困難となる。このような場合には、超音波センサ101から得られたセンサデータを利用して、かかるセンサデータから求めた距離に基づいて、そのエッジが存在する探索範囲を図21のように決定する。図21の例では、2本のエッジの候補のうち1本のみが探索範囲に含まれている。このため、かかる探索範囲内のエッジを障害物として特定する。
【0098】
このように実施の形態1にかかる移動ロボット100では、2つの撮像カメラ102で撮像された2つの画像データからステレオ方式における視差を求め、この視差に基づいて画像データ上で障害物の探索範囲を決定し、探索範囲内で障害物の位置を検出しているので、探索範囲をより的確に決定することができ、画像全体に対する画一的な処理では発見できないような弱いエッジなども、2つの画像データのいずれかの画像データで強く現れていれば容易に検出することが可能となる。このため、実施の形態2の移動ロボットによれば、障害物などの物体の位置検出をより高精度に行うことができる。また、この結果、実施の形態2にかかる移動ロボット100では、周辺領域のより高精度な地図を作成することができる。
【0099】
(実施の形態3)
実施の形態1および実施の形態2では、移動制御機構を有する移動ロボットを例にあげて説明したが、実施の形態3では移動機構を有さない固定装置の地図作成装置や、人間が別途移動操作する台上に装着された地図作成装置に対して本発明を適用したものである。実施の形態3にかかる地図作成装置では、複数種類のセンサから得られるデータを統合して使用することによって高精度な地図を生成することができる。
【0100】
図22は、実施の形態3にかかる地図作成装置の構成を示すブロック図である。本実施の形態の地図作成装置2200は、図22に示すように、本体部1210と本体部1210に接続された距離センサとしての5個の超音波センサ101と撮像部としての2個の撮像カメラ102とを主に備えている。かかる超音波センサ101及び撮像カメラ102の機能および構成は実施の形態1と同様である。
【0101】
本体部1210は、図22に示すように、距離算出部111と、障害物位置検出部112と、地図生成部113と、記憶部116とを備えており、実施の形態1および2の移動ロボットと異なり、移動制御部や駆動部などの移動機構は有さない構成となっている。
【0102】
本体部1210の各部の構成および機能は実施の形態1の移動ロボットの各部と同様の機能および構成を有しており、障害物位置検出部112は、距離算出部111よって算出された距離の概算値と、撮像部102によって撮像された移動領域内の画像データとから障害物が存在する可能性がある前記画像データ上の領域である探索範囲(候補領域)を決定し、探索範囲内部と外部とで異なる閾値を用いて画像データから障害物の位置を検出する。また、地図生成部113は、実施の形態1と同様に、障害物位置検出部112によって検出された障害物の位置を時系列に取得し、取得した位置情報の補正等の処理を行って整合性をとり、整合性をとった位置情報を反映した自己位置周辺の地図データを生成し、記憶部116に生成された地図データを保存する。
【0103】
実施の形態3にかかる地図生成装置における地図生成処理および障害物位置検出処理については実施の形態1および2の地図生成処理および障害物位置検出処理と同様に行われる。従って、実施の形態3にかかる地図作成装置2200によれば、実施の形態1および2と同様に障害物などの物体の位置検出をより高精度に行うことができるため、周辺領域の高精度な地図を作成することができる。
【0104】
(実施の形態4)
実施の形態1〜3の各装置は、検出した障害物の位置から自己の周辺領域の地図を生成する機能を備えていたが、実施の形態4は、自動車などに搭載可能な障害物検出装置としても利用可能な、センサ情報を統合して利用することによって障害物の位置を検出する障害物位置検出装置である。本実施の形態にかかる障害物位置検出装置は、障害物の位置情報から地図データを生成する機能は有さずに、時系列的に得られる障害物の位置情報そのものが最終出力として利用される。
【0105】
図23は、実施の形態4にかかる障害物位置検出装置の構成を示すブロック図である。本実施の形態の障害物位置検出2300は、図23に示すように、本体部2310と本体部2310に接続された距離センサとしての5個の超音波センサ101と撮像部としての2個の撮像カメラ102とを主に備えている。かかる超音波センサ101及び撮像カメラ102の機能および構成は実施の形態1と同様である。
【0106】
本体部2310は、図23に示すように、距離算出部111と、障害物位置検出部112とを備えており、実施の形態1および2の移動ロボット、実施の形態3の地図作成装置と異なり、地図生成部や記憶部等の地図生成機構は有さない構成となっている。また、実施の形態1および2の移動ロボットと異なり、移動制御部や駆動部などの移動機構は有さない構成となっている。
【0107】
本体部2310の各部の構成および機能は実施の形態1の移動ロボットの各部と同様の機能および構成を有しており、障害物位置検出部112は、距離算出部111よって算出された距離の概算値と、撮像部102によって撮像された移動領域内の画像データとから障害物が存在する可能性がある前記画像データ上の領域である探索範囲(候補領域)を決定し、探索範囲内部と外部とで異なる閾値を用いて画像データから障害物の位置を検出し、検出された障害物の位置情報を出力する。
【0108】
実施の形態4にかかる障害物位置検出装置における障害物位置検出処理については実施の形態1および2の障害物位置検出処理と同様に行われる。従って、実施の形態4にかかる障害物位置検出装置2300によれば、実施の形態1および2と同様に、障害物などの物体の位置検出をより高精度に行うことができる。
【0109】
なお、以上の実施の形態では、物体として障害物の位置検出を行うことを例にあげて説明しているが、障害物以外の物体の位置検出にも本発明を適用することができる。
【0110】
なお、以上の実施の形態の移動ロボット100、地図作成装置2200、障害物位置検出装置2300で実行される地図生成プログラムおよび位置検出プログラムは、ROM等に予め組み込まれて提供される。なお、以上の実施の形態の実施の形態の移動ロボット100、地図作成装置2200、障害物位置検出装置2300で実行される地図生成プログラムおよび位置検出プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。さらに、以上の実施の形態の実施の形態の移動ロボット100、地図作成装置2200、障害物位置検出装置2300で実行される地図生成プログラムおよび位置検出プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、かかる地図生成プログラムおよび位置検出プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【0111】
以上の実施の形態の移動ロボット100、地図作成装置2200、障害物位置検出装置2300で実行される地図生成プログラムおよび位置検出プログラムは、上述した各部を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記ROMから地図生成プログラム、位置検出プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされる。
【図面の簡単な説明】
【0112】
【図1】実施の形態1にかかる移動ロボットの機能的構成を示すブロック図である。
【図2】超音波センサの超音波の到達範囲を示す模式図である。
【図3】実施の形態1の移動ロボット100に接続された5個の超音波センサ101から照射される超音波の到達範囲を示す模式図である。
【図4】実施の形態1にかかる移動ロボット100による地図生成処理の手順を示すフローチャートである。
【図5】障害物位置検出部112による障害物の位置検出処理の手順を示すフローチャートである。
【図6】0°、45°、90°の角度からの超音波センサによる超音波の到達範囲を示す模式図である。
【図7】90°で交わる壁600a,600bのコーナー601付近に移動ロボット100が到達したときの超音波センサ101から照射される超音波と撮像カメラ102から取得した画像データを示す説明図である。
【図8】90°で交わる壁600a,600bのコーナー601付近に移動ロボット100が到達したときの超音波センサ101から照射される超音波と撮像カメラ102から取得した画像データを示す説明図である。
【図9】90°で交わる壁600a,600bのコーナー601付近に移動ロボット100が到達したときの超音波センサ101から照射される超音波と撮像カメラ102から取得した画像データを示す説明図である。
【図10】90°で交わる壁600a,600bのコーナー601付近に移動ロボット100が到達したときの超音波センサ101から照射される超音波と撮像カメラ102から取得した画像データを示す説明図である。
【図11】超音波センサ101を45°の方向に照射するように設置した場合における超音波の到達範囲と撮像カメラ102から取得した画像データを示す説明図である。
【図12】壁1200aと壁1200bの色、明度に明らかな差が存在する場合の画像データの例を示す模式図である。
【図13】明度や色が近似している2つの壁1200a,1200bを撮像した画像データの例を示す説明図である。
【図14】移動ロボット100が壁600bに平行に移動した場合の例を示す模式図である。
【図15】移動ロボット100が壁600bに平行でない方向に移動した場合の例を示す模式図である。
【図16】壁600bに平行でない方向に移動している移動ロボット100が前方の壁600aに対して傾斜角度αである場合における超音波センサからの超音波の到達範囲と画像データの例を示す説明図である。
【図17】傾斜データの一例を示す説明図である。
【図18】位置データの例を示す説明図である。
【図19】撮像カメラ102とコーナー上の点P(X,Y,Z)の関係を示す模式図である。
【図20】視差を利用して探索範囲を決定した場合のエッジ検出の状態を示す模式図である。
【図21】視差を利用して探索範囲を決定した場合のエッジ検出の状態を示す模式図である。
【図22】実施の形態3にかかる地図作成装置の構成を示すブロック図である。
【図23】実施の形態4にかかる障害物位置検出装置の構成を示すブロック図である。
【符号の説明】
【0113】
100 移動ロボット
101 超音波センサ
102 撮像カメラ
110,1210,2310 本体部
111 距離算出部
112 障害物位置検出部
113 地図生成部
114 移動制御部
115 駆動部
116 記憶部
600a,600b,1200a,1200b 壁
2200 地図作成装置
2300 障害物位置検出装置
【特許請求の範囲】
【請求項1】
物体位置検出装置であって、
前記物体位置検出装置の周囲に設定された検知領域内における物体を検知する距離センサと、
前記検知領域内を撮像する撮像部と、
前記距離センサによって検知された物体までの距離の概算値を算出する距離算出部と、
前記距離の概算値に基づいて前記撮像部で撮像された画像データ中で物体が存在する候補領域を設定し、前記候補領域の内部と外部とで異なる閾値を用いて、前記画像データおよび前記距離の概算値に基づいて物体の位置を検出する位置検出部と、
を備えたことを特徴とする物体位置検出装置。
【請求項2】
前記位置検出部は、前記距離の概算値に基づいて前記候補領域を制御し、この前記候補領域内で前記閾値を用いて前記画像データの画像処理を行って前記物体の位置を検出することを特徴とする請求項1に記載の物体位置検出装置。
【請求項3】
前記位置検出部は、さらに、前記候補領域内の位置によって前記閾値を制御して前記画像データの画像処理を行って物体の位置を検出することを特徴とする請求項2に記載の物体位置検出装置。
【請求項4】
前記距離算出部は、前記距離センサで検知された障害物としての壁面までの距離の概算値を算出し、
前記位置検出部は、前記距離の概算値に基づいて前記画像データ中の前記候補領域を設定し、前記候補領域の内部と外部とで異なる閾値を用いて前記画像データから異なる壁面の境界であるコーナーの位置を検出する請求項1に記載の物体位置検出装置。
【請求項5】
前記距離センサは、自装置の前方における物体を検知する第1の距離センサと、自装置の側方における物体を検知する第2の距離センサであり、
前記距離算出部は、前記第1の距離センサで検知された壁面までの第1の距離の概算値を算出し、前記第2の距離センサで検知された壁面までの第2の距離の概算値を算出し、
前記位置検出部は、前記第1の距離の概算値と前記第2の距離の概算値の差が予め定められら範囲内にある場合に、前記第1の距離センサと前記第2の距離センサの間の斜め方向の所定の範囲を前記画像データ中の前記候補領域と設定し、この候補領域の内部と外部とで異なる閾値を用いて、前記コーナーの位置を検出することを特徴とする請求項4に記載の物体位置検出装置。
【請求項6】
前記記憶部は、前方における壁面までの第1の距離と側方における壁面までの第2の距離との比と、自装置の壁面に対する傾き角度との相関関係を予め定めた傾斜データと、前記傾き角度と前記画像データ上における前記コーナーの位置の相関関係を予め定めた位置データとを更に記憶し、
前記位置検出部は、さらに、前記第1の距離の概算値と前記第2の距離の概算値の比と前記傾斜データと、前記位置データとから前記画像データ中の前記候補領域を設定し、この候補領域の内部と外部とで異なる閾値を用いて、前記コーナーの位置を検出することを特徴とする請求項5に記載の物体位置検出装置。
【請求項7】
前記位置検出部は、前記画像データの前記候補領域内のエッジを検出することにより、前記コーナの位置を検出することを特徴とする請求項4に記載の物体位置検出装置。
【請求項8】
前記位置検出部は、前記候補領域内で複数のエッジが検出された場合に、前記エッジを境界とした前記画像データ上の領域の特性に基づいて、前記複数のエッジの中から前記コーナーの位置を検出することを特徴とする請求項7に記載の物体位置検出装置。
【請求項9】
前記位置検出部は、前記候補領域内で複数のエッジが検出された場合に、前記エッジを境界とした前記画像データ上の領域の明度の差によって前記複数のエッジの中から前記コーナーの位置を検出することを特徴とする請求項8に記載の物体位置検出装置。
【請求項10】
前記位置検出部は、前記候補領域内で複数のエッジが検出された場合に、前記エッジを境界とした前記画像データ上の領域の色の差によって前記複数のエッジの中から前記コーナーの位置を検出することを特徴とする請求項8に記載の物体位置検出装置。
【請求項11】
前記位置検出部は、さらに、前記複数のエッジの中から前記コーナーの位置を検出することができない場合には、前記画像データ中で前記候補領域を拡張して、拡張された前記候補領域の内部と外部とで異なる閾値を用いて前記コーナーを検出することを特徴とする請求項4に記載の物体位置検出装置。
【請求項12】
前記位置検出部は、前記画像データ中で前記候補領域をエッジの上下方向に拡張して、前記エッジの上下の形態から前記コーナーを検出することを特徴とする請求項11に記載の物体位置検出装置。
【請求項13】
前記撮像部は少なくとも2つ設けられており、
前記位置検出部は、さらに、2つの前記撮像部で撮像された2つの前記画像データから視差を算出し、この視差に基づいて前記画像データ中の前記候補領域を設定し、前記候補領域の内部と外部とで異なる閾値を用いて、前記画像データおよび前記距離の概算値に基づいて前記物体の位置を検出することを特徴とする請求項1に記載の物体位置検出装置。
【請求項14】
地図作成装置であって、
前記地図作成装置の周囲に設定された検知領域内における物体を検知する距離センサと、
前記検知領域内を撮像する撮像部と、
前記距離センサによって検知された物体までの距離の概算値を算出する距離算出部と、
前記距離の概算値に基づいて前記撮像部で撮像された画像データ中で物体が存在する候補領域を設定し、前記候補領域の内部と外部とで異なる閾値を用いて、前記画像データおよび前記距離の概算値に基づいて物体の位置を検出する位置検出部と、
前記位置検出部により時系列に検出された前記物体の位置の整合を取ることによって自己位置周辺の地図データを生成する地図生成部と、
を備えたことを特徴とする地図作成装置。
【請求項15】
自律移動装置であって、
前記自律移動装置の周囲に設定された検知領域内における物体を検知する距離センサと、
前記検知領域内を撮像する撮像部と、
前記距離センサによって検知された物体までの距離の概算値を算出する距離算出部と、
前記距離の概算値に基づいて前記撮像部で撮像された画像データ中で物体が存在する候補領域を設定し、前記候補領域の内部と外部とで異なる閾値を用いて、前記画像データおよび前記距離の概算値に基づいて物体の位置を検出する位置検出部と、
前記位置検出部により時系列に検出された前記物体の位置に基づいて、前記物体を回避して自装置の移動を制御する移動制御部と、
を備えたことを特徴とする自律移動装置。
【請求項16】
自律移動装置であって、
前記自律移動装置の周囲に設定された検知領域内における物体を検知する距離センサと、
前記検知領域内を撮像する撮像部と、
前記距離センサによって検知された物体までの距離の概算値を算出する距離算出部と、
前記距離の概算値に基づいて前記撮像部で撮像された画像データ中で物体が存在する候補領域を設定し、前記候補領域の内部と外部とで異なる閾値を用いて、前記画像データおよび前記距離の概算値に基づいて物体の位置を検出する位置検出部と、
前記位置検出部により時系列に検出された前記物体の位置の整合を取ることによって自己位置周辺の地図データを生成する地図生成部と、
前記地図生成部によって生成された前記地図データに基づいて前記物体を回避して自装置の移動を制御する移動制御部と、
を備えたことを特徴とする自律移動装置。
【請求項17】
自己位置の周囲に設定された検知領域内における物体を検知する距離センサによって検知された物体までの距離の概算値を算出する距離算出ステップと、
前記距離の概算値に基づいて、前記検知領域内を撮像する撮像部で撮像された画像データ中で物体が存在する候補領域を設定し、前記候補領域の内部と外部とで異なる閾値を用いて、前記画像データおよび前記距離の概算値に基づいて物体の位置を検出する位置検出ステップと、
を含むことを特徴とする物体位置検出方法。
【請求項18】
自己位置の周囲に設定された検知領域内における物体を検知する距離センサによって検知された物体までの距離の概算値を算出する距離算出手順と、
前記距離の概算値に基づいて、前記検知領域内を撮像する撮像部で撮像された画像データ中で物体が存在する候補領域を設定し、前記候補領域の内部と外部とで異なる閾値を用いて、前記画像データおよび前記距離の概算値に基づいて物体の位置を検出する位置検出手順と、
をコンピュータに実行させる物体位置検出プログラム。
【請求項1】
物体位置検出装置であって、
前記物体位置検出装置の周囲に設定された検知領域内における物体を検知する距離センサと、
前記検知領域内を撮像する撮像部と、
前記距離センサによって検知された物体までの距離の概算値を算出する距離算出部と、
前記距離の概算値に基づいて前記撮像部で撮像された画像データ中で物体が存在する候補領域を設定し、前記候補領域の内部と外部とで異なる閾値を用いて、前記画像データおよび前記距離の概算値に基づいて物体の位置を検出する位置検出部と、
を備えたことを特徴とする物体位置検出装置。
【請求項2】
前記位置検出部は、前記距離の概算値に基づいて前記候補領域を制御し、この前記候補領域内で前記閾値を用いて前記画像データの画像処理を行って前記物体の位置を検出することを特徴とする請求項1に記載の物体位置検出装置。
【請求項3】
前記位置検出部は、さらに、前記候補領域内の位置によって前記閾値を制御して前記画像データの画像処理を行って物体の位置を検出することを特徴とする請求項2に記載の物体位置検出装置。
【請求項4】
前記距離算出部は、前記距離センサで検知された障害物としての壁面までの距離の概算値を算出し、
前記位置検出部は、前記距離の概算値に基づいて前記画像データ中の前記候補領域を設定し、前記候補領域の内部と外部とで異なる閾値を用いて前記画像データから異なる壁面の境界であるコーナーの位置を検出する請求項1に記載の物体位置検出装置。
【請求項5】
前記距離センサは、自装置の前方における物体を検知する第1の距離センサと、自装置の側方における物体を検知する第2の距離センサであり、
前記距離算出部は、前記第1の距離センサで検知された壁面までの第1の距離の概算値を算出し、前記第2の距離センサで検知された壁面までの第2の距離の概算値を算出し、
前記位置検出部は、前記第1の距離の概算値と前記第2の距離の概算値の差が予め定められら範囲内にある場合に、前記第1の距離センサと前記第2の距離センサの間の斜め方向の所定の範囲を前記画像データ中の前記候補領域と設定し、この候補領域の内部と外部とで異なる閾値を用いて、前記コーナーの位置を検出することを特徴とする請求項4に記載の物体位置検出装置。
【請求項6】
前記記憶部は、前方における壁面までの第1の距離と側方における壁面までの第2の距離との比と、自装置の壁面に対する傾き角度との相関関係を予め定めた傾斜データと、前記傾き角度と前記画像データ上における前記コーナーの位置の相関関係を予め定めた位置データとを更に記憶し、
前記位置検出部は、さらに、前記第1の距離の概算値と前記第2の距離の概算値の比と前記傾斜データと、前記位置データとから前記画像データ中の前記候補領域を設定し、この候補領域の内部と外部とで異なる閾値を用いて、前記コーナーの位置を検出することを特徴とする請求項5に記載の物体位置検出装置。
【請求項7】
前記位置検出部は、前記画像データの前記候補領域内のエッジを検出することにより、前記コーナの位置を検出することを特徴とする請求項4に記載の物体位置検出装置。
【請求項8】
前記位置検出部は、前記候補領域内で複数のエッジが検出された場合に、前記エッジを境界とした前記画像データ上の領域の特性に基づいて、前記複数のエッジの中から前記コーナーの位置を検出することを特徴とする請求項7に記載の物体位置検出装置。
【請求項9】
前記位置検出部は、前記候補領域内で複数のエッジが検出された場合に、前記エッジを境界とした前記画像データ上の領域の明度の差によって前記複数のエッジの中から前記コーナーの位置を検出することを特徴とする請求項8に記載の物体位置検出装置。
【請求項10】
前記位置検出部は、前記候補領域内で複数のエッジが検出された場合に、前記エッジを境界とした前記画像データ上の領域の色の差によって前記複数のエッジの中から前記コーナーの位置を検出することを特徴とする請求項8に記載の物体位置検出装置。
【請求項11】
前記位置検出部は、さらに、前記複数のエッジの中から前記コーナーの位置を検出することができない場合には、前記画像データ中で前記候補領域を拡張して、拡張された前記候補領域の内部と外部とで異なる閾値を用いて前記コーナーを検出することを特徴とする請求項4に記載の物体位置検出装置。
【請求項12】
前記位置検出部は、前記画像データ中で前記候補領域をエッジの上下方向に拡張して、前記エッジの上下の形態から前記コーナーを検出することを特徴とする請求項11に記載の物体位置検出装置。
【請求項13】
前記撮像部は少なくとも2つ設けられており、
前記位置検出部は、さらに、2つの前記撮像部で撮像された2つの前記画像データから視差を算出し、この視差に基づいて前記画像データ中の前記候補領域を設定し、前記候補領域の内部と外部とで異なる閾値を用いて、前記画像データおよび前記距離の概算値に基づいて前記物体の位置を検出することを特徴とする請求項1に記載の物体位置検出装置。
【請求項14】
地図作成装置であって、
前記地図作成装置の周囲に設定された検知領域内における物体を検知する距離センサと、
前記検知領域内を撮像する撮像部と、
前記距離センサによって検知された物体までの距離の概算値を算出する距離算出部と、
前記距離の概算値に基づいて前記撮像部で撮像された画像データ中で物体が存在する候補領域を設定し、前記候補領域の内部と外部とで異なる閾値を用いて、前記画像データおよび前記距離の概算値に基づいて物体の位置を検出する位置検出部と、
前記位置検出部により時系列に検出された前記物体の位置の整合を取ることによって自己位置周辺の地図データを生成する地図生成部と、
を備えたことを特徴とする地図作成装置。
【請求項15】
自律移動装置であって、
前記自律移動装置の周囲に設定された検知領域内における物体を検知する距離センサと、
前記検知領域内を撮像する撮像部と、
前記距離センサによって検知された物体までの距離の概算値を算出する距離算出部と、
前記距離の概算値に基づいて前記撮像部で撮像された画像データ中で物体が存在する候補領域を設定し、前記候補領域の内部と外部とで異なる閾値を用いて、前記画像データおよび前記距離の概算値に基づいて物体の位置を検出する位置検出部と、
前記位置検出部により時系列に検出された前記物体の位置に基づいて、前記物体を回避して自装置の移動を制御する移動制御部と、
を備えたことを特徴とする自律移動装置。
【請求項16】
自律移動装置であって、
前記自律移動装置の周囲に設定された検知領域内における物体を検知する距離センサと、
前記検知領域内を撮像する撮像部と、
前記距離センサによって検知された物体までの距離の概算値を算出する距離算出部と、
前記距離の概算値に基づいて前記撮像部で撮像された画像データ中で物体が存在する候補領域を設定し、前記候補領域の内部と外部とで異なる閾値を用いて、前記画像データおよび前記距離の概算値に基づいて物体の位置を検出する位置検出部と、
前記位置検出部により時系列に検出された前記物体の位置の整合を取ることによって自己位置周辺の地図データを生成する地図生成部と、
前記地図生成部によって生成された前記地図データに基づいて前記物体を回避して自装置の移動を制御する移動制御部と、
を備えたことを特徴とする自律移動装置。
【請求項17】
自己位置の周囲に設定された検知領域内における物体を検知する距離センサによって検知された物体までの距離の概算値を算出する距離算出ステップと、
前記距離の概算値に基づいて、前記検知領域内を撮像する撮像部で撮像された画像データ中で物体が存在する候補領域を設定し、前記候補領域の内部と外部とで異なる閾値を用いて、前記画像データおよび前記距離の概算値に基づいて物体の位置を検出する位置検出ステップと、
を含むことを特徴とする物体位置検出方法。
【請求項18】
自己位置の周囲に設定された検知領域内における物体を検知する距離センサによって検知された物体までの距離の概算値を算出する距離算出手順と、
前記距離の概算値に基づいて、前記検知領域内を撮像する撮像部で撮像された画像データ中で物体が存在する候補領域を設定し、前記候補領域の内部と外部とで異なる閾値を用いて、前記画像データおよび前記距離の概算値に基づいて物体の位置を検出する位置検出手順と、
をコンピュータに実行させる物体位置検出プログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図18】
【図19】
【図20】
【図21】
【図22】
【図23】
【公開番号】特開2007−78476(P2007−78476A)
【公開日】平成19年3月29日(2007.3.29)
【国際特許分類】
【出願番号】特願2005−265680(P2005−265680)
【出願日】平成17年9月13日(2005.9.13)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
【公開日】平成19年3月29日(2007.3.29)
【国際特許分類】
【出願日】平成17年9月13日(2005.9.13)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】
[ Back to top ]