JP6175745B2 - 決定装置、決定方法、および決定プログラム - Google Patents

決定装置、決定方法、および決定プログラム Download PDF

Info

Publication number
JP6175745B2
JP6175745B2 JP2012163753A JP2012163753A JP6175745B2 JP 6175745 B2 JP6175745 B2 JP 6175745B2 JP 2012163753 A JP2012163753 A JP 2012163753A JP 2012163753 A JP2012163753 A JP 2012163753A JP 6175745 B2 JP6175745 B2 JP 6175745B2
Authority
JP
Japan
Prior art keywords
landmark
combination
time point
amount
robot
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.)
Expired - Fee Related
Application number
JP2012163753A
Other languages
English (en)
Other versions
JP2014025711A (ja
Inventor
学 中尾
学 中尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2012163753A priority Critical patent/JP6175745B2/ja
Publication of JP2014025711A publication Critical patent/JP2014025711A/ja
Application granted granted Critical
Publication of JP6175745B2 publication Critical patent/JP6175745B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Manipulator (AREA)
  • Image Processing (AREA)

Description

本発明は、決定装置、決定方法、および決定プログラムに関する。
ロボットの自律移動に関する技術の一つに、ロボットに自己位置の特定のために使用するランドマークになる物体の位置を特定させる技術がある。ロボットは、具体的には、例えば、視差を生じさせて被写体の3次元位置を特定するために使用されるステレオカメラを有する。
ロボットは、ステレオカメラの各カメラにより撮像した2つの画像の各々から、ランドマークのパターンを有する画像領域を検出する。ランドマークのパターンとは、ランドマークの写像に表れる所定の模様をいう。次に、ロボットは、検出した画像領域を同一のランドマークに関する画像領域として組み合わせて、組み合わせた画像領域の視差と、自装置の移動量や方向変化量などを示すオドメトリと、を用いて、ランドマークの位置を特定する。そして、ロボットは、特定したランドマークの位置と、ランドマークの実際の位置を示す地図データと、を参照して、自己位置を特定する。
特開2004−298977号公報 特開2010−33447号公報
しかしながら、ステレオカメラの各カメラにより撮像した2つの画像の少なくともいずれかに、パターンが同一である複数の画像領域が含まれている場合がある。この場合、上述した従来技術では、ロボットは、一方の画像内のどの画像領域と他方の画像内のどの画像領域とを同一のランドマークに関する画像領域として組み合わせるべきかを判断できない。
そのため、ロボットは、異なるランドマークに関する画像領域同士を誤って同一のランドマークに関する画像領域として組み合わせてしまい、ランドマークの位置を誤った位置に特定することがある。結果として、ロボットは、誤って特定されたランドマークの位置と、地図データが示す実際のランドマークの位置と、を対応付けて、自己位置を誤って特定してしまい、目的地に到達できなかったり、障害物に衝突したりしてしまう。
また、各々の画像領域のパターンが同一であるため、画像領域のパターンを参照しても、ロボットは、いずれの画像領域が、位置特定の対象になるランドマークに関する画像領域であるかを特定することができない。そのため、ロボットは、一方の画像内の画像領域と他方の画像内の画像領域とを全通り組み合わせても、各々の組み合わせに応じた複数のランドマークの位置の中から、正しい画像領域の組み合わせに応じた位置を特定することができない。また、複数のランドマークの位置同士を比較しても、ロボットは、どの位置が画像領域の正しい組み合わせに応じた位置であるか判断することができない。
そのため、ロボットは、地図データが示す実際のランドマークの位置を特定できない。結果として、ロボットは、自己位置を誤って特定してしまい、目的地に到達できなかったり、障害物に衝突したりしてしまう。
本発明は、ランドマークの位置特定の精度向上を図ることを目的とする。
本発明の一側面によれば、第1の撮像部に撮像された第1の被写体の画像と、第1の撮像部と撮像領域が重複する第2の撮像部に撮像された第2の被写体の画像と、の組み合わせを、同一被写体の画像の組み合わせとした場合における同一被写体の第1の時点での位置および第2の時点での位置を取得し、第1の時点から第2の時点までの自装置の位置の変化量を検出し、取得された同一被写体の位置の第1の時点から第2の時点までの変化量を算出し、算出された変化量と、検出された変化量と、の差分が許容範囲内であるか否かを判断し、許容範囲内であると判断された場合に、第1および第2の被写体の画像の組み合わせを、同一被写体の画像の組み合わせに決定する決定装置、決定方法、および決定プログラムが提案される。
本発明の一側面によれば、ランドマークの位置特定の精度向上を図ることができるという効果を奏する。
図1は、ロボットによる同一のランドマークに関する画像領域の組み合わせの決定の流れを示す説明図である。 図2は、コンピュータのハードウェア構成例を示すブロック図である。 図3は、ランドマーク候補リストの記憶内容を示す説明図である。 図4は、ロボット100の機能的構成例を示すブロック図である。 図5は、実施例1にかかるロボット100による位置特定の具体例を示す説明図(その1)である。 図6は、実施例1にかかるロボット100による位置特定の具体例を示す説明図(その2)である。 図7は、実施例1にかかるロボット100による位置特定の具体例を示す説明図(その3)である。 図8は、実施例1にかかるロボット100による位置特定の具体例を示す説明図(その4)である。 図9は、ロボット100による位置特定処理の詳細な処理手順を示すフローチャートである。 図10は、尤度テーブルの記憶内容を示す説明図である。
以下に添付図面を参照して、この発明にかかる決定装置、決定方法、および決定プログラムの実施の形態を詳細に説明する。以降では、決定装置として、自律移動型のロボットを例に挙げるが、これに限らない。例えば、決定装置としては、携帯端末、スマートフォン、PDA(Personal Digital Assistants)、ノードPC(Personal Computer)などを採用してもよい。
(ロボットによる同一のランドマークに関する画像領域の組み合わせの決定の流れ)
まず、図1を用いて、ロボットによる同一のランドマークに関する画像領域の組み合わせの決定の流れについて説明する。
図1は、ロボットによる同一のランドマークに関する画像領域の組み合わせの決定の流れを示す説明図である。図1において、ロボット100は、自律移動型のコンピュータであって、両眼視差によって被写体の3次元位置を特定するために使用されるステレオカメラを有する。
ステレオカメラには、左右に並べられた2台のカメラが含まれる。以降では、2台のカメラのうち、ロボット100の進行方向の左側に配置されたカメラを、「左目カメラL」と称す。また、ロボット100の進行方向の右側に配置されたカメラを、「右目カメラR」と称す。
次に、ロボット100は、右目カメラRに撮像された画像内に存在するランドマークのパターンを有する領域を検出し、左目カメラLに撮像された画像内に存在するランドマークのパターンを有する領域を検出する。ランドマークのパターンとは、ランドマークの写像に表れる所定の模様をいう。以降では、右目カメラRにより撮像された画像を「右目画像RV」と称し、時点「t」に撮像された右目画像RVであれば「右目画像RV(t)」と称す。また、左目カメラLにより撮像される画像を「左目画像LV」と称し、時点「t」に撮像された左目画像LVであれば「左目画像LV(t)」と称す。
また、ランドマークのパターンを有する領域を、「ランドマーク候補領域」と称す。右目画像RV(t)内にあるランドマーク候補領域であれば「ランドマーク候補領域Rx(t)」と称す。左目画像LV(t)内にあるランドマーク候補領域であれば「ランドマーク候補領域Lx(t)」と称す。ここで、xは正の整数である。
そして、ロボット100は、右目画像RV(t)内のランドマーク候補領域Rx(t)と左目画像LV(t)内のランドマーク候補領域Lx(t)との組み合わせの各々が、同一のランドマークに関するランドマーク候補領域の組み合わせか否かを決定する。これにより、ロボット100は、決定以降は、ランドマークの位置の特定に際し、同一のランドマークに関するランドマーク候補領域の組み合わせを用いるとともに、異なるランドマークに関するランドマーク候補領域の組み合わせを用いない。従って、ロボット100は、ランドマークの位置を誤って特定することを抑制し、ランドマークの位置の特定精度を向上させることができる。
図1の例では、(1)ロボット100は、或る時点「t1」において、右目カメラRにより右目画像RV(t1)を撮像する。右目カメラRの撮像領域にランドマークM1、M2が含まれるため、右目画像RV(t1)にはランドマーク候補領域が含まれる。そして、ロボット100は、右目画像RV(t1)内から、ランドマーク候補領域R1(t1)とランドマーク候補領域R2(t1)とを検出する。
また、ロボット100は、或る時点「t1」において、左目カメラLにより左目画像LV(t1)を撮像する。左目カメラLの撮像領域にランドマークM1、M2が含まれるため、左目画像LV(t1)にはランドマーク候補領域が含まれる。そして、ロボット100は、左目画像LV(t1)内から、ランドマーク候補領域L1(t1)とランドマーク候補領域L2(t1)とを検出する。
ここで、ランドマークM1、M2は、同一の特徴を有するランドマークであるとする。そのため、ロボット100は、ランドマーク候補領域R1(t1)とランドマーク候補領域R2(t1)とが、どちらのランドマークの写像であるか判断することができない。ロボット100は、同様に、ランドマーク候補領域L1(t1)とランドマーク候補領域L2(t1)とが、どちらのランドマークの写像であるか判断することができない。
次に、ロボット100は、右目画像RV(t1)内のランドマーク候補領域R1(t1)、R2(t1)の各々と、左目画像LV(t1)内のランドマーク候補領域L1(t1)、L2(t1)の各々と、を組み合わせる。
そして、ロボット100は、各々の組み合わせを同一のランドマークのランドマーク候補領域の組み合わせとした場合における当該ランドマークの時点「t1」での位置を特定する。ここで、ランドマークの位置は、例えば、自装置の位置を原点とする相対座標系における座標値であるとする。
(2)次に、ロボット100は、時点「t1」から一定時間経過後の時点「t2」において、時点「t1」から時点「t2」までの間における自装置の移動距離を検出する。図1の例では、ロボット100は、時点「t1」から時点「t2」までの間における自装置の移動距離として、正面方向への移動距離「2m」を検出する。
また、ロボット100は、時点「t2」において、右目カメラRにより右目画像RV(t2)を撮像する。そして、ロボット100は、右目画像RV(t2)内から、ランドマーク候補領域R1(t1)に対応するランドマーク候補領域R1(t2)と、ランドマーク候補領域R2(t1)に対応するランドマーク候補領域R2(t2)と、を検出する。
ここで、時点「t1」でのランドマーク候補領域と、時点「t2」でのランドマーク候補領域と、が対応するとは、各々のランドマーク候補領域が同一のランドマークの写像であることをいう。ロボット100は、具体的には、例えば、右目画像RV(t1)と、右目画像RV(t2)と、の相関演算を実行し、ランドマーク候補領域R1(t1)に対応するランドマーク候補領域R1(t2)を検出する。
また、ロボット100は、同様に、時点「t2」において、左目カメラLにより左目画像LV(t2)を撮像する。そして、ロボット100は、左目画像LV(t2)内から、ランドマーク候補領域L1(t1)に対応するランドマーク候補領域L1(t2)と、ランドマーク候補領域L2(t1)に対応するランドマーク候補領域L2(t2)と、を検出する。
ここで、ロボット100は、時点「t1」におけるランドマーク候補領域の組み合わせに対応するように、時点「t2」におけるランドマーク候補領域を組み合わせる。次に、ロボット100は、各々の組み合わせを同一のランドマークのランドマーク候補領域の組み合わせとした場合における当該ランドマークの時点「t2」での位置を特定する。
(3)次に、ロボット100は、各々のランドマーク候補領域の組み合わせが、同一のランドマークに関するランドマーク候補領域の組み合わせか否かを決定する。図1の例では、まず、ロボット100は、ランドマーク候補領域R1(t1)とランドマーク候補領域L2(t1)との組み合わせが、同一のランドマークに関するランドマーク候補領域の組み合わせか否かを決定する。
ロボット100は、具体的には、例えば、ランドマーク候補領域R1(t1)とランドマーク候補領域L2(t1)とを組み合わせた場合のランドマークの位置について、時点「t1」から時点「t2」までの間の変化量を算出する。当該変化量は、より具体的には、例えば、ランドマーク候補領域R1(t1)、L2(t1)を組み合わせた場合の位置から、当該組み合わせに対応するランドマーク候補領域R1(t2)、L2(t2)を組み合わせた場合の位置までの変化量である。図1の例では、ロボット100は、時点「t1」から時点「t2」までの間におけるランドマークの位置の変化量「1.5m」を算出する。
(4)そして、ロボット100は、(2)において測定した自装置の移動距離「2m」と、(3)において算出したランドマークの位置の変化量「1.5m」と、が一致するか否かを判断する。ここで、一致しないため、ロボット100は、ランドマーク候補領域R1(t1)とランドマーク候補領域L2(t1)との組み合わせが、同一のランドマークに関するランドマーク候補領域の組み合わせではないと決定する。
(5)また、ロボット100は、ランドマーク候補領域R1(t1)とランドマーク候補領域L1(t1)との組み合わせが、同一のランドマークに関するランドマーク候補領域の組み合わせか否かを決定する。
ロボット100は、具体的には、例えば、ランドマーク候補領域R1(t1)とランドマーク候補領域L1(t1)とを組み合わせた場合のランドマークの位置について、時点「t1」から時点「t2」までの間の変化量を算出する。図1の例では、ロボット100は、時点「t1」から時点「t2」までの間におけるランドマークの位置の変化量「2m」を算出する。
(6)そして、ロボット100は、(2)において測定した自装置の移動距離「2m」と、(5)において算出したランドマークの位置の変化量「2m」と、が一致するか否かを判断する。ここで、一致するため、ロボット100は、ランドマーク候補領域R1(t1)とランドマーク候補領域L1(t1)とが、同一のランドマークに関するランドマーク候補領域の組み合わせであると決定する。
また、ロボット100は、同様にして、ランドマーク候補領域R2(t1)と、ランドマーク候補領域L1(t1)、L2(t1)との各々と、の組み合わせが、同一のランドマークに関するランドマーク候補領域の組み合わせか否かを決定する。
このように、ロボット100は、右目画像RV内のランドマーク候補領域と左目画像LV内のランドマーク候補領域との組み合わせの各々が、同一のランドマークに関するランドマーク候補領域の組み合わせか否かを決定する。
これにより、ロボット100は、決定以降は、ランドマークの位置の特定に際し、同一のランドマークに関するランドマーク候補領域の組み合わせを用いるとともに、異なるランドマークに関するランドマーク候補領域の組み合わせを用いない。従って、ロボット100は、ランドマークの位置を誤って特定することを抑制し、ランドマークの位置の特定精度を向上させることができる。
より具体的には、例えば、ステレオカメラの撮像領域内に同一の特徴を有する複数のランドマークが存在し、ランドマーク候補領域R1(t1)、R2(t1)が検出され、ランドマーク候補領域L1(t1)、L2(t1)が検出される場合がある。この場合、従来技術にかかるロボットでは、ランドマーク候補領域R1(t1)と、ランドマーク候補領域L1(t1)、L2(t1)のいずれかと、を同一のランドマークに関するランドマーク候補領域として組み合わせるべきか判断することができない。
一方、この場合であっても、ロボット100は、ランドマーク候補領域R1(t1)と、ランドマーク候補領域L1(t1)と、の組み合わせが同一のランドマークに関するランドマーク候補領域の組み合わせと判断することができる。そのため、ロボット100は、当該組み合わせをランドマークの位置の特定に用いて、ランドマークの位置の特定精度を向上させることができる。
さらに、ロボット100は、ランドマーク候補領域R1(t1)と、ランドマーク候補領域L2(t1)と、の組み合わせが、異なるランドマークに関するランドマーク候補領域の組み合わせであると判断することができる。そのため、ロボット100は、当該組み合わせをランドマークの位置の特定に用いないようにして、ランドマークの位置の特定精度を向上させることができる。
また、例えば、ステレオカメラの撮像領域内に障害物(例えば、人間や動物など)があって、ランドマークを写すことが妨害され、ランドマーク候補領域R1(t1)およびランドマーク候補領域L2(t1)を検出できない場合がある。この場合、従来技術にかかるロボットでは、検出可能なランドマーク候補領域R2(t1)とランドマーク候補領域L1(t1)とを組み合わせて、ランドマークの位置を特定することになるため、ランドマークの位置を誤って特定してしまう。
一方、この場合であっても、ロボット100は、検出可能なランドマーク候補領域R2(t1)とランドマーク候補領域L1(t1)との組み合わせが、異なるランドマークに関するランドマーク候補領域の組み合わせであると判断することができる。そのため、ロボット100は、当該組み合わせをランドマークの位置の特定に用いないようにして、ランドマークの位置の特定精度を向上させることができる。
また、例えば、ステレオカメラの撮像領域内に、ランドマークに類似する特徴を有するがランドマークではない物体があって、検出すべきでないランドマーク候補領域R3(t1)が検出される場合がある。この場合、従来技術にかかるロボットでは、検出すべきでないランドマーク候補領域R3(t1)とランドマーク候補領域L1(t1)とを同一のランドマークに関する候補領域として組み合わせてしまい、ランドマークの位置を誤って特定してしまうことがある。
一方、この場合であっても、ロボット100は、検出すべきでないランドマーク候補領域R3(t1)とランドマーク候補領域L1(t1)との組み合わせが、異なるランドマークに関するランドマーク候補領域の組み合わせであると判断することができる。そのため、ロボット100は、当該組み合わせをランドマークの位置の特定に用いないようにして、ランドマークの位置の特定精度を向上させることができる。
結果として、ロボット100は、予め保持しておいた地図データが示す実際のランドマークの位置と、正しく特定されたランドマークの位置と、を対応付けることができ、自己位置の特定精度を向上させることができる。そして、ロボット100は、特定された自己位置を参照して、目的地に到着したり、障害物を回避したりすることができる。
また、このように、ロボット100は、同一のパターンを有するランドマーク候補領域の組み合わせが複数あっても、各々の組み合わせが同一のランドマークに関するランドマーク候補領域の組み合わせか否かを判断することができる。従って、ロボット100の利用者は、固有の特徴を有する物体のみではなく、互いに同一の特徴を有する複数の物体であっても、ランドマークとして採用することができる。
ここでは、ランドマークの位置を、自装置の位置を原点とする相対座標系における座標値により表したが、これに限らない。例えば、ランドマークの位置は、自装置の位置からランドマークまでのベクトルにより表されてもよいし、当該ベクトルの大きさにより表されてもよい。また、ランドマークの位置は、自装置の位置を原点とする相対座標系における座標値のうち、進行方向の成分のみにより表してもよい。
(コンピュータのハードウェア構成例)
次に、図2を用いて、図1に示したロボット100として使用されるコンピュータのハードウェア構成例について説明する。
図2は、コンピュータのハードウェア構成例を示すブロック図である。図2において、コンピュータ200は、プロセッサ201、記憶装置202、入力装置203、出力装置204、センサ205、および駆動装置206が、バス210に接続されて構成されている。
プロセッサ201は、コンピュータ200の全体の制御を司る。また、プロセッサ201は、記憶装置202に記憶されている各種プログラム(OS(Operating System)や本実施の形態の決定プログラム)を実行することで、記憶装置202内のデータを読み出したり、実行結果となるデータを記憶装置202に書き込んだりする。
記憶装置202は、ROM(Read Only Memory)、RAM(Random Access Memory)、フラッシュメモリ、磁気ディスクドライブなどで構成され、プロセッサ201のワークエリアになったり、各種プログラム(OSや本実施の形態の決定プログラム)や各種データ(各プログラムの実行により得られたデータを含む)を記憶したりする。
入力装置203は、スイッチ、入力キー、タッチパネル、マイクなどユーザの操作により、各種データの入力を行うインターフェースである。また、入力装置203は、I/Oポート、アンテナなど外部装置との通信により、各種データの入力を行うインターフェースであってもよい。出力装置204は、プロセッサ201の指示により、データを出力するインターフェースである。出力装置204には、ディスプレイ、スピーカが挙げられる。また、出力装置204は、I/Oポート、アンテナなど外部装置との通信により、各種データの出力を行うインターフェースであってもよい。
センサ205は、各種センサを含む。各種センサとしては、例えば、光学的な映像を電気信号に変換し、記憶装置202に保持するセンサがある。かかるセンサには、例えば、CCD(Charge Coupled Device)、CMOS(Complementary Metal―Oxide Semiconductor)センサなどの光学的な映像を電気信号に変換する光電変換素子を有するステレオカメラを採用できる。
また、各種センサとしては、例えば、コンピュータ200の姿勢情報を検出して、記憶装置202に保持するセンサがある。かかるセンサには、例えば、ジャイロセンサを採用できる。また、各種センサとしては、例えば、コンピュータ200の移動距離を検出して、記憶装置202に保持するセンサがある。かかるセンサには、駆動装置206の駆動状況を検出するエンコーダを採用できる。また、かかるセンサには、例えば、加速度センサを採用できる。
駆動装置206は、プロセッサ201の制御によりコンピュータ200を駆動させる。駆動装置206としては、例えば、モータ、エンジン等を用いることができる。駆動装置206は、例えば、モータにより車輪を回転させることによりコンピュータ200を移動させる。
コンピュータ200が、携帯端末、スマートフォン、PDA、ノードPCなど可搬な機器に使用される場合、コンピュータ200の移動距離を検出して記憶装置202に保持するセンサとして、歩数カウンタを採用してもよい。また、コンピュータ200が、携帯端末、スマートフォン、PDA、ノードPCなど可搬な機器に使用される場合、駆動装置206はなくてもよい。
(ランドマーク候補リストの記憶内容)
次に、図3を用いて、ランドマーク候補リストの記憶内容について説明する。ランドマーク候補リストは、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域と、を同一のランドマークに関する領域として組み合わせた場合の当該ランドマークの位置情報を記憶するテーブルである。ランドマーク候補リストは、例えば、図2に示した記憶装置202により実現される。
図3は、ランドマーク候補リストの記憶内容を示す説明図である。図3に示すように、ランドマーク候補リスト300は、ランドマーク項目と、候補領域項目と、登録時点の3次元位置情報項目と、現時点の3次元位置情報項目と、を有し、ランドマーク候補領域の組み合わせごとにレコードを構成する。
ランドマーク項目には、右目画像RV内のランドマーク候補領域の識別子が記憶される。具体的には、例えば、ランドマーク候補領域R1(t1)の識別子として、「R1」を使用する。識別子「R1」は、ランドマーク候補領域R1(t1)に対応するランドマーク候補領域R1(t2)の識別子としても使用する。
候補領域項目には、ランドマーク項目が示す右目画像RV内のランドマーク候補領域と組み合わせられる左目画像LV内のランドマーク候補領域の識別子が記憶される。具体的には、例えば、ランドマーク候補領域L1(t1)の識別子として、「L1」を使用する。識別子「L1」は、ランドマーク候補領域L1(t1)に対応するランドマーク候補領域L1(t2)の識別子としても使用する。
登録時点の3次元位置情報項目には、ランドマーク項目と候補領域項目とが示すランドマーク候補領域の組み合わせを、同一のランドマークに関するランドマーク候補領域の組み合わせとした場合の登録時点「t1」でのランドマークの位置情報が記憶される。
位置情報とは、例えば、自装置の位置を原点とした場合の3次元相対座標系における座標値である。座標系のx軸は、例えば、ロボット100の側面方向である。座標系のy軸は、例えば、x軸に垂直なロボット100の正面方向である。座標系のz軸は、例えば、x軸とy軸とに垂直なロボット100の倒立方向である。また、位置情報とは、ロボット100からランドマークまでのベクトルであってもよいし、当該ベクトルの大きさであってもよい。
現時点の3次元位置情報項目には、ランドマーク項目と候補領域項目とが示すランドマーク候補領域の組み合わせを、同一のランドマークに関するランドマーク候補領域の組み合わせとした場合の現時点「t2」でのランドマークの位置情報が記憶される。現時点「t2」は、登録時点「t1」以降の時点である。
ここでは、ランドマーク項目には、右目画像RV内のランドマーク候補領域の識別子を記憶したが、これに限らない。例えば、ランドマーク項目には、左目画像LV内のランドマーク候補領域の識別子を記憶してもよい。この場合、候補領域項目には、ランドマーク項目が示す左目画像LV内のランドマーク候補領域と組み合わせられる右目画像RV内のランドマーク候補領域の識別子が記憶される。
(ロボット100の機能的構成例)
次に、ロボット100の機能的構成例について説明する。図4は、ロボット100の機能的構成例を示すブロック図である。ロボット100は、第1の撮像部401と、第2の撮像部402と、特定部403と、取得部404と、検出部405と、算出部406と、判断部407と、決定部408と、を含む構成である。
ここで、ロボット100は、第1の撮像部401と、第2の撮像部402と、特定部403と、取得部404と、検出部405と、算出部406と、判断部407と、決定部408とにより、同一のランドマークに関するランドマーク候補領域の組み合わせを決定する。ロボット100は、具体的には、例えば、ランドマークの位置の第1の時点から第2の時点までの変化量を用いて、同一のランドマークに関するランドマーク候補領域の組み合わせを決定する。第1の時点とは、例えば、上述した時点「t1」である。第2の時点とは、例えば、上述した時点「t2」である。
また、ロボット100は、ランドマークの第1の時点から第2の時点までの移動量を用いて、同一のランドマークに関するランドマーク候補領域の組み合わせを決定してもよい。また、ロボット100は、ランドマークの第1の時点から第2の時点までの移動量と、ランドマークの位置の誤差範囲を用いて、同一のランドマークに関するランドマーク候補領域の組み合わせを決定してもよい。
<機能例1>
まず、ランドマークの位置の第1の時点から第2の時点までの変化量を用いて、複数のランドマーク候補領域の組み合わせの中から、同一のランドマークに関するランドマーク候補領域の組み合わせを決定する場合の機能例1について説明する。
第1の撮像部401は、ステレオカメラの一方のカメラにより画像を撮像する。ステレオカメラとは、撮像領域が重複する2台のカメラである。一方のカメラとは、例えば、上述した右目カメラRである。第1の撮像部401は、具体的には、例えば、右目カメラRにより右目画像RVを撮像する。
これにより、特定部403は、第1の撮像部401によって撮像された右目画像RVを参照して、ランドマークの位置を特定することができる。撮像された画像は、例えば、図2に示した記憶装置202に記憶される。第1の撮像部401は、具体的には、例えば、図2に示した記憶装置202に記憶されたプログラムをプロセッサ201に実行させることにより、またはセンサ205により、その機能を実現する。
第2の撮像部402は、ステレオカメラの他方のカメラにより画像を撮像する。他方のカメラとは、例えば、一方のカメラを右目カメラRとした場合、上述した左目カメラLである。第2の撮像部402は、具体的には、例えば、左目カメラLにより左目画像LVを撮像する。
これにより、特定部403は、第2の撮像部402によって撮像された左目画像LVを参照して、ランドマークの位置を特定することができる。撮像された画像は、例えば、図2に示した記憶装置202に記憶される。第2の撮像部402は、具体的には、例えば、図2に示した記憶装置202に記憶されたプログラムをプロセッサ201に実行させることにより、またはセンサ205により、その機能を実現する。
特定部403は、右目画像RV内のランドマーク候補領域を検出する。また、特定部403は、左目画像LV内のランドマーク候補領域を検出する。次に、特定部403は、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域と、を同一のランドマークのランドマーク候補領域として組み合わせて、当該ランドマークの位置を特定する。
特定部403は、具体的には、例えば、時点「t1」における右目画像RV(t1)から、SIFT(Scale−Invariant Feature Transform)やSURF(Speeded Up Robust Features)などの特徴点を検出するアルゴリズムを用いて、ランドマーク候補領域R1(t1)、R2(t1)を検出する。また、特定部403は、時点「t1」における左目画像LV(t1)から、ランドマーク候補領域L1(t1)、L2(t1)を検出する。
次に、特定部403は、SIFTやSURFを用いて、ランドマーク候補領域R1(t1)、R2(t1)、L1(t1)、L2(t1)の特徴量を算出する。そして、特定部403は、時点「t1」でのランドマーク候補領域L1(t1)、L2(t1)の各々と、時点「t1」でのランドマーク候補領域R1(t1)、R2(t1)の各々と、を組み合わせる。次に、特定部403は、各々の組み合わせについて、特徴量の類似度を算出し、類似度が閾値以上になるランドマーク候補領域の組み合わせを特定する。
次に、特定部403は、各々の組み合わせを同一のランドマークに関するランドマーク候補領域の組み合わせとした場合の当該組み合わせに対応する視差を特定する。そして、特定部403は、ステレオカメラの基線長と、焦点距離と、特定した視差と、を用いて、三角測量により、当該ランドマークの時点「t1」での位置「p(t1)=(x(t1)、y(t1)、z(t1))」を特定する。また、特定部403は、時点「t2」においても、各々の組み合わせを、同一のランドマークに関するランドマーク候補領域の組み合わせとした場合の当該ランドマークの時点「t2」での位置「p(t2)=(x(t2)、y(t2)、z(t2))」を特定する。
特定部403は、より具体的には、例えば、ランドマーク候補領域R1(t1)、L1(t1)の組み合わせに応じたランドマークの位置「pR1 L1(t1)=(xR1 L1(t1)、yR1 L1(t1)、zR1 L1(t1))」を特定する。また、特定部403は、ランドマーク候補領域R1(t1)、L1(t1)の組み合わせに対応するランドマーク候補領域R1(t2)、L1(t2)の組み合わせに応じたランドマークの位置「pR1 L1(t2)=(xR1 L1(t2)、yR1 L1(t2)、zR1 L1(t2))」を特定する。
特定部403は、例えば、組み合わせたランドマーク候補領域の識別子と、時点「t1」での位置「p(t1)」と、時点「t2」での位置「p(t2)」と、を対応付けたレコードを生成して、ランドマーク候補リスト300に記憶する。
例えば、ランドマークの識別子としては、各々対応するランドマーク候補領域R1(t1)とランドマーク候補領域R1(t2)とに共通の識別子として「R1」を使用する。同様に、各々対応するランドマーク候補領域L1(t1)とランドマーク候補領域L1(t2)とに共通の識別子として「L1」を使用する。時点「t1」での位置「p(t1)」は、例えば、ランドマーク候補リスト300の登録時点の3次元位置情報項目に記憶される。また、時点「t2」での位置「p(t2)」は、例えば、ランドマーク候補リスト300の現時点の3次元位置情報項目に記憶される。
これにより、取得部404は、特定部403によって特定されたランドマークの位置を取得することができる。特定部403は、例えば、図2に示した記憶装置202に記憶されたプログラムをプロセッサ201に実行させることにより、その機能を実現する。
取得部404は、第1の被写体の画像に第2の撮像部402に撮像された被写体群の各々の画像を組み合わせた複数の組み合わせの各々の組み合わせを、同一被写体の画像の組み合わせとした場合における同一被写体の第1の時点での位置を取得する。また、取得部404は、各々の組み合わせを、同一被写体の画像の組み合わせとした場合における同一被写体の第2の時点での位置を取得する。
ここで、被写体とは、画像内にランドマークのパターンを有する画像領域として投射される物体であり、例えば、上述したランドマークである。被写体の画像とは、ランドマークのパターンを有する画像領域であり、例えば、上述したランドマーク候補領域である。
取得部404は、具体的には、例えば、ランドマーク候補リスト300において、ランドマーク候補領域R1(t1)の識別子「R1」と、ランドマーク候補領域L1(t1)の識別子「L1」と、の組み合わせが対応付けられたレコードを取得する。次に、取得部404は、取得したレコードの登録時点の3次元位置情報項目から時点「t1」での位置「p(t1)」を取得し、現時点の3次元位置情報項目から時点「t2」での位置「p(t2)」を取得する。
これにより、決定部408は、取得部404によって取得されたランドマークの位置情報を参照することができる。取得されたデータは、例えば、図2に示した記憶装置202に記憶される。取得部404は、具体的には、例えば、図2に示した記憶装置202に記憶されたプログラムをプロセッサ201に実行させることにより、その機能を実現する。
検出部405は、第1の時点から第2の時点までの自装置の位置の変化量を検出する。検出部405は、具体的には、例えば、自装置のオドメトリとして、駆動装置のシャフトの回転を光エンコーダにより測定することにより、自装置の位置の変化量dx0、dy0を検出する。
これにより、決定部408は、検出部405によって検出されたオドメトリを参照することができる。検出されたデータは、例えば、図2に示した記憶装置202に記憶される。検出部405は、具体的には、例えば、図2に示した記憶装置202に記憶されたプログラムをプロセッサ201に実行させることにより、またはセンサ205により、その機能を実現する。
算出部406は、各々の組み合わせについて、同一被写体の位置の第1の時点から第2の時点までの変化量を算出する。算出部406は、具体的には、例えば、位置の変化量dpを、下記式(1)により算出する。算出部406は、より具体的には、例えば、ランドマーク候補領域R1(t1)、L1(t1)の組み合わせに応じたランドマークの位置「pR1 L1(t1)=(xR1 L1(t1)、yR1 L1(t1)、zR1 L1(t1))」を、下記式(1)に代入する。
また、算出部406は、ランドマーク候補領域R1(t1)、L1(t1)の組み合わせに対応するランドマーク候補領域R1(t2)、L1(t2)の組み合わせに応じたランドマークの位置「pR1 L1(t2)=(xR1 L1(t2)、yR1 L1(t2)、zR1 L1(t2))」を下記式(1)に代入する。そして、算出部406は、位置の変化量dpを算出する。
dp=(xR1 L1(t2)−xR1 L1(t1)、yR1 L1(t2)−yR1 L1(t1)、
R1 L1(t2)−zR1 L1(t1))・・・(1)
算出された変化量dpは、例えば、図2に示した記憶装置202に記憶される。算出部406は、具体的には、例えば、図2に示した記憶装置202に記憶されたプログラムをプロセッサ201に実行させることにより、その機能を実現する。
判断部407は、各々の組み合わせについて、算出部406によって算出された変化量と、検出部405によって検出された変化量と、の差分が許容範囲内であるか否かを判断する。判断部407は、具体的には、例えば、x座標軸に関する差分「dx0+xR1 L1(t2)−xR1 L1(t1)」が許容範囲内であるか否かを判断する。
また、判断部407は、y座標軸に関する差分「dy0+yR1 L1(t2)−yR1 L1(t1)」が許容範囲内であるか否かを判断する。また、判断部407は、z座標軸に関する差分「zR1 L1(t2)−zR1 L1(t1)」が許容範囲内であるか否かを判断する。許容範囲とは、例えば、差分が「0」であることをいう。
これにより、決定部408は、判断結果を参照して、同一のランドマークの画像の組み合わせを決定することができる。判断結果は、例えば、図2に示した記憶装置202に記憶される。判断部407は、具体的には、例えば、図2に示した記憶装置202に記憶されたプログラムをプロセッサ201に実行させることにより、その機能を実現する。
決定部408は、複数の組み合わせの中で、判断部407によって差分が許容範囲内であると判断され、かつ、差分が最小になる組み合わせを、同一被写体の画像の組み合わせに決定する。決定部408は、具体的には、例えば、判断部407によってx軸、y軸、およびz軸に関する差分が許容範囲内であると判断され、かつ、x軸、y軸、およびz軸に関する差分の和が最小になるランドマーク候補領域の組み合わせを特定する。次に、決定部408は、特定した組み合わせを、同一のランドマークのランドマーク候補領域に決定する。
これにより、ロボット100は、同一のランドマークに関するランドマーク候補領域の組み合わせを用いて、自装置の位置を特定することができる。決定されたデータは、例えば、図2に示した記憶装置202に記憶される。決定部408は、具体的には、例えば、図2に示した記憶装置202に記憶されたプログラムをプロセッサ201に実行させることにより、その機能を実現する。
ここでは、ロボット100は、複数の組み合わせの中から、同一のランドマークに関するランドマーク候補領域の組み合わせを一つ決定したが、これに限らない。ロボット100は、例えば、ランドマーク候補領域の組み合わせの一つ一つに対して、同一のランドマークに関するランドマーク候補領域の組み合わせか否かを判断してもよい。
以降では、ロボット100が、ランドマーク候補領域R1とランドマーク候補領域L1との組み合わせに対して、同一のランドマークに関するランドマーク候補領域の組み合わせか否かを判断する場合を例に挙げる。
この場合、取得部404は、第1の撮像部401に撮像された第1の被写体の画像と、第2の撮像部402に撮像された第2の被写体の画像と、の組み合わせを、同一被写体の画像の組み合わせとした場合における同一被写体の第1の時点での位置を取得する。また、取得部404は、当該組み合わせを、同一被写体の画像の組み合わせとした場合における同一被写体の第2の時点での位置を取得する。
取得部404は、具体的には、例えば、ランドマーク候補リスト300において、ランドマーク候補領域R1(t1)の識別子「R1」と、ランドマーク候補領域L1(t1)の識別子「L1」と、の組み合わせが対応付けられたレコードを取得する。次に、取得部404は、取得したレコードの登録時点の3次元位置情報項目から時点「t1」での位置「p(t1)」を取得し、現時点の3次元位置情報項目から時点「t2」での位置「p(t2)」を取得する。
この場合、算出部406は、取得部404によって取得された同一被写体の位置の第1の時点から第2の時点までの変化量を算出する。算出部406は、具体的には、例えば、位置の変化量dpを、上記式(1)により算出する。
この場合、判断部407は、算出部406によって算出された変化量と、検出部405によって検出された変化量と、の差分が許容範囲内であるか否かを判断する。判断部407は、具体的には、例えば、x座標軸に関する差分dx0+xR1 L1(t2)−xR1 L1(t1)が許容範囲内であるか否かを判断する。また、判断部407は、y座標軸に関する差分dy0+yR1 L1(t2)−yR1 L1(t1)が許容範囲内であるか否かを判断する。また、判断部407は、z座標軸に関する差分zR1 L1(t2)−zR1 L1(t1)が許容範囲内であるか否かを判断する。
この場合、決定部408は、判断部407によって差分が許容範囲内であると判断された場合に、第1および第2の被写体の画像の組み合わせを、同一被写体の画像の組み合わせに決定する。決定部408は、具体的には、例えば、判断部407によってx軸、y軸、およびz軸に関する差分が許容範囲内であると判断された場合、ランドマーク候補領域R1とランドマーク候補領域L1とを同一のランドマークのランドマーク候補領域に決定する。
これにより、ロボット100は、複数のランドマーク候補領域の組み合わせの中から、同一のランドマークに関するランドマーク候補領域を決定することができる。そのため、ロボット100は、決定以降は、ランドマークの位置の特定に際し、同一のランドマークに関するランドマーク候補領域の組み合わせを用いるとともに、異なるランドマークに関するランドマーク候補領域の組み合わせを用いない。
従って、ロボット100は、ランドマークの位置を誤って特定することを抑制し、ランドマークの位置の特定精度を向上させることができる。結果として、ロボット100は、予め保持しておいた地図データが示す実際のランドマークの位置と、正しく特定されたランドマークの位置と、を対応付けることができ、自己位置の特定精度を向上させることができる。そして、ロボット100は、特定された自己位置を参照して、目的地に到着したり、障害物を回避したりすることができる。
<機能例2>
次に、ランドマークの第1の時点から第2の時点までの移動量を用いて、複数のランドマーク候補領域の組み合わせの中から、同一のランドマークに関するランドマーク候補領域の組み合わせを決定する機能例2について説明する。
ここで、機能例2における第1の撮像部401と第2の撮像部402と特定部403と取得部404と検出部405との機能は、各々、機能例1における機能と同様のため、ここでは説明を省略する。
算出部406は、各々の組み合わせについて、第1の時点での位置および第2の時点での位置と、自装置の位置の変化量と、を用いて、第1の時点から第2の時点までの同一被写体の移動量を算出する。
算出部406は、具体的には、例えば、移動ベクトルdpR1 L1を、下記式(2)により算出する。
dpR1 L1=(dx0+xR1 L1(t2)−xR1 L1(t1)、dy0+yR1 L1(t2)−yR1 L1(t1)、zR1 L1(t2)−zR1 L1(t1))・・・(2)
次に、算出部406は、移動ベクトルdpR1 L1の大きさを、移動量として算出する。
判断部407は、各々の組み合わせについて、算出部406によって算出された移動量が閾値以下であるか否かを判断する。ここで、閾値は、例えば、「0」である。
決定部408は、複数の組み合わせの中で、判断部407によって移動量が閾値以下であると判断され、かつ、移動量が最小になる組み合わせを、同一被写体の画像の組み合わせに決定する。
また、検出部405は、機能例2では、第1の時点から第2の時点までの第1の撮像部401の撮像方向の変化量、および第2の撮像部402の撮像方向の変化量を検出してもよい。検出部405は、具体的には、例えば、自装置のオドメトリとして、ジャイロセンサにより自装置の回転角度を測定して、ステレオカメラの撮像方向の変化量dθ0を検出する。
この場合、算出部406は、同一被写体の第1および第2の時点での位置と、自装置の位置の変化量と、第1および第2の撮像部401,402の撮像方向の変化量と、を用いて、第1の時点から第2の時点までの同一被写体の移動量を算出してもよい。そして、算出部406は、各々の組み合わせについて、第1の時点から第2の時点までの同一被写体の移動量を算出する。
算出部406は、具体的には、例えば、移動ベクトルdpR1 L1を、下記式(3)により算出する。
dpR1 L1=(dx0+xR1 L1(t2)cos(dθ0)−yR1 L1(t2)sin(dθ0)−xR1 L1(t1)、dy0+xR1 L1(t2)sin(dθ0)+yR1 L1(t2)cos(dθ0)−yR1 L1(t1)、zR1 L1(t2)−zR1 L1(t1))・・・(3)
次に、算出部406は、移動ベクトルdpR1 L1の大きさを、移動量として算出する。この場合、判断部407は、各々の組み合わせについて、算出部406によって算出された移動量が閾値以下であるか否かを判断する。閾値は、例えば、「0」である。
この場合、決定部408は、複数の組み合わせの中で、判断部407によって閾値以下であると判断され、かつ、移動量が最小になる組み合わせを、同一被写体の画像の組み合わせに決定する。
ここでは、ロボット100は、複数の組み合わせの中から、同一のランドマークに関するランドマーク候補領域の組み合わせを一つ決定したが、これに限らない。ロボット100は、例えば、ランドマーク候補領域の組み合わせの一つ一つに対して、同一のランドマークに関するランドマーク候補領域の組み合わせか否かを判断してもよい。
以降では、ロボット100が、ランドマーク候補領域R1とランドマーク候補領域L1との組み合わせに対して、同一のランドマークに関するランドマーク候補領域の組み合わせか否かを判断する場合を例に挙げる。
この場合、算出部406は、第1の時点での位置および第2の時点での位置と、自装置の位置の変化量と、を用いて、第1の時点から第2の時点までの同一被写体の移動量を算出する。算出部406は、具体的には、例えば、移動ベクトルdpR1 L1を、上記式(2)により算出する。次に、算出部406は、移動ベクトルdpR1 L1の大きさを、移動量として算出する。この場合、判断部407は、算出部406によって算出された移動量が閾値以下であるか否かを判断する。ここで、閾値は、例えば、「0」である。
この場合、決定部408は、具体的には、例えば、判断部407によって移動量が閾値以下であると判断された場合、ランドマーク候補領域R1とランドマーク候補領域L1とを同一のランドマークのランドマーク候補領域に決定する。
また、検出部405は、機能例2では、第1の時点から第2の時点までの第1の撮像部401の撮像方向の変化量、および第2の撮像部402の撮像方向の変化量を検出してもよい。検出部405は、具体的には、例えば、自装置のオドメトリとして、ジャイロセンサにより自装置の回転角度を測定して、自装置の回転に伴うステレオカメラの撮像方向の変化量dθ0を検出する。
この場合、算出部406は、同一被写体の第1および第2の時点での位置と、自装置の位置の変化量と、第1および第2の撮像部401,402の撮像方向の変化量と、を用いて、第1の時点から第2の時点までの同一被写体の移動量を算出してもよい。
算出部406は、具体的には、例えば、移動ベクトルdpR1 L1を、上記式(3)により算出する。次に、算出部406は、移動ベクトルdpR1 L1の大きさを、移動量として算出する。この場合、判断部407は、算出部406によって算出された移動量が閾値以下であるか否かを判断する。ここで、閾値は、例えば、「0」である。
この場合、決定部408は、具体的には、例えば、判断部407によって移動量が閾値以下であると判断された場合、ランドマーク候補領域R1とランドマーク候補領域L1とを同一のランドマークのランドマーク候補領域に決定する。
これにより、ロボット100は、複数のランドマーク候補領域の組み合わせの中から、同一のランドマークに関するランドマーク候補領域を決定することができる。そのため、ロボット100は、決定以降は、ランドマークの位置の特定に際し、同一のランドマークに関するランドマーク候補領域の組み合わせを用いるとともに、異なるランドマークに関するランドマーク候補領域の組み合わせを用いない。
従って、ロボット100は、ランドマークの位置を誤って特定することを抑制し、ランドマークの位置の特定精度を向上させることができる。結果として、ロボット100は、予め保持しておいた地図データが示す実際のランドマークの位置と、正しく特定されたランドマークの位置と、を対応付けることができ、自己位置の特定精度を向上させることができる。そして、ロボット100は、特定された自己位置を参照して、目的地に到着したり、障害物を回避したりすることができる。
<機能例3>
次に、ランドマークの移動量と、ランドマークの位置の誤差範囲と、を用いて、複数のランドマーク候補領域の組み合わせの中から、同一のランドマークに関するランドマーク候補領域の組み合わせを決定する機能例3について説明する。
ここで、機能例3における第1の撮像部401と第2の撮像部402と特定部403と取得部404と検出部405と算出部406との機能は、各々、機能例1および機能例2における機能と同様のため、ここでは説明を省略する。
算出部406は、機能例3では、各々の組み合わせについて、第1および第2の撮像部401,402に固有の誤差定数を用いて、第1の時点での位置に関する第1の誤差範囲および第2の時点での位置に関する第2の誤差範囲を算出する。そして、算出部406は、算出された第1および第2の誤差範囲を用いて、移動量の尤度を算出する。
ここで、誤差定数とは、ステレオカメラに固有の定数であって、ランドマークの位置に関する誤差範囲Eを算出するための関数における係数である。誤差範囲Eは、下記式(4)の関数により算出される。
E=(δ/bf)z^2・・・(4)
誤差定数は、例えば、上記式(4)における「δ/bf」である。ここで、δは、画素ピッチである。bは、ステレオカメラの右目カメラRと左目カメラLとの距離である。fは、ステレオカメラの焦点距離である。zは、ステレオカメラからランドマークまでの奥行きの距離である。
算出部406は、具体的には、例えば、時点「t1」でのランドマークの位置に関する誤差範囲E1を算出する。誤差範囲E1は、上記式(4)により算出される。また、算出部406は、時点「t2」でのランドマークの位置に関する誤差範囲E2を算出する。誤差範囲E2は、上記式(4)により算出される。
そして、算出部406は、誤差範囲の和E3を算出する。誤差範囲の和E3は、下記式(5)により算出される。
3=E2+E1・・・(5)
次に、算出部406は、誤差範囲の和を用いて、ランドマークの移動量Vの尤度Pを算出する。尤度Pは、下記式(6)により算出される。
P=(1/√2πE3^2)exp(−V^2/2E3^2)・・・(6)
判断部407は、各々の組み合わせについて、算出部406によって算出された尤度が閾値以上であるか否かを判断する。ここで、閾値は、例えば、「0」である。
決定部408は、具体的には、例えば、判断部407によって尤度が閾値以上であると判断され、かつ、尤度が最大になるランドマーク候補領域の組み合わせを、同一のランドマークのランドマーク候補領域に決定する。
ここでは、ロボット100は、複数の組み合わせの中から、同一のランドマークに関するランドマーク候補領域の組み合わせを一つ決定したが、これに限らない。ロボット100は、例えば、ランドマーク候補領域の組み合わせの一つ一つに対して、同一のランドマークに関するランドマーク候補領域の組み合わせか否かを判断してもよい。
以降では、ロボット100は、ランドマーク候補領域R1とランドマーク候補領域L1との組み合わせに対して、同一のランドマークに関するランドマーク候補領域の組み合わせか否かを判断する場合を例に挙げる。
この場合、算出部406は、第1および第2の撮像部401,402に固有の誤差定数を用いて、第1の時点での位置に関する第1の誤差範囲および第2の時点での位置に関する第2の誤差範囲を算出する。次に、算出部406は、算出された第1および第2の誤差範囲を用いて、移動量の尤度を算出する。
算出部406は、具体的には、例えば、時点「t1」でのランドマークの位置に関する誤差範囲E1および時点「t2」でのランドマークの位置に関する誤差範囲E2を算出し、誤差範囲の和E3を算出し、尤度Pを算出する。誤差範囲E1、E2は上記式(4)により、誤差範囲の和E3は上記式(5)により、尤度Pは上記式(6)により、各々、算出される。
この場合、判断部407は、算出部406によって算出された尤度が閾値以上であるか否かを判断する。ここで、閾値は、例えば、「0」である。
この場合、決定部408は、具体的には、例えば、判断部407によって移動量が閾値以上であると判断された場合、ランドマーク候補領域R1とランドマーク候補領域L1とを同一のランドマークのランドマーク候補領域に決定する。
これにより、ロボット100は、ランドマークの位置の誤差範囲を参照して、複数のランドマーク候補領域の組み合わせの中から、同一のランドマークに関するランドマーク候補領域を決定することができる。そのため、ロボット100は、ランドマークの位置の誤差が影響して、偶然、移動量が閾値以下になった組み合わせがあったり、移動量が閾値より大きくなった組み合わせがあったりする場合であっても、同一のランドマークに関するランドマーク候補領域を決定することができる。
そして、ロボット100は、決定以降は、同一のランドマークに関するランドマーク候補領域の組み合わせを参照して、ランドマークの位置を特定することができ、ランドマークの位置の特定精度を向上させることができる。従って、ロボット100は、特定したランドマークの位置と、予め保持しておいた地図データと、を参照して、自装置の位置を特定することができ、自装置の位置の特定精度を向上させることができる。結果として、ロボット100は、目的地に到着することができたり、障害物を回避したりすることができる。
(実施例1)
次に、実施例1について説明する。実施例1では、ランドマークの移動量を用いて同一のランドマークに関するランドマーク候補領域の組み合わせを決定する。また、実施例1は、上述した機能例2にかかる実施例である。
(実施例1にかかるロボット100による位置特定)
次に、図5〜図8を用いて、実施例1にかかるロボット100による位置特定の具体例について説明する。
図5〜図8は、実施例1にかかるロボット100による位置特定の具体例を示す説明図である。図5において、(11)ロボット100は、時点「t1」において、右目カメラRにより時点「t1」での右目画像RV(t1)を撮像する。(12)また、ロボット100は、時点「t1」において、左目カメラLにより時点「t1」での左目画像LV(t1)を撮像する。
(13)また、ロボット100は、時点「t1」において、自装置のx軸方向への移動距離「x0(t1)」、自装置のy軸方向への移動距離「y0(t1)」、撮像方向の回転角度「θ0(t1)」を取得する。以降、x軸方向への移動距離「x0(t1)」、y軸方向への移動距離「y0(t1)」、撮像方向の回転角度「θ0(t1)」を、まとめて、オドメトリ(x0(t1)、y0(t1)、θ0(t1))と称す。次に、ロボット100は、図6の処理に移行する。
図6において、(14)ロボット100は、時点「t1」における右目画像RV(t1)から、ランドマーク候補領域を検出する。ロボット100は、具体的には、例えば、SIFTやSURFなどの特徴点を検出するアルゴリズムを使用して、ランドマークのパターンを有する領域を検出する。図6の例では、ロボット100は、時点「t1」における右目画像RV(t1)から、ランドマーク候補領域R1(t1)〜R4(t1)を検出する。
(15)また、ロボット100は、(14)と同様にして、時点「t1」における左目画像LV(t1)から、ランドマーク候補領域を検出する。図6の例では、ロボット100は、時点「t1」における左目画像LV(t1)から、ランドマーク候補領域L1(t1)〜L3(t1)を検出する。
(16)次に、ロボット100は、時点「t1」でのランドマーク候補領域R1(t1)〜R4(t1)の各々に、時点「t1」でのランドマーク候補領域L1(t1)〜L3(t1)の中で、類似度が閾値以上になるランドマーク候補領域を組み合わせる。そして、ロボット100は、各々の組み合わせを同一のランドマークに関するランドマーク候補領域の組み合わせとした場合の当該ランドマークの時点「t1」での位置を特定する。
図6の例では、ロボット100は、ランドマーク候補領域R1(t1)と、ランドマーク候補領域L1(t1)と、を組み合わせた場合のランドマークの時点「t1」での位置として、ロボット100の位置を原点とした3次元相対座標系における座標値「pR1 L1(t1)=(xR1 L1(t1)、yR1 L1(t1)、zR1 L1(t1))」を特定する。
ロボット100は、より具体的には、例えば、右目画像RV(t1)内から検出したランドマーク候補領域R1(t1)と、左目画像LV(t1)内から検出したランドマーク候補領域L1(t1)と、の視差を特定する。そして、ロボット100は、ステレオカメラの基線長と、特定した視差と、を用いて、三角測量によりランドマークの相対座標値を特定する。
次に、ロボット100は、ランドマーク候補領域R1(t1)の識別子「R1」と、ランドマーク候補領域L1(t1)の識別子「L1」と、時点「t1」での相対座標値「pR1 L1(t1)」と、を対応付けたレコードを生成する。そして、ロボット100は、生成したレコードをランドマーク候補リスト300に追加する。
また、ロボット100は、同様にして、残余の組み合わせについても、ランドマークの時点「t1」での位置を特定する。そして、ロボット100は、組み合わせたランドマーク候補領域の識別子と、相対座標値と、を対応付けたレコードを生成して、ランドマーク候補リスト300に追加する。次に、ロボット100は、図7の処理に移行する。
図7において、(17)ロボット100は、時点「t1」以降の時点「t2」において、右目カメラRにより時点「t2」での右目画像RV(t2)を撮像する。(18)また、ロボット100は、時点「t2」において、左目カメラLにより時点「t2」での左目画像LV(t2)を撮像する。
(19)また、ロボット100は、時点「t2」において、自装置のx軸方向への移動距離「x0(t2)」、自装置のy軸方向への移動距離「y0(t2)」、撮像方向の回転角度「θ0(t2)」を取得する。以降、x軸方向への移動距離「x0(t2)」、y軸方向への移動距離「y0(t2)」、回転角度「θ0(t2)」を、まとめて、オドメトリ(x0(t2)、y0(t2)、θ0(t2))と称す。次に、ロボット100は、図8の処理に移行する。
図8において、(20)ロボット100は、時点「t1」における右目画像RV(t1)と時点「t2」における右目画像RV(t2)内の相関演算を行う。これにより、ロボット100は、時点「t2」における右目画像RV(t2)から、時点「t1」におけるランドマーク候補領域R1(t1)〜R4(t1)に各々対応する時点「t2」におけるランドマーク候補領域R1(t2)〜R4(t2)を検出する。
(21)また、ロボット100は、(20)と同様にして、時点「t2」における左目画像LV(t2)から、ランドマーク候補領域L1(t1)〜L3(t1)に各々対応するランドマーク候補領域L1(t2)〜L3(t2)を検出する。
(22)次に、ロボット100は、(16)における組み合わせに対応させて、時点「t2」でのランドマーク候補領域R1(t2)〜R4(t2)の各々に、時点「t2」でのランドマーク候補領域L1(t2)〜L3(t2)の各々を組み合わせる。そして、ロボット100は、各々の組み合わせを同一のランドマークに関するランドマーク候補領域の組み合わせとした場合の当該ランドマークの時点「t2」での位置を特定する。
図8の例では、ロボット100は、ランドマーク候補領域R1(t2)と、ランドマーク候補領域L1(t2)と、を組み合わせた場合のランドマークの時点「t2」での位置として、ロボット100の位置を原点とした3次元相対座標系における座標値「pR1 L1(t2)=(xR1 L1(t2)、yR1 L1(t2)、zR1 L1(t2))」を特定する。
次に、ロボット100は、ランドマーク候補領域R1(t1)の識別子「R1」と、ランドマーク候補領域L1(t1)の識別子「L1」と、を対応付けたレコードの現時点の3次元位置情報項目に、相対座標値「pR1 L1(t2)」を対応付ける。
また、ロボット100は、同様にして、残余の組み合わせについても、ランドマークの時点「t2」での位置を特定する。そして、ロボット100は、残余の組み合わせのランドマーク候補領域の識別子を対応付けたレコードの現時点の3次元位置情報項目に、相対座標値を対応付ける。
次に、ロボット100は、時点「t1」から時点「t2」の間におけるオドメトリの変化量(dx0、dy0、dθ0)を算出する。オドメトリの変化量(dx0、dy0、dθ0)は、下記式(7)により算出される。
(dx0、dy0、dθ0)=(x0(t1)、y0(t1)、θ0(t1))−(x0(t2)、y0(t2)、θ0(t2))・・・(7)
そして、ロボット100は、オドメトリの変化量(dx0、dy0、dθ0)を用いて、ランドマーク候補領域R1(t1)と、ランドマーク候補領域L1(t1)と、を組み合わせた場合のランドマークの移動ベクトルdpR1 L1=(dxR1 L1、dyR1 L1、dzR1 L1)を算出する。移動ベクトルdpR1 L1は、上記式(3)により算出される。
次に、ロボット100は、ランドマークの移動量として、移動ベクトルの大きさを算出する。また、ロボット100は、同様にして、残余の組み合わせについても、ランドマークの移動量を算出する。次に、ロボット100は、算出した移動量のうち、最も小さい移動量と、2番目に小さい移動量と、を特定する。
そして、ロボット100は、最も小さい移動量が閾値以下であるか否かを判断する。ロボット100は、閾値より大きい場合は、各々の組み合わせは同一のランドマークに関するランドマーク候補領域の組み合わせでないと判断する。
また、ロボット100は、閾値以下である場合は、最も小さい移動量と、2番目に小さい移動量と、の差分を算出し、差分が閾値以上であれば最も小さい移動量となった組み合わせを、同一のランドマークに関するランドマーク候補領域の組み合わせに決定する。
また、ロボット100は、差分が閾値より小さい場合は、図5〜図8と同様にして、時点「t2」以降の時点において、ランドマークの移動量をさらに特定して、同一のランドマークに関するランドマーク候補領域の組み合わせを決定する。以降、ロボット100は、決定したランドマーク候補領域の組み合わせから特定されるランドマークの相対座標値と、地図データと、を参照して、自己位置を特定することができる。
(実施例1にかかるロボット100による位置特定処理の処理手順)
次に、図9を用いて、実施例1にかかるロボット100による位置特定処理の詳細な処理手順について説明する。
図9は、ロボット100による位置特定処理の詳細な処理手順を示すフローチャートである。図9において、ロボット100は、右目カメラRから右目画像RVを取得し、左目カメラLから左目画像LVを取得する(ステップS901)。次に、ロボット100は、右目画像RV内のランドマーク候補領域を検出し、左目画像LV内のランドマーク候補領域を検出する(ステップS902)。
そして、ロボット100は、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域と、の組み合わせごとに、ランドマークの位置情報を特定する(ステップS903)。ここで、特定されたランドマークの位置情報は、ランドマーク候補リスト300の登録時点の3次元位置情報項目に記憶される。
次に、ロボット100は、右目カメラRから右目画像RVを取得し、左目カメラLから左目画像LVを取得する(ステップS904)。そして、ロボット100は、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域と、の組み合わせごとに、ランドマークの位置情報を特定する(ステップS905)。ここで、特定されたランドマークの位置情報は、ランドマーク候補リスト300の現時点の3次元位置情報項目に記憶される。
次に、ロボット100は、ランドマーク候補リスト300のランドマーク候補領域の組み合わせごとに、ランドマークの移動量を算出する(ステップS906)。そして、ロボット100は、自装置の移動量を検出する(ステップS907)。
次に、ロボット100は、ランドマークの移動量と、自装置の移動量と、を参照して、同一のランドマークに関するランドマーク候補領域の組み合わせを決定する(ステップS908)。そして、ロボット100は、決定されたランドマーク候補領域の組み合わせと、地図データと、を参照して自装置の位置を特定する(ステップS909)。
次に、ロボット100は、ステップS904の処理に戻る。これにより、ロボット100は、同一のランドマークに関するランドマーク候補領域の組み合わせを特定することができる。そのため、ロボット100は、同一のランドマークに関するランドマーク候補領域の組み合わせを参照して、ランドマークの位置を特定することができ、ランドマークの位置の特定精度を向上させることができる。
従って、ロボット100は、特定したランドマークの位置と、予め保持しておいた地図データと、を参照して、自装置の位置を特定することができ、自装置の位置の特定精度を向上させることができる。結果として、ロボット100は、目的地に到着することができたり、障害物を回避したりすることができる。
(実施例2)
次に、実施例2について説明する。実施例1では、ランドマークの移動量の多寡により同一のランドマークに関するランドマーク候補領域の組み合わせを決定した。これに対し、実施例2では、ランドマークの位置の誤差範囲から算出したランドマークの移動量の尤度により、同一のランドマークに関するランドマーク候補領域の組み合わせを決定する。また、実施例2は、上述した機能例3にかかる実施例である。
(尤度テーブルの記憶内容)
次に、図10を用いて、尤度テーブルの記憶内容について説明する。尤度テーブルは、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域と、を対応付けた情報を記憶するテーブルである。尤度テーブルは、例えば、図2に示した記憶装置202により実現される。
図10は、尤度テーブルの記憶内容を示す説明図である。図10に示すように、尤度テーブル1000は、ランドマーク項目と、候補領域項目と、誤差範囲項目と、ランドマークの移動量項目と、尤度項目と、を有し、ランドマーク候補ごとにレコードを構成する。
ランドマーク項目には、右目画像RV内のランドマーク候補領域の識別子が記憶される。候補領域項目には、ランドマーク項目が示すランドマーク候補領域と組み合わせられる左目画像LV内のランドマーク候補領域の識別子が記憶される。
誤差範囲項目には、ランドマーク候補リスト300の登録時点の3次元位置情報項目および現時点の3次元位置情報項目の誤差範囲が記憶される。ランドマークの移動量項目には、時点「t1」から時点「t1+1」までにおけるランドマークの移動量が記憶される。尤度項目には、ランドマークの移動量の尤度が記憶される。
(実施例2にかかるロボット100による位置特定)
次に、実施例2にかかるロボット100による位置特定の具体例について説明する。ロボット100は、図5〜図8と同様にして、ランドマーク候補領域R1(t1)〜R4(t1)の各々と、ランドマーク候補領域L1(t1)〜L3(t1)の各々と、の組み合わせについて、ランドマークの移動量を算出する。
次に、ロボット100は、ランドマーク候補領域R1(t1)〜R4(t1)の各々とランドマーク候補領域L1(t1)〜L3(t1)の各々とを対応付けたレコードのランドマークの移動量項目に、算出した移動量を対応付ける。
また、ロボット100は、ランドマーク候補リスト300の登録時点の3次元位置情報項目の誤差範囲E1を算出する。計測精度E1は、上記式(4)により算出される。
次に、ロボット100は、ランドマーク候補リスト300の現時点の3次元位置情報項目の誤差範囲E2を算出する。誤差範囲E2は、上記式(4)により算出される。そして、ロボット100は、誤差範囲の和E3を算出する。誤差範囲の和E3は、上記式(5)により算出される。次に、ロボット100は、ランドマーク候補領域R1(t1)〜R4(t1)の各々とランドマーク候補領域L1(t1)〜L3(t1)の各々とを対応付けたレコードの誤差範囲項目に、算出した誤差範囲の和E3を対応付ける。
そして、ロボット100は、ランドマークの移動量項目に記憶されたランドマークの移動量、および誤差範囲項目に記憶された誤差範囲の和を参照して、尤度Pを算出する。尤度Pは、上記式(6)により算出される。次に、ロボット100は、算出した尤度のうち、最も大きい尤度と、2番目に大きい尤度と、を特定する。
そして、ロボット100は、最も大きい尤度が閾値以上であるか否かを判断する。ロボット100は、閾値より小さい場合は、各々の組み合わせは同一のランドマークに関するランドマーク候補領域の組み合わせでないと判断する。
また、ロボット100は、閾値以上である場合は、最も大きい尤度と、2番目に大きい尤度と、の差分を算出し、差分が閾値以上であれば最も大きい尤度となった組み合わせを、同一のランドマークに関するランドマーク候補領域の組み合わせに決定する。
また、ロボット100は、差分が閾値より大きい場合は、図5〜図8と同様にして、時点「t2」以降の時点において、ランドマークの移動量の尤度をさらに算出して、同一のランドマークに関するランドマーク候補領域の組み合わせを決定する。
これにより、ロボット100は、ランドマークの位置の誤差範囲を参照して、複数のランドマーク候補領域の組み合わせの中から、同一のランドマークに関するランドマーク候補領域を決定することができる。そのため、ロボット100は、ランドマークの位置の誤差が影響して、偶然、移動量が閾値以下になった組み合わせがあったり、移動量が閾値より大きくなった組み合わせがあったりする場合であっても、同一のランドマークに関するランドマーク候補領域を決定することができる。
そして、ロボット100は、決定以降は、同一のランドマークに関するランドマーク候補領域の組み合わせを参照して、ランドマークの位置を特定することができ、ランドマークの位置の特定精度を向上させることができる。従って、ロボット100は、特定したランドマークの位置と、予め保持しておいた地図データと、を参照して、自装置の位置を特定することができ、自装置の位置の特定精度を向上させることができる。結果として、ロボット100は、目的地に到着することができたり、障害物を回避したりすることができる。
(実施例2にかかるロボット100による位置特定処理の処理手順)
次に、実施例2にかかるロボット100による位置特定処理の詳細な処理手順について説明する。
実施例2にかかるロボット100による位置特定処理の詳細な処理手順は、ステップS908を除き、図9を用いて説明した実施例1にかかるロボット100による位置特定処理の詳細な処理手順と同様のため、ここでは、ステップS908について説明する。
実施例2では、ロボット100は、ステップS908において、ランドマークの位置の誤差範囲を算出する。次に、ロボット100は、ランドマークの位置の誤差範囲を用いて、ランドマークの移動量の尤度を算出する。そして、ロボット100は、算出した尤度を参照して、同一のランドマークに関するランドマーク候補領域の組み合わせを決定する。
これにより、ロボット100は、ランドマークの位置の誤差範囲を参照して、複数のランドマーク候補領域の組み合わせの中から、同一のランドマークに関するランドマーク候補領域を決定することができる。そのため、ロボット100は、ランドマークの位置の誤差が影響して、偶然、移動量が閾値以下になった組み合わせがあったり、移動量が閾値より大きくなった組み合わせがあったりする場合であっても、同一のランドマークに関するランドマーク候補領域を決定することができる。
そして、ロボット100は、決定以降は、同一のランドマークに関するランドマーク候補領域の組み合わせを参照して、ランドマークの位置を特定することができ、ランドマークの位置の特定精度を向上させることができる。従って、ロボット100は、特定したランドマークの位置と、予め保持しておいた地図データと、を参照して、自装置の位置を特定することができ、自装置の位置の特定精度を向上させることができる。結果として、ロボット100は、目的地に到着することができたり、障害物を回避したりすることができる。
以上説明したように、決定装置は、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域と、を組み合わせた場合のランドマークの位置の変化量と、自装置の移動量と、の差分が許容範囲内であるか否かを判断する。そして、決定装置は、差分が許容範囲内であれば、当該ランドマーク候補領域の組み合わせを、同一のランドマークに関するランドマーク候補領域に決定する。
これにより、決定装置は、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域と、が同一のランドマークに関するランドマーク候補領域か否かを判断することができる。そのため、決定装置は、決定以降は、ランドマークの位置の特定に際し、同一のランドマークに関するランドマーク候補領域の組み合わせを用いるとともに、異なるランドマークに関するランドマーク候補領域の組み合わせを用いない。従って、決定装置は、ランドマークの位置を誤って特定することを抑制し、ランドマークの位置の特定精度を向上させることができる。
より具体的には、例えば、ステレオカメラの撮像領域内に同一の特徴を有する複数のランドマークが存在し、ランドマーク候補領域R1(t1)、R2(t1)が検出され、ランドマーク候補領域L1(t1)、L2(t1)が検出される場合がある。この場合、従来技術にかかるロボットでは、ランドマーク候補領域R1(t1)と、ランドマーク候補領域L1(t1)、L2(t1)のいずれかと、を同一のランドマークに関するランドマーク候補領域として組み合わせるべきか判断することができない。
一方、この場合であっても、決定装置は、ランドマーク候補領域R1(t1)と、ランドマーク候補領域L1(t1)と、の組み合わせが同一のランドマークに関するランドマーク候補領域の組み合わせと判断することができる。そのため、決定装置は、当該組み合わせをランドマークの位置の特定に用いて、ランドマークの位置の特定精度を向上させることができる。
さらに、決定装置は、ランドマーク候補領域R1(t1)と、ランドマーク候補領域L2(t1)と、の組み合わせが、異なるランドマークに関するランドマーク候補領域の組み合わせであると判断することができる。そのため、決定装置は、当該組み合わせをランドマークの位置の特定に用いないようにして、ランドマークの位置の特定精度を向上させることができる。
また、例えば、ステレオカメラの撮像領域内に障害物(例えば、人間や動物など)があって、ランドマークを写すことが妨害され、ランドマーク候補領域R1(t1)およびランドマーク候補領域L2(t1)を検出できない場合がある。この場合、従来技術にかかるロボットでは、検出可能なランドマーク候補領域R2(t1)とランドマーク候補領域L1(t1)とを組み合わせて、ランドマークの位置を特定することになるため、ランドマークの位置を誤って特定してしまう。
一方、この場合であっても、決定装置は、検出可能なランドマーク候補領域R2(t1)とランドマーク候補領域L1(t1)との組み合わせが、異なるランドマークに関するランドマーク候補領域の組み合わせであると判断することができる。そのため、決定装置は、当該組み合わせをランドマークの位置の特定に用いないようにして、ランドマークの位置の特定精度を向上させることができる。
また、例えば、ステレオカメラの撮像領域内に、ランドマークに類似する特徴を有するがランドマークではない物体があって、検出すべきでないランドマーク候補領域R3(t1)が検出される場合がある。この場合、従来技術にかかるロボットでは、検出すべきでないランドマーク候補領域R3(t1)とランドマーク候補領域L1(t1)とを同一のランドマークに関する候補領域として組み合わせてしまい、ランドマークの位置を誤って特定してしまうことがある。
一方、この場合であっても、決定装置は、検出すべきでないランドマーク候補領域R3(t1)とランドマーク候補領域L1(t1)との組み合わせが、異なるランドマークに関するランドマーク候補領域の組み合わせであると判断することができる。そのため、決定装置は、当該組み合わせをランドマークの位置の特定に用いないようにして、ランドマークの位置の特定精度を向上させることができる。
結果として、決定装置は、予め保持しておいた地図データが示す実際のランドマークの位置と、正しく特定されたランドマークの位置と、を対応付けることができ、自己位置の特定精度を向上させることができる。そして、決定装置は、特定された自己位置を参照して、目的地に到着したり、障害物を回避したりすることができる。
また、このように、決定装置は、同一のパターンを有するランドマーク候補領域の組み合わせが複数あっても、各々の組み合わせが同一のランドマークに関するランドマーク候補領域の組み合わせか否かを判断することができる。従って、決定装置の利用者は、固有の特徴を有する物体のみではなく、互いに同一の特徴を有する複数の物体であっても、ランドマークとして採用することができる。
また、決定装置は、自装置の移動量を用いて、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域と、を組み合わせた場合のランドマークの移動量を算出し、算出した移動量が閾値以下であるか否かを判断する。そして、決定装置は、閾値以下であれば、当該ランドマーク候補領域の組み合わせを、同一のランドマークに関するランドマーク候補領域に決定する。
これにより、決定装置は、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域と、が同一のランドマークに関するランドマーク候補領域か否かを判断することができる。そのため、決定装置は、決定以降は、ランドマークの位置の特定に際し、同一のランドマークに関するランドマーク候補領域の組み合わせを用いるとともに、異なるランドマークに関するランドマーク候補領域の組み合わせを用いない。
従って、決定装置は、ランドマークの位置を誤って特定することを抑制し、ランドマークの位置の特定精度を向上させることができる。結果として、決定装置は、予め保持しておいた地図データが示す実際のランドマークの位置と、正しく特定されたランドマークの位置と、を対応付けることができ、自己位置の特定精度を向上させることができる。そして、決定装置は、特定された自己位置を参照して、目的地に到着したり、障害物を回避したりすることができる。
また、決定装置は、自装置の移動量および撮像方向の変化量を用いて、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域と、を組み合わせた場合のランドマークの移動量を算出する。次に、決定装置は、算出した移動量が閾値以下であるか否かを判断する。そして、決定装置は、閾値以下であれば、当該ランドマーク候補領域の組み合わせを、同一のランドマークに関するランドマーク候補領域に決定する。
これにより、決定装置は、決定装置の進行方向が変化した場合であっても、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域と、が同一のランドマークに関するランドマーク候補領域か否かを判断することができる。
また、決定装置は、ランドマークの位置に関する誤差範囲を算出し、算出した誤差範囲を用いて右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域と、を組み合わせた場合のランドマークの移動量の尤度を算出する。次に、決定装置は、算出した尤度が閾値以上であるか否かを判断する。そして、決定装置は、閾値以上であれば、当該ランドマーク候補領域の組み合わせを、同一のランドマークに関するランドマーク候補領域に決定する。
これにより、決定装置は、ランドマークの位置の誤差範囲を参照して、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域と、が同一のランドマークに関するランドマーク候補領域か否かを判断することができる。そのため、決定装置は、ランドマークの位置の誤差が影響して、偶然、移動量が閾値以下になった組み合わせがあったり、移動量が閾値より大きくなった組み合わせがあったりする場合であっても、同一のランドマークに関するランドマーク候補領域か否かを決定することができる。
また、決定装置は、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域の各々と、の組み合わせの各々について、ランドマークの位置の変化量と、自装置の移動量と、の差分が許容範囲内であるか否かを判断する。そして、決定装置は、差分が許容範囲内であって、かつ、差分が最小になるランドマーク候補領域の組み合わせを、同一のランドマークに関するランドマーク候補領域に決定する。
これにより、決定装置は、複数のランドマーク候補領域の組み合わせの中から、同一のランドマークに関するランドマーク候補領域を決定することができる。そのため、決定装置は、決定以降は、ランドマークの位置の特定に際し、同一のランドマークに関するランドマーク候補領域の組み合わせを用いるとともに、異なるランドマークに関するランドマーク候補領域の組み合わせを用いない。
従って、決定装置は、ランドマークの位置を誤って特定することを抑制し、ランドマークの位置の特定精度を向上させることができる。結果として、決定装置は、予め保持しておいた地図データが示す実際のランドマークの位置と、正しく特定されたランドマークの位置と、を対応付けることができ、自己位置の特定精度を向上させることができる。そして、決定装置は、特定された自己位置を参照して、目的地に到着したり、障害物を回避したりすることができる。
また、決定装置は、自装置の移動量を用いて、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域の各々と、の組み合わせの各々について、ランドマークの移動量を算出し、算出した移動量が閾値以下であるか否かを判断する。そして、決定装置は、算出した移動量が閾値以下であって、かつ、算出した移動量が最小になるランドマーク候補領域の組み合わせを、同一のランドマークに関するランドマーク候補領域に決定する。
これにより、決定装置は、複数のランドマーク候補領域の組み合わせの中から、同一のランドマークに関するランドマーク候補領域を決定することができる。そのため、決定装置は、決定以降は、ランドマークの位置の特定に際し、同一のランドマークに関するランドマーク候補領域の組み合わせを用いるとともに、異なるランドマークに関するランドマーク候補領域の組み合わせを用いない。
従って、決定装置は、ランドマークの位置を誤って特定することを抑制し、ランドマークの位置の特定精度を向上させることができる。結果として、決定装置は、予め保持しておいた地図データが示す実際のランドマークの位置と、正しく特定されたランドマークの位置と、を対応付けることができ、自己位置の特定精度を向上させることができる。そして、決定装置は、特定された自己位置を参照して、目的地に到着したり、障害物を回避したりすることができる。
また、決定装置は、自装置の移動量および撮像方向の変化量を用いて、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域の各々と、の組み合わせの各々について、ランドマークの移動量を算出する。次に、決定装置は、算出した移動量が閾値以下であるか否かを判断する。そして、決定装置は、閾値以下であれば、当該ランドマーク候補領域の組み合わせを、同一のランドマークに関するランドマーク候補領域に決定する。
これにより、決定装置は、決定装置の進行方向が変化した場合であっても、複数のランドマーク候補領域の組み合わせの中から、同一のランドマークに関するランドマーク候補領域を決定することができる。
また、決定装置は、右目画像RV内のランドマーク候補領域と、左目画像LV内のランドマーク候補領域の各々と、の組み合わせの各々について、ランドマークの位置に関する誤差範囲を算出し、算出した誤差範囲を用いて、ランドマークの移動量の尤度を算出する。次に、決定装置は、算出した尤度が閾値以上であるか否かを判断する。そして、決定装置は、閾値以上であれば、当該ランドマーク候補領域の組み合わせを、同一のランドマークに関するランドマーク候補領域に決定する。
これにより、決定装置は、ランドマークの位置の誤差範囲を参照して、複数のランドマーク候補領域の組み合わせの中から、同一のランドマークに関するランドマーク候補領域を決定することができる。そのため、決定装置は、ランドマークの位置の誤差が影響して、偶然、移動量が閾値以下になった組み合わせがあったり、移動量が閾値より大きくなった組み合わせがあったりする場合であっても、同一のランドマークに関するランドマーク候補領域を決定することができる。
上述した実施の形態に関し、さらに以下の付記を開示する。
(付記1)第1の撮像部に撮像された第1の被写体の画像と、前記第1の撮像部と撮像領域が重複する第2の撮像部に撮像された第2の被写体の画像と、の組み合わせを、同一被写体の画像の組み合わせとした場合における前記同一被写体の第1の時点での位置および第2の時点での位置を取得する取得部と、
前記第1の時点から前記第2の時点までの自装置の位置の変化量を検出する検出部と、
前記取得部によって取得された前記同一被写体の位置の前記第1の時点から前記第2の時点までの変化量を算出する算出部と、
前記算出部によって算出された変化量と、前記検出部によって検出された変化量と、の差分が許容範囲内であるか否かを判断する判断部と、
前記判断部によって前記差分が許容範囲内であると判断された場合に、前記第1および第2の被写体の画像の組み合わせを、前記同一被写体の画像の組み合わせに決定する決定部と、
を有することを特徴とする決定装置。
(付記2)前記算出部は、
前記第1の時点での位置および前記第2の時点での位置と、前記自装置の位置の変化量と、を用いて、前記第1の時点から前記第2の時点までの前記同一被写体の移動量を算出し、
前記判断部は、
前記算出部によって算出された移動量が閾値以下であるか否かを判断し、
前記決定部は、
前記判断部によって前記移動量が閾値以下であると判断された場合に、前記第1および第2の被写体の画像の組み合わせを、前記同一被写体の画像の組み合わせに決定する、
ことを特徴とする付記1に記載の決定装置。
(付記3)前記検出部は、
前記第1の時点から前記第2の時点までの前記第1の撮像部の撮像方向の変化量、および前記第2の撮像部の撮像方向の変化量を検出し、
前記算出部は、
前記同一被写体の前記第1の時点での位置および前記第2の時点での位置と、前記自装置の位置の変化量と、前記第1の撮像部の撮像方向の変化量および前記第2の撮像部の撮像方向の変化量と、を用いて、前記第1の時点から前記第2の時点までの前記同一被写体の移動量を算出する、
ことを特徴とする付記2に記載の決定装置。
(付記4)前記算出部は、
被写体の位置の誤差を示す関数における係数を示す前記第1および第2の撮像部に固有な誤差定数を用いて、前記第1の時点での位置に関する第1の誤差範囲および前記第2の時点での位置に関する第2の誤差範囲を算出し、算出された第1および第2の誤差範囲を用いて、前記移動量の尤度を算出し、
前記判断部は、
前記算出部によって算出された尤度が閾値以上であるか否かを判断し、
前記決定部は、
前記判断部によって前記尤度が閾値以上であると判断された場合に、前記第1および第2の被写体の画像の組み合わせを、前記同一被写体の画像の組み合わせに決定する、
ことを特徴とする付記2または3に記載の決定装置。
(付記5)前記取得部は、
前記第1の被写体の画像に前記第2の撮像部に撮像された被写体群の各々の画像を組み合わせた複数の組み合わせの各々の組み合わせを前記同一被写体の画像の組み合わせとした場合における前記同一被写体の第1の時点での位置および第2の時点での位置を取得し、
前記算出部は、
前記各々の組み合わせについて、前記同一被写体の位置の前記第1の時点から前記第2の時点までの変化量を算出し、
前記判断部は、
前記各々の組み合わせについて、前記算出部によって算出された変化量と、前記検出部によって検出された変化量と、の差分が許容範囲内であるか否かを判断し、
前記決定部は、
前記複数の組み合わせの中で、前記判断部によって前記差分が許容範囲内であると判断され、かつ、前記差分が最小になる組み合わせを、前記同一被写体の画像の組み合わせに決定する、
ことを特徴とする付記1に記載の決定装置。
(付記6)前記算出部は、
前記各々の組み合わせについて、前記第1の時点での位置および前記第2の時点での位置と、前記自装置の位置の変化量と、を用いて、前記第1の時点から前記第2の時点までの前記同一被写体の移動量を算出し、
前記判断部は、
前記各々の組み合わせについて、前記算出部によって算出された移動量が閾値以下であるか否かを判断し、
前記決定部は、
前記複数の組み合わせの中で、前記判断部によって前記移動量が閾値以下であると判断され、かつ、前記移動量が最小になる組み合わせを、前記同一被写体の画像の組み合わせに決定する、
ことを特徴とする付記5に記載の決定装置。
(付記7)前記検出部は、
前記第1の時点から前記第2の時点までの前記第1の撮像部の撮像方向の変化量、および前記第2の撮像部の撮像方向の変化量を検出し、
前記算出部は、
前記各々の組み合わせについて、前記同一被写体の前記第1の時点での位置および前記第2の時点での位置と、前記自装置の位置の変化量と、前記第1の撮像部の撮像方向の変化量および前記第2の撮像部の撮像方向の変化量と、を用いて、前記第1の時点から前記第2の時点までの前記同一被写体の移動量を算出する、
ことを特徴とする付記6に記載の決定装置。
(付記8)前記算出部は、
前記各々の組み合わせについて、被写体の位置の誤差を表す関数の係数を示す前記第1および第2の撮像部に固有な誤差定数を用いて、前記第1の時点での位置に関する第1の誤差範囲および前記第2の時点での位置に関する第2の誤差範囲を算出し、算出された第1および第2の誤差範囲を用いて、前記移動量の尤度を算出し、
前記判断部は、
前記各々の組み合わせについて、前記算出部によって算出された尤度が閾値以上であるか否かを判断し、
前記決定部は、
前記複数の組み合わせの中で、前記判断部によって前記尤度が閾値以上であると判断され、かつ、前記尤度が最大になる組み合わせを、前記同一被写体の画像の組み合わせに決定する、
ことを特徴とする付記6または7に記載の決定装置。
(付記9)コンピュータが、
第1の撮像部に撮像された第1の被写体の画像と、前記第1の撮像部と撮像領域が重複する第2の撮像部に撮像された第2の被写体の画像と、の組み合わせを、同一被写体の画像の組み合わせとした場合における前記同一被写体の第1の時点での位置および第2の時点での位置を取得し、
前記第1の時点から前記第2の時点までの自装置の位置の変化量を検出し、
取得された前記同一被写体の位置の前記第1の時点から前記第2の時点までの変化量を算出し、
算出された変化量と、検出された変化量と、の差分が許容範囲内であるか否かを判断し、
前記差分が許容範囲内であると判断された場合に、前記第1および第2の被写体の画像の組み合わせを、前記同一被写体の画像の組み合わせに決定する、
処理を実行することを特徴とする決定方法。
(付記10)コンピュータに、
第1の撮像部に撮像された第1の被写体の画像と、前記第1の撮像部と撮像領域が重複する第2の撮像部に撮像された第2の被写体の画像と、の組み合わせを、同一被写体の画像の組み合わせとした場合における前記同一被写体の第1の時点での位置および第2の時点での位置を取得し、
前記第1の時点から前記第2の時点までの自装置の位置の変化量を検出し、
取得された前記同一被写体の位置の前記第1の時点から前記第2の時点までの変化量を算出し、
算出された変化量と、検出された変化量と、の差分が許容範囲内であるか否かを判断し、
前記差分が許容範囲内であると判断された場合に、前記第1および第2の被写体の画像の組み合わせを、前記同一被写体の画像の組み合わせに決定する、
処理を実行させることを特徴とする決定プログラム。
100 ロボット
401 第1の撮像部
402 第2の撮像部
403 特定部
404 取得部
405 検出部
406 算出部
407 判断部
408 決定部

Claims (7)

  1. 第1の撮像部に撮像された第1の被写体の画像と、前記第1の撮像部と撮像領域が重複する第2の撮像部に撮像された第2の被写体の画像と、の組み合わせを、同一被写体の画像の組み合わせとした場合における前記同一被写体の第1の時点での位置および第2の時点での位置を取得する取得部と、
    前記第1の時点から前記第2の時点までの自装置の位置の変化量を検出する検出部と、
    前記取得部によって取得された前記同一被写体の位置の前記第1の時点から前記第2の時点までの変化量を算出する算出部と、
    前記算出部によって算出された変化量と、前記検出部によって検出された変化量と、の差分が許容範囲内であるか否かを判断する判断部と、
    前記判断部によって前記差分が許容範囲内であると判断された場合に、前記第1および第2の被写体の画像の組み合わせを、前記同一被写体の画像の組み合わせに決定し、前記判断部によって前記差分が許容範囲内ではないと判断された場合に、前記第1および第2の被写体の画像の組み合わせを、前記同一被写体の画像の組み合わせに決定しない決定部と、
    を有することを特徴とする決定装置。
  2. 前記取得部は、
    前記第1の被写体の画像に前記第2の撮像部に撮像された被写体群の各々の画像を組み合わせた複数の組み合わせの各々の組み合わせを前記同一被写体の画像の組み合わせとした場合における前記同一被写体の第1の時点での位置および第2の時点での位置を取得し、
    前記算出部は、
    前記各々の組み合わせについて、前記同一被写体の位置の前記第1の時点から前記第2の時点までの変化量を算出し、
    前記判断部は、
    前記各々の組み合わせについて、前記算出部によって算出された変化量と、前記検出部によって検出された変化量と、の差分が許容範囲内であるか否かを判断し、
    前記決定部は、
    前記複数の組み合わせの中で、前記判断部によって前記差分が許容範囲内であると判断され、かつ、前記差分が最小になる組み合わせを、前記同一被写体の画像の組み合わせに決定する、
    ことを特徴とする請求項1に記載の決定装置。
  3. 前記算出部は、
    前記各々の組み合わせについて、前記第1の時点での位置および前記第2の時点での位置と、前記自装置の位置の変化量と、を用いて、前記第1の時点から前記第2の時点までの前記同一被写体の移動量を算出し、
    前記判断部は、
    前記各々の組み合わせについて、前記算出部によって算出された移動量が閾値以下であるか否かを判断し、
    前記決定部は、
    前記複数の組み合わせの中で、前記判断部によって前記移動量が閾値以下であると判断され、かつ、前記移動量が最小になる組み合わせを、前記同一被写体の画像の組み合わせに決定する、
    ことを特徴とする請求項2に記載の決定装置。
  4. 前記検出部は、
    前記第1の時点から前記第2の時点までの前記第1の撮像部の撮像方向の変化量、および前記第2の撮像部の撮像方向の変化量を検出し、
    前記算出部は、
    前記各々の組み合わせについて、前記同一被写体の前記第1の時点での位置および前記第2の時点での位置と、前記自装置の位置の変化量と、前記第1の撮像部の撮像方向の変化量および前記第2の撮像部の撮像方向の変化量と、を用いて、前記第1の時点から前記第2の時点までの前記同一被写体の移動量を算出する、
    ことを特徴とする請求項3に記載の決定装置。
  5. 前記算出部は、
    前記各々の組み合わせについて、被写体の位置の誤差を表す関数の係数を示す前記第1および第2の撮像部に固有な誤差定数を用いて、前記第1の時点での位置に関する第1の誤差範囲および前記第2の時点での位置に関する第2の誤差範囲を算出し、算出された第1および第2の誤差範囲を用いて、前記移動量の尤度を算出し、
    前記判断部は、
    前記各々の組み合わせについて、前記算出部によって算出された尤度が閾値以上であるか否かを判断し、
    前記決定部は、
    前記複数の組み合わせの中で、前記判断部によって前記尤度が閾値以上であると判断され、かつ、前記尤度が最大になる組み合わせを、前記同一被写体の画像の組み合わせに決定する、
    ことを特徴とする請求項3または4に記載の決定装置。
  6. コンピュータが、
    第1の撮像部に撮像された第1の被写体の画像と、前記第1の撮像部と撮像領域が重複する第2の撮像部に撮像された第2の被写体の画像と、の組み合わせを、同一被写体の画像の組み合わせとした場合における前記同一被写体の第1の時点での位置および第2の時点での位置を取得し、
    前記第1の時点から前記第2の時点までの自装置の位置の変化量を検出し、
    取得された前記同一被写体の位置の前記第1の時点から前記第2の時点までの変化量を算出し、
    算出された変化量と、検出された変化量と、の差分が許容範囲内であるか否かを判断し、
    前記差分が許容範囲内であると判断された場合に、前記第1および第2の被写体の画像の組み合わせを、前記同一被写体の画像の組み合わせに決定し、前記差分が許容範囲内ではないと判断された場合に、前記第1および第2の被写体の画像の組み合わせを、前記同一被写体の画像の組み合わせに決定しない、
    処理を実行することを特徴とする決定方法。
  7. コンピュータに、
    第1の撮像部に撮像された第1の被写体の画像と、前記第1の撮像部と撮像領域が重複する第2の撮像部に撮像された第2の被写体の画像と、の組み合わせを、同一被写体の画像の組み合わせとした場合における前記同一被写体の第1の時点での位置および第2の時点での位置を取得し、
    前記第1の時点から前記第2の時点までの自装置の位置の変化量を検出し、
    取得された前記同一被写体の位置の前記第1の時点から前記第2の時点までの変化量を算出し、
    算出された変化量と、検出された変化量と、の差分が許容範囲内であるか否かを判断し、
    前記差分が許容範囲内であると判断された場合に、前記第1および第2の被写体の画像の組み合わせを、前記同一被写体の画像の組み合わせに決定し、前記差分が許容範囲内ではないと判断された場合に、前記第1および第2の被写体の画像の組み合わせを、前記同一被写体の画像の組み合わせに決定しない、
    処理を実行させることを特徴とする決定プログラム。
JP2012163753A 2012-07-24 2012-07-24 決定装置、決定方法、および決定プログラム Expired - Fee Related JP6175745B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012163753A JP6175745B2 (ja) 2012-07-24 2012-07-24 決定装置、決定方法、および決定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012163753A JP6175745B2 (ja) 2012-07-24 2012-07-24 決定装置、決定方法、および決定プログラム

Publications (2)

Publication Number Publication Date
JP2014025711A JP2014025711A (ja) 2014-02-06
JP6175745B2 true JP6175745B2 (ja) 2017-08-09

Family

ID=50199504

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012163753A Expired - Fee Related JP6175745B2 (ja) 2012-07-24 2012-07-24 決定装置、決定方法、および決定プログラム

Country Status (1)

Country Link
JP (1) JP6175745B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6227950B2 (ja) * 2013-09-19 2017-11-08 株式会社Ihi センサの指向制御方法と装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09107540A (ja) * 1995-10-09 1997-04-22 Sharp Corp 監視カメラ装置
JP2000321352A (ja) * 1999-05-12 2000-11-24 Mitsubishi Electric Corp 車載用レーダ装置
JP5362189B2 (ja) * 2006-05-10 2013-12-11 株式会社トプコン 画像処理装置及びその処理方法

Also Published As

Publication number Publication date
JP2014025711A (ja) 2014-02-06

Similar Documents

Publication Publication Date Title
CN110411441B (zh) 用于多模态映射和定位的***和方法
US11127203B2 (en) Leveraging crowdsourced data for localization and mapping within an environment
KR101725060B1 (ko) 그래디언트 기반 특징점을 이용한 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
CN104811683B (zh) 用于估计位置的方法和设备
KR101776622B1 (ko) 다이렉트 트래킹을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
KR101775591B1 (ko) 데이터베이스 생성의 목적을 위한 대화식 및 자동 3-d 오브젝트 스캐닝 방법
US8600603B2 (en) Apparatus and method of localization of mobile robot
KR101072876B1 (ko) 이동 로봇에서 자신의 위치를 추정하기 위한 방법 및 장치
CN108352056A (zh) 用于校正错误深度信息的***和方法
US20100094460A1 (en) Method and apparatus for simultaneous localization and mapping of robot
JP2016070674A (ja) 3次元座標算出装置、3次元座標算出方法および3次元座標算出プログラム
JP6782903B2 (ja) 自己運動推定システム、自己運動推定システムの制御方法及びプログラム
WO2020063878A1 (zh) 一种处理数据的方法和装置
CN103020952A (zh) 信息处理设备和信息处理方法
JP2011258204A5 (ja)
KR20150144730A (ko) ADoG 기반 특징점을 이용한 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
Michot et al. Bi-objective bundle adjustment with application to multi-sensor slam
EP2761535A1 (en) Method of detecting and describing features from an intensity image
JP2013025401A (ja) 自己位置推定装置、自己位置推定方法およびプログラム
JP5819257B2 (ja) 移動***置推定方法及び移動体
JPWO2018207426A1 (ja) 情報処理装置、情報処理方法、及びプログラム
Núnez et al. Data Fusion Calibration for a 3D Laser Range Finder and a Camera using Inertial Data.
JP2010066595A (ja) 環境地図生成装置及び環境地図生成方法
JP5614118B2 (ja) ランドマーク検知方法、ロボット及びプログラム
JP2016004486A (ja) 情報処理装置、情報処理プログラム、および情報処理システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150406

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160225

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170104

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: 20170613

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170626

R150 Certificate of patent or registration of utility model

Ref document number: 6175745

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees