JP2004012429A - 自己位置/姿勢同定装置、及び自己位置/姿勢同定方法 - Google Patents
自己位置/姿勢同定装置、及び自己位置/姿勢同定方法 Download PDFInfo
- Publication number
- JP2004012429A JP2004012429A JP2002170513A JP2002170513A JP2004012429A JP 2004012429 A JP2004012429 A JP 2004012429A JP 2002170513 A JP2002170513 A JP 2002170513A JP 2002170513 A JP2002170513 A JP 2002170513A JP 2004012429 A JP2004012429 A JP 2004012429A
- Authority
- JP
- Japan
- Prior art keywords
- captured
- posture
- self
- image
- captured image
- 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.)
- Withdrawn
Links
- 238000000034 method Methods 0.000 title claims description 32
- 230000036544 posture Effects 0.000 claims description 162
- 238000003384 imaging method Methods 0.000 claims description 75
- 238000004364 calculation method Methods 0.000 claims description 16
- 230000007613 environmental effect Effects 0.000 claims description 9
- 239000000284 extract Substances 0.000 claims description 4
- 230000002093 peripheral effect Effects 0.000 claims description 4
- 239000003550 marker Substances 0.000 abstract description 9
- 239000011159 matrix material Substances 0.000 description 70
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000004069 differentiation Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000000474 nursing effect Effects 0.000 description 1
- 238000001454 recorded image Methods 0.000 description 1
Images
Landscapes
- Image Processing (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Image Analysis (AREA)
- Length Measuring Devices By Optical Means (AREA)
- Manipulator (AREA)
Abstract
【課題】天井に蛍光灯やマーカのような特別な構造体を設けなくても室内移動体の位置及び姿勢の同定が可能な自己位置/姿勢同定装置を提供する。
【解決手段】本発明による自己位置/姿勢同定装置は、部屋の内部で使用される移動体(2)の位置、及び/又は姿勢を同定する自己位置/姿勢同定装置である。当該自己位置/姿勢同定装置は、前記移動体(2)に搭載されたカメラ(3)と、複数の事前撮像データを保持するテンプレート画像データベース(7a)と、カメラ(3)によって撮像された撮像画像と前記複数の事前撮像データとに基づいて、前記撮像画像が撮像された時点における前記移動体(2)の位置、及び/又は姿勢を同定する演算装置(6)とを備えている。カメラ(3)は、部屋(1)の床面(1a)と実質的に垂直である天井方向に向けられている。複数の事前撮像データは、前記移動体(2)の位置、及び/又は姿勢の同定の前に前記カメラ(3)によって前記部屋(1)の複数の位置からそれぞれ撮像された複数の事前撮像画像からそれぞれ生成される。
【選択図】 図1
【解決手段】本発明による自己位置/姿勢同定装置は、部屋の内部で使用される移動体(2)の位置、及び/又は姿勢を同定する自己位置/姿勢同定装置である。当該自己位置/姿勢同定装置は、前記移動体(2)に搭載されたカメラ(3)と、複数の事前撮像データを保持するテンプレート画像データベース(7a)と、カメラ(3)によって撮像された撮像画像と前記複数の事前撮像データとに基づいて、前記撮像画像が撮像された時点における前記移動体(2)の位置、及び/又は姿勢を同定する演算装置(6)とを備えている。カメラ(3)は、部屋(1)の床面(1a)と実質的に垂直である天井方向に向けられている。複数の事前撮像データは、前記移動体(2)の位置、及び/又は姿勢の同定の前に前記カメラ(3)によって前記部屋(1)の複数の位置からそれぞれ撮像された複数の事前撮像画像からそれぞれ生成される。
【選択図】 図1
Description
【0001】
【発明の属する技術分野】
本発明は、自己位置/姿勢同定装置に関する。本発明は、特に、部屋の天井が撮像された撮像画像を用いて自己の位置及び姿勢を同定する自己位置/姿勢同定装置に関する。
【0002】
【従来の技術】
室内で使用される室内移動体の自律制御のために、自己の位置及び姿勢を同定する技術の開発が進められている。かかる技術の開発は、介護ロボットや家事ロボットのような、屋内で使用されるロボットの実用化の上で重要である。
【0003】
室内移動体の位置及び姿勢の同定のために、天井を撮像した天井画像を用いる手法が広く用いられている。天井は、人や障害物が室内に存在しても移動体から隠れにくい。天井を撮像した天井画像の利用は、自己の位置及び姿勢を確実に同定することを可能にする。
【0004】
例えば、公開特許公報(特開平6−4127)には、天井画像から天井に設けられた蛍光灯の位置を算出し、算出された蛍光灯の位置を元に自己の位置を算出する屋内移動体の自己位置測定装置が開示されている。
【0005】
更に、公開特許公報(特開平10−177414)には、移動体に搭載されたカメラによって撮像された天井画像から、該移動体の進行方向及び該移動体の位置を検出する走行状態認識装置が開示されている。該走行状態認識装置は、該天井画像から該移動体が進行すべき方向の直線成分を取り出し、更に、該直線成分から該移動体の進行方向及び該移動体が走行する通路上の横方向の位置を算出する。該走行状態認識装置は、更に、天井に設けられたマーカを用いて、該移動体の位置を算出する。
【0006】
更に、”天井画像列を用いた屋内ナビゲーション”(紙 弘和他,第18回日本ロボット学会学術講演会予稿集pp.331−332)には、天井画像列を利用したナビゲーション手法が開示されている。該ナビゲーション手法では、まず、移動体の教示走行が行われ、該教示走行の間に画像列が記録される。記録された画像と、該移動体の現在の画像との単純な比較を行うことで、該移動体の自己位置同定とナビゲーションとが行われる。
【0007】
天井に蛍光灯やマーカのような特徴的な構造体が設けられていなくても、室内移動体の位置及び姿勢を同定できることが望まれる。
【0008】
更に、天井に特徴が少ない環境でも、室内移動体の位置及び姿勢を同定できることが望まれる。
【0009】
更に、室内移動体の位置及び姿勢は、一層に正確に同定されることが望まれる。
【0010】
更に、室内移動体の位置及び姿勢を同定するために必要な演算量、及びデータ量が抑制されることが望まれる。
【0011】
【発明が解決しようとする課題】
本発明の目的は、天井に蛍光灯やマーカのような特別な構造体を設けなくても室内移動体の位置及び姿勢の同定が可能な自己位置/姿勢同定装置を提供することにある。
【0012】
本発明の他の目的は、天井に特徴が少ない環境でも、室内移動体の位置及び姿勢の同定が可能な自己位置/姿勢同定装置を提供することにある。
【0013】
本発明の更に他の目的は、室内移動体の位置及び姿勢を一層に正確に同定できる自己位置/姿勢同定装置を提供することにある。
【0014】
本発明の更に他の目的は、室内移動体の位置及び姿勢を同定するために必要な演算量、及びデータ量を抑制することが可能な自己位置/姿勢同定装置を提供することにある。
【0015】
【課題を解決するための手段】
以下に、[発明の実施の形態]で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明の実施の形態]の記載との対応関係を明らかにするために付加されている。但し、付加された番号・符号は、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
【0016】
本発明による自己位置/姿勢同定装置は、部屋(1)の内部で使用される移動体(2)の位置、及び/又は姿勢を同定する自己位置/姿勢同定装置である。当該自己位置/姿勢同定装置は、前記移動体(2)に搭載されたカメラ(3)と、複数の事前撮像データ(Mini i,j,Mini i,j,k)を保持するテンプレート画像データベース(7a,7a’)と、カメラ(3)によって撮像された撮像画像と前記複数の事前撮像データ(Mini i,j,Mini i,j,k)とに基づいて、前記撮像画像が撮像された時点における前記移動体(2)の位置、及び/又は姿勢を同定する演算装置(6)とを備えている。カメラ(3)は、部屋(1)の床面(1a)と実質的に垂直である天井方向に向けられている。複数の事前撮像データ(Mini i,j,Mini i,j,k)は、前記移動体(2)の位置、及び/又は姿勢の同定の前に前記カメラ(3)によって前記部屋(1)の複数の位置からそれぞれ撮像された複数の事前撮像画像からそれぞれ生成される。当該自己位置/姿勢同定装置は、カメラ(3)によって撮像された撮像画像と複数の事前撮像画像との対比によって前記移動体(2)の位置、及び/又は姿勢が同定され、天井に蛍光灯やマーカのような特別な構造体を設けなくても室内移動体の位置及び姿勢の同定が可能である。
【0017】
複数の事前撮像データ(Mini i,j,Mini i,j,k)は、複数の事前撮像画像そのものを示すデータであることが可能であり、また複数の事前撮像画像を加工することによって得られるデータであることも可能である。
【0018】
当該自己位置/姿勢同定装置において、前記事前撮像画像が撮像される時の前記移動体(2)の姿勢は、一定であり、前記演算装置(6)は、前記撮像画像を互いに異なる角度に回転した複数の回転画像と前記事前撮像画像とを対比することにより、前記移動体(2)の位置及び姿勢を同定することが好ましい。前記撮像画像の回転画像と前記事前撮像画像とが対比されるため、前記移動体(2)の姿勢を変更して事前撮像画像を撮像する必要がない。
【0019】
演算装置(6)の演算量を減少させるためには、当該前記複数の事前撮像画像は、同一の位置から前記移動体(2)の姿勢が異なる状態で撮像された異姿勢事前撮像画像を含むことが好ましい。このような自己位置/姿勢同定装置は、姿勢が異なる状態で事前撮像画像が撮像されているため、前記移動体(2)の位置及び姿勢の同定のために、前記撮像画像を回転する回転処理を行う必要がない。
【0020】
前記複数の事前撮像画像は、互いに異なる環境条件で撮像された異環境条件撮像画像を含むことが好ましい。これにより、部屋(1)の環境条件が変化しても、前記移動体(2)の位置及び姿勢を正確に同定することができる。
【0021】
前記カメラ(3)の撮像対象は、前記複数の事前撮像画像と前記撮像画像との両方において、実質的に円形である有効撮像領域(Reff)に写される場合がある。この場合、前記複数の事前撮像データ(Mini i,j,Mini i,j,k)は、前記有効撮像領域(Reff)の中心を原点として定められる極座標系の円周方向に前記複数の事前撮像画像をそれぞれ微分することによって得られる複数の事前撮像エッジ画像から生成され、前記演算装置(6)は、前記撮像画像を前記極座標系の前記円周方向に微分することによってエッジ画像を生成し、前記エッジ画像と前記複数の事前撮像データ(Mini i,j,Mini i,j,k)とに基づいて前記移動体(2)の位置、及び/又は姿勢を同定することが好ましい。円周方向に微分されて生成されたエッジ画像には、主として、実空間における天井方向の構造体のエッジが抽出されることになる。人工建造物の内部において天井方向に延伸する構造体は、その位置の変動が少ないものが多く存在する。例えば、隣接する2つの壁により形成される稜線や、柱は、典型的な、天井方向に延伸する構造体である。前記事前撮像画像から生成された前記事前撮像エッジ画像と、前記撮像画像とから生成されたエッジ画像には、いずれも、位置の変動が小さい構造体のエッジが抽出されることになる。前記事前撮像エッジ画像と前記エッジ画像を用いて移動体(2)の位置及び姿勢の同定を行うことにより、移動体(2)の位置及び姿勢の同定の精度を向上することができる。
【0022】
この場合、カメラ(3)は、魚眼レンズを含み、前記撮像画像と前記複数の事前撮像画像とは、いずれも、前記魚眼レンズを通して撮影されることが好ましい。これにより、天井方向に延伸する構造体が、より確実に前記撮像画像と前記複数の事前撮像画像とに写される。
【0023】
前記複数の事前撮像データ(Mini i,j,Mini i,j,k)は、前記複数の事前エッジ画像からそれぞれ抽出された前記複数の事前撮像画像の特徴量をそれぞれ示す複数の事前撮像画像特徴量データであり、前記演算装置(6)は、前記エッジ画像から、前記撮像画像の特徴量を示す特徴量データを抽出し、前記特徴量データと前記複数の事前撮像画像特徴量データとから前記移動体(2)の位置、及び/又は姿勢を同定することが好ましい。
【0024】
前記有効撮像領域には、複数の領域(Sini s,tSα s,t、S0 s,t)が規定され、前記複数の事前撮像データは、前記複数の領域(Sini s,tSα s,t、S0 s,t)のそれぞれに含まれる、前記事前撮像画像に撮像されている構造体のエッジの量に対応した値で構成される事前撮像画像特徴量データであり、前記演算装置(6)は、前記エッジ画像から、前記複数の領域のそれぞれに含まれる前記撮像画像に撮像されている構造体のエッジの量に対応した値で構成される特徴量データを抽出し、前記特徴量データと前記事前撮像画像特徴量データとから、前記移動体(2)の位置、及び/又は姿勢を同定することが好ましい。
【0025】
当該自己位置/姿勢同定装置は、更に、過去の時点における前記移動体(2)の過去位置と、前記移動体(2)が前記過去位置に存在した存在時刻とを保存する記憶装置(7)を備え、前記演算装置(6)は、前記過去位置と前記存在時刻とに基づいて前記移動体(2)の存在可能範囲を算出し、前記事前撮像画像のうち、前記存在可能範囲にある位置から撮像されたものから生成された存在可能範囲事前撮像データを、前記複数の事前撮像データのうちから選択し、前記存在可能範囲事前撮像データと前記撮像画像から前記移動体(2)の位置、及び/又は姿勢を同定することが好ましい。
【0026】
前記複数の事前撮像データは、前記複数の事前撮像画像のそれぞれから切り出された複数の部分事前撮像画像から生成され、前記演算装置(6)は、前記撮像画像から切り出された部分撮像画像と、前記複数の事前撮像データとに基づいて前記移動体(2)の位置、及び/又は姿勢を同定することが好ましい。
【0027】
前記複数の事前撮像画像と前記撮像画像とにおいて、前記カメラ(3)の撮像対象は、実質的に円形である有効撮像領域(Reff)に写され、前記有効撮像領域有効撮像領域(Reff)には、中央部と前記中央部を取り囲む周辺部とが定められ、前記複数の部分事前撮像画像は、前記複数の事前撮像画像それぞれのうちの前記中央部に対応する部分であり、前記部分撮像画像は、前記撮像画像のうちの前記中央部に対応する部分であることが好ましい。
【0028】
本発明による自己位置/姿勢同定方法は、部屋(1)の内部で使用される移動体(2)の位置、及び/又は姿勢を同定する自己位置/姿勢同定方法であって、(A)前記移動体(2)の位置、及び/又は姿勢の同定の前に、前記部屋(1)の複数の位置のそれぞれから、前記移動体(2)に搭載され、且つ、前記部屋(1)の床面と実質的に垂直である天井方向に向けられたカメラ(3)によって複数の事前撮像画像を撮像するステップと、
(B)前記複数の事前撮像画像のそれぞれから、複数の事前撮像データをそれぞれ生成して保存するステップと、
(C)前記カメラ(3)によって撮像画像を撮像するステップと、
(D)前記撮像画像と前記複数の事前撮像データとに基づいて、前記撮像画像が撮像された時点における前記移動体(2)の位置、及び/又は姿勢を同定するステップ
とを備えている。
【0029】
当該自己位置/姿勢同定方法において、前記カメラ(3)の撮像対象が、前記複数の事前撮像画像と前記撮像画像とにおいて、実質的に円形である有効撮像領域(Reff)に写される場合、
前記(B)ステップは、
(B1) 前記複数の事前撮像画像を、前記有効撮像領域の中心を原点として定められる極座標系の円周方向にそれぞれ微分することによって複数の事前撮像エッジ画像をそれぞれ生成するステップと、
(B2)前記複数の事前撮像エッジ画像のそれぞれから、前記複数の事前撮像データをそれぞれ生成して保存するステップ
とを含み、
前記(D)ステップは、
(D1)前記撮像画像を前記極座標系の前記円周方向に微分することによってエッジ画像を生成するステップと、
(D2)前記エッジ画像と前記複数の事前撮像データとに基づいて前記移動体(2)の位置、及び/又は姿勢を同定するステップ
とを含むことが好ましい。
【0030】
【発明の実施の形態】
以下、添付図面を参照しながら、本発明による自己位置/姿勢同定装置の実施の一形態を説明する。
【0031】
(実施の第1形態)
図2は、本発明による自己位置/姿勢同定装置の実施の第1形態を示す。実施の第1形態の自己位置/姿勢同定装置は、部屋1の中で使用される移動体2に搭載される。移動体2は、部屋1の床面1aの上を自在に移動可能である。
【0032】
部屋1には、xyz直交座標系が定められている。xy面は、部屋1の床1a内に定められ、z軸は、床面1aに垂直な方向(以下、「天井方向」という。)に定められている。床面1aには、マトリックス状に、位置(x0,y0)〜(xp,yq)が規定されている。pとqとは、いずれも自然数である。
【0033】
移動体2の位置は、座標(x,y)によって表現され、移動体2の姿勢は、図3に示されているように、移動体2上にxy面に平行に規定された方向と、x軸とがなす角θで表現される。角θは、以下、姿勢θと表現されることがある。移動体2の位置の座標(x、y)と姿勢θとが、該自己位置/姿勢同定装置によって同定される。
【0034】
図1に示されているように、移動体2には、カメラ3と制御コンピュータ4とから構成される自己位置/姿勢同定装置が搭載される。カメラ3は、部屋1の天井方向(z方向)に実質的に平行な方向に向けられ、移動体2から天井方向に向けて画像を撮像する。カメラ3のレンズ3aは、z軸に実質的に平行な主軸3bを有する凸レンズである。従って、図4に示されているように、カメラ3の撮像対象は、円形である領域Reffに写される。この領域Reffを、以下では、有効撮像領域Reffと呼ぶ。図2を参照して、カメラ3の視野は、天井1bのみならず壁1cに及び、有効撮像領域Reffには、壁1cも撮像される。
【0035】
図1に示されているように、カメラ3は制御コンピュータ4に接続されている。制御コンピュータ4は、カメラ3が撮像した撮像画像から、移動体2の位置(x、y)と姿勢θとを同定する。
【0036】
制御コンピュータ4は、インターフェース5と演算装置6と記憶装置7とを備えている。インターフェース5は、カメラ3が撮像した撮像画像を受け取り、記憶装置7に保存する。演算装置6は、移動体2の位置(x、y)と姿勢θとを同定するために必要な演算を行う。演算装置6は、カメラ3が撮像した撮像画像に対して画像処理を行い、その画像処理によって得られるデータから、移動体2の位置(x、y)と姿勢θとを同定する。記憶装置7は、テンプレート画像データベース7aを保存する。
【0037】
図5に示されているように、記憶装置7に保存されるテンプレート画像データベース7aには、特徴量マトリックスMini 0,0〜Mini p,qが蓄積される。特徴量マトリックスMini 0,0〜Mini p,qは、該自己位置/姿勢同定装置の稼動の前に、事前に、カメラ3によって撮像される事前撮像画像から生成されるデータである。iを0以上p以下の整数とし、jを0以上q以下の整数としたとき、特徴量マトリックスMini i,jは、移動体2が位置(xi,yj)を有する状態でカメラ3によって撮像された事前撮像画像の特徴量が記述されたマトリックスである。事前撮像画像の撮像のときの移動体2の姿勢は、姿勢θ0(=0)で共通である。特徴量マトリックスMini 0,0〜Mini p,qは、移動体2の位置と姿勢との同定の際に撮影される撮像画像と、事前撮像画像との対比に使用される。特徴量マトリックスMini 0,0〜Mini p,qの生成方法は、後述され、ここでは詳細には説明されない。
【0038】
記憶装置7には、更に、自己位置/姿勢同定プログラム7bが記憶される。自己位置/姿勢同定プログラム7bは、移動体2の位置及び姿勢を同定する手順が記述されたコンピュータプログラムである。演算装置6が自己位置/姿勢同定プログラム7bを実行することにより、移動体2の位置及び姿勢が同定される。
【0039】
記憶装置7は、更に、移動体2の位置及び姿勢を同定する過程で生成されるデータが記憶されるワークエリアとして使用される。例えば、カメラ3によって撮像された撮像画像と、該撮像画像に対して画像処理が行われた結果として生成されるデータとが、記憶装置7に保存される。
【0040】
既述のように、該自己位置/姿勢同定装置を稼動するためには、稼動の前に、特徴量マトリックスMini 0,0〜Mini p,qを生成し、テンプレート画像データベース7aに保存する必要がある。以下では、特徴量マトリックスMini 0,0〜Mini p,qを生成する手順が説明される。
【0041】
ステップS01:事前撮像画像取得
移動体2が位置(x0,y0)〜(xp,yq)をそれぞれ有する状態で、天井方向に向けられたカメラ3により事前撮像画像が予め撮像される。一の位置(xi,yj)に対応して一の事前撮像画像が撮像される。以下において、該一の事前撮像画像をPpre i、jと記述することがある。事前撮像画像の撮像のときの移動体2の姿勢は、θ0(=0)で共通である。撮像された事前撮像画像は、グレースケールの画像であり、典型的には、256階調を有する。撮像された事前撮像画像は、記憶装置7に保存される。既述のように、事前撮像画像のうちの有効撮像領域Reffは、実質的に円形である。事前撮像画像には、有効撮像領域Reffの中心を原点とする極座標(r、ψ)が定められる。有効撮像領域Reffの中心から所定の方向が、ψ=0の方向であると定められる。
【0042】
ステップS02:エッジ画像生成
図6に示されているように、事前撮像画像のそれぞれを、有効撮像領域Reffの中心を原点として規定される円周方向(ψ方向)に微分することによって、エッジ画像がそれぞれ生成される。一の位置(xi,yj)に対応して、一のエッジ画像が生成される。エッジ画像には、該エッジ画像が対応する事前撮像画像に含まれるエッジのうち、半径方向に延伸するエッジが抽出される。エッジ画像は、グレースケールの画像である。
【0043】
部屋1の内部におけるz軸方向は、事前撮像画像では半径方向(r方向)に写される。従って、z軸方向に延伸する構造体のエッジは、確実にエッジ画像に抽出されることになる。人工建造物の内部の空間において、天井方向(z軸方向)に延伸する構造体としては、例えば、隣接する壁1cにより形成される稜線1dや柱(図示されない)が挙げられる。これらの例から分かるように、人工建造物の内部の空間において、天井方向(z軸方向)に延伸する構造体の位置は、変動することが少ない。従って、事前撮像画像を円周方向(ψ方向)に微分してエッジ画像を生成し、該エッジ画像から特徴量マトリックスMini 0,0〜Mini p,qを生成することにより、位置が変動しにくい構造体に関するデータを特徴量マトリックスMini 0,0〜Mini p,qに組み込むことが可能である。
【0044】
ステップS03:エッジ2値化
図7に示されているように、エッジ画像のそれぞれが、適切なしきい値を用いて2値化され、2値化エッジ画像が生成される。一の位置(xi,yj)に対応して、一の2値化エッジ画像が生成される。2値化エッジ画像は、エッジが存在する位置にあるピクセルを”1”、エッジが存在しない位置にあるピクセルを”0”として表現したデータである。以下では、エッジが存在する位置にあるピクセルをエッジ存在ピクセルと呼び、エッジが存在しない位置にあるピクセルをエッジ不存在ピクセルと呼ぶ。
【0045】
ステップS04:領域分割
図8に示されているように、2値化エッジ画像のうちの有効撮像領域に対応する有効領域が、半径方向(r方向)にn個に、円周方向(ψ方向)にm個に分割される。分割により定められた領域を、それぞれ、セグメント領域Sini 1,1〜Sini n,mと呼ぶこととする。セグメント領域Sini s、t(sは、n以下の自然数、tは、m以下の自然数)は、有効撮像領域の半径をreffとして、
(s−1)・Δr<r≦s・Δr,
(t−1)・Δψ<ψ≦t・Δψ, …(1)
である領域である。但し、
Δr=reff/n,
Δψ=360/m,
である。
【0046】
ステップS05:度数算出
図9に示されているように、セグメント領域Sini 1,1〜Sini n,mのそれぞれについて、各セグメント領域が含むエッジ存在ピクセルの度数が算出される。エッジ存在ピクセルの度数は、各セグメント領域に写されたエッジの量を示す。エッジ存在ピクセルの度数の算出は、2値化エッジ画像のそれぞれについて行われる。図10に示されているように、算出された度数から、ヒストグラムが生成される。
【0047】
ステップS06:特徴量マトリックスの生成
図11に示されているように、セグメント領域Sini s,tが含むエッジ存在ピクセルの度数から、特徴量マトリックスが生成される。特徴量マトリックスの生成は、位置(x0,y0)〜(xp,yq)のそれぞれについて行われる。位置(xi,yj)に対応して生成された2値化エッジ画像の、セグメント領域Sini s,tに含まれるエッジ存在ピクセルの度数をNini s,t(i,j)として、特徴量マトリックスMini i,jは、
【数1】
として求められる。式(2)は、事前撮像画像Ppre i、jの特徴量として、度数Nini 1,1(i,j)〜Nini n,m(i,j)が使用されることを意味する。
【0048】
以上の過程により、特徴量マトリックスMini 0,0〜Mini p,qが生成される。特徴量マトリックスMini 0,0〜Mini p,qは、数値データであり、従って、その保存に必要な記憶領域は小さい。生成された特徴量マトリックスMini 0,0〜Mini p,qは、テンプレート画像データベース7aに保存される。特徴量マトリックスMini 0,0〜Mini p,qがテンプレート画像データベース7aに保存されると、テンプレート画像データベース7aを用いて、移動体2の位置及び姿勢の算出が可能になる。
【0049】
図12は、移動体2の位置及び姿勢の算出のシーケンスを示すフローチャートである。該シーケンスが、自己位置/姿勢同定プログラム7bに記述されている。
【0050】
まず、天井方向に向けられたカメラ3によって撮像画像が撮像され、制御コンピュータ4に入力される(ステップS11)。撮像画像は、記憶領域7に保存される。既述のように、撮像画像のうちの有効撮像領域Reffは、実質的に円形である。撮像画像には、事前撮像画像と同一の極座標(r,ψ)が定められる。事前撮像画像について定められた極座標と同様に、該極座標の原点は、有効撮像領域Reffの中心である。また、撮像画像について定められたψ=0の方向と、事前撮像画像について定められたψ=0の方向は一致する。
【0051】
続いて、姿勢同定パラメータαが0°にセットされ、姿勢同定ループが開始される(ステップS12)。姿勢同定ループは、後述のステップS13〜S18で構成される。ステップS13〜S18が1度実行される毎に、αがΔαだけ増加され、αが360°を超えるまでステップS13〜S18が繰り返して実行される。
【0052】
姿勢同定ループは、撮像画像の特徴量マトリックスMαの算出で開始される(ステップS13)。特徴量マトリックスMαとは、撮像画像が角度αだけ時計回りに回転された画像の特徴量が記述されたマトリックスである。特徴量マトリックスMαの算出は、以下の過程で行われる。
【0053】
ステップS13−1:エッジ画像生成
ステップS02と同様に、撮像画像を円周方向(ψ方向)に微分することによって、エッジ画像が生成される。撮像画像に含まれるエッジのうち、半径方向に延伸するエッジがエッジ画像に抽出される。既述のように、z軸方向に延伸する構造体は、撮像画像の半径方向に延伸するように撮像されるため、該エッジ画像には、z軸方向に延伸する構造体が確実に抽出されることになる。エッジ画像は、グレースケールの画像である。
【0054】
ステップS13−2:エッジ2値化
ステップS03と同様に、エッジ画像が適切なしきい値を用いて2値化され、2値化エッジ画像が生成される。
【0055】
ステップS13−3:領域分割
ステップS04と同様に、2値化エッジ画像のうちの有効撮像領域Reffに対応する有効領域が、半径方向にn個、円周方向にm個のセグメント領域Sα 1,1〜Sα n,mに分割される。但し、図13に示されているように、事前撮像画像について定められたセグメント領域Sini s,tとは異なり、撮像画像について定められるセグメント領域Sα s,tは、姿勢同定パラメータαを用いて、
(s−1)・Δr<r≦s・Δr,
(t−1)・Δψ+α<ψ≦t・Δψ+α, …式(3)
である領域として定められる。ここで、有効撮像領域の半径をreffとして、
Δr=reff/n,
Δψ=360/m,
である。α=0のときのみ、撮像画像について定められたセグメント領域Sα s,tは、事前撮像画像について定められたセグメント領域Sini s,tと一致する。
【0056】
ステップS13−4:
セグメント領域Sα 1,1〜Sα n,mのそれぞれについて、各セグメント領域が含むエッジ存在ピクセルの度数が算出され、算出されたエッジ存在ピクセルの度数から、特徴量マトリックスMαが算出される。既述のように、エッジ存在ピクセルとは、エッジが存在する位置にあるピクセルのことである。特徴量マトリックスMαは、
【数2】
により求められる。ここでNα s,tは、セグメント領域Sα s,tに含まれるエッジ存在ピクセルの数である。
【0057】
このようにして定められた特徴量マトリックスMαは、撮像画像を角度αだけ時計回りに回転させた画像の特徴量が記述されることになる。上述の式(3)は、セグメント領域Sα 1,1〜Sα n,mの決定の基準となる方向を、角度αだけ反時計回りに回転させることを意味する。これは、撮像画像を角度αだけ時計回りに回転するのと実質的に同一の画像処理を行うことを意味する。撮像画像が角度αだけ時計回りに回転された仮想的な画像を回転画像Pαと記載することとすると、式(4)は、回転画像Pαの特徴量として、Nα 1,1〜Nα n,mが使用されることを意味している。
【0058】
特徴量マトリックスMαの算出が完了すると、位置同定ループが開始される(ステップS14)。0≦i≦p,0≦j≦qなる全てのi,jの組について、1度ずつ、ステップS15〜S17が実行される。
【0059】
位置同定ループは、事前撮像画像PPre i、jから生成された特徴量マトリックスMini i、jの読み出しで開始される(ステップS15)。特徴量マトリックスMini 0,0〜Mini p,qのうちの特徴量マトリックスMini i、jが、テンプレート画像データベース7aから読み出される。
【0060】
続いて、類似度Lα i,jの算出が行われる(ステップS16)。類似度Lα i,jは、回転画像Pαと事前撮像画像Ppre i,jとが類似している程度を示す値であり、これらが類似しているほど大きな値をとる。類似度Lα i,jの算出は、回転画像Pαの特徴量が記述された特徴量マトリックスMαと、事前撮像画像Ppre i,jの特徴量が記述された特徴量マトリックスMini i、jとを用いて行われる。特徴量マトリックスMαと特徴量マトリックスMini i、jとを用いて類似度Lα i,jを算出することは、回転画像Pαと事前撮像画像Ppre i,jとを対比することと等価である。
【0061】
類似度Lα i,jの算出には、SSDA(Sequential Similarity Detection Algorithm)、SAD(Sum of Absolute Difference)、相関法のいずれを用いることも可能である。SSDAが使用される場合、類似度Lα i,jは、
【数3】
により算出される。ここでSSDAα i,jは、
【数4】
であり、εは、0で割る演算を防止するために用いられる所定の微小値である。
【0062】
一方、SADが使用される場合、類似度Lα i,jは、
【数5】
により算出される。ここでSADα i,jは、
【数6】
であり、εは、0で割る演算を防止するために用いられる所定の微小値である。
【0063】
更に、相関法が使用される場合、類似度Lα i,jは、
【数7】
により算出される。
【0064】
算出された類似度Lα i,jは、記憶装置7に保存される(ステップS17)。0≦i≦p,0≦j≦qなる全てのi,jの組について、1度ずつ、ステップS15〜S17が実行されると、位置同定ループが完了する(ステップS18)。
【0065】
0°から360°までの範囲で、所定の間隔Δαで定められた全てのαについて、1度ずつ上述のステップS13〜S18が実行されると、姿勢同定ループが完了する(ステップS19)。階層化された位置同定ループと姿勢同定ループとが実行されることにより、所定の間隔Δαで定められた全てのαについて、且つ、0≦i≦p,0≦j≦qなる全てのi,jの組について、類似度Lα i,jが算出される。これは、所定の間隔Δαで定められた全てのαについて、且つ、0≦i≦p,0≦j≦qなる全てのi,jの組について、回転画像Pαと事前撮像画像Ppre i,jとを対比することと等価である。
【0066】
ステップS12〜ステップS19における類似度Lα i,jの算出が完了すると、類似度Lα i,jに基づいて、移動体2の位置(x,y)と、姿勢θとが同定される。類似度Lα i,jを最大にするα,i,jをそれぞれα1,i1,j1として、移動体2の位置(x,y)は、位置(xi1,yi1)と同定され、姿勢θは、α1と同定される。
【0067】
以上で、移動体2の位置(x,y)と姿勢θとを算出する処理が完了する。以上の処理は、演算装置6が自己位置/姿勢同定プログラム7bを実行することにより実現されている。
【0068】
本実施の形態では、該自己位置/姿勢同定装置の稼動の前に予め撮影された事前撮影画像と、移動体2の位置及び姿勢の同定のために撮影された撮影画像とが対比され、この対比により、移動体2の位置及び姿勢の同定が行われる。当該自己位置/姿勢同定装置は、移動体2の位置及び姿勢の同定のために、蛍光灯やマーカのような特別な構造体を天井に設けることを必要としない。
【0069】
更に、本実施の形態では、移動体2の位置及び姿勢の同定のときに撮影される撮像画像と事前撮像画像とを、極座標の円周方向に微分することによってエッジ画像が生成され、該エッジ画像が対比することによって、移動体2の位置及び姿勢の同定が行われる。これにより、移動体2の位置及び姿勢の同定の精度が向上されている。円周方向に微分されて生成されたエッジ画像には、主として、実空間における天井方向(z軸方向)の構造体のエッジが抽出されることになる。人工建造物の内部において、天井方向(z軸方向)に延伸する構造体は、隣接する壁1cにより形成される稜線1dや柱(図示されない)の例で分かるように、一般に、その位置の変動が少ない。従って、事前撮像画像と、移動体2の位置及び姿勢の同定のために撮影される撮像画像とから生成されたエッジ画像には、いずれも、位置の変動が小さい構造体のエッジが抽出されることになる。このようなエッジ画像を用いて移動体2の位置及び姿勢の同定を行うことにより、移動体2の位置及び姿勢の同定の精度を向上することができる。
【0070】
本実施の形態において、カメラ3が有するレンズ3aは、魚眼レンズであることが好ましい。レンズ3aが魚眼レンズであることにより、カメラ3の撮像範囲が床面1aに平行な方向に拡大され、隣接する壁1cにより形成される稜線1dや柱(図示されない)のように、天井方向(z軸方向)に延伸する構造体を一層に確実に撮像することが可能になる。
【0071】
なお、本実施の形態のステップS20において、より詳細に移動体2の位置(x,y)と姿勢θとを同定するために、移動体2の位置(x,y)と姿勢θとは、類似度Lα i,jのうちの上位N番目までに基づいて算出されることも可能である。この場合、類似度Lα i,jが第δ番目に大きくなるようなα,i,jを、それぞれαδ、iδ、jδとすると、移動体2の位置のx座標は、xi1〜xiNに、それぞれ類似度Lα1 i1,j1〜LαN iN,jNに対応した重み付けを与えて算出した平均値として算出される。同様に、移動体2の位置のy座標は、yi1〜yiNに、それぞれ類似度Lα1 i1,j1〜LαN iN,jNに対応した重み付けを与えて算出した平均値として算出される。同様に、姿勢θは、α1〜αiNにそれぞれ類似度Lα1 i1,j1〜LαN iN,jNに対応した重み付けを与えて算出した平均値として算出される。このような算出方法は、事前撮影画像が撮影された位置(x0,y0)〜(xp,yq)以外の位置の検出が可能である点で好ましい。
【0072】
また、本実施の形態において、テンプレート画像データベース7aには、特徴量マトリックスMini 0,0〜Mini p,qの代わりに、事前撮影画像そのものを示すデータ、事前撮影画像から生成されたエッジ画像を示すデータ、又は、エッジ画像から生成された2値化エッジ画像を示すデータのいずれを保存しておくことが可能である。この場合、図12のステップS15において、テンプレート画像データベース7aから事前撮影画像、エッジ画像、又は、2値化エッジ画像が読み出され、読み出された画像から、上述と同一の方法により、特徴量マトリックスMini i,jが算出される。ステップS16における類似度Lα i,jの算出では、算出された特徴量マトリックスMini i,jが使用される。但し、特徴量マトリックスMini 0,0〜Mini p,qは、データ量を小さくすることが容易であり、特徴量マトリックスMini 0,0〜Mini p,qをテンプレート画像データベース7aに記憶することは、大きな記憶領域を必要としない点で好ましい。
【0073】
また、本実施の形態では、移動体2の位置及び姿勢の同定のときに撮影される撮像画像と事前撮影画像との対比は、有効撮像領域Reffの全体について行われるが、有効撮像領域Reffの一部を対比することによって移動体2の位置及び姿勢を同定することが可能である。これにより、撮像画像の撮影毎に、構造体の形状が変動する領域を除いて、移動体2の位置及び姿勢を同定することが可能になる。
【0074】
この場合、有効撮像領域Reffの中央部のみが対比に使用され、中央部を取り囲む周辺部は、対比に使用されないことが好ましい。即ち、有効撮像領域Reffの半径をreffとし、rmaxをreffより小さい正数として、有効撮像領域Reffのうち、
0≦r≦rmax(<reff),
なる領域のみが、移動体2の位置及び姿勢の同定のときに撮影される撮像画像と事前撮影画像とから切り出され、切り出された部分が対比されることが好ましい。有効撮像領域Reffの周辺部は、床面1aの近くに存在する構造体が写される。床面1aの近くには、人のように、移動可能な構造体が存在することが多い。有効撮像領域Reffの周辺部が対比から排除されることにより、人のような移動可能な構造体の存在の影響を排除することができる。
【0075】
また、本実施の形態において、日照、照明、物の配置上等の環境条件が異なる状態で、一の位置から複数の事前撮像画像が撮像され、該事前撮像画像からそれぞれ生成された特徴量マトリックスが、移動体2の位置及び姿勢の同定のときに撮影される撮像画像と事前撮影画像との対比において使用されることが可能である。位置(xi,yj)について、第1〜第g環境条件で撮像された事前撮像画像から撮像された特徴量マトリックスをそれぞれMini i,j 1〜Mini i,j gとすると、特徴量マトリックスMini i,jの代わりに特徴量マトリックスMini i,j 1〜Mini i,j gをそれぞれ使用することにより、特徴量マトリックスMini i,j 1〜Mini i,j gのそれぞれについて上述の類似度Lα i,jが算出される。図12のステップS20では、この類似度Lα i,jを最大にするような位置(xi,yj)が移動体2の位置(x、y)と定められ、類似度Lα i,jを最大にするようなαが移動体2の姿勢θであると定められる。
【0076】
また、本実施の形態において、移動体2が存在し得る位置を考慮することにより、位置の探索範囲を減少することが可能である。この場合、図14に示されているように、時刻を測定する時計装置8が制御コンピュータ4に追加される。移動体2の位置及び姿勢の同定が行われる毎に、同定された移動体2の位置と、該同定が行われた時刻が記憶装置7に記録される。新たに位置及び姿勢の同定が行われる場合、最も最近に同定された位置と、その位置が同定された時刻と、移動体2の最大移動速度とから、移動体2の存在し得る存在範囲が特定される。図12のステップS14〜S18は、位置(xi、yj)が該存在範囲の内部にあるi,jについてのみ実行され、算出対象とされる類似度Lα i,jの数が減少される。これにより、移動体2の位置及び姿勢の同定に必要な演算量を減少することができる。
【0077】
また、本実施の形態においては、移動体2の位置と姿勢の両方が同定されているが、必要に応じて、位置と姿勢のうちのいずれか一方のみが同定されることも可能である。
【0078】
(実施の第2形態)
実施の第1形態では、セグメント領域Sα 1,1〜Sα n,mの決定の基準となる方向を可変にすることにより、移動体2の位置及び姿勢の同定のときに撮像される撮像画像を実質的に回転する回転演算が行われているが、実施の第2形態では、撮像画像を回転する回転演算は行われない。その代り、同一の位置から複数の事前撮像画像が異なる姿勢θで撮像され、撮像された事前撮像画像と、移動体2の位置及び姿勢の同定のときに撮像される撮像画像とが対比されることにより、移動体2の位置及び姿勢の同定が行われる。
【0079】
図15は、実施の第2形態の自己位置/姿勢同定装置が搭載された移動体2を示している。実施の第2形態では、テンプレート画像データベース7aの代わりに、テンプレート画像データベース7a’ が記憶装置7に記憶される。更に、移動体2の位置及び姿勢の同定の手順の変更に伴い、自己位置/姿勢同定プログラム7bの代わりに、自己位置/姿勢同定プログラム7b’が記憶装置7に記憶される。
【0080】
図16は、実施の第2形態で使用されるテンプレート画像データベース7a’の内容を示している。テンプレート画像データベース7a’には、特徴量マトリックスMini 0,0,0〜Mini p,q,rが保存されている。特徴量マトリックスMini 0,0、0〜Mini p,q,rは、該自己位置/姿勢同定装置の稼動の前にカメラ3によって撮像された事前撮像画像から生成されるデータである。iを0以上p以下の整数とし、jを0以上q以下の整数とし、kを、0以上r以下の整数としたとき、特徴量マトリックスMini i,j,kは、移動体2が位置(xi,yj)を有し、且つ、姿勢θkを有する状態でカメラ3によって撮像された事前撮像画像の特徴量が記述されたマトリックスである。
【0081】
特徴量マトリックスMini 0,0,0〜Mini p,q,rの生成方法は、実施の第1形態で説明された特徴量マトリックスMini 0,0〜Mini p,qの生成方法と同一である。実施の第1形態と同様にして、事前撮像画像からエッジ画像が抽出され、該エッジ画像から、2値化エッジ画像が生成される。2値化エッジ画像にセグメント領域Sini 1,1〜Sini n,mが定められ、セグメント領域Sini 1,1〜Sini n,mに含まれるエッジ存在ピクセルの度数を要素とする行列が、特徴量マトリックスとされる。特徴量マトリックスMini i,j,kは、
【数8】
により算出される。ここで、Nini s,t(i,j,k)は、移動体2が位置(xi,yj)及び姿勢θkを有する状態で撮像された事前撮像画像から生成された2値化エッジ画像のセグメント領域Sini s,tに含まれるエッジ存在ピクセルの度数である。
【0082】
移動体2の位置及び姿勢を同定する際には、カメラ3によって撮像画像が撮像される。該撮像画像から、特徴量マトリックスM0が生成される。特徴量マトリックスM0の生成方法は、実施の第1形態においてα=0としたときの特徴量マトリックスMαの生成方法と同一である。特徴量マトリックスM0は、
【数9】
により算出される。N0 s,tは、式(3)にα=0を代入することにより規定されるセグメント領域S0 s,tの内部に含まれるエッジ存在ピクセルの度数である。
【0083】
特徴量マトリックスM0と特徴量マトリックスMini 0,0、0〜Mini p,q,rとを用いて、移動体2の位置及び姿勢の同定の際に撮影された撮像画像と、事前撮像画像との対比が行われる。撮像画像と事前撮像画像との対比のために、これらが類似している程度を示す類似度Li,j,kが算出される。類似度Li,j,kの算出は、SSDA(Sequential Similarity Detection Algorithm)、SAD(Sum of Absolute Difference)、相関法のいずれを用いることも可能である。
【0084】
SSDAが使用される場合、類似度Li,j,kは、
【数10】
により算出される。ここでSSDAi,j,kは、
【数11】
であり、εは、0で割る演算を防止するために用いられる所定の微小値である。
【0085】
一方、SADが使用される場合、類似度Li,j,kは、
【数12】
により算出される。ここでSADi,j,kは、
【数13】
であり、εは、0で割る演算を防止するために用いられる所定の微小値である。
【0086】
更に、相関法が使用される場合、類似度Li,j,kは、
【数14】
により算出される。
【0087】
移動体2の位置及び姿勢は、類似度Li,j,kから同定される。類似度Li,j,kを最大にするi,j,kをそれぞれ、i1,j1,k1として、移動体2の位置(x,y)は、(xi1,yj1)と同定され、移動体2の姿勢θは、θk1と同定される。
【0088】
以上で、移動体2の位置(x,y)と姿勢θとを算出する処理が完了する。以上の処理は、演算装置6が自己位置/姿勢同定プログラム7b’を実行することにより実現されている。
【0089】
実施の第2形態では、実施の第1形態と同様に、該自己位置/姿勢同定装置の稼動の前に予め撮影された事前撮影画像と、移動体2の位置及び姿勢の同定のために撮影された撮影画像とが対比され、この対比により、移動体2の位置及び姿勢の同定が行われる。移動体2の位置及び姿勢の同定のために、蛍光灯やマーカのような特別な構造体を天井に設けることを必要としない。
【0090】
更に、実施の第2形態では、実施の第1形態と同様に、移動体2の位置及び姿勢の同定の際に撮影される撮像画像と事前撮像画像とを円周方向に微分することによってエッジ画像が生成され、該エッジ画像を使用して撮像画像と事前撮像画像との対比が行われる。このようなエッジ画像を用いて移動体2の位置及び姿勢の同定を行うことにより、移動体2の位置及び姿勢の同定の精度を向上することができる。
【0091】
更に実施の第2形態では、移動体2の位置及び姿勢の同定のために撮影された撮影画像を回転する回転処理が行われず、実施の第1形態に比較して、移動体2の位置及び姿勢の同定のために必要な演算量の抑制が可能である。但し、実施の第2形態においてテンプレート画像データベース7a’に蓄積する必要があるデータ量は、実施の第1形態においてテンプレート画像データベース7aに蓄積する必要があるデータ量に比べて大きい。記憶装置7の記憶容量を小さくする観点では、実施の第1形態が好ましい。
【0092】
なお、実施の第2形態では、特徴量マトリックスMini 0,0,0〜Mini p,q,rは、位置(x0,y0)〜(xp,yq)のそれぞれについて、且つ、姿勢θ0〜θrのそれぞれについて撮像された事前撮像画像から生成されているが、一の姿勢θ0についてのみ撮像された事前撮像画像からMini 0,0,0〜Mini p,q,0が生成され、姿勢θ0以外の姿勢については、該撮像された事前撮像画像を回転した画像から、特徴量マトリックスMini 0,0,1〜Mini p,q,rが生成されることも可能である。これにより、必要な事前撮像画像の数を減少することができる。
【0093】
また、実施の第2形態において、より詳細に移動体2の位置(x,y)と姿勢θとを同定するために、移動体2の位置(x,y)と姿勢θとが、類似度Li, j,kのうちの上位N番目までに基づいて算出されることも可能である。この場合、類似度Li,j、kが第δ番目に大きくなるようなi,j,kを、それぞれ、iδ、jδ、kδとして、移動体2の位置のx座標は、xi1〜xiNにそれぞれ類似度Li1,j1,k1〜LiN,jN,kNに対応した重み付けを与えて算出した平均値として算出される。同様に、移動体2の位置のy座標は、yi1〜yiNに、それぞれ類似度Li1,j1,k1〜LiN,jN、kNに対応した重み付けを与えて算出した平均値として算出される。同様に、姿勢θは、θk1〜θkNにそれぞれ類似度Li1,j1,k1〜LiN,jN、kNに対応した重み付けを与えて算出した平均値として算出される。このような算出方法は、事前撮影画像が撮影された位置(x0,y0)〜(xp,yq)以外の位置の検出が可能である点で好ましい。
【0094】
また、実施の第2形態において、テンプレート画像データベース7a’には、特徴量マトリックスMini 0,0,0〜Mini p,q,rの代わりに、事前撮影画像そのものを示すデータ、事前撮影画像から生成されたエッジ画像を示すデータ、又は、エッジ画像から生成された2値化エッジ画像を示すデータのいずれを保存しておくことが可能である。この場合、類似度Li,j、kの算出のときに、テンプレート画像データベース7a’から事前撮影画像、エッジ画像、又は、2値化エッジ画像が読み出され、読み出された画像から、上述と同一の方法により、特徴量マトリックスMini i,j,kが算出される。類似度Li,j,kの算出では、算出された特徴量マトリックスMini i,j,kが使用される。但し、特徴量マトリックスMini 0,0,0〜Mini p,q,rは、データ量を小さくすることが容易であり、特徴量マトリックスMini 0,0,0〜Mini p,q,rをテンプレート画像データベース7a’に記憶することは、大きな記憶領域を必要としない点で好ましい。
【0095】
また、実施の第2形態でも、実施の第1形態と同様に、有効撮像領域Reffの一部を対比することによって移動体2の位置及び姿勢を同定することが可能である。これにより、撮像画像の撮影毎に、構造体の形状が変動する領域を除いて、移動体2の位置及び姿勢を同定することが可能になる。
【0096】
この場合、実施の第1形態と同様に、有効撮像領域Reffの周辺部が対比に使用されないことが好ましい。即ち、有効撮像領域Reffの半径をreffとし、rmaxをreffより小さい正数として、有効撮像領域Reffのうち、
0≦r≦rmax(<reff),
なる領域のみが、移動体2の位置及び姿勢の同定のときに撮影される撮像画像と事前撮影画像との対比において使用されることが好ましい。有効撮像領域Reffの周辺部が対比から排除されることにより、人のような移動可能な構造体の存在の影響を排除することができる。
【0097】
また、実施の第2形態において、日照、照明、物の配置上等の環境条件が異なる状態で、一の位置から複数の事前撮像画像が撮像され、該事前撮像画像からそれぞれ生成された特徴量マトリックスが、移動体2の位置及び姿勢の同定のときに撮影される撮像画像と事前撮影画像との対比において使用されることが可能である。位置(xi,yj)及び姿勢θkについて、第1〜第g環境条件で撮像された事前撮像画像から撮像された特徴量マトリックスをそれぞれMini i,j,k 1〜Mini i,j,k gとすると、特徴量マトリックスMini i,j,kの代わりに特徴量マトリックスMini i,j,k 1〜Mini i,j,j gをそれぞれ使用することにより、特徴量マトリックスMini i,j,k 1〜Mini i,j,k gのそれぞれについて上述の類似度Li,j,kが算出される。類似度Li,j,kを最大にするような位置(xi,yj)及び姿勢θkが、それぞれ、移動体2の位置(x、y)及び姿勢θと定められる。
【0098】
また、実施の第2形態において、実施の第1形態と同様に、移動体2が存在し得る位置を考慮することにより、位置の探索範囲を減少することが可能である。この場合、実施の第1形態と同様に、時刻を測定する時計装置が制御コンピュータ4に追加され、移動体2の位置及び姿勢の同定が行われる毎に、該同定が行われた時刻が記憶装置7に記録される。新たに位置及び姿勢の同定が行われる場合、最も最近に位置及び姿勢の同定が行われた時刻と、移動体2の最大移動速度とから、移動体2の存在し得る存在範囲が特定される。類似度Li,j,kの算出は、位置(xi、yj)が該存在範囲の内部にあるi,jについてのみ実行される。これにより、算出対象である類似度Li,j,kの数が減少され、移動体2の位置及び姿勢の同定に必要な演算量を減少することができる。
【0099】
また、実施の第2形態においては、移動体2の位置と姿勢の両方が同定されているが、必要に応じて、位置と姿勢のうちのいずれか一方のみが同定されることも可能である。
【0100】
【発明の効果】
本発明により、天井に蛍光灯やマーカのような特別な構造体を設けなくても室内移動体の位置及び姿勢の同定が可能な自己位置/姿勢同定装置が提供される。
【0101】
また、本発明により、室内移動体の位置及び姿勢を一層に正確に同定できる自己位置/姿勢同定装置が提供される。
【0102】
また、本発明により、室内移動体の位置及び姿勢を同定するために必要な演算量、及びデータ量を抑制することが可能な自己位置/姿勢同定装置が提供される。
【図面の簡単な説明】
【図1】図1は、本発明による自己位置/姿勢同定装置の実施の第1形態を示す。
【図2】図2は、実施の第1形態の自己位置/姿勢同定装置が搭載された移動体2が使用される部屋1を示す。
【図3】図3は、移動体2の姿勢θの定義を示す。
【図4】図4は、有効撮像領域Reffを示す。
【図5】図5は、テンプレート画像データベース7aの内容を示す。
【図6】図6は、エッジ画像が抽出される態様を示す。
【図7】図7は、エッジ画像が2値化されて2値化エッジ画像が生成される過程を示す。
【図8】図8は、セグメント領域Sini s,tの決定方法を示す。
【図9】図9は、セグメント領域Sini s,tに含まれるエッジ存在ピクセルの度数の算出方法を示す。
【図10】図10は、エッジ存在ピクセルの度数のヒストグラムを示す。
【図11】図11は、エッジ存在ピクセルの度数から、特徴量マトリックスが生成される過程を示す。
【図12】図12は、移動体2の位置及び姿勢が同定される過程を示すフローチャートである。
【図13】図13は、セグメント領域Sα s,tの決定方法と、セグメント領域Sα s,tに含まれるエッジ存在ピクセルの度数の算出方法とを示す。
【図14】図14は、実施の第1形態の自己位置/姿勢同定装置の変形例を示す。
【図15】図15は、本発明による自己位置/姿勢同定装置の実施の第2形態を示す。
【図16】図16は、テンプレート画像データベース7a’の内容を示す。
【符号の説明】
1:部屋
2:移動体
3:カメラ
4:制御コンピュータ
5:インターフェース
6:演算装置
7:記憶装置
7a、7a’:テンプレート画像データベース
7b、7b’:自己位置/姿勢同定プログラム
8:時計装置
【発明の属する技術分野】
本発明は、自己位置/姿勢同定装置に関する。本発明は、特に、部屋の天井が撮像された撮像画像を用いて自己の位置及び姿勢を同定する自己位置/姿勢同定装置に関する。
【0002】
【従来の技術】
室内で使用される室内移動体の自律制御のために、自己の位置及び姿勢を同定する技術の開発が進められている。かかる技術の開発は、介護ロボットや家事ロボットのような、屋内で使用されるロボットの実用化の上で重要である。
【0003】
室内移動体の位置及び姿勢の同定のために、天井を撮像した天井画像を用いる手法が広く用いられている。天井は、人や障害物が室内に存在しても移動体から隠れにくい。天井を撮像した天井画像の利用は、自己の位置及び姿勢を確実に同定することを可能にする。
【0004】
例えば、公開特許公報(特開平6−4127)には、天井画像から天井に設けられた蛍光灯の位置を算出し、算出された蛍光灯の位置を元に自己の位置を算出する屋内移動体の自己位置測定装置が開示されている。
【0005】
更に、公開特許公報(特開平10−177414)には、移動体に搭載されたカメラによって撮像された天井画像から、該移動体の進行方向及び該移動体の位置を検出する走行状態認識装置が開示されている。該走行状態認識装置は、該天井画像から該移動体が進行すべき方向の直線成分を取り出し、更に、該直線成分から該移動体の進行方向及び該移動体が走行する通路上の横方向の位置を算出する。該走行状態認識装置は、更に、天井に設けられたマーカを用いて、該移動体の位置を算出する。
【0006】
更に、”天井画像列を用いた屋内ナビゲーション”(紙 弘和他,第18回日本ロボット学会学術講演会予稿集pp.331−332)には、天井画像列を利用したナビゲーション手法が開示されている。該ナビゲーション手法では、まず、移動体の教示走行が行われ、該教示走行の間に画像列が記録される。記録された画像と、該移動体の現在の画像との単純な比較を行うことで、該移動体の自己位置同定とナビゲーションとが行われる。
【0007】
天井に蛍光灯やマーカのような特徴的な構造体が設けられていなくても、室内移動体の位置及び姿勢を同定できることが望まれる。
【0008】
更に、天井に特徴が少ない環境でも、室内移動体の位置及び姿勢を同定できることが望まれる。
【0009】
更に、室内移動体の位置及び姿勢は、一層に正確に同定されることが望まれる。
【0010】
更に、室内移動体の位置及び姿勢を同定するために必要な演算量、及びデータ量が抑制されることが望まれる。
【0011】
【発明が解決しようとする課題】
本発明の目的は、天井に蛍光灯やマーカのような特別な構造体を設けなくても室内移動体の位置及び姿勢の同定が可能な自己位置/姿勢同定装置を提供することにある。
【0012】
本発明の他の目的は、天井に特徴が少ない環境でも、室内移動体の位置及び姿勢の同定が可能な自己位置/姿勢同定装置を提供することにある。
【0013】
本発明の更に他の目的は、室内移動体の位置及び姿勢を一層に正確に同定できる自己位置/姿勢同定装置を提供することにある。
【0014】
本発明の更に他の目的は、室内移動体の位置及び姿勢を同定するために必要な演算量、及びデータ量を抑制することが可能な自己位置/姿勢同定装置を提供することにある。
【0015】
【課題を解決するための手段】
以下に、[発明の実施の形態]で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明の実施の形態]の記載との対応関係を明らかにするために付加されている。但し、付加された番号・符号は、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
【0016】
本発明による自己位置/姿勢同定装置は、部屋(1)の内部で使用される移動体(2)の位置、及び/又は姿勢を同定する自己位置/姿勢同定装置である。当該自己位置/姿勢同定装置は、前記移動体(2)に搭載されたカメラ(3)と、複数の事前撮像データ(Mini i,j,Mini i,j,k)を保持するテンプレート画像データベース(7a,7a’)と、カメラ(3)によって撮像された撮像画像と前記複数の事前撮像データ(Mini i,j,Mini i,j,k)とに基づいて、前記撮像画像が撮像された時点における前記移動体(2)の位置、及び/又は姿勢を同定する演算装置(6)とを備えている。カメラ(3)は、部屋(1)の床面(1a)と実質的に垂直である天井方向に向けられている。複数の事前撮像データ(Mini i,j,Mini i,j,k)は、前記移動体(2)の位置、及び/又は姿勢の同定の前に前記カメラ(3)によって前記部屋(1)の複数の位置からそれぞれ撮像された複数の事前撮像画像からそれぞれ生成される。当該自己位置/姿勢同定装置は、カメラ(3)によって撮像された撮像画像と複数の事前撮像画像との対比によって前記移動体(2)の位置、及び/又は姿勢が同定され、天井に蛍光灯やマーカのような特別な構造体を設けなくても室内移動体の位置及び姿勢の同定が可能である。
【0017】
複数の事前撮像データ(Mini i,j,Mini i,j,k)は、複数の事前撮像画像そのものを示すデータであることが可能であり、また複数の事前撮像画像を加工することによって得られるデータであることも可能である。
【0018】
当該自己位置/姿勢同定装置において、前記事前撮像画像が撮像される時の前記移動体(2)の姿勢は、一定であり、前記演算装置(6)は、前記撮像画像を互いに異なる角度に回転した複数の回転画像と前記事前撮像画像とを対比することにより、前記移動体(2)の位置及び姿勢を同定することが好ましい。前記撮像画像の回転画像と前記事前撮像画像とが対比されるため、前記移動体(2)の姿勢を変更して事前撮像画像を撮像する必要がない。
【0019】
演算装置(6)の演算量を減少させるためには、当該前記複数の事前撮像画像は、同一の位置から前記移動体(2)の姿勢が異なる状態で撮像された異姿勢事前撮像画像を含むことが好ましい。このような自己位置/姿勢同定装置は、姿勢が異なる状態で事前撮像画像が撮像されているため、前記移動体(2)の位置及び姿勢の同定のために、前記撮像画像を回転する回転処理を行う必要がない。
【0020】
前記複数の事前撮像画像は、互いに異なる環境条件で撮像された異環境条件撮像画像を含むことが好ましい。これにより、部屋(1)の環境条件が変化しても、前記移動体(2)の位置及び姿勢を正確に同定することができる。
【0021】
前記カメラ(3)の撮像対象は、前記複数の事前撮像画像と前記撮像画像との両方において、実質的に円形である有効撮像領域(Reff)に写される場合がある。この場合、前記複数の事前撮像データ(Mini i,j,Mini i,j,k)は、前記有効撮像領域(Reff)の中心を原点として定められる極座標系の円周方向に前記複数の事前撮像画像をそれぞれ微分することによって得られる複数の事前撮像エッジ画像から生成され、前記演算装置(6)は、前記撮像画像を前記極座標系の前記円周方向に微分することによってエッジ画像を生成し、前記エッジ画像と前記複数の事前撮像データ(Mini i,j,Mini i,j,k)とに基づいて前記移動体(2)の位置、及び/又は姿勢を同定することが好ましい。円周方向に微分されて生成されたエッジ画像には、主として、実空間における天井方向の構造体のエッジが抽出されることになる。人工建造物の内部において天井方向に延伸する構造体は、その位置の変動が少ないものが多く存在する。例えば、隣接する2つの壁により形成される稜線や、柱は、典型的な、天井方向に延伸する構造体である。前記事前撮像画像から生成された前記事前撮像エッジ画像と、前記撮像画像とから生成されたエッジ画像には、いずれも、位置の変動が小さい構造体のエッジが抽出されることになる。前記事前撮像エッジ画像と前記エッジ画像を用いて移動体(2)の位置及び姿勢の同定を行うことにより、移動体(2)の位置及び姿勢の同定の精度を向上することができる。
【0022】
この場合、カメラ(3)は、魚眼レンズを含み、前記撮像画像と前記複数の事前撮像画像とは、いずれも、前記魚眼レンズを通して撮影されることが好ましい。これにより、天井方向に延伸する構造体が、より確実に前記撮像画像と前記複数の事前撮像画像とに写される。
【0023】
前記複数の事前撮像データ(Mini i,j,Mini i,j,k)は、前記複数の事前エッジ画像からそれぞれ抽出された前記複数の事前撮像画像の特徴量をそれぞれ示す複数の事前撮像画像特徴量データであり、前記演算装置(6)は、前記エッジ画像から、前記撮像画像の特徴量を示す特徴量データを抽出し、前記特徴量データと前記複数の事前撮像画像特徴量データとから前記移動体(2)の位置、及び/又は姿勢を同定することが好ましい。
【0024】
前記有効撮像領域には、複数の領域(Sini s,tSα s,t、S0 s,t)が規定され、前記複数の事前撮像データは、前記複数の領域(Sini s,tSα s,t、S0 s,t)のそれぞれに含まれる、前記事前撮像画像に撮像されている構造体のエッジの量に対応した値で構成される事前撮像画像特徴量データであり、前記演算装置(6)は、前記エッジ画像から、前記複数の領域のそれぞれに含まれる前記撮像画像に撮像されている構造体のエッジの量に対応した値で構成される特徴量データを抽出し、前記特徴量データと前記事前撮像画像特徴量データとから、前記移動体(2)の位置、及び/又は姿勢を同定することが好ましい。
【0025】
当該自己位置/姿勢同定装置は、更に、過去の時点における前記移動体(2)の過去位置と、前記移動体(2)が前記過去位置に存在した存在時刻とを保存する記憶装置(7)を備え、前記演算装置(6)は、前記過去位置と前記存在時刻とに基づいて前記移動体(2)の存在可能範囲を算出し、前記事前撮像画像のうち、前記存在可能範囲にある位置から撮像されたものから生成された存在可能範囲事前撮像データを、前記複数の事前撮像データのうちから選択し、前記存在可能範囲事前撮像データと前記撮像画像から前記移動体(2)の位置、及び/又は姿勢を同定することが好ましい。
【0026】
前記複数の事前撮像データは、前記複数の事前撮像画像のそれぞれから切り出された複数の部分事前撮像画像から生成され、前記演算装置(6)は、前記撮像画像から切り出された部分撮像画像と、前記複数の事前撮像データとに基づいて前記移動体(2)の位置、及び/又は姿勢を同定することが好ましい。
【0027】
前記複数の事前撮像画像と前記撮像画像とにおいて、前記カメラ(3)の撮像対象は、実質的に円形である有効撮像領域(Reff)に写され、前記有効撮像領域有効撮像領域(Reff)には、中央部と前記中央部を取り囲む周辺部とが定められ、前記複数の部分事前撮像画像は、前記複数の事前撮像画像それぞれのうちの前記中央部に対応する部分であり、前記部分撮像画像は、前記撮像画像のうちの前記中央部に対応する部分であることが好ましい。
【0028】
本発明による自己位置/姿勢同定方法は、部屋(1)の内部で使用される移動体(2)の位置、及び/又は姿勢を同定する自己位置/姿勢同定方法であって、(A)前記移動体(2)の位置、及び/又は姿勢の同定の前に、前記部屋(1)の複数の位置のそれぞれから、前記移動体(2)に搭載され、且つ、前記部屋(1)の床面と実質的に垂直である天井方向に向けられたカメラ(3)によって複数の事前撮像画像を撮像するステップと、
(B)前記複数の事前撮像画像のそれぞれから、複数の事前撮像データをそれぞれ生成して保存するステップと、
(C)前記カメラ(3)によって撮像画像を撮像するステップと、
(D)前記撮像画像と前記複数の事前撮像データとに基づいて、前記撮像画像が撮像された時点における前記移動体(2)の位置、及び/又は姿勢を同定するステップ
とを備えている。
【0029】
当該自己位置/姿勢同定方法において、前記カメラ(3)の撮像対象が、前記複数の事前撮像画像と前記撮像画像とにおいて、実質的に円形である有効撮像領域(Reff)に写される場合、
前記(B)ステップは、
(B1) 前記複数の事前撮像画像を、前記有効撮像領域の中心を原点として定められる極座標系の円周方向にそれぞれ微分することによって複数の事前撮像エッジ画像をそれぞれ生成するステップと、
(B2)前記複数の事前撮像エッジ画像のそれぞれから、前記複数の事前撮像データをそれぞれ生成して保存するステップ
とを含み、
前記(D)ステップは、
(D1)前記撮像画像を前記極座標系の前記円周方向に微分することによってエッジ画像を生成するステップと、
(D2)前記エッジ画像と前記複数の事前撮像データとに基づいて前記移動体(2)の位置、及び/又は姿勢を同定するステップ
とを含むことが好ましい。
【0030】
【発明の実施の形態】
以下、添付図面を参照しながら、本発明による自己位置/姿勢同定装置の実施の一形態を説明する。
【0031】
(実施の第1形態)
図2は、本発明による自己位置/姿勢同定装置の実施の第1形態を示す。実施の第1形態の自己位置/姿勢同定装置は、部屋1の中で使用される移動体2に搭載される。移動体2は、部屋1の床面1aの上を自在に移動可能である。
【0032】
部屋1には、xyz直交座標系が定められている。xy面は、部屋1の床1a内に定められ、z軸は、床面1aに垂直な方向(以下、「天井方向」という。)に定められている。床面1aには、マトリックス状に、位置(x0,y0)〜(xp,yq)が規定されている。pとqとは、いずれも自然数である。
【0033】
移動体2の位置は、座標(x,y)によって表現され、移動体2の姿勢は、図3に示されているように、移動体2上にxy面に平行に規定された方向と、x軸とがなす角θで表現される。角θは、以下、姿勢θと表現されることがある。移動体2の位置の座標(x、y)と姿勢θとが、該自己位置/姿勢同定装置によって同定される。
【0034】
図1に示されているように、移動体2には、カメラ3と制御コンピュータ4とから構成される自己位置/姿勢同定装置が搭載される。カメラ3は、部屋1の天井方向(z方向)に実質的に平行な方向に向けられ、移動体2から天井方向に向けて画像を撮像する。カメラ3のレンズ3aは、z軸に実質的に平行な主軸3bを有する凸レンズである。従って、図4に示されているように、カメラ3の撮像対象は、円形である領域Reffに写される。この領域Reffを、以下では、有効撮像領域Reffと呼ぶ。図2を参照して、カメラ3の視野は、天井1bのみならず壁1cに及び、有効撮像領域Reffには、壁1cも撮像される。
【0035】
図1に示されているように、カメラ3は制御コンピュータ4に接続されている。制御コンピュータ4は、カメラ3が撮像した撮像画像から、移動体2の位置(x、y)と姿勢θとを同定する。
【0036】
制御コンピュータ4は、インターフェース5と演算装置6と記憶装置7とを備えている。インターフェース5は、カメラ3が撮像した撮像画像を受け取り、記憶装置7に保存する。演算装置6は、移動体2の位置(x、y)と姿勢θとを同定するために必要な演算を行う。演算装置6は、カメラ3が撮像した撮像画像に対して画像処理を行い、その画像処理によって得られるデータから、移動体2の位置(x、y)と姿勢θとを同定する。記憶装置7は、テンプレート画像データベース7aを保存する。
【0037】
図5に示されているように、記憶装置7に保存されるテンプレート画像データベース7aには、特徴量マトリックスMini 0,0〜Mini p,qが蓄積される。特徴量マトリックスMini 0,0〜Mini p,qは、該自己位置/姿勢同定装置の稼動の前に、事前に、カメラ3によって撮像される事前撮像画像から生成されるデータである。iを0以上p以下の整数とし、jを0以上q以下の整数としたとき、特徴量マトリックスMini i,jは、移動体2が位置(xi,yj)を有する状態でカメラ3によって撮像された事前撮像画像の特徴量が記述されたマトリックスである。事前撮像画像の撮像のときの移動体2の姿勢は、姿勢θ0(=0)で共通である。特徴量マトリックスMini 0,0〜Mini p,qは、移動体2の位置と姿勢との同定の際に撮影される撮像画像と、事前撮像画像との対比に使用される。特徴量マトリックスMini 0,0〜Mini p,qの生成方法は、後述され、ここでは詳細には説明されない。
【0038】
記憶装置7には、更に、自己位置/姿勢同定プログラム7bが記憶される。自己位置/姿勢同定プログラム7bは、移動体2の位置及び姿勢を同定する手順が記述されたコンピュータプログラムである。演算装置6が自己位置/姿勢同定プログラム7bを実行することにより、移動体2の位置及び姿勢が同定される。
【0039】
記憶装置7は、更に、移動体2の位置及び姿勢を同定する過程で生成されるデータが記憶されるワークエリアとして使用される。例えば、カメラ3によって撮像された撮像画像と、該撮像画像に対して画像処理が行われた結果として生成されるデータとが、記憶装置7に保存される。
【0040】
既述のように、該自己位置/姿勢同定装置を稼動するためには、稼動の前に、特徴量マトリックスMini 0,0〜Mini p,qを生成し、テンプレート画像データベース7aに保存する必要がある。以下では、特徴量マトリックスMini 0,0〜Mini p,qを生成する手順が説明される。
【0041】
ステップS01:事前撮像画像取得
移動体2が位置(x0,y0)〜(xp,yq)をそれぞれ有する状態で、天井方向に向けられたカメラ3により事前撮像画像が予め撮像される。一の位置(xi,yj)に対応して一の事前撮像画像が撮像される。以下において、該一の事前撮像画像をPpre i、jと記述することがある。事前撮像画像の撮像のときの移動体2の姿勢は、θ0(=0)で共通である。撮像された事前撮像画像は、グレースケールの画像であり、典型的には、256階調を有する。撮像された事前撮像画像は、記憶装置7に保存される。既述のように、事前撮像画像のうちの有効撮像領域Reffは、実質的に円形である。事前撮像画像には、有効撮像領域Reffの中心を原点とする極座標(r、ψ)が定められる。有効撮像領域Reffの中心から所定の方向が、ψ=0の方向であると定められる。
【0042】
ステップS02:エッジ画像生成
図6に示されているように、事前撮像画像のそれぞれを、有効撮像領域Reffの中心を原点として規定される円周方向(ψ方向)に微分することによって、エッジ画像がそれぞれ生成される。一の位置(xi,yj)に対応して、一のエッジ画像が生成される。エッジ画像には、該エッジ画像が対応する事前撮像画像に含まれるエッジのうち、半径方向に延伸するエッジが抽出される。エッジ画像は、グレースケールの画像である。
【0043】
部屋1の内部におけるz軸方向は、事前撮像画像では半径方向(r方向)に写される。従って、z軸方向に延伸する構造体のエッジは、確実にエッジ画像に抽出されることになる。人工建造物の内部の空間において、天井方向(z軸方向)に延伸する構造体としては、例えば、隣接する壁1cにより形成される稜線1dや柱(図示されない)が挙げられる。これらの例から分かるように、人工建造物の内部の空間において、天井方向(z軸方向)に延伸する構造体の位置は、変動することが少ない。従って、事前撮像画像を円周方向(ψ方向)に微分してエッジ画像を生成し、該エッジ画像から特徴量マトリックスMini 0,0〜Mini p,qを生成することにより、位置が変動しにくい構造体に関するデータを特徴量マトリックスMini 0,0〜Mini p,qに組み込むことが可能である。
【0044】
ステップS03:エッジ2値化
図7に示されているように、エッジ画像のそれぞれが、適切なしきい値を用いて2値化され、2値化エッジ画像が生成される。一の位置(xi,yj)に対応して、一の2値化エッジ画像が生成される。2値化エッジ画像は、エッジが存在する位置にあるピクセルを”1”、エッジが存在しない位置にあるピクセルを”0”として表現したデータである。以下では、エッジが存在する位置にあるピクセルをエッジ存在ピクセルと呼び、エッジが存在しない位置にあるピクセルをエッジ不存在ピクセルと呼ぶ。
【0045】
ステップS04:領域分割
図8に示されているように、2値化エッジ画像のうちの有効撮像領域に対応する有効領域が、半径方向(r方向)にn個に、円周方向(ψ方向)にm個に分割される。分割により定められた領域を、それぞれ、セグメント領域Sini 1,1〜Sini n,mと呼ぶこととする。セグメント領域Sini s、t(sは、n以下の自然数、tは、m以下の自然数)は、有効撮像領域の半径をreffとして、
(s−1)・Δr<r≦s・Δr,
(t−1)・Δψ<ψ≦t・Δψ, …(1)
である領域である。但し、
Δr=reff/n,
Δψ=360/m,
である。
【0046】
ステップS05:度数算出
図9に示されているように、セグメント領域Sini 1,1〜Sini n,mのそれぞれについて、各セグメント領域が含むエッジ存在ピクセルの度数が算出される。エッジ存在ピクセルの度数は、各セグメント領域に写されたエッジの量を示す。エッジ存在ピクセルの度数の算出は、2値化エッジ画像のそれぞれについて行われる。図10に示されているように、算出された度数から、ヒストグラムが生成される。
【0047】
ステップS06:特徴量マトリックスの生成
図11に示されているように、セグメント領域Sini s,tが含むエッジ存在ピクセルの度数から、特徴量マトリックスが生成される。特徴量マトリックスの生成は、位置(x0,y0)〜(xp,yq)のそれぞれについて行われる。位置(xi,yj)に対応して生成された2値化エッジ画像の、セグメント領域Sini s,tに含まれるエッジ存在ピクセルの度数をNini s,t(i,j)として、特徴量マトリックスMini i,jは、
【数1】
として求められる。式(2)は、事前撮像画像Ppre i、jの特徴量として、度数Nini 1,1(i,j)〜Nini n,m(i,j)が使用されることを意味する。
【0048】
以上の過程により、特徴量マトリックスMini 0,0〜Mini p,qが生成される。特徴量マトリックスMini 0,0〜Mini p,qは、数値データであり、従って、その保存に必要な記憶領域は小さい。生成された特徴量マトリックスMini 0,0〜Mini p,qは、テンプレート画像データベース7aに保存される。特徴量マトリックスMini 0,0〜Mini p,qがテンプレート画像データベース7aに保存されると、テンプレート画像データベース7aを用いて、移動体2の位置及び姿勢の算出が可能になる。
【0049】
図12は、移動体2の位置及び姿勢の算出のシーケンスを示すフローチャートである。該シーケンスが、自己位置/姿勢同定プログラム7bに記述されている。
【0050】
まず、天井方向に向けられたカメラ3によって撮像画像が撮像され、制御コンピュータ4に入力される(ステップS11)。撮像画像は、記憶領域7に保存される。既述のように、撮像画像のうちの有効撮像領域Reffは、実質的に円形である。撮像画像には、事前撮像画像と同一の極座標(r,ψ)が定められる。事前撮像画像について定められた極座標と同様に、該極座標の原点は、有効撮像領域Reffの中心である。また、撮像画像について定められたψ=0の方向と、事前撮像画像について定められたψ=0の方向は一致する。
【0051】
続いて、姿勢同定パラメータαが0°にセットされ、姿勢同定ループが開始される(ステップS12)。姿勢同定ループは、後述のステップS13〜S18で構成される。ステップS13〜S18が1度実行される毎に、αがΔαだけ増加され、αが360°を超えるまでステップS13〜S18が繰り返して実行される。
【0052】
姿勢同定ループは、撮像画像の特徴量マトリックスMαの算出で開始される(ステップS13)。特徴量マトリックスMαとは、撮像画像が角度αだけ時計回りに回転された画像の特徴量が記述されたマトリックスである。特徴量マトリックスMαの算出は、以下の過程で行われる。
【0053】
ステップS13−1:エッジ画像生成
ステップS02と同様に、撮像画像を円周方向(ψ方向)に微分することによって、エッジ画像が生成される。撮像画像に含まれるエッジのうち、半径方向に延伸するエッジがエッジ画像に抽出される。既述のように、z軸方向に延伸する構造体は、撮像画像の半径方向に延伸するように撮像されるため、該エッジ画像には、z軸方向に延伸する構造体が確実に抽出されることになる。エッジ画像は、グレースケールの画像である。
【0054】
ステップS13−2:エッジ2値化
ステップS03と同様に、エッジ画像が適切なしきい値を用いて2値化され、2値化エッジ画像が生成される。
【0055】
ステップS13−3:領域分割
ステップS04と同様に、2値化エッジ画像のうちの有効撮像領域Reffに対応する有効領域が、半径方向にn個、円周方向にm個のセグメント領域Sα 1,1〜Sα n,mに分割される。但し、図13に示されているように、事前撮像画像について定められたセグメント領域Sini s,tとは異なり、撮像画像について定められるセグメント領域Sα s,tは、姿勢同定パラメータαを用いて、
(s−1)・Δr<r≦s・Δr,
(t−1)・Δψ+α<ψ≦t・Δψ+α, …式(3)
である領域として定められる。ここで、有効撮像領域の半径をreffとして、
Δr=reff/n,
Δψ=360/m,
である。α=0のときのみ、撮像画像について定められたセグメント領域Sα s,tは、事前撮像画像について定められたセグメント領域Sini s,tと一致する。
【0056】
ステップS13−4:
セグメント領域Sα 1,1〜Sα n,mのそれぞれについて、各セグメント領域が含むエッジ存在ピクセルの度数が算出され、算出されたエッジ存在ピクセルの度数から、特徴量マトリックスMαが算出される。既述のように、エッジ存在ピクセルとは、エッジが存在する位置にあるピクセルのことである。特徴量マトリックスMαは、
【数2】
により求められる。ここでNα s,tは、セグメント領域Sα s,tに含まれるエッジ存在ピクセルの数である。
【0057】
このようにして定められた特徴量マトリックスMαは、撮像画像を角度αだけ時計回りに回転させた画像の特徴量が記述されることになる。上述の式(3)は、セグメント領域Sα 1,1〜Sα n,mの決定の基準となる方向を、角度αだけ反時計回りに回転させることを意味する。これは、撮像画像を角度αだけ時計回りに回転するのと実質的に同一の画像処理を行うことを意味する。撮像画像が角度αだけ時計回りに回転された仮想的な画像を回転画像Pαと記載することとすると、式(4)は、回転画像Pαの特徴量として、Nα 1,1〜Nα n,mが使用されることを意味している。
【0058】
特徴量マトリックスMαの算出が完了すると、位置同定ループが開始される(ステップS14)。0≦i≦p,0≦j≦qなる全てのi,jの組について、1度ずつ、ステップS15〜S17が実行される。
【0059】
位置同定ループは、事前撮像画像PPre i、jから生成された特徴量マトリックスMini i、jの読み出しで開始される(ステップS15)。特徴量マトリックスMini 0,0〜Mini p,qのうちの特徴量マトリックスMini i、jが、テンプレート画像データベース7aから読み出される。
【0060】
続いて、類似度Lα i,jの算出が行われる(ステップS16)。類似度Lα i,jは、回転画像Pαと事前撮像画像Ppre i,jとが類似している程度を示す値であり、これらが類似しているほど大きな値をとる。類似度Lα i,jの算出は、回転画像Pαの特徴量が記述された特徴量マトリックスMαと、事前撮像画像Ppre i,jの特徴量が記述された特徴量マトリックスMini i、jとを用いて行われる。特徴量マトリックスMαと特徴量マトリックスMini i、jとを用いて類似度Lα i,jを算出することは、回転画像Pαと事前撮像画像Ppre i,jとを対比することと等価である。
【0061】
類似度Lα i,jの算出には、SSDA(Sequential Similarity Detection Algorithm)、SAD(Sum of Absolute Difference)、相関法のいずれを用いることも可能である。SSDAが使用される場合、類似度Lα i,jは、
【数3】
により算出される。ここでSSDAα i,jは、
【数4】
であり、εは、0で割る演算を防止するために用いられる所定の微小値である。
【0062】
一方、SADが使用される場合、類似度Lα i,jは、
【数5】
により算出される。ここでSADα i,jは、
【数6】
であり、εは、0で割る演算を防止するために用いられる所定の微小値である。
【0063】
更に、相関法が使用される場合、類似度Lα i,jは、
【数7】
により算出される。
【0064】
算出された類似度Lα i,jは、記憶装置7に保存される(ステップS17)。0≦i≦p,0≦j≦qなる全てのi,jの組について、1度ずつ、ステップS15〜S17が実行されると、位置同定ループが完了する(ステップS18)。
【0065】
0°から360°までの範囲で、所定の間隔Δαで定められた全てのαについて、1度ずつ上述のステップS13〜S18が実行されると、姿勢同定ループが完了する(ステップS19)。階層化された位置同定ループと姿勢同定ループとが実行されることにより、所定の間隔Δαで定められた全てのαについて、且つ、0≦i≦p,0≦j≦qなる全てのi,jの組について、類似度Lα i,jが算出される。これは、所定の間隔Δαで定められた全てのαについて、且つ、0≦i≦p,0≦j≦qなる全てのi,jの組について、回転画像Pαと事前撮像画像Ppre i,jとを対比することと等価である。
【0066】
ステップS12〜ステップS19における類似度Lα i,jの算出が完了すると、類似度Lα i,jに基づいて、移動体2の位置(x,y)と、姿勢θとが同定される。類似度Lα i,jを最大にするα,i,jをそれぞれα1,i1,j1として、移動体2の位置(x,y)は、位置(xi1,yi1)と同定され、姿勢θは、α1と同定される。
【0067】
以上で、移動体2の位置(x,y)と姿勢θとを算出する処理が完了する。以上の処理は、演算装置6が自己位置/姿勢同定プログラム7bを実行することにより実現されている。
【0068】
本実施の形態では、該自己位置/姿勢同定装置の稼動の前に予め撮影された事前撮影画像と、移動体2の位置及び姿勢の同定のために撮影された撮影画像とが対比され、この対比により、移動体2の位置及び姿勢の同定が行われる。当該自己位置/姿勢同定装置は、移動体2の位置及び姿勢の同定のために、蛍光灯やマーカのような特別な構造体を天井に設けることを必要としない。
【0069】
更に、本実施の形態では、移動体2の位置及び姿勢の同定のときに撮影される撮像画像と事前撮像画像とを、極座標の円周方向に微分することによってエッジ画像が生成され、該エッジ画像が対比することによって、移動体2の位置及び姿勢の同定が行われる。これにより、移動体2の位置及び姿勢の同定の精度が向上されている。円周方向に微分されて生成されたエッジ画像には、主として、実空間における天井方向(z軸方向)の構造体のエッジが抽出されることになる。人工建造物の内部において、天井方向(z軸方向)に延伸する構造体は、隣接する壁1cにより形成される稜線1dや柱(図示されない)の例で分かるように、一般に、その位置の変動が少ない。従って、事前撮像画像と、移動体2の位置及び姿勢の同定のために撮影される撮像画像とから生成されたエッジ画像には、いずれも、位置の変動が小さい構造体のエッジが抽出されることになる。このようなエッジ画像を用いて移動体2の位置及び姿勢の同定を行うことにより、移動体2の位置及び姿勢の同定の精度を向上することができる。
【0070】
本実施の形態において、カメラ3が有するレンズ3aは、魚眼レンズであることが好ましい。レンズ3aが魚眼レンズであることにより、カメラ3の撮像範囲が床面1aに平行な方向に拡大され、隣接する壁1cにより形成される稜線1dや柱(図示されない)のように、天井方向(z軸方向)に延伸する構造体を一層に確実に撮像することが可能になる。
【0071】
なお、本実施の形態のステップS20において、より詳細に移動体2の位置(x,y)と姿勢θとを同定するために、移動体2の位置(x,y)と姿勢θとは、類似度Lα i,jのうちの上位N番目までに基づいて算出されることも可能である。この場合、類似度Lα i,jが第δ番目に大きくなるようなα,i,jを、それぞれαδ、iδ、jδとすると、移動体2の位置のx座標は、xi1〜xiNに、それぞれ類似度Lα1 i1,j1〜LαN iN,jNに対応した重み付けを与えて算出した平均値として算出される。同様に、移動体2の位置のy座標は、yi1〜yiNに、それぞれ類似度Lα1 i1,j1〜LαN iN,jNに対応した重み付けを与えて算出した平均値として算出される。同様に、姿勢θは、α1〜αiNにそれぞれ類似度Lα1 i1,j1〜LαN iN,jNに対応した重み付けを与えて算出した平均値として算出される。このような算出方法は、事前撮影画像が撮影された位置(x0,y0)〜(xp,yq)以外の位置の検出が可能である点で好ましい。
【0072】
また、本実施の形態において、テンプレート画像データベース7aには、特徴量マトリックスMini 0,0〜Mini p,qの代わりに、事前撮影画像そのものを示すデータ、事前撮影画像から生成されたエッジ画像を示すデータ、又は、エッジ画像から生成された2値化エッジ画像を示すデータのいずれを保存しておくことが可能である。この場合、図12のステップS15において、テンプレート画像データベース7aから事前撮影画像、エッジ画像、又は、2値化エッジ画像が読み出され、読み出された画像から、上述と同一の方法により、特徴量マトリックスMini i,jが算出される。ステップS16における類似度Lα i,jの算出では、算出された特徴量マトリックスMini i,jが使用される。但し、特徴量マトリックスMini 0,0〜Mini p,qは、データ量を小さくすることが容易であり、特徴量マトリックスMini 0,0〜Mini p,qをテンプレート画像データベース7aに記憶することは、大きな記憶領域を必要としない点で好ましい。
【0073】
また、本実施の形態では、移動体2の位置及び姿勢の同定のときに撮影される撮像画像と事前撮影画像との対比は、有効撮像領域Reffの全体について行われるが、有効撮像領域Reffの一部を対比することによって移動体2の位置及び姿勢を同定することが可能である。これにより、撮像画像の撮影毎に、構造体の形状が変動する領域を除いて、移動体2の位置及び姿勢を同定することが可能になる。
【0074】
この場合、有効撮像領域Reffの中央部のみが対比に使用され、中央部を取り囲む周辺部は、対比に使用されないことが好ましい。即ち、有効撮像領域Reffの半径をreffとし、rmaxをreffより小さい正数として、有効撮像領域Reffのうち、
0≦r≦rmax(<reff),
なる領域のみが、移動体2の位置及び姿勢の同定のときに撮影される撮像画像と事前撮影画像とから切り出され、切り出された部分が対比されることが好ましい。有効撮像領域Reffの周辺部は、床面1aの近くに存在する構造体が写される。床面1aの近くには、人のように、移動可能な構造体が存在することが多い。有効撮像領域Reffの周辺部が対比から排除されることにより、人のような移動可能な構造体の存在の影響を排除することができる。
【0075】
また、本実施の形態において、日照、照明、物の配置上等の環境条件が異なる状態で、一の位置から複数の事前撮像画像が撮像され、該事前撮像画像からそれぞれ生成された特徴量マトリックスが、移動体2の位置及び姿勢の同定のときに撮影される撮像画像と事前撮影画像との対比において使用されることが可能である。位置(xi,yj)について、第1〜第g環境条件で撮像された事前撮像画像から撮像された特徴量マトリックスをそれぞれMini i,j 1〜Mini i,j gとすると、特徴量マトリックスMini i,jの代わりに特徴量マトリックスMini i,j 1〜Mini i,j gをそれぞれ使用することにより、特徴量マトリックスMini i,j 1〜Mini i,j gのそれぞれについて上述の類似度Lα i,jが算出される。図12のステップS20では、この類似度Lα i,jを最大にするような位置(xi,yj)が移動体2の位置(x、y)と定められ、類似度Lα i,jを最大にするようなαが移動体2の姿勢θであると定められる。
【0076】
また、本実施の形態において、移動体2が存在し得る位置を考慮することにより、位置の探索範囲を減少することが可能である。この場合、図14に示されているように、時刻を測定する時計装置8が制御コンピュータ4に追加される。移動体2の位置及び姿勢の同定が行われる毎に、同定された移動体2の位置と、該同定が行われた時刻が記憶装置7に記録される。新たに位置及び姿勢の同定が行われる場合、最も最近に同定された位置と、その位置が同定された時刻と、移動体2の最大移動速度とから、移動体2の存在し得る存在範囲が特定される。図12のステップS14〜S18は、位置(xi、yj)が該存在範囲の内部にあるi,jについてのみ実行され、算出対象とされる類似度Lα i,jの数が減少される。これにより、移動体2の位置及び姿勢の同定に必要な演算量を減少することができる。
【0077】
また、本実施の形態においては、移動体2の位置と姿勢の両方が同定されているが、必要に応じて、位置と姿勢のうちのいずれか一方のみが同定されることも可能である。
【0078】
(実施の第2形態)
実施の第1形態では、セグメント領域Sα 1,1〜Sα n,mの決定の基準となる方向を可変にすることにより、移動体2の位置及び姿勢の同定のときに撮像される撮像画像を実質的に回転する回転演算が行われているが、実施の第2形態では、撮像画像を回転する回転演算は行われない。その代り、同一の位置から複数の事前撮像画像が異なる姿勢θで撮像され、撮像された事前撮像画像と、移動体2の位置及び姿勢の同定のときに撮像される撮像画像とが対比されることにより、移動体2の位置及び姿勢の同定が行われる。
【0079】
図15は、実施の第2形態の自己位置/姿勢同定装置が搭載された移動体2を示している。実施の第2形態では、テンプレート画像データベース7aの代わりに、テンプレート画像データベース7a’ が記憶装置7に記憶される。更に、移動体2の位置及び姿勢の同定の手順の変更に伴い、自己位置/姿勢同定プログラム7bの代わりに、自己位置/姿勢同定プログラム7b’が記憶装置7に記憶される。
【0080】
図16は、実施の第2形態で使用されるテンプレート画像データベース7a’の内容を示している。テンプレート画像データベース7a’には、特徴量マトリックスMini 0,0,0〜Mini p,q,rが保存されている。特徴量マトリックスMini 0,0、0〜Mini p,q,rは、該自己位置/姿勢同定装置の稼動の前にカメラ3によって撮像された事前撮像画像から生成されるデータである。iを0以上p以下の整数とし、jを0以上q以下の整数とし、kを、0以上r以下の整数としたとき、特徴量マトリックスMini i,j,kは、移動体2が位置(xi,yj)を有し、且つ、姿勢θkを有する状態でカメラ3によって撮像された事前撮像画像の特徴量が記述されたマトリックスである。
【0081】
特徴量マトリックスMini 0,0,0〜Mini p,q,rの生成方法は、実施の第1形態で説明された特徴量マトリックスMini 0,0〜Mini p,qの生成方法と同一である。実施の第1形態と同様にして、事前撮像画像からエッジ画像が抽出され、該エッジ画像から、2値化エッジ画像が生成される。2値化エッジ画像にセグメント領域Sini 1,1〜Sini n,mが定められ、セグメント領域Sini 1,1〜Sini n,mに含まれるエッジ存在ピクセルの度数を要素とする行列が、特徴量マトリックスとされる。特徴量マトリックスMini i,j,kは、
【数8】
により算出される。ここで、Nini s,t(i,j,k)は、移動体2が位置(xi,yj)及び姿勢θkを有する状態で撮像された事前撮像画像から生成された2値化エッジ画像のセグメント領域Sini s,tに含まれるエッジ存在ピクセルの度数である。
【0082】
移動体2の位置及び姿勢を同定する際には、カメラ3によって撮像画像が撮像される。該撮像画像から、特徴量マトリックスM0が生成される。特徴量マトリックスM0の生成方法は、実施の第1形態においてα=0としたときの特徴量マトリックスMαの生成方法と同一である。特徴量マトリックスM0は、
【数9】
により算出される。N0 s,tは、式(3)にα=0を代入することにより規定されるセグメント領域S0 s,tの内部に含まれるエッジ存在ピクセルの度数である。
【0083】
特徴量マトリックスM0と特徴量マトリックスMini 0,0、0〜Mini p,q,rとを用いて、移動体2の位置及び姿勢の同定の際に撮影された撮像画像と、事前撮像画像との対比が行われる。撮像画像と事前撮像画像との対比のために、これらが類似している程度を示す類似度Li,j,kが算出される。類似度Li,j,kの算出は、SSDA(Sequential Similarity Detection Algorithm)、SAD(Sum of Absolute Difference)、相関法のいずれを用いることも可能である。
【0084】
SSDAが使用される場合、類似度Li,j,kは、
【数10】
により算出される。ここでSSDAi,j,kは、
【数11】
であり、εは、0で割る演算を防止するために用いられる所定の微小値である。
【0085】
一方、SADが使用される場合、類似度Li,j,kは、
【数12】
により算出される。ここでSADi,j,kは、
【数13】
であり、εは、0で割る演算を防止するために用いられる所定の微小値である。
【0086】
更に、相関法が使用される場合、類似度Li,j,kは、
【数14】
により算出される。
【0087】
移動体2の位置及び姿勢は、類似度Li,j,kから同定される。類似度Li,j,kを最大にするi,j,kをそれぞれ、i1,j1,k1として、移動体2の位置(x,y)は、(xi1,yj1)と同定され、移動体2の姿勢θは、θk1と同定される。
【0088】
以上で、移動体2の位置(x,y)と姿勢θとを算出する処理が完了する。以上の処理は、演算装置6が自己位置/姿勢同定プログラム7b’を実行することにより実現されている。
【0089】
実施の第2形態では、実施の第1形態と同様に、該自己位置/姿勢同定装置の稼動の前に予め撮影された事前撮影画像と、移動体2の位置及び姿勢の同定のために撮影された撮影画像とが対比され、この対比により、移動体2の位置及び姿勢の同定が行われる。移動体2の位置及び姿勢の同定のために、蛍光灯やマーカのような特別な構造体を天井に設けることを必要としない。
【0090】
更に、実施の第2形態では、実施の第1形態と同様に、移動体2の位置及び姿勢の同定の際に撮影される撮像画像と事前撮像画像とを円周方向に微分することによってエッジ画像が生成され、該エッジ画像を使用して撮像画像と事前撮像画像との対比が行われる。このようなエッジ画像を用いて移動体2の位置及び姿勢の同定を行うことにより、移動体2の位置及び姿勢の同定の精度を向上することができる。
【0091】
更に実施の第2形態では、移動体2の位置及び姿勢の同定のために撮影された撮影画像を回転する回転処理が行われず、実施の第1形態に比較して、移動体2の位置及び姿勢の同定のために必要な演算量の抑制が可能である。但し、実施の第2形態においてテンプレート画像データベース7a’に蓄積する必要があるデータ量は、実施の第1形態においてテンプレート画像データベース7aに蓄積する必要があるデータ量に比べて大きい。記憶装置7の記憶容量を小さくする観点では、実施の第1形態が好ましい。
【0092】
なお、実施の第2形態では、特徴量マトリックスMini 0,0,0〜Mini p,q,rは、位置(x0,y0)〜(xp,yq)のそれぞれについて、且つ、姿勢θ0〜θrのそれぞれについて撮像された事前撮像画像から生成されているが、一の姿勢θ0についてのみ撮像された事前撮像画像からMini 0,0,0〜Mini p,q,0が生成され、姿勢θ0以外の姿勢については、該撮像された事前撮像画像を回転した画像から、特徴量マトリックスMini 0,0,1〜Mini p,q,rが生成されることも可能である。これにより、必要な事前撮像画像の数を減少することができる。
【0093】
また、実施の第2形態において、より詳細に移動体2の位置(x,y)と姿勢θとを同定するために、移動体2の位置(x,y)と姿勢θとが、類似度Li, j,kのうちの上位N番目までに基づいて算出されることも可能である。この場合、類似度Li,j、kが第δ番目に大きくなるようなi,j,kを、それぞれ、iδ、jδ、kδとして、移動体2の位置のx座標は、xi1〜xiNにそれぞれ類似度Li1,j1,k1〜LiN,jN,kNに対応した重み付けを与えて算出した平均値として算出される。同様に、移動体2の位置のy座標は、yi1〜yiNに、それぞれ類似度Li1,j1,k1〜LiN,jN、kNに対応した重み付けを与えて算出した平均値として算出される。同様に、姿勢θは、θk1〜θkNにそれぞれ類似度Li1,j1,k1〜LiN,jN、kNに対応した重み付けを与えて算出した平均値として算出される。このような算出方法は、事前撮影画像が撮影された位置(x0,y0)〜(xp,yq)以外の位置の検出が可能である点で好ましい。
【0094】
また、実施の第2形態において、テンプレート画像データベース7a’には、特徴量マトリックスMini 0,0,0〜Mini p,q,rの代わりに、事前撮影画像そのものを示すデータ、事前撮影画像から生成されたエッジ画像を示すデータ、又は、エッジ画像から生成された2値化エッジ画像を示すデータのいずれを保存しておくことが可能である。この場合、類似度Li,j、kの算出のときに、テンプレート画像データベース7a’から事前撮影画像、エッジ画像、又は、2値化エッジ画像が読み出され、読み出された画像から、上述と同一の方法により、特徴量マトリックスMini i,j,kが算出される。類似度Li,j,kの算出では、算出された特徴量マトリックスMini i,j,kが使用される。但し、特徴量マトリックスMini 0,0,0〜Mini p,q,rは、データ量を小さくすることが容易であり、特徴量マトリックスMini 0,0,0〜Mini p,q,rをテンプレート画像データベース7a’に記憶することは、大きな記憶領域を必要としない点で好ましい。
【0095】
また、実施の第2形態でも、実施の第1形態と同様に、有効撮像領域Reffの一部を対比することによって移動体2の位置及び姿勢を同定することが可能である。これにより、撮像画像の撮影毎に、構造体の形状が変動する領域を除いて、移動体2の位置及び姿勢を同定することが可能になる。
【0096】
この場合、実施の第1形態と同様に、有効撮像領域Reffの周辺部が対比に使用されないことが好ましい。即ち、有効撮像領域Reffの半径をreffとし、rmaxをreffより小さい正数として、有効撮像領域Reffのうち、
0≦r≦rmax(<reff),
なる領域のみが、移動体2の位置及び姿勢の同定のときに撮影される撮像画像と事前撮影画像との対比において使用されることが好ましい。有効撮像領域Reffの周辺部が対比から排除されることにより、人のような移動可能な構造体の存在の影響を排除することができる。
【0097】
また、実施の第2形態において、日照、照明、物の配置上等の環境条件が異なる状態で、一の位置から複数の事前撮像画像が撮像され、該事前撮像画像からそれぞれ生成された特徴量マトリックスが、移動体2の位置及び姿勢の同定のときに撮影される撮像画像と事前撮影画像との対比において使用されることが可能である。位置(xi,yj)及び姿勢θkについて、第1〜第g環境条件で撮像された事前撮像画像から撮像された特徴量マトリックスをそれぞれMini i,j,k 1〜Mini i,j,k gとすると、特徴量マトリックスMini i,j,kの代わりに特徴量マトリックスMini i,j,k 1〜Mini i,j,j gをそれぞれ使用することにより、特徴量マトリックスMini i,j,k 1〜Mini i,j,k gのそれぞれについて上述の類似度Li,j,kが算出される。類似度Li,j,kを最大にするような位置(xi,yj)及び姿勢θkが、それぞれ、移動体2の位置(x、y)及び姿勢θと定められる。
【0098】
また、実施の第2形態において、実施の第1形態と同様に、移動体2が存在し得る位置を考慮することにより、位置の探索範囲を減少することが可能である。この場合、実施の第1形態と同様に、時刻を測定する時計装置が制御コンピュータ4に追加され、移動体2の位置及び姿勢の同定が行われる毎に、該同定が行われた時刻が記憶装置7に記録される。新たに位置及び姿勢の同定が行われる場合、最も最近に位置及び姿勢の同定が行われた時刻と、移動体2の最大移動速度とから、移動体2の存在し得る存在範囲が特定される。類似度Li,j,kの算出は、位置(xi、yj)が該存在範囲の内部にあるi,jについてのみ実行される。これにより、算出対象である類似度Li,j,kの数が減少され、移動体2の位置及び姿勢の同定に必要な演算量を減少することができる。
【0099】
また、実施の第2形態においては、移動体2の位置と姿勢の両方が同定されているが、必要に応じて、位置と姿勢のうちのいずれか一方のみが同定されることも可能である。
【0100】
【発明の効果】
本発明により、天井に蛍光灯やマーカのような特別な構造体を設けなくても室内移動体の位置及び姿勢の同定が可能な自己位置/姿勢同定装置が提供される。
【0101】
また、本発明により、室内移動体の位置及び姿勢を一層に正確に同定できる自己位置/姿勢同定装置が提供される。
【0102】
また、本発明により、室内移動体の位置及び姿勢を同定するために必要な演算量、及びデータ量を抑制することが可能な自己位置/姿勢同定装置が提供される。
【図面の簡単な説明】
【図1】図1は、本発明による自己位置/姿勢同定装置の実施の第1形態を示す。
【図2】図2は、実施の第1形態の自己位置/姿勢同定装置が搭載された移動体2が使用される部屋1を示す。
【図3】図3は、移動体2の姿勢θの定義を示す。
【図4】図4は、有効撮像領域Reffを示す。
【図5】図5は、テンプレート画像データベース7aの内容を示す。
【図6】図6は、エッジ画像が抽出される態様を示す。
【図7】図7は、エッジ画像が2値化されて2値化エッジ画像が生成される過程を示す。
【図8】図8は、セグメント領域Sini s,tの決定方法を示す。
【図9】図9は、セグメント領域Sini s,tに含まれるエッジ存在ピクセルの度数の算出方法を示す。
【図10】図10は、エッジ存在ピクセルの度数のヒストグラムを示す。
【図11】図11は、エッジ存在ピクセルの度数から、特徴量マトリックスが生成される過程を示す。
【図12】図12は、移動体2の位置及び姿勢が同定される過程を示すフローチャートである。
【図13】図13は、セグメント領域Sα s,tの決定方法と、セグメント領域Sα s,tに含まれるエッジ存在ピクセルの度数の算出方法とを示す。
【図14】図14は、実施の第1形態の自己位置/姿勢同定装置の変形例を示す。
【図15】図15は、本発明による自己位置/姿勢同定装置の実施の第2形態を示す。
【図16】図16は、テンプレート画像データベース7a’の内容を示す。
【符号の説明】
1:部屋
2:移動体
3:カメラ
4:制御コンピュータ
5:インターフェース
6:演算装置
7:記憶装置
7a、7a’:テンプレート画像データベース
7b、7b’:自己位置/姿勢同定プログラム
8:時計装置
Claims (13)
- 部屋の内部で使用される移動体の位置、及び/又は姿勢を同定する自己位置/姿勢同定装置であって、
前記移動体に搭載され、前記部屋の床面と実質的に垂直である天井方向に向けられたカメラと、
前記移動体の位置、及び/又は姿勢の同定の前に前記カメラによって前記部屋の複数の位置からそれぞれ撮像された複数の事前撮像画像からそれぞれ生成された複数の事前撮像データを保持するテンプレート画像データベースと、
前記カメラによって撮像された撮像画像と前記複数の事前撮像データとに基づいて、前記撮像画像が撮像された時点における前記移動体の位置、及び/又は姿勢を同定する演算装置
とを備えた
自己位置/姿勢同定装置。 - 請求項1に記載の自己位置/姿勢同定装置において、
前記事前撮像画像が撮像される時の前記移動体の姿勢は、一定であり、
前記演算装置は、前記撮像画像を互いに異なる角度に回転した複数の回転画像と前記事前撮像画像とを対比することにより、前記移動体の位置及び姿勢を同定する
自己位置/姿勢同定装置。 - 請求項1に記載の自己位置/姿勢同定装置において
前記複数の事前撮像画像は、同一の位置から前記移動体の姿勢が異なる状態で撮像された異姿勢事前撮像画像を含む
自己位置/姿勢同定装置。 - 請求項1に記載の自己位置/姿勢同定装置において
前記複数の事前撮像画像は、互いに異なる環境条件で撮像された異環境条件撮像画像を含む
自己位置/姿勢同定装置。 - 請求項1に記載の自己位置/姿勢同定装置において、
前記カメラの撮像対象は、前記複数の事前撮像画像と前記撮像画像とにおいて、実質的に円形である有効撮像領域に写され、
前記複数の事前撮像データは、前記有効撮像領域の中心を原点として定められる極座標系の円周方向に前記複数の事前撮像画像をそれぞれ微分することによって得られる複数の事前撮像エッジ画像から生成され、
前記演算装置は、前記撮像画像を前記極座標系の前記円周方向に微分することによってエッジ画像を生成し、前記エッジ画像と前記複数の事前撮像データとに基づいて前記移動体の位置、及び/又は姿勢を同定する
自己位置/姿勢同定装置。 - 請求項5に記載の自己位置/姿勢同定装置において、
前記カメラは、魚眼レンズを含み、
前記撮像画像と前記複数の事前撮像画像とは、いずれも、前記魚眼レンズを通して撮影される
自己位置/姿勢同定装置。 - 請求項5に記載の自己位置/姿勢同定装置において、
前記複数の事前撮像データは、前記複数の事前エッジ画像からそれぞれ抽出された前記複数の事前撮像画像の特徴量をそれぞれ示す複数の事前撮像画像特徴量データであり、
前記演算装置は、前記エッジ画像から、前記撮像画像の特徴量を示す特徴量データを抽出し、前記特徴量データと前記複数の事前撮像画像特徴量データとから前記移動体の位置、及び/又は姿勢を同定する
自己位置/姿勢同定装置。 - 請求項5に記載の自己位置/姿勢同定装置において、
前記有効撮像領域には、複数の領域が規定され、
前記複数の事前撮像データは、前記複数の領域のそれぞれに含まれる、前記事前撮像画像に撮像されている構造体のエッジの量に対応した値で構成される事前撮像画像特徴量データであり、
前記演算装置は、前記エッジ画像から、前記複数の領域のそれぞれに含まれる前記撮像画像に撮像されている構造体のエッジの量に対応した値で構成される特徴量データを抽出し、前記特徴量データと前記事前撮像画像特徴量データとから、前記移動体の位置、及び/又は姿勢を同定する
自己位置/姿勢同定装置。 - 請求項1に記載の自己位置/姿勢同定装置において、
更に、
過去の時点における前記移動体の過去位置と、前記移動体が前記過去位置に存在した存在時刻とを保存する記憶装置
を備え、
前記演算装置は、前記過去位置と前記存在時刻とに基づいて前記移動体の存在可能範囲を算出し、前記事前撮像画像のうち、前記存在可能範囲にある位置から撮像されたものから生成された存在可能範囲事前撮像データを、前記複数の事前撮像データのうちから選択し、前記存在可能範囲事前撮像データと前記撮像画像から前記移動体の位置、及び/又は姿勢を同定する
自己位置/姿勢同定装置。 - 請求項1に記載の自己位置/姿勢同定装置において、
前記複数の事前撮像データは、前記複数の事前撮像画像のそれぞれから切り出された複数の部分事前撮像画像から生成され、
前記演算装置は、前記撮像画像から切り出された部分撮像画像と、前記複数の事前撮像データとに基づいて前記移動体の位置、及び/又は姿勢を同定する
自己位置/姿勢同定装置。 - 請求項10に記載の自己位置/姿勢同定装置において、
前記複数の事前撮像画像と前記撮像画像とにおいて、前記カメラの撮像対象は、実質的に円形である有効撮像領域に写され、
前記有効撮像領域には、中央部と前記中央部を取り囲む周辺部とが定められ、前記複数の部分事前撮像画像は、前記複数の事前撮像画像それぞれのうちの前記中央部に対応する部分であり、
前記部分撮像画像は、前記撮像画像のうちの前記中央部に対応する部分である
自己位置/姿勢同定装置。 - 部屋の内部で使用される移動体の位置、及び/又は姿勢を同定する自己位置/姿勢同定方法であって、
(A)前記移動体の位置、及び/又は姿勢の同定の前に、前記部屋の複数の位置のそれぞれから、前記移動体に搭載され、且つ、前記部屋の床面と実質的に垂直である天井方向に向けられたカメラによって複数の事前撮像画像を撮像するステップと、
(B)前記複数の事前撮像画像のそれぞれから、複数の事前撮像データをそれぞれ生成して保存するステップと、
(C)前記カメラによって撮像画像を撮像するステップと、
(D)前記撮像画像と前記複数の事前撮像データとに基づいて、前記撮像画像が撮像された時点における前記移動体の位置、及び/又は姿勢を同定するステップ
とを備えた
自己位置/姿勢同定方法。 - 請求項12に記載の自己位置/姿勢同定方法において、
前記カメラの撮像対象は、前記複数の事前撮像画像と前記撮像画像とにおいて、実質的に円形である有効撮像領域に写され、
前記(B)ステップは、
(B1) 前記複数の事前撮像画像を、前記有効撮像領域の中心を原点として定められる極座標系の円周方向にそれぞれ微分することによって複数の事前撮像エッジ画像をそれぞれ生成するステップと、
(B2)前記複数の事前撮像エッジ画像のそれぞれから、前記複数の事前撮像データをそれぞれ生成して保存するステップ
とを含み、
前記(D)ステップは、
(D1)前記撮像画像を前記極座標系の前記円周方向に微分することによってエッジ画像を生成するステップと、
(D2)前記エッジ画像と前記複数の事前撮像データとに基づいて前記移動体の位置、及び/又は姿勢を同定するステップ
とを含む
自己位置/姿勢同定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002170513A JP2004012429A (ja) | 2002-06-11 | 2002-06-11 | 自己位置/姿勢同定装置、及び自己位置/姿勢同定方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002170513A JP2004012429A (ja) | 2002-06-11 | 2002-06-11 | 自己位置/姿勢同定装置、及び自己位置/姿勢同定方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004012429A true JP2004012429A (ja) | 2004-01-15 |
Family
ID=30436746
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002170513A Withdrawn JP2004012429A (ja) | 2002-06-11 | 2002-06-11 | 自己位置/姿勢同定装置、及び自己位置/姿勢同定方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004012429A (ja) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006209770A (ja) * | 2005-01-25 | 2006-08-10 | Samsung Electronics Co Ltd | 移動体の位置の推定及び地図の生成装置とその方法、並びにその装置を制御するコンピュータプログラムを保存するコンピュータで読み取り可能な記録媒体 |
JP2006227973A (ja) * | 2005-02-18 | 2006-08-31 | Kyushu Institute Of Technology | 物体追跡方法および物体追跡装置ならびにプログラム |
JP2007316966A (ja) * | 2006-05-26 | 2007-12-06 | Fujitsu Ltd | 移動ロボット、その制御方法及びプログラム |
KR100784125B1 (ko) | 2006-09-28 | 2007-12-12 | 전자부품연구원 | 단일 카메라를 이용한 이동 로봇의 랜드 마크의 좌표 추출방법 |
KR100926601B1 (ko) | 2007-12-31 | 2009-11-11 | 고려대학교 산학협력단 | 천장 영상 기반 이동 로봇 장치 및 이의 위치 인식 방법 |
JP2009545457A (ja) * | 2006-07-31 | 2009-12-24 | ピルツ ゲーエムベーハー アンド コー.カーゲー | 機械の衝突防止のためのカメラを利用した監視方法及び装置 |
KR100978585B1 (ko) * | 2008-02-29 | 2010-08-27 | 울산대학교 산학협력단 | 로봇 |
JP2011227037A (ja) * | 2010-03-31 | 2011-11-10 | Aisin Aw Co Ltd | 画像処理システム及び位置測位システム |
US20120182426A1 (en) * | 2009-09-30 | 2012-07-19 | Panasonic Corporation | Vehicle-surroundings monitoring device |
JP2013206430A (ja) * | 2012-03-29 | 2013-10-07 | Fujitsu Ltd | 画像処理装置、画像処理方法および画像処理プログラム |
US9104702B2 (en) | 2010-10-06 | 2015-08-11 | Nec Corporation | Positioning system |
US9402151B2 (en) | 2011-08-27 | 2016-07-26 | Korea University Research And Business Foundation | Method for recognizing position of mobile robot by using features of arbitrary shapes on ceiling |
JP2019133659A (ja) * | 2018-01-29 | 2019-08-08 | 光禾感知科技股▲ふん▼有限公司Osense Technology Co., Ltd. | 分散型室内位置決めシステム及びその方法 |
JP2019139642A (ja) * | 2018-02-14 | 2019-08-22 | 清水建設株式会社 | 位置検出装置、位置検出システム、及び位置検出方法 |
US10679072B2 (en) | 2017-02-07 | 2020-06-09 | Fujitsu Limited | Moving-object position estimating system, information processing apparatus and moving-object position estimating method |
-
2002
- 2002-06-11 JP JP2002170513A patent/JP2004012429A/ja not_active Withdrawn
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006209770A (ja) * | 2005-01-25 | 2006-08-10 | Samsung Electronics Co Ltd | 移動体の位置の推定及び地図の生成装置とその方法、並びにその装置を制御するコンピュータプログラムを保存するコンピュータで読み取り可能な記録媒体 |
US8831872B2 (en) | 2005-01-25 | 2014-09-09 | Samsung Electronics Co., Ltd. | Apparatus and method for estimating location of mobile body and generating map of mobile body environment using upper image of mobile body environment, and computer readable recording medium storing computer program controlling the apparatus |
JP2006227973A (ja) * | 2005-02-18 | 2006-08-31 | Kyushu Institute Of Technology | 物体追跡方法および物体追跡装置ならびにプログラム |
JP4625949B2 (ja) * | 2005-02-18 | 2011-02-02 | 国立大学法人九州工業大学 | 物体追跡方法および物体追跡装置ならびにプログラム |
JP2007316966A (ja) * | 2006-05-26 | 2007-12-06 | Fujitsu Ltd | 移動ロボット、その制御方法及びプログラム |
US9122266B2 (en) | 2006-07-31 | 2015-09-01 | Pilz Gmbh & Co. Kg | Camera-based monitoring of machines with mobile machine elements for collision prevention |
JP2009545457A (ja) * | 2006-07-31 | 2009-12-24 | ピルツ ゲーエムベーハー アンド コー.カーゲー | 機械の衝突防止のためのカメラを利用した監視方法及び装置 |
KR100784125B1 (ko) | 2006-09-28 | 2007-12-12 | 전자부품연구원 | 단일 카메라를 이용한 이동 로봇의 랜드 마크의 좌표 추출방법 |
KR100926601B1 (ko) | 2007-12-31 | 2009-11-11 | 고려대학교 산학협력단 | 천장 영상 기반 이동 로봇 장치 및 이의 위치 인식 방법 |
KR100978585B1 (ko) * | 2008-02-29 | 2010-08-27 | 울산대학교 산학협력단 | 로봇 |
US20120182426A1 (en) * | 2009-09-30 | 2012-07-19 | Panasonic Corporation | Vehicle-surroundings monitoring device |
US9280824B2 (en) * | 2009-09-30 | 2016-03-08 | Panasonic Intellectual Property Management Co., Ltd. | Vehicle-surroundings monitoring device |
JP2011227037A (ja) * | 2010-03-31 | 2011-11-10 | Aisin Aw Co Ltd | 画像処理システム及び位置測位システム |
US9104702B2 (en) | 2010-10-06 | 2015-08-11 | Nec Corporation | Positioning system |
US9402151B2 (en) | 2011-08-27 | 2016-07-26 | Korea University Research And Business Foundation | Method for recognizing position of mobile robot by using features of arbitrary shapes on ceiling |
JP2013206430A (ja) * | 2012-03-29 | 2013-10-07 | Fujitsu Ltd | 画像処理装置、画像処理方法および画像処理プログラム |
US10679072B2 (en) | 2017-02-07 | 2020-06-09 | Fujitsu Limited | Moving-object position estimating system, information processing apparatus and moving-object position estimating method |
JP2019133659A (ja) * | 2018-01-29 | 2019-08-08 | 光禾感知科技股▲ふん▼有限公司Osense Technology Co., Ltd. | 分散型室内位置決めシステム及びその方法 |
JP2019139642A (ja) * | 2018-02-14 | 2019-08-22 | 清水建設株式会社 | 位置検出装置、位置検出システム、及び位置検出方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5715833B2 (ja) | 姿勢状態推定装置および姿勢状態推定方法 | |
US20200175717A1 (en) | Information processing apparatus and method of controlling the same | |
WO2019042426A1 (zh) | 增强现实场景的处理方法、设备及计算机存储介质 | |
JP2004012429A (ja) | 自己位置/姿勢同定装置、及び自己位置/姿勢同定方法 | |
CN103959307B (zh) | 从灰度图像中检测和描述特征的方法 | |
JP5631086B2 (ja) | 情報処理装置及びその制御方法、プログラム | |
CN113508420B (zh) | 物体追踪装置、物体追踪方法以及存储介质 | |
CN106469455B (zh) | 图像处理方法、图像处理设备以及记录介质 | |
CN111966041B (zh) | 机器人的控制方法和装置 | |
JP2013508844A (ja) | 画像のシーケンス内のオブジェクトのリアルタイム表現のハイブリッド型追跡のための方法、コンピュータプログラム、および装置 | |
JPH07129770A (ja) | 画像処理装置 | |
KR20010080219A (ko) | 화상 처리 장치 및 화상 처리 방법 및, 기록 매체 | |
CN108369739B (zh) | 物体检测装置和物体检测方法 | |
Mozos et al. | Interest point detectors for visual slam | |
CN110926330A (zh) | 图像处理装置和图像处理方法 | |
US20160110840A1 (en) | Image processing method, image processing device, and robot system | |
KR20220036803A (ko) | 인쇄회로기판 인식마크 검출 장치 및 방법 | |
JP2003346158A (ja) | 顔画像による顔領域追跡方法 | |
JP2018036901A (ja) | 画像処理装置、画像処理方法および画像処理プログラム | |
US20230100238A1 (en) | Methods and systems for determining the 3d-locations, the local reference frames and the grasping patterns of grasping points of an object | |
JPH08315152A (ja) | 画像認識装置 | |
CN115861060A (zh) | 上层零件提取方法、装置、计算机设备和存储介质 | |
JP2010091525A (ja) | 電子部品のパターンマッチング方法 | |
CN114743264A (zh) | 拍摄行为检测方法、装置、设备及存储介质 | |
CN115239902A (zh) | 移动设备的周边地图建立方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20050906 |