(57)【特許請求の範囲】
【請求項１】
検索対象物をカメラで撮影することにより、前記検索対象物の形状に関するデータを外部データ記憶手段から検索して前記検索対象物を特定する情報検索装置であって、
前記カメラにより撮影された前記検索対象物の撮像データ中から、前記検索対象物に付与されている識別標識を抽出する識別標識抽出手段と、
前記識別標識抽出手段により抽出された前記識別標識に基づいて、前記識別標識の属性情報を予め内部データ記憶手段に記憶されているデータから読み出す属性情報読出手段と、
前記属性情報読出手段により読み出された前記属性情報に基づき前記検索対象物の形状データの情報入手先を特定し、前記外部データ記憶手段から前記検索対象物の形状に関するデータをネットワークを介して検索することにより前記検索対象物の検索範囲を限定するネットワーク検索手段と、
検索した前記検索対象物の形状に関するデータと、前記カメラで撮影した前記検索対象物の形状に関するデータとに基づいて前記検索対象物を判定する判定手段とを備えることを特徴とする情報検索装置。
【請求項２】
請求項１の情報検索装置において、
前記ネットワーク検索手段で検索した前記検索対象物の形状に関するデータは、前記検索対象物に関する３次元モデルデータであり、
前記情報検索装置はさらに、
前記カメラにより撮影された前記識別標識の形状に基づいて、前記検索対象物と前記カメラとの間の３次元的位置関係を推定する位置関係推定手段と、
前記位置関係推定手段により推定された前記３次元的位置関係と、前記ネットワーク検索手段により検索された前記３次元モデルデータとに基づいて、前記カメラが撮影するであろう前記検索対象物のイメージデータを生成するシミュレーションデータ生成手段とを有し、
前記判定手段は、前記シミュレーションデータ生成手段により生成された前記イメージデータと、前記カメラにより実際に撮像された前記検索対象物の画像データとが一致しているか否かを判定し、一致しているとの肯定判定が得られたときには、前記検索対象物は前記外部データ記憶手段に記憶されている対象物であると特定することを特徴とする情報検索装置。
【請求項３】
請求項２に記載の情報検索装置において、
前記判定手段は、前記シミュレーションデータ生成手段により生成された前記イメージデータと、前記カメラにより実際に撮像された前記検索対象物の画像データとが完全に一致していないときには、不一致の部分について何らかの異常が生じていると判定することを特徴とする情報検索装置。
【請求項４】
請求項３に記載の情報検索装置において、
前記判定手段により何らか異常が生じていると判定された部分について、前記カメラにより実際に撮影した撮像データを前記外部データ記憶手段に記憶させる書き込み手段を更に備えることを特徴とする情報検索装置。
【請求項５】
請求項１ないし４のいずれか一項に記載の情報検索装置と、
前記判定手段の判定出力と前記情報検索装置により入手された情報とに基づいて前記検索対象物を操作するロボットハンドの駆動手段と、
を備えたことを特徴とするロボットの動作制御装置。
【請求項６】
請求項５に記載のロボットの動作制御装置において、
前記情報検索装置に含まれている前記ネットワーク検索手段は、前記３次元モデルデータに加えて、前記検索対象物を把持すべき箇所を表す箇所情報、および、前記検索対象物を把持する際の力を表す力情報を前記外部データ記憶手段から読み取ることを特徴とするロボットの動作制御装置。
【請求項７】
検索対象物をカメラで撮影して得た撮像データをコンピュータに入力し、前記コンピュータに接続されているネットワークを介して、前記検索対象物を特定するための関連データを外部データ記憶手段から前記コンピュータが検索する情報検索方法として、
前記カメラにより撮影された前記検索対象物の撮像データ中から、前記検索対象物に付与されている識別標識を前記コンピュータが抽出する識別標識抽出工程と、
前記識別標識抽出工程により抽出された前記識別標識の属性情報を、前記コンピュータの内部データメモリに予め記憶されているデータから前記コンピュータが読み出す属性情報読出工程と、
前記属性情報読出工程により読み出された前記属性情報に基づき、前記検索対象物の形状に関するデータを、前記ネットワークを介して、前記外部データ記憶手段から前記コンピュータが検索することにより検索範囲を限定するネットワーク検索工程と、
検索した前記検索対象物の形状に関するデータと、前記カメラで撮影した前記検索対象物の形状に関するデータとに基づいて前記検索対象物を判定する判定工程と、
を有することを特徴とする情報検索方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、対象物を特定し、特定した対象物に関する情報を検索する情報検索方法、情報検索装置およびロボットの動作制御装置に関する。
【０００２】
【従来の技術】
カメラなどのセンサを塔載するパソコンで対象物の特定を行う場合を考える。パソコンは、カメラで撮像される画像データの中に、自らが記憶している対象物のデータと一致するデータがあるか否かを判定して対象物を特定する。この場合には、あらかじめパソコンに対して、▲１▼対象物の形状、▲２▼対象物の大きさなどの情報を記憶させておく必要がある。
【０００３】
【発明が解決しようとする課題】
このようなパソコンでは、パソコンに特定させようとする対象物の数を多くするほど、あらかじめパソコンに記憶させておく情報量が多くなる。
【０００４】
本発明の目的は、あらかじめ記憶させておく情報量をさほど増やすことなく、数多くの対象物を特定するようにした情報検索方法、情報検索装置、およびロボットの動作制御装置を提供することにある。
【０００５】
【課題を解決するための手段】
本発明に係る情報検索装置は、検索対象物をカメラで撮影することにより、前記検索対象物の形状に関するデータを外部データ記憶手段から検索して前記検索対象物を特定する情報検索装置であって、前記カメラにより撮影された前記検索対象物の撮像データ中から、前記検索対象物に付与されている識別標識を抽出する識別標識抽出手段と、前記識別標識抽出手段により抽出された前記識別標識に基づいて前記識別標識の属性情報を予め内部データ記憶手段に記憶されているデータから読み出す属性情報読出手段と、前記属性情報読出手段により読み出された前記属性情報に基づき前記検索対象物の形状データの情報入手先を特定し前記外部データ記憶手段から前記検索対象物の形状に関するデータをネットワークを介して検索することにより前記検索対象物の検索範囲を限定するネットワーク検索手段と、検索した前記検索対象物の形状に関するデータと前記カメラで撮影した前記検索対象物の形状に関するデータとに基づいて前記検索対象物を判定する判定手段とを備えている。
本発明に係るロボットの動作制御装置は、上記の情報検索装置と、前記判定手段の判定出力と前記情報検索装置により入手された情報とに基づいて前記検索対象物を操作するロボットハンドの駆動手段とを備えている。
本発明に係る情報検索方法は、検索対象物をカメラで撮影して得た撮像データをコンピュータに入力し、前記コンピュータに接続されているネットワークを介して、前記検索対象物を特定するための関連データを外部データ記憶手段からコンピュータが検索する情報検索方法として、前記カメラにより撮影された前記検索対象物の撮像データ中から、前記検索対象物に付与されている識別標識を前記コンピュータが抽出する識別標識抽出工程と、前記識別標識抽出工程により抽出された前記識別標識の属性情報を、前記コンピュータの内部データメモリに予め記憶されているデータから前記コンピュータが読み出す属性情報読出工程と、前記属性情報読出工程により読み出された前記属性情報に基づき、前記検索対象物の形状に関するデータを、前記ネットワークを介して、前記外部データ記憶手段から前記コンピュータが検索することにより検索範囲を限定するネットワーク検索工程と、検索した前記検索対象物の形状に関するデータと、前記カメラで撮影した前記検索対象物の形状に関するデータとに基づいて前記検索対象物を判定する判定工程とを有する。
【０００６】
本発明は、以下に述べる実施の形態により限定されるものではない。
【０００７】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
−第一の実施の形態−
図１は、本発明の第一の実施の形態による情報検索装置の概念を表す図である。図１において、パソコン１１はカメラ１２を備え、カメラ１２は対象物３１を撮影する。カメラ１２で撮影された画像データは、パソコン１１内の不図示の演算回路により画像処理される。パソコン１１には不図示のネットワークインターフェイス回路が備えられており、ネットワークインターフェイス回路を介して、たとえば、インターネットによるネットワーク４１に接続されている。ネットワーク４１には、データベース４２，４３，４４が接続されている。データベース４２〜４４の少なくとも１つには、対象物３１に関する情報が記憶されている。
【０００８】
対象物３１には、タグ３１０が設けられている。タグ３１０は、抽出が容易な特徴が付与されたもので、たとえば、バーコードのように画像データから容易に抽出できるような幾何学的図形や色の組み合わせなどによって表わされる。タグ３１０には、対象物３１の属性情報が与えられている。属性情報は、たとえば、対象物３１を製造したメーカ名、商品名、対象物３１に関する情報が提供されているＵＲＬ（Uniform Resource Locator）などである。タグ３１０によって異なる対象物３１の属性情報を表す場合は、タグ３１０の幾何学的図形の組み合わせや色の組み合わせなどを変化させるだけで、タグ３１０が有する特徴は同じである。
【０００９】
パソコン１１は、▲１▼カメラ１２で撮影される画像データの中からタグ３１０を抽出し(発見段階)、▲２▼抽出したタグ３１０によって与えられる属性情報を読み取る(読み取り段階)。パソコン１１は、必要に応じてカメラ１２のズーミングを調整し、タグ３１０から属性情報を読みとれるようにする。属性情報が読みとれないものは、タグではないとみなす。パソコン１１は、タグ３１０から対象物３１の属性情報を読み取ることにより、対象物３１を特定する。パソコン１１はさらに、▲３▼ネットワーク４１にアクセスして、データベース４２〜４４から対象物３１に関する情報を検索する(情報取得段階)。対象物３１に関する情報は、タグ３１０によって与えられる製造メーカが提供するコンテンツ、タグ３１０によって与えられる情報提供者のＵＲＬのいずれから検索してもよい。
【００１０】
対象物３１にタグ３１０を設けると、パソコン１１は対象物３１を特定するとき、画像データの中から対象物３１の画像ではなく、タグ３１０の画像を探せばよい。タグは、上述したように抽出が容易である上に、それぞれが異なる対象物に設けられているタグであっても共通の特徴を有する。したがって、パソコン１１はタグの形状のデータのみをあらかじめメモリに記憶し、カメラ１２で撮影される画像データの中から、記憶している形状データと一致するタグ３１０の画像を探す。この結果、パソコン１１は、タグ３１０が設けられている対象物３１の形状に係わらず、画像データからタグ３１０のみを探せばよいので、探す処理に要する時間が短縮される。
【００１１】
複数の対象物が用意されているとき、これらの複数の対象物の中から特定の対象物３１を選択する場合は、選択すべき対象物の属性情報をあらかじめパソコン１１のメモリに記憶しておく。パソコン１１は、対象物が複数存在する場合でも、画像データの中からタグのみを抽出し、タグによって与えられる属性情報がメモリに記憶されている属性情報と一致するタグを探す。パソコン１１は、属性情報が一致するタグが設けられている対象物を、選択すべき対象物３１として特定する。パソコン１１は、タグによって与えられる属性情報がメモリに記憶されている属性情報と一致しなければ、画像データの中から別のタグを探す。
【００１２】
もし、対象物３１にタグ３１０が設けられていないと、パソコン１１は特定する対象物３１の形状のデータをあらかじめメモリに記憶し、カメラ１２で撮影される画像データの中から、あらかじめ記憶している形状データと一致する対象物３１の画像を探すことが必要になる。特定しようとする対象物３１の形状が複雑であったり、特定しようとする対象物の種類が多くなると、あらかじめパソコン１１のメモリに記憶させておく形状データが多くなる。また、画像データの中から対象物３１の全体の形状を抽出するので、画像データからタグ３１０のみを抽出する場合に比べて、処理に時間がかかる。
【００１３】
タグ３１０によって属性情報が与えられることで、パソコン１１が対象物３１の情報を入手するために要する時間が短縮される。たとえば、タグ３１０により対象物３１の製造メーカが特定できる場合は、画像データ内の対象物３１が「Ａ社製品のうちのどの製品か」を判断すればよい。対象物３１の製造メーカが特定できない場合は、画像データ内の対象物３１が「全てのメーカの製品のうちのどの製品か」を判断する必要がある。すなわち、タグ３１０が与える属性情報を使えば、対象物３１に関する情報の検索範囲を限定することができる。
【００１４】
なお、タグ３１０が付与されている対象物３１に関する情報は、製造メーカや情報提供者によって、データベース４２〜４４に随時蓄積、更新されている。データベース４２〜４４に蓄積されている情報は、ネットワーク４１を経由して利用することができる。
【００１５】
タグがバーコードで表される場合を例にあげて、タグの抽出処理について説明する。図２は、バーコード３１０が印刷されている箱の一部を撮影した画像である。この画像データに周知の処理を施して微分画像を生成すると、図３の微分画像が得られる。パソコン１１は、この微分画像データを用いてバーコードの特徴の抽出を行う。この場合の特徴は、単方向領域(UNIVAR)の性質、全方向領域(OMNIVAR)の性質、無変動領域(NOVAR)の性質とする。単方向領域の性質については、単方向に領域をベタに埋め尽くす応答、およびエッジに沿った応答(これらをＰＥＧと記す)を算出して抽出する。ここで、エッジとは画像の濃淡値が急激に変化するところである。全方向領域の性質については、端点やコーナでの孤立的応答、端点列に沿った帯状の応答、および等方的テクスチャ領域をベタに埋め尽くす応答(これらをＱＥＧと記す)を算出して抽出する。単方向領域(UNIVAR)および全方向領域(OMNIVAR)に属さないところが無変動領域(NOVAR)である。画像データの単方向領域(UNIVAR)、全方向領域(OMNIVAR)、および無変動領域(NOVAR)には、次式(１)〜(４)の関係が成立する。
【数１】
UNIVAR＋OMNIVAR＋NOVAR＝画像全体           (１)
UNIVAR・OMNIVAR＝φ                        (２)
OMNIVAR・NOVAR＝φ                         (３)
UNIVAR・NOVAR＝φ                          (４)
【００１６】
図３において、単方向領域(UNIVAR)の性質を示す応答ＰＥＧが所定の面積以上、所定の充填率以上、および所定の一様性をもって得られるとき、これらの単方向性領域を連結した連結領域３１０Ｂをバーコードの候補とする。図４はバーコードの例である。図４において、バーによる明暗変化に情報を符号化した方向をコード軸、コード軸に直交する方向をバー軸とする。パソコン１１は、バーの変化方向θＥＧの均質性からバー軸を検出し、バーコード(ここではバーコードの候補)の形状の平行四辺形への適合度からコード軸を検出する。パソコン１１はさらに、バーコードの候補の対向する２辺が無変動領域(NOVAR)に隣接していることをチェックする。
【００１７】
図４のバーコードをカメラ１２で撮影する場合の幾何学モデルは図５のようになる。図５において、カメラ１２によって撮影される像面１２０の中にバーコード３１０の像３１０Ａがある。空間座標(Ｘ,Ｙ,Ｚ)の点の像面座標(ｘ,ｙ)は、次式(５)で表される。なお、図５は幾何学モデルを表すもので、カメラ１２のレンズなどのカメラのパラメータについては省略されている。
【数２】
0004694701.tif 000002
バーコード３１０の中心座標をｖＲ０＝(Ｘ０,Ｙ０,Ｚ０)、コード軸の単位ベクトルをｖｕ＝(ｕｘ,ｕｙ,ｕｚ)、バー軸の単位ベクトルをｖｖ＝(ｖｘ,ｖｙ,ｖｚ)とする。なお、符号の先頭の「ｖ」はベクトルを表す。バーコード３１０の表面に上記単位ベクトルｖｕおよびｖｖで張られる座標を(ξ,η)とすると、バーコード３１０上の点(ξ,η)の３次元座標(Ｘ,Ｙ,Ｚ)は次式(６)〜(８)で表される。
【数３】
0004694701.tif 000003
ただし、ｕｘ２＋ｕｙ２＋ｕｚ２＝１，ｖｘ２＋ｖｙ２＋ｖｚ２＝１である。
【００１８】
したがって、像面１２０上のバーコード３１０の像３１０Ａの座標は、次式(９)、(１０)となる。
【数４】
0004694701.tif 000004
すなわち、バーコードの像３１０Ａの中心の像面座標(ｘ０,ｙ０)、バーコードの像３１０Ａのコード軸上の単位ベクトル、およびバーコードの像３１０Ａのバー軸上の単位ベクトルは、それぞれ次式(１１)〜(１３)で表される。
【数５】
0004694701.tif 000005
パソコン１１は、画像データにおけるバーコードの像３１０Ａの座標を上述したように表して、バーコードの候補の抽出処理と、周知の技術によりバーコードの属性情報を読み取る読み取り処理と、バーコードの形状の検出処理とを行う。パソコン１１は、バーコードの候補から属性情報が読みとれないものは、バーコードでない、すなわち、タグではないとみなす。バーコード(タグ)の形状検出については後述する。
【００１９】
図６は、パソコン１１による特定結果がディスプレイ１１０に表示される例を表す図である。図６において、カメラ１２で対象物３１が撮影される。上述したように、パソコン１１は、カメラ１２で撮影された画像データの中からタグ３１０を抽出し、タグ３１０によって与えられる属性情報を用いて対象物３１に関する情報をネットワーク４１に設けられているデータベース４２を使用して検索する。パソコン１１は、カメラ１２で撮影された画像１１１と、特定結果１１２と、検索して入手した情報１１３とをディスプレイ１１０に同時に表示する。
【００２０】
上述したパソコン１１で行われる情報検索処理の流れを示すフローチャートを図７に示す。図７のステップＳ１１において、パソコン１１は、カメラ１２で撮影される画像データの中からタグ３１０を抽出したか否かを判定する。パソコン１１がタグを抽出(発見)して肯定判定するとステップＳ１２へ進み、タグを抽出できずに否定判定するとステップＳ１７へ進む。ステップＳ１２において、パソコン１１は、属性情報を読み取ることが可能か否かを判定する。パソコン１１が属性情報を読み取り可能であると肯定判定するとステップＳ１３へ進み、読み取り不可能であると否定判定するとステップＳ１１へ戻って別のタグを抽出する。ステップＳ１３において、パソコン１１は、タグ３１０から属性情報を読み取ってステップＳ１４へ進む。
【００２１】
ステップＳ１４において、パソコン１１は、読み取った属性情報から対象物３１の製造メーカおよび商品名を特定してステップＳ１５へ進む。ステップＳ１５において、パソコン１１は、属性情報に含まれるＵＲＬによってネットワーク４１上のデータベース４２〜４４を検索し、対象物３１に関する情報を得る。ステップＳ１６において、パソコン１１は、検索して入手した情報をカメラ１２による画像とともにディスプレイ１１０に表示させて図７の処理を終了する。
【００２２】
上述したステップＳ１１で否定判定されて進むステップＳ１７において、パソコン１１は、タイムアウトか否かを判定する。パソコン１１は、図７の処理が開始されて所定時間が経過している場合に肯定判定して図７の処理を終了する。これは、画像データにタグが発見されない場合に相当する。一方、パソコン１１は、ステップＳ１７において否定するとステップＳ１８に進む。ステップＳ１８において、パソコン１１は、カメラ１２の向きを変えてステップＳ１１へ戻り、画像データの中からタグを抽出する。
【００２３】
以上説明した第一の実施の形態によれば、次の作用効果が得られる。
（１）対象物３１に抽出が容易な特徴を付与したタグ３１０を設け、パソコン１１のカメラ１２で撮影される画像データの中から、対象物３１に設けられているタグ３１０の画像を探して対象物３１を特定するようにした。タグ３１０を抽出容易にした結果、画像データの中から対象物３１の画像を探す場合に比べて、短い時間で対象物３１を抽出できる。また、対象物３１の画像を探すために必要な対象物３１の形状データに比べて、タグ３１０の画像を探すために必要なタグ３１０の形状データの方が少ないので、記憶に必要なメモリの容量を少なくできる。
（２）対象物３１の属性情報をタグ３１０が有するようにしたので、パソコン１１は、タグ３１０から与えられる属性情報によってタグ３１０が設けられている対象物３１を特定することができる。したがって、対象物ごとに異なる属性情報を有するタグを設ければ、パソコン１１は、タグが設けられている対象物の形状に関係なく対象物を特定することができる。また、属性情報に対象物３１に関する情報が提供されているＵＲＬを含めたので、パソコン１１は、ネットワーク４１にアクセスして、データベース４２〜４４から対象物３１に関する情報を検索することが可能になる。
【００２４】
タグ３１０は、バーコードを例に説明したが、カメラ１２で撮影した画像データから検出しやすい形状や色を有するパターン、商標でもよい。
【００２５】
以上の説明では、ネットワーク４１をインターネットとして説明したが、ネットワーク４１は、イントラネットのようにオフィスや学校内などにおいて閉じたものにしてもよい。
【００２６】
また、データベース４２〜４４をパソコン１１のデータストレージ装置として構成し、ネットワーク４１を介さずに対象物に関する情報を入手するようにしてもよい。
【００２７】
−第二の実施の形態−
第二の実施の形態は、ロボットハンドを備えるロボットシステムに本発明を適用した場合の例である。ロボットは、あらかじめティーチング操作することなしに対象物を特定し、特定した対象物をロボットハンドで掴む。図８は、第二の実施の形態によるロボット１１Ａの概念図である。図８において、壁３４，３５および３６に囲まれた部屋の中に、載置台３３が備えられている。載置台３３の上に対象物３２が載置されている。壁３６と壁３８との間には通路３７が設けられている。壁３４〜３６、載置台３３，対象物３２、壁３８および通路３７には、それぞれタグ３４０〜３６０，３３０，３２０，３８０および３７０が設けられている。
【００２８】
ロボット１１Ａは、カメラ１２と、ロボットハンド１３と、移動装置１４とを備える。カメラ１２は対象物３１などを撮影する。カメラ１２で撮影された画像データは、ロボット１１Ａ内の不図示の演算回路により画像処理される。ロボットハンド１３は対象物３２を把持する。ロボットハンド１３は不図示の駆動機構を有し、ロボット１１Ａの演算回路からの指令により駆動される。駆動装置１４は、ロボット１１Ａの演算回路から指令が送られると、ロボット１１Ａを任意の方向に移動させる。また、ロボット１１Ａは不図示のネットワークインターフェイス回路を有し、ネットワークインターフェイス回路を介してネットワーク４１に接続されている。ネットワーク４１には、対象物３２に関する情報を記憶している少なくとも１つのデータベース４２が接続されている。
【００２９】
ロボット１１Ａは、上述した▲１▼タグの発見段階、▲２▼属性情報の読み取り段階、▲３▼対象物に関する情報取得段階の他に、▲４▼タグの形状に関するデータとカメラ１２により撮影されたタグの画像とを比較して、タグが設けられている対象物の姿勢を求め(幾何学情報の取得段階)、▲５▼発見したタグの情報をデータベース４２へ蓄積する。
【００３０】
ロボット１１Ａは、カメラ１２で撮影された画像データの中からタグを抽出する。壁３４〜３６、３７および通路３７に設けられるタグには、現在地などの位置を表す属性情報も与えておく。ロボット１１Ａは、壁３４〜３６、３７および通路に設けられたタグを抽出することで、建物の中でどの位置を移動しているかを検知する。ロボット１１Ａは、位置を表す属性情報を入手すると、ロボット１１Ａがその場所で抽出したタグの情報をデータベース４２に送って蓄積させる。これにより、タグが付与されている対象物の位置情報が、位置を表す属性情報に関連してデータベース４２に蓄積される。
【００３１】
データベース４２には、その場所でどのように行動するかという情報も記憶させておく。たとえば、通路３７のタグ３７０を抽出した場所では、ロボットハンド１３をたたむという情報を記憶させておく。ロボット１１Ａは、タグ３７０を抽出してデータベース４２にアクセスし、ロボットハンド１３をたたむという情報を得るとロボットハンド１３をたたむ。
【００３２】
ロボット１１Ａには、あらかじめ対象物３２を探すようにプログラムされている。カメラ１２で撮影された画像データから抽出したタグが対象物３２のタグ３２０でない場合、ロボット１１Ａは新たなタグを探す。カメラ１２で撮影される画像データに新たなタグが抽出されなくなると、ロボット１１Ａの演算回路の不図示の演算回路は、駆動装置１４に指令を出してロボット１１Ａの向きを変える。
【００３３】
ロボット１１Ａが対象物３２のタグ３２０を抽出すると、タグ３２０によって与えられる属性情報を用いて対象物３２に関する情報をデータベース４２から検索する。ロボット１１Ａが取得する情報は、▲１▼対象物３２のCADデータ(外形および寸法)、▲２▼対象物３２上でタグ３２０が付与されている位置、▲３▼対象物３２の把持すべき箇所(接触してはいけない箇所)、▲４▼対象物３２を把持する際の力などである。ロボット１１Ａはさらに、カメラ１２により撮影される画像データにおけるタグ３２０の形状に基づいて、対象物３２とカメラ１２との間の３次元的な位置関係を推定する。
【００３４】
位置関係の推定は、タグ３２０の外縁を用いて行う。たとえば、タグ３２０がバーコードの場合を例にとれば、カメラ１２がタグ３２０を正面から撮影すると、タグ３２０の外縁が長方形になる。カメラ１２の位置がタグ３２０の正面から外れると、タグ３２０の外縁は、カメラ１２の位置がタグ３２０の正面から外れた距離に応じて変化し、近似平行四辺形として撮影される。ロボット１１Ａは、撮影されたタグ３２０の外縁の歪み具合、すなわち、タグ３２０の形状からカメラ１２とタグ３２０との位置関係を推定する。すなわち、タグ３２０の外縁である近似平行四辺形と、上述したバーの変化方向θＥＧを利用して算出される空間二次曲線とを当てはめて、タグ３２０をどの方向から撮影しているかを推定する。
【００３５】
対象物３２が直方体である場合を例にあげると、カメラ１２の位置座標と姿勢とパラメータ、および対象物３２の位置座標と姿勢は以下のように推定される。ロボット１１Ａは、データベース４２から対象物３２の３次元モデルを取得すると、取得した３次元モデルから平面上にない少なくとも４点の頂点位置情報を得る。たとえば、タグ３２０が設置された面の輪郭線の頂点から３点、その面に接続する別な面の、タグ３２０の設置面の交線とは異なる輪郭線の頂点から１点を選ぶ。ロボット１１Ａは、カメラ１２により撮影される画像データにおいて、これら４つの頂点に相当する位置を探索し、タグ３２０の検出時に得られた対象物３２の概略の位置と姿勢を利用して探索範囲を絞り込む。これにより、画像データにおける頂点の位置座標と３次元モデル上の頂点の位置座標との対応関係を検出し、カメラ１２の正確な位置座標と姿勢とパラメータ、および対象物３２の正確な位置座標と姿勢を推定する。
【００３６】
ロボット１１Ａは、推定したタグ３２０の撮影方向と、ネットワーク４１を介して取得した対象物３２の外形および寸法の情報と、対象物３２上でタグ３２０が付与されている位置の情報とから、カメラ１２によって撮影される対象物３２のイメージデータをシミュレートする。すなわち、カメラ１２に備えられるレンズの焦点距離などを考慮して、カメラ１２を通して撮影されたタグ３２０の像３１０Ａ(図５)の大きさからカメラ１２と対象物３２との距離を推定し、対象物３２のイメージデータを生成する。対象物３２までの距離がロボットハンド１３で掴める距離より長い場合は、駆動装置１４を駆動して対象物３２に近づく。
【００３７】
ロボット１１Ａは、実際にカメラ１２によって撮影された画像データと、生成したイメージデータとがぴったり一致するように、対象物３２とカメラ１２との３次元的な位置関係の推定精度を向上させる。カメラ１２による画像データが生成したデータと一致するか否かの判定は、たとえば、対象物３２の輪郭部分を用いて行う。位置関係の推定精度の向上は、対象物３２までの距離や対象物３２を撮影する方向などを表す値を修正し、再度イメージデータを生成することにより行う。対象物３２の姿勢および位置関係を推定すると、ネットワーク４１を介して得た対象物３２の把持すべき箇所(接触してはいけない箇所)の情報を参照し、ロボットハンド１３を駆動して対象物３２を把持する。
【００３８】
以上のロボット１１Ａで行われる制御処理の流れを示すフローチャートを図９に示す。図９のステップＳ２１〜ステップＳ２５までは図７の処理と同じため説明を省略する。ステップＳ２６において、ロボット１１Ａは、特定した対象物が探している対象物３２であるか否かを判定する。ステップＳ２６において、特定した対象物が探している対象物３２であると肯定判定するとステップＳ２７へ進み、否定判定するとステップＳ３１へ進む。ステップＳ２７において、ロボット１１Ａは、対象物３２の姿勢を推定する。ステップＳ２８において、ロボット１１Ａは、対象物３２がロボットハンド１３で掴める範囲内にあるか否かを判定する。ステップＳ２８において、対象物３２が掴める範囲内にあると肯定判定するとステップＳ２９へ進む。ステップＳ２９において、ロボット１１Ａは、ロボットハンド１３を駆動して対象物３２を把持し、図９の処理を終了する。
【００３９】
ステップＳ２８において、対象物３２が掴める範囲内にないと否定判定されるとステップＳ３０へ進む。ステップＳ３０において、ロボット１１Ａは、駆動装置１４を駆動して対象物３２に近づく。再びステップＳ２７に戻り、ロボット１１Ａは対象物３２の姿勢を推定する。上述したステップＳ２６において、特定した対象物が探している対象物３２でないと否定判定されると、ステップＳ３１へ進む。ステップＳ３１において、ロボット１１Ａは、特定した対象物が壁または通路か否かを判定する。ステップＳ３１において、壁または通路であると肯定判定されるとステップＳ３２へ進む。ステップＳ３２において、ロボット１１Ａは、ステップＳ２５における情報検索で得られた「その場でどのように行動するかの情報」にしたがって、たとえば、ロボットハンド１３をたたむ。ロボットハンド１３がたたまれるとステップＳ３３へ進む。
【００４０】
また、ステップＳ３１において否定判定する場合にもステップＳ３３に進む。ステップＳ３３において、ロボット１１Ａは、抽出(発見)したタグの情報をデータベース４２へ送る。タグの情報がデータベース４２へ送られるとステップＳ２１へ戻り、ステップＳ２１において、画像データから新たなタグが抽出される。
【００４１】
上述したステップＳ２１で否定判定されて進むステップＳ３４において、ロボット１１Ａは、タイムアウトか否かを判定する。ロボット１１Ａは、図９の処理が開始されて所定時間が経過している場合に肯定判定して図９の処理を終了する。これは、画像データに対象物３２のタグ３２０が発見されない場合に相当する。一方、ステップＳ３４において否定されるとステップＳ３５に進む。ステップＳ３５において、ロボット１１Ａは、駆動装置１４を制御して移動する。再びステップＳ２１へ戻り、ロボット１１Ａは、画像データの中から新たなタグを抽出する。
【００４２】
以上説明した第二の実施の形態によれば、次の作用効果が得られる。
（１）対象物３２の属性情報をタグ３２０が有するようにしたので、ロボット１１Ａは、タグ３２０から与えられる属性情報によってタグ３２０が設けられている対象物３２を特定することができる。また、壁３４〜３６、３７および通路３７に設けられるタグは、現在地などの位置を表す属性情報を有するようにしたので、ロボット１１Ａは、壁３４〜３６、３７および通路に設けられたタグを抽出することで、建物の中でどの位置を移動しているかを検知することができる。
（２）ロボット１１Ａがネットワーク４１を介して検索するデータベース４２に、タグが設けられている対象物に関する情報、タグが設けられている場所でどのように行動するかという情報、などを記憶させておくようにしたので、ロボット１１Ａ内のメモリにこれらの情報をあらかじめ記憶させておく必要がない。情報の追加や変更などはデータベース４２側で行えばよいので、情報を管理しやすい。
（３）カメラ１２により撮影されるタグ３２０の形状に基づいて推定したタグ３２０の撮影方向と、ネットワーク４１を介して取得した対象物３２の外形および寸法の情報と、対象物３２上でタグ３２０が付与されている位置の情報とから、カメラ１２によって撮影される対象物３２までの距離を推定し、カメラ１２で撮影される対象物３２のイメージデータを生成する。そして、実際にカメラ１２によって撮影された画像データと、生成したイメージデータとがぴったり一致するように対象物３２とカメラ１２との３次元的な位置関係の推定精度を向上させるようにしたので、ロボットハンド１３を駆動して正確に対象物３２を把持することができる。
【００４３】
ロボット１１Ａと同様の複数のロボットを用いるようにしてもよい。複数のロボットでタグを抽出するとき、他のロボットが検知した情報もデータベース４２に蓄えれば、タグが設けられている全ての物体の配置位置を知るのに要する時間は、ロボットを１台のみ用いる場合より短くできる。そして、ロボットに対して特定の対象物３２を掴むように命令するとき、たとえば、対象物３２に最寄りのロボットに命じることにより、所要時間を最短にすることもできる。
【００４４】
以上の説明では、ロボットハンド１３は対象物を掴むように説明したが、スイッチなどの操作部材を操作するようにしてもよい。この場合には、対象物となる操作部材にタグを設けておき、対象物をどのように取り扱うか、すなわち、操作部材をどのように操作するかの情報をデータベースに記憶しておく。ロボット１１Ａは操作部材のタグを抽出すると操作部材に関する情報をデータベースから取得し、操作部材を操作する。このようなロボット１１Ａは、ベッドの操作部材や食器などにタグを設けておけば介護ロボットとして利用できる。また、工場などで人が近づけない環境下に配設されているパイプや操作部材などにタグを設けておけば、日常点検や非常時に復旧を行う作業ロボットとして利用できる。
【００４５】
−第三の実施の形態−
複数の対象物に同じタグが設けられている場合に、データベースに記憶されている情報と一致する対象物を特定することもできる。図７において、ロボット１１Ａが対象物のタグを抽出すると、タグによって与えられる属性情報を用いて対象物に関する情報を検索する。この場合には、▲１▼対象物のCADデータ(外形および寸法)と、▲２▼対象物上でタグが付与されている位置の情報を取得する。
【００４６】
ロボット１１Ａは、カメラ１２により撮影される画像データにおける各々のタグの形状に基づいて、それぞれの対象物とカメラ１２との間の３次元的な位置関係を推定する。そして、推定したタグの撮影方向と、ネットワーク４１を介して取得した対象物の外形および寸法の情報と、対象物上でタグが付与されている位置の情報とを用いて、各々の対象物のイメージデータをシミュレートする。実際にカメラ１２によって撮影される画像データとぴったり一致するイメージデータは、データベースの情報と一致するタグから生成されたものである。すなわち、このタグが設けられている対象物が、データベースの情報と一致するものである。
【００４７】
なお、一つの視点からとらえた画像データからでは判断できないときには、判断しやすい視点はどこかをCADデータより算出し、その視点へカメラ１２を動かせばよい。たとえば、ＣＲＴディスプレイと液晶ディスプレイとを特定するとき、正面から撮影すると特定しにくいが、ディスプレイを横から撮影すると特定しやすくなる。
【００４８】
カメラ１２で撮影された画像において、画像からエッジを抽出すると、対象物の輪郭線を含む数多くのエッジが抽出される。対象物とカメラ１２との位置関係および対象物の外形が分かっていると、エッジを含めたイメージデータを生成できる。この場合、どのエッジが対象物の輪郭線に相当するかを検出することは容易であるので、実際にカメラ１２によって撮影される画像データと、エッジがぴったり一致するイメージデータを探すことができる。
【００４９】
カメラ１２で撮影される対象物の一部が、障害物などで隠蔽されていても、ロボット１１Ａはデータベースから取得した対象物の外形データから隠蔽されている部分の形状をシミュレートできる。これにより、カメラ１２をどちらに動かせば、すなわち、ロボット１１Ａがどちらに移動すれば、対象物を隠蔽されることなく撮影できるかを判断できる。
【００５０】
以上説明した第三の実施の形態によれば、カメラ１２により撮影されるタグの形状に基づいて推定したタグの撮影方向と、ネットワーク４１を介して取得した対象物の外形および寸法の情報と、対象物上でタグが付与されている位置の情報とから、カメラ１２によって撮影される対象物までの距離を推定し、カメラ１２で撮影される対象物のイメージデータを生成する。そして、実際にカメラ１２によって撮影された対象物の画像データが、生成したイメージデータとぴったり一致するか否かを判定することにより、複数の異なる対象物の中からデータベースに記憶されている情報と一致する対象物を特定できる。これは、たとえば、同一メーカ製の新旧製品の中から、データベースと一致するモデルがどれかを探す場合に適用できる。
【００５１】
−第四の実施の形態−
対象物が破損および変形していないか、あるいは汚れていないかを検査することもできる。図７において、ロボット１１Ａが対象物３２のタグ３２０を抽出すると、タグ３２０によって与えられる属性情報を用いて対象物３２に関する情報を検索する。この場合には、▲１▼対象物のCADデータ(外形、寸法、および色)と、▲２▼対象物３２上でタグ３２０が付与されている位置の情報をネットワーク４１上のデータベース４２から取得する。
【００５２】
ロボット１１Ａは、カメラ１２により撮影される画像データにおけるタグ３２０の形状に基づいて、対象物３２とカメラ１２との間の３次元的な位置関係を推定する。そして、推定したタグ３２０の撮影方向と、ネットワーク４１を介して取得した対象物３２の外形、寸法および色の情報と、対象物３２上でタグ３２０が付与されている位置の情報とを用いて、対象物３２の３次元のイメージデータをシミュレートする。実際にカメラ１２によって撮影される画像データとぴったり一致すれば異常なしと判定し、不一致の部分があれば何らかの異常が生じていると判定する。実際にカメラ１２によって撮影された画像データは、検査結果としてネットワーク４１を介してデータベース４２に保存しておき、時間的な変化を蓄積する。
【００５３】
１つの視点からとらえた画像だけでは、対象物の３次元形状を検査できない。一般に、３次元形状の検査はステレオの原理を用いて行われる。この検査は、カメラ１２(ロボット１１Ａ)を移動させて、異なる２つ以上の視点から対象物３２を撮影する。どの視点から対象物３２を撮影するかは、対象物３２の形状に依存する。したがって、対象物３２の検査したい箇所や複雑な形状を有する箇所の情報と、これらの箇所の３次元形状を検査するのに有効な視点の情報、すなわち、カメラ１２を移動させる情報とを、データベース４２に記憶しておく。この場合には、ロボット１１Ａは、タグ３２０によって与えられる属性情報を用いてネットワーク４１にアクセスして情報を検索するとき、３次元形状の検査に必要な情報も取得する。
【００５４】
以上説明した第四の実施の形態によれば、カメラ１２により撮影されるタグの形状に基づいて推定したタグの撮影方向と、ネットワーク４１を介して取得した対象物３２の外形、寸法および色の情報と、対象物３２上でタグ３２０が付与されている位置の情報とから、カメラ１２によって撮影される対象物までの距離を推定し、カメラ１２で撮影される対象物の３次元イメージデータを生成する。そして、実際にカメラ１２によって撮影された対象物の画像データが、生成したイメージデータとぴったり一致するか否かを判定することにより、対象物の検査を行うことができる。これは、工場などの製品検査に適用できる。
【００５５】
以上の説明では、ロボット１１Ａが有線接続によるネットワーク４１を介して情報を取得するようにしたが、無線接続によって情報を取得するようにしてもよい。
【００５７】
【発明の効果】
本発明に係る情報検索装置、ロボットの動作制御装置、および情報検索方法によれば、内部メモリに予め記憶させておく情報量を増加させることなく、検索対象物を的確かつ容易に特定することができる。特に請求項２に係る発明によれば、撮像データとシミュレーションデータとの比較の情報処理量を増加させることなく、検索対象物を的確かつ容易に特定することができる。
【図面の簡単な説明】
【図１】第一の実施の形態による情報検索装置の概念を表す図である。
【図２】バーコードが印刷されている箱の一部の画像を表す図である。
【図３】図２の微分画像を表す図である。
【図４】バーコードの例を表す図である。
【図５】バーコードをカメラで撮影する場合の幾何学モデルを表す図である。
【図６】特定結果がディスプレイに表示される例を表す図である。
【図７】パソコンによる情報検索処理の流れを示すフローチャートである。
【図８】第二の実施の形態によるロボットの概念図である。
【図９】ロボットによる制御処理の流れを示すフローチャートである。
【符号の説明】
１１…パソコン、                      １１Ａ…ロボット、
１２…カメラ、                        １３…ロボットハンド、
１４…移動装置、                      ３１，３２…対象物、
３３…載置台、                        ３４〜３６，３８…壁、
３７…通路、                          ４１…ネットワーク、
４２〜４４…データベース、            １１０…ディスプレイ、
１１１…カメラで撮影された画像、      １１２…特定結果、
１１３…検索して得た情報、
３１０,３２０,３３０,３４０,３５０,３６０,３７０,３８０…タグ
【図１】
0004694701.tif 000006
【図２】
0004694701.tif 000007
【図３】
0004694701.tif 000008
【図４】
0004694701.tif 000009
【図５】
0004694701.tif 000010
【図６】
0004694701.tif 000011
【図７】
0004694701.tif 000012
【図８】
0004694701.tif 000013
【図９】
0004694701.tif 000014