(57)【特許請求の範囲】
【請求項１】
ハンドを可動に備えるロボット本体と、
物体のリファレンスモデルの三次元空間における位置および姿勢を変化させ得られる二次元のリファレンスモデル画像の画像特徴量と、前記物体の撮影画像の画像特徴量とに基づいて、粗の位置データおよび姿勢データを検出し、前記検出した前記位置データおよび前記姿勢データにしたがって、前記リファレンスモデルの前記三次元空間における位置および姿勢のデータに基づき、詳細な位置データおよび姿勢データを検出し、前記検出した前記位置データおよび前記姿勢データに基づいて前記ロボット本体を制御し、前記ハンドの位置および姿勢を変更させる制御部と、
を備えることを特徴とするロボット装置。
【請求項２】
前記制御部は、
前記三次元空間における位置および姿勢を変化させて得られる、前記リファレンスモデルの位置データと姿勢データと二次元のリファレンスモデル画像の画像特徴量とを対応付けた特徴量テーブルと、前記撮影画像の画像特徴量とに基づいて、複数組の位置データおよび姿勢データを抽出し、抽出した複数組の位置データおよび前記姿勢データにしたがって前記リファレンスモデルの前記三次元空間における位置および姿勢を設定して前記複数組分の二次元画像を取得し、前記撮影画像と前記複数組分の二次元画像それぞれとの相関が最も高い二次元画像に対応する位置データおよび姿勢データを、前記粗の位置データおよび姿勢データとして検出する粗検出部と、
前記粗検出部が検出した位置データおよび姿勢データにしたがって設定した前記リファレンスモデルの前記三次元空間における位置および姿勢により取得した二次元画像と前記撮影画像との相関が最も高い二次元画像に対応する位置データおよび姿勢データを、前記詳細な位置データおよび姿勢データとして検出する詳細検出部と、
を備えることを特徴とする請求項１記載のロボット装置。
【請求項３】
前記粗検出部は、前記撮影画像と前記複数組分の二次元画像それぞれとの差分値の二乗を計算することにより、前記撮影画像と前記複数組分の二次元画像それぞれとの相関が最も高い二次元画像に対応する位置データおよび姿勢データを検出し、
前記詳細検出部は、非線形最小化法により、前記撮影画像と前記二次元画像との相関が最も高い二次元画像を求めて、前記二次元画像に対応する位置データおよび姿勢データを検出する
ことを特徴とする請求項２記載のロボット装置。
【請求項４】
前記非線形最小化法は、最急降下法またはレーベンバーグ・マルカート法であることを特徴とする請求項３記載のロボット装置。
【請求項５】
前記リファレンスモデルは、三次元コンピューターグラフィックスである
ことを特徴とする請求項１〜４いずれか一項記載のロボット装置。
【請求項６】
前記リファレンスモデル画像の画像特徴量は前記リファレンスモデル画像の重心位置を示す座標値であり、
前記撮影画像の画像特徴量は前記撮影画像の重心位置を示す座標値である
ことを特徴とする請求項１〜５いずれか一項記載のロボット装置。
【請求項７】
前記リファレンスモデル画像の画像特徴量は前記リファレンスモデル画像の画像モーメントであり、
前記撮影画像の画像特徴量は前記撮影画像の画像モーメントである
ことを特徴とする請求項１〜５いずれか一項記載のロボット装置。
【請求項８】
２系統のハンドをそれぞれ可動に備えるロボット本体と、
前記ロボット本体を移動可能に支持する搬送部と、
前記２系統のハンドのうち一方のハンドに取り付けられ、物体を撮影して撮影画像を生成する撮影部と、
前記物体のリファレンスモデルの三次元空間における位置および姿勢を変化させ得られる二次元のリファレンスモデル画像の画像特徴量と、前記物体の撮影画像の画像特徴量とに基づいて、粗の位置データおよび姿勢データを検出し、前記検出した前記位置データおよび前記姿勢データにしたがって、前記リファレンスモデルの前記三次元空間における位置および姿勢のデータに基づき、詳細な位置データおよび姿勢データを検出し、前記検出した前記位置データおよび前記姿勢データに基づいて前記ロボット本体を制御し、前記ハンドの位置および姿勢を変更させる制御部と、
を備えることを特徴とするロボット装置。
【請求項９】
物体のリファレンスモデルの三次元空間における位置および姿勢を変化させ得られる二次元のリファレンスモデル画像の画像特徴量と、前記物体の撮影画像の画像特徴量とに基づいて、粗の位置データおよび姿勢データを検出する粗検出ステップと、
前記検出した前記位置データおよび前記姿勢データにしたがって、前記リファレンスモデルの前記三次元空間における位置および姿勢のデータに基づき、詳細な位置データおよび姿勢データを検出する詳細検出ステップと、
を有することを特徴とする位置姿勢検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット装置および位置姿勢検出方法に関する。
【背景技術】
【０００２】
撮像装置が対象物体を撮像して得た対象物体画像と、あらかじめ登録した三次元形状モデルとを照合することにより、対象物体の位置および姿勢を検出する物体照合装置が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００２−１５７５９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、三次元形状モデルを適用する従来の物体照合装置は、対象物体の位置および姿勢を推定するために、三次元直交座標系における並進および回転を示す６変数を用いて計算していた。よって、その物体照合装置は、対象物体の正確な位置および姿勢を推定するために、膨大な時間をかけていた。
本発明は、上記問題を解決するためになされたものであり、三次元モデルを適用した場合の、物体の位置および姿勢の推定にかかる時間を従来よりも短縮する、ロボット装置および位置姿勢検出方法を提供することを目的とする。
【課題を解決するための手段】
【０００５】
［１］上記の課題を解決するため、本発明の一態様であるロボット装置は、ハンドを可動に備えるロボット本体と、物体のリファレンスモデルの三次元空間における位置および姿勢を変化させ得られる二次元のリファレンスモデル画像の画像特徴量と、前記物体の撮影画像の画像特徴量とに基づいて、粗の位置データおよび姿勢データを検出し、前記検出した前記位置データおよび前記姿勢データにしたがって、前記リファレンスモデルの前記三次元空間における位置および姿勢のデータに基づき、詳細な位置データおよび姿勢データを検出し、前記検出した前記位置データおよび前記姿勢データに基づいて前記ロボット本体を制御し、前記ハンドの位置および姿勢を変更させる制御部と、を備えることを特徴とするロボット装置である。
また、本発明の一態様は、２系統のハンドをそれぞれ可動に備えるロボット本体と、前記ロボット本体を移動可能に支持する搬送部と、前記２系統のハンドのうち一方のハンドに取り付けられ、物体を撮影して撮影画像を生成する撮影部と、前記物体のリファレンスモデルの三次元空間における位置および姿勢を変化させ得られる二次元のリファレンスモデル画像の画像特徴量と、前記物体の撮影画像の画像特徴量とに基づいて、粗の位置データおよび姿勢データを検出し、前記検出した前記位置データおよび前記姿勢データにしたがって、前記リファレンスモデルの前記三次元空間における位置および姿勢のデータに基づき、詳細な位置データおよび姿勢データを検出し、前記検出した前記位置データおよび前記姿勢データに基づいて前記ロボット本体を制御し、前記ハンドの位置および姿勢を変更させる制御部と、を備えることを特徴とするロボット装置である。
また、本発明の一態様は、物体のリファレンスモデルの三次元空間における位置および姿勢を変化させ得られる二次元のリファレンスモデル画像の画像特徴量と、前記物体の撮影画像の画像特徴量とに基づいて、粗の位置データおよび姿勢データを検出する粗検出ステップと、前記検出した前記位置データおよび前記姿勢データにしたがって、前記リファレンスモデルの前記三次元空間における位置および姿勢のデータに基づき、詳細な位置データおよび姿勢データを検出する詳細検出ステップと、を有することを特徴とする位置姿勢検出方法である。
また、本発明の一態様は、ハンドを可動に備えるロボット本体と、物体を三次元モデル化して得られたリファレンスモデルを記憶するリファレンスモデル記憶部と、三次元空間における前記リファレンスモデルの位置および姿勢をあらかじめ設定されたきざみで変化させるたびに得られる、前記リファレンスモデルの位置データと姿勢データと二次元のリファレンスモデル画像の特徴量であるリファレンスモデル画像特徴量とを対応付けた特徴量テーブルを記憶する特徴量テーブル記憶部と、前記物体の撮影画像を取り込む撮影画像取得部と、前記撮影画像取得部が取り込んだ前記撮影画像の特徴量である撮影画像特徴量を計算し、前記特徴量テーブル記憶部に記憶された前記特徴量テーブルから、前記撮影画像特徴量に一致するリファレンスモデル画像特徴量を検出して前記リファレンスモデル画像特徴量に対応付けられた複数組の位置データおよび姿勢データを抽出し、前記リファレンスモデル記憶部に記憶された前記リファレンスモデルの前記三次元空間における位置および姿勢を前記複数組の位置データおよび前記姿勢データにしたがって設定して前記複数組分の二次元画像を取得し、前記撮影画像と前記複数組分の二次元画像それぞれとの相関が最も高い二次元画像に対応する位置データおよび姿勢データを検出する検出部と、前記検出部が検出した前記位置データおよび前記姿勢データに基づいて前記ロボット本体を制御し、前記ハンドの位置および姿勢を変更させる駆動制御部と、を備えることを特徴とする。
ここで、ロボット本体は、例えば垂直多関節ロボットである。
このように、本発明の一態様であるロボット装置は、物体に対応する特徴量テーブルをあらかじめ生成して保持しておく。よって、本発明の一態様であるロボット装置は、物体の様々な位置および姿勢に対応付けられた特徴量をあらかじめ有しておくため、物体の撮影画像から特徴量を求めることによって、例えば［ｘ，ｙ，ｚ，θｘ，θｙ，θｚ］Ｔからなる６変数を用いた負荷の重い計算処理を実行することなく、物体の位置および姿勢を求めることができる。
【０００６】
［２］上記［１］記載のロボット装置において、前記検出部が検出した前記位置データおよび前記姿勢データを取り込み、前記リファレンスモデル記憶部に記憶された前記リファレンスモデルの前記三次元空間における位置および姿勢を前記位置データおよび前記姿勢データにしたがって設定して二次元画像を取得し、非線形最小化法により、前記撮影画像と前記二次元画像との相関が最も高い二次元画像を求めて、前記二次元画像に対応する位置データおよび姿勢データを検出する詳細検出部をさらに備え、前記駆動制御部は、前記詳細検出部が検出した前記位置データおよび前記姿勢データに基づいて前記ロボット本体を制御し、前記ハンドの位置および姿勢を変更させることを特徴とする。
ここで、詳細検出部は、非線形最小化法として、例えば、最急降下法、レーベンバーグ・マルカート法等を適用する。
このように、詳細検出部をさらに備えることにより、本発明の一態様であるロボット装置は、物体の位置および姿勢をより正確に検出してロボット本体を制御することができる。
［３］上記［２］記載のロボット装置において、前記非線形最小化法は、最急降下法であることを特徴とする。
［４］上記［２］記載のロボット装置において、前記非線形最小化法は、レーベンバーグ・マルカート法であることを特徴とする。
［５］上記［１］から［４］いずれか一項記載のロボット装置において、前記リファレンスモデルは、三次元コンピューターグラフィックスであることを特徴とする。
リファレンスモデルを三次元コンピューターグラフィックスにより実現すると、例えば、コンピューター装置等は、物体またはリファレンスの設計図、Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ（ＣＡＤ）図等に基づいて、リファレンスモデルを容易に生成することができる。
［６］上記［１］〜［５］いずれか一項記載のロボット装置において、前記リファレンスモデル画像特徴量は前記リファレンスモデル画像の重心位置を示す座標値であり、前記撮影画像特徴量は前記撮影画像の重心位置を示す座標値であることを特徴とする。
つまり、リファレンスモデル画像特徴量は、特徴量テーブルから位置データおよび姿勢データを抽出するためのキーとなるデータであり、比較的低次元の特徴量とする。
［７］上記［１］〜［５］いずれか一項記載のロボット装置において、前記リファレンスモデル画像特徴量は前記リファレンスモデル画像の画像モーメントであり、前記撮影画像特徴量は前記撮影画像の画像モーメントであることを特徴とする。
このように、画像モーメントをリファレンスモデル画像特徴量とすることにより、リファレンスモデルの形状に応じて的確な特徴量を得ることができる。
【０００７】
［８］上記の課題を解決するため、本発明の一態様であるロボット装置は、２系統のハンドをそれぞれ可動に備えるロボット本体と、前記ロボット本体を移動可能に支持する搬送部と、前記２系統のハンドのうち一方のハンドに取り付けられ、物体を撮影して撮影画像を生成する撮影部と、前記物体を三次元モデル化して得られたリファレンスモデルを記憶するリファレンスモデル記憶部と、三次元空間における前記リファレンスモデルの位置および姿勢をあらかじめ設定されたきざみで変化させるたびに得られる、前記リファレンスモデルの位置データと姿勢データと二次元のリファレンスモデル画像の特徴量であるリファレンスモデル画像特徴量とを対応付けた特徴量テーブルを記憶する特徴量テーブル記憶部と、前記撮影装置が生成した前記撮影画像を取り込む撮影画像取得部と、前記撮影画像取得部が取り込んだ前記撮影画像の特徴量である撮影画像特徴量を計算し、前記特徴量テーブル記憶部に記憶された前記特徴量テーブルから、前記撮影画像特徴量に一致するリファレンスモデル画像特徴量を検出して前記リファレンスモデル画像特徴量に対応付けられた複数組の位置データおよび姿勢データを抽出し、前記リファレンスモデル記憶部に記憶された前記リファレンスモデルの前記三次元空間における位置および姿勢を前記複数組の位置データおよび前記姿勢データにしたがって設定して前記複数組分の二次元画像を取得し、前記撮影画像と前記複数組分の二次元画像それぞれとの相関が最も高い二次元画像に対応する位置データおよび姿勢データを検出する検出部と、前記検出部が検出した前記位置データおよび前記姿勢データに基づいて前記ロボット本体を制御し、前記２系統のハンドのうち他方のハンドの位置および姿勢を変更させる駆動制御部と、を備えることを特徴とする。
ここで、ロボット本体は、例えば２系統のハンドを備えた垂直多関節ロボット（双腕ロボット）である。
このように、本発明の一態様であるロボット装置は、物体に対応する特徴量テーブルをあらかじめ生成して保持しておく。よって、本発明の一態様であるロボット装置は、物体の様々な位置および姿勢に対応付けられた特徴量をあらかじめ有しておくため、物体の撮影画像から特徴量を求めることによって、例えば［ｘ，ｙ，ｚ，θｘ，θｙ，θｚ］Ｔからなる６変数を用いた負荷の重い計算処理を実行することなく、物体の位置および姿勢を求めることができる。
【０００８】
［９］上記の課題を解決するため、本発明の一態様である位置姿勢検出方法は、撮影画像取得部が、物体の撮影画像を取り込む撮影画像取得ステップと、検出部が、前記撮影画像取得ステップにおいて前記撮影画像取得部から取り込まれた前記撮影画像の特徴量である撮影画像特徴量を計算する特徴量計算ステップと、前記検出部が、前記物体を三次元モデル化して得られたリファレンスモデルの、三次元空間における位置および姿勢をあらかじめ設定されたきざみで変化させるたびに得られる、前記リファレンスモデルの位置データと姿勢データと二次元のリファレンスモデル画像の特徴量であるリファレンスモデル画像特徴量とを対応付けた特徴量テーブルを記憶した特徴量テーブル記憶部に記憶された前記特徴量テーブルから、前記撮影画像特徴量に一致するリファレンスモデル画像特徴量を検出して前記リファレンスモデル画像特徴量に対応付けられた複数組の位置データおよび姿勢データを抽出する位置姿勢データ抽出ステップと、前記検出部が、前記リファレンスモデルを記憶したリファレンスモデル記憶部に記憶された前記リファレンスモデルの前記三次元空間における位置および姿勢を前記複数組の位置データおよび前記姿勢データにしたがって設定して前記複数組分の二次元画像を取得する二次元画像取得ステップと、前記検出部が、前記撮影画像と前記複数組分の二次元画像それぞれとの相関が最も高い二次元画像に対応する位置データおよび姿勢データを検出する検出ステップと、を有することを特徴とする。
このように、本発明の一態様である位置姿勢検出方法は、物体に対応する特徴量テーブルをあらかじめ生成して保持しておく。よって、本発明の一態様である位置姿勢検出方法は、物体の様々な位置および姿勢に対応付けられた特徴量をあらかじめ有しておくため、物体の撮影画像から特徴量を求めることによって、例えば［ｘ，ｙ，ｚ，θｘ，θｙ，θｚ］Ｔからなる６変数を用いた負荷の重い計算処理を実行することなく、物体の位置および姿勢を求めることができる。
【０００９】
したがって、本発明の態様によれば、三次元モデルを適用した場合の、物体の位置および姿勢の推定にかかる時間を従来よりも短縮ことができる。
【図面の簡単な説明】
【００１０】
【図１】本発明の第１実施形態であるロボット装置および位置姿勢検出装置を適用したロボットシステムが作業を行う様子を示す、概略の外観図である。
【図２】同実施形態におけるロボットシステムの概略のブロック図である。
【図３】特徴量テーブル生成部が記憶部のメモリー空間上に展開する仮想空間における、仮想カメラとリファレンスモデルとを模式的に示す図である。
【図４】図３の仮想空間において、仮想カメラがリファレンスモデルを被写体としてとらえ、撮影することにより得られるリファレンスモデル画像を模式的に示す図である。
【図５】同実施形態において、位置姿勢検出装置の特徴量テーブル生成部が特徴量テーブルを生成する処理の手順を示すフローチャートである。
【図６】同実施形態において、位置姿勢検出装置の粗検出部が対象物体Ｗの位置および姿勢を検出する処理（粗検出処理）の手順を示すフローチャートである。
【図７】同実施形態において、位置姿勢検出装置の詳細検出部が対象物体Ｗの位置および姿勢を検出する処理（詳細検出処理）の手順を示すフローチャートである。
【図８】本発明の第２実施形態であるロボット装置および位置姿勢検出装置を適用したロボットシステムが作業を行う様子を示す、概略の外観図である。
【図９】本発明の第３実施形態であるロボット装置および位置姿勢検出装置を適用したロボットシステムが作業を行う様子を示す、概略の外観図である。
【図１０】本発明の第４実施形態であるロボット装置および位置姿勢検出装置を適用したロボットシステムが作業を行う様子を示す、概略の外観図である。
【図１１】本発明の第５実施形態であるロボット装置および位置姿勢検出装置を適用したロボットシステムが作業を行う様子を示す、概略の外観図である。
【発明を実施するための形態】
【００１１】
以下、本発明を実施するための形態について、図面を参照して詳細に説明する。
［第１の実施の形態］
本発明の第１実施形態におけるロボットシステムは、対象物体の撮影画像を取得し、この撮影画像に基づいて、ロボット本体に取り付けられた把持部の位置および姿勢を制御し、把持部を対象物体に向けて移動させるシステムである。
【００１２】
［ロボットシステムの構成］
図１は、第１実施形態であるロボット装置および位置姿勢検出装置を適用したロボットシステムが作業を行う様子を示す、概略の外観図である。
同図において、ロボットシステム１は、ロボット本体１０と、把持部１１と、ロボット本体１０の内部に収納されたロボット制御装置２０と、撮影装置３０とを含んで構成される。ロボット本体１０とロボット制御装置２０とはロボット装置に含まれる。
【００１３】
ロボット本体１０は、把持部１１を可動に備える。把持部１１は、物体を把持または挟持可能な爪部を備える。なお、図１では、把持部１１を、その機能を示すために模式的に示してある。
ロボット本体１０は、具体的には、地面に対して固定された支持台１０ａと、旋回可能および屈伸可能に支持台１０ａに連結されたアーム部１０ｂと、旋回可能および首振り可能にアーム部１０ｂに連結されたハンド部（ハンド）１０ｃとを含んで構成される。ロボット本体１０は、例えば６軸垂直多関節ロボットであり、支持台１０ａとアーム部１０ｂとハンド部１０ｃとの連係した動作によって６軸の自由度を有する。
ロボット本体１０は、ロボット制御装置２０による駆動制御によって、把持部１１の位置および姿勢を三次元空間内で自在に変更し、また把持部１１の爪部を開閉させる。
【００１４】
なお、ロボット本体１０は、６軸の自由度を有するものに限られず、例えば、７軸の自由度を有するものであってもよい。また、支持台１０ａを、壁や天井等、地面に対して固定された場所に設置してもよい。
【００１５】
図１に示すように、ロボット本体１０の動作による把持部１１の可動範囲内には、対象物体（物体）Ｗを載置した状態の机Ｄが設置されている。対象物体Ｗは、把持部１１が把持または狭持する対象となる物体であり、本実施形態においては“ねじ”である。
撮影装置３０は、机Ｄ上に載置された対象物体Ｗを撮影して、静止画像または動画像である撮影画像を取得し、この撮影画像をロボット制御装置２０に供給する。撮影装置３０は、例えば、デジタルカメラ装置、デジタルビデオカメラ装置により実現される。
【００１６】
ロボット制御装置２０は、撮影装置３０から供給される、対象物体Ｗの撮影画像を取り込んで、この撮影画像に基づいて対象物体Ｗの位置および姿勢を検出する。そして、ロボット制御装置２０は、これら検出した位置および姿勢に基づいてロボット本体１０の各可動部の動作を制御し、把持部１１を対象物体Ｗに向けて移動させる。
図１において、ロボット制御装置２０は、ロボット本体１０の支持台１０ａ内に収納されている。なお、ロボット制御装置２０は、ロボット本体１０から分離されて設置されてもよい。この場合、ロボット制御装置２０とロボット本体１０とは、例えば通信線（ネットワーク、シリアル通信線等）を介して接続される。
【００１７】
［ロボット制御装置２０の構成］
図２は、ロボットシステム１の概略のブロック図である。同図は、主に、ロボット制御装置２０の機能構成を示している。
同図に示すように、ロボット制御装置２０は、位置姿勢検出装置２１と、駆動制御装置２２とを含んで構成される。
【００１８】
位置姿勢検出装置２１は、対照物体Ｗまたは対象物体Ｗのリファレンスを三次元モデル化して得られた三次元モデルデータ（リファレンスモデル）をあらかじめ記憶する。リファレンスは、対象物体Ｗの理想的な形状、模様、もしくは色彩、またはこれらの組み合わせを有する物体である。リファレンスモデルは、例えば、三次元コンピューターグラフィックス（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ；ＣＧ）である。この三次元ＣＧは、例えば、ポリゴンデータの集合として表される。リファレンスモデルを三次元ＣＧにより実現する場合、例えば、コンピューター装置等は、対象物体Ｗまたはリファレンスの設計図、Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｄｅｓｉｇｎ（ＣＡＤ）図等に基づいて、リファレンスモデルを容易に生成することができる。
【００１９】
位置姿勢検出装置２１は、学習モードおよび実測定モードいずれかに設定されて動作する。学習モードは、リファレンスモデルの位置および姿勢を段階的に変化させるたびに得られる二次元のリファレンスモデル画像に基づいて特徴量（リファレンスモデル画像特徴量）を計算し、リファレンスモデルの位置データおよび姿勢データに特徴量を対応付けた特徴量テーブルを記憶させるモードである。実測定モードは、対象物体Ｗの撮影画像とリファレンスモデル画像の特徴量とに基づいて、対象物体Ｗの位置および姿勢を検出するモードである。ただし、実測定モードにおける対象物体Ｗの位置および姿勢の検出処理として、粗検出処理および詳細検出処理がある。これら粗検出処理および詳細検出処理の詳細については後述する。
【００２０】
位置姿勢検出装置２１は、その機能構成として、リファレンスモデル記憶部２１１と、特徴量テーブル生成部２１２と、特徴量テーブル記憶部２１３と、撮影画像取得部２１４と、粗検出部（検出部）２１５と、詳細検出部２１６とを備える。
【００２１】
リファレンスモデル記憶部２１１は、対象物体Ｗを三次元モデル化して得られたリファレンスモデルを、あらかじめ記憶する。リファレンスモデル記憶部２１１は、例えば半導体記憶装置により実現される。
【００２２】
特徴量テーブル生成部２１２は、図示しない記憶部を備える。特徴量テーブル生成部２１２は、その記憶部のメモリー空間上に、対象物体Ｗのリファレンスモデルが存在する仮想的な三次元空間（仮想空間）を展開し、この仮想空間上にリファレンスモデルを撮影するための仮想的な撮影装置（仮想カメラ）を設定する。仮想カメラがリファレンスモデルを撮影するとは、仮想カメラが被写体としてリファレンスモデルを画角（フレーム）内にとらえて二次元画像を取得することである。この二次元画像をリファレンスモデル画像という。
【００２３】
特徴量テーブル生成部２１２は、仮想空間においてリファレンスモデルの位置および姿勢を段階的にあらかじめ設定されたきざみで変化させ、仮想カメラにリファレンスモデルの撮影画像であるリファレンスモデル画像を繰り返し取得させる。つまり、特徴量テーブル生成部２１２は、仮想空間における、リファレンスモデルの様々な位置および姿勢による複数のリファレンスモデル画像を取得する。そして、特徴量テーブル生成部２１２は、リファレンスモデル画像の特徴量（リファレンスモデル画像特徴量）を計算し、そのリファレンスモデル画像に対応するリファレンスモデルの位置データおよび姿勢データにその特徴量を対応させたレコードをリファレンスモデル画像ごとに追記した特徴量テーブルを生成する。特徴量テーブル生成部２１２は、生成した特徴量テーブルを特徴量テーブル記憶部２１３に供給する。
【００２４】
なお、特徴量テーブル生成部２１２がリファレンスモデルの位置および姿勢を段階的に変化させる変化度合は、粗検出部２１５および詳細検出部２１６が対象物体Ｗの位置および姿勢を検出する精度に影響する。変化度合を小さくする（きざみを少なくする）と、粗検出部２１５および詳細検出部２１６による検出精度は高くなる。一方で、特徴量テーブルのレコード数は多くなる。本実施形態において、位置姿勢検出装置２１は、粗検出部２１５で粗検出処理、その後段の詳細検出部２１６で詳細検出処理を実行する構成を有する。よって、特徴量テーブル生成部２１２がリファレンスモデルの位置および姿勢を段階的に変化させる変化度合は、特徴量テーブルの容量、位置姿勢検出装置２１に求められる位置および姿勢の検出精度等に応じて適宜決定される。
【００２５】
特徴量テーブル記憶部２１３は、特徴量テーブル生成部２１２から供給される特徴量テーブルを取り込んで記憶する。言い換えると、特徴量テーブル記憶部２１３は、仮想空間におけるリファレンスモデルの位置および姿勢を段階的に変化させるたびに得られる、リファレンスモデルの位置データと姿勢データと二次元のリファレンスモデル画像の特徴量（リファレンスモデル画像特徴量）とを対応付けた特徴量テーブルを記憶する。特徴量テーブル記憶部２１３は、例えば半導体記憶装置により実現される。
【００２６】
撮影画像取得部２１４は、撮影装置３０から供給される、対象物体Ｗの撮影画像を取り込み、この撮影画像を粗検出部２１５に供給する。
【００２７】
粗検出部２１５は、撮影画像取得部２１４から供給される撮影画像を取り込み、この撮影画像の特徴量（撮影画像特徴量）を計算する。そして、粗検出部２１５は、特徴量テーブル記憶部２１３に記憶された特徴量テーブルから、撮影画像特徴量に略一致（一致を含む。以下同様。）するリファレンスモデル画像特徴量に対応付けられた、複数組の位置データおよび姿勢データを抽出する。そして、粗検出部２１５は、リファレンスモデル記憶部２１１に記憶されたリファレンスモデルを読み込み、抽出された位置データおよび姿勢データにしたがってリファレンスモデルの位置および姿勢を設定する。そして、粗検出部２１５は、仮想カメラにリファレンスモデルを撮影させて複数組分のリファレンスモデル画像（二次元画像）を取得する。
【００２８】
そして、粗検出部２１５は、撮影画像と複数組分の二次元画像それぞれとの相関を計算し、この相関が最も高い二次元画像に対応する位置データおよび姿勢データを、粗検出結果として詳細検出部２１６に供給する。相関の計算として、例えば、撮影画像とリファレンスモデル画像との相違度を計算し、この相違度が最も小さい場合を相関が最も高い場合とする。または、撮影画像とリファレンスモデル画像との類似度を計算し、この類似度が最も大きい場合を相関が最も高い場合としてもよい。また、粗検出部２１５は、撮影画像を詳細検出部２１６に供給する。
【００２９】
詳細検出部２１６は、粗検出部２１５から供給される、粗検出結果である位置データおよび姿勢データと、撮影画像とを取り込む。そして、詳細検出部２１６は、リファレンスモデル記憶部２１１に記憶されたリファレンスモデルを読み込み、取り込んだ位置データおよび姿勢データにしたがってリファレンスモデルの位置および姿勢を設定する。そして、詳細検出部２１６は、仮想カメラにリファレンスモデルを撮影させてリファレンスモデル画像（二次元画像）を取得する。そして、詳細検出部２１６は、非線形最小化法により、撮影画像と二次元画像との相関が最も高い二次元画像を求めて、この二次元画像に対応する位置データおよび姿勢データ（詳細検出結果）を、対象物体Ｗの位置および姿勢を示すデータとして駆動制御部２２に供給する。詳細検出部２１６は、非線形最小化法として、例えば、最急降下法、レーベンバーグ・マルカート法等を適用する。
【００３０】
位置姿勢検出装置２１は、詳細検出部２１６を備えることにより、対象物体Ｗの位置および姿勢をより正確に検出することができる。
【００３１】
なお、位置姿勢検出装置２１は、詳細検出部２１６を省略し、粗検出部２１５の粗検出結果を、対象物体Ｗの位置および姿勢を示すデータとして駆動制御装置２２に供給するようにしてもよい。
また、位置姿勢検出装置２１は、位置姿勢検出装置２１に求められる検出精度に応じて、粗検出結果と詳細検出結果とのうちいずれか一方を選択し、対象物体Ｗの位置および姿勢を示すデータとして駆動制御装置２２に供給するようにしてもよい。
【００３２】
駆動制御装置２２は、位置姿勢検出装置２１が仮想空間上に設ける座標系（カメラ座標系）と、ロボット本体１０に適用する座標系（ロボット座標系）との対応付けを行う。言い換えると、駆動制御装置２２は、位置姿勢検出装置２１に適用するカメラ座標系と、ロボット本体１０に適用するロボット座標系とのキャリブレーション処理（較正処理）を行う。
【００３３】
駆動制御装置２２は、位置姿勢検出装置２１から供給される対象物体Ｗの検出結果である位置データおよび姿勢データを取り込み、これら位置データおよび姿勢データに基づいて、ロボット本体１０が備える把持部１１および爪部の位置および姿勢を計算する。そして、駆動制御装置２２は、これら計算結果に基づいて、ロボット本体１０の各可動部、つまり、支持台１０ａとアーム部１０ｂとハンド部１０ｃと把持部１１と爪部との動作を制御する。
【００３４】
［仮想空間］
図３は、特徴量テーブル生成部２１２が記憶部のメモリー空間上に展開する仮想空間における、仮想カメラとリファレンスモデルとを模式的に示す図である。
同図において、特徴量テーブル生成部２１２がメモリー空間上に展開する仮想空間５０には、仮想カメラ５１と、リファレンスモデル５２とが含まれる。仮想空間５０には、仮想空間５０における位置および姿勢を示すためのカメラ座標系（三次元直交座標系、ｘｙｚ直交座標系）が設けられる。同図では、仮想カメラ５１の図示しない仮想的な撮像面の中心位置にカメラ座標の原点を設け、仮想カメラ５１の光軸をｚ軸と同軸とする。
同図におけるリファレンスモデル５２の位置および姿勢は、カメラ座標系における並進および回転により、例えば［ｘ，ｙ，ｚ，θｘ，θｙ，θｚ］Ｔとして表される。
【００３５】
［リファレンスモデル画像］
図４は、図３の仮想空間５０において、仮想カメラ５１がリファレンスモデル５２を被写体としてとらえ、撮影することにより得られるリファレンスモデル画像を模式的に示す図である。
図４において、仮想カメラ５１が取得するリファレンスモデル画像７０には、リファレンスモデル５２を仮想カメラ５１の視点によりとらえたときのリファレンスモデル５２の二次元モデル画像７１が含まれる。リファレンスモデル画像７０には、二次元モデル画像７１の位置を示すための二次元直交座標系（ｕｖ直交座標系）が設けられる。同図では、リファレンスモデル画像７０の左上端の位置に二次元直交座標系の原点を設け、水平方向をｕ軸、垂直方向をｖ軸とする。
同図における二次元モデル画像７１における画素の位置は、ｕ軸およびｖ軸それぞれの並進により［ｕ，ｖ］Ｔとして表される。
【００３６】
［特徴量テーブル生成部２１２による特徴量の計算］
次に、位置姿勢検出装置２１の特徴量テーブル生成部２１２が、リファレンスモデル画像ごとに計算する特徴量について具体的に説明する。リファレンスモデル画像の特徴量は、特徴量テーブルから位置データおよび姿勢データを抽出するためのキーとなるデータであり、比較的低次元の特徴量とする。
具体的には、特徴量テーブル生成部２１２は、リファレンスモデル画像の特徴量として、例えば、リファレンスモデル画像の重心位置を示す座標値（重心座標値）を計算する。例えば、特徴量テーブル生成部２１２は、リファレンスモデル画像の重心座標値［ｕｉ，ｖｉ］Ｔを、下記の式（１）により計算する。ただし、Ｉｉ（ｕ，ｖ）は、リファレンスモデル画像の画素位置［ｕ，ｖ］Ｔにおける画素値である。この画素値は、例えば、画素の輝度値であり、８ビット（２５６段階の階調）により表現される。
【００３７】
【数１】
0005899951.tif 000002
【００３８】
［特徴量テーブル］
次に、特徴量テーブル生成部２１２が生成する特徴量テーブルについて説明する。下記の表は、特徴量テーブルのデータ構成を示す表である。
【００３９】
【表１】
0005899951.tif 000003
【００４０】
表１に示すとおり、特徴量テーブルは、リファレンスモデルの複数の位置および姿勢それぞれについて、位置を示す位置データと姿勢を示す姿勢データと特徴量とを対応付けたレコードを含む。位置データおよび姿勢データは、例えば、図３に示す、仮想カメラ５１からみたリファレンスモデル５２における所定の基準点の、カメラ座標系における並進および回転を表すデータである。また、特徴量は、例えば、図４に示す、リファレンスモデル画像７０の重心の位置を示す重心座標値である。
【００４１】
［相違度の計算］
次に、位置姿勢検出装置２１の粗検出部２１５が計算する、撮影画像とリファレンスモデル画像との相違度について具体的に説明する。
粗検出部２１５は、撮影画像Ｔ（ｕ，ｖ）とリファレンスモデル画像Ｉｊ（ｕ，ｖ）との相違度Ｒｊを下記の式（２）により計算する。
【００４２】
【数２】
0005899951.tif 000004
【００４３】
つまり、粗検出部２１５は、リファレンスモデル画像Ｉｊ（ｕ，ｖ）と撮影画像Ｔ（ｕ，ｖ）との差分値の二乗を計算することにより相違度Ｒｊを得る。相違度Ｒｊは０（ゼロ）以上の値であり、値が小さいほど相違度が小さい。なお、相違度が小さいほど類似度が大きく、相違度が大きいほど類似度が小さい。
【００４４】
［位置姿勢検出装置２１の動作］
次に、ロボットシステム１におけるロボット制御装置２０に含まれる位置姿勢検出装置２１の動作について説明する。
図５は、位置姿勢検出装置２１の特徴量テーブル生成部２１２が特徴量テーブルを生成する処理の手順を示すフローチャートである。
特徴量テーブル生成部２１２は、記憶部のメモリー空間上に、対象物体Ｗのリファレンスモデルとこのリファレンスモデルを撮影するための仮想カメラとを存在させた仮想空間を展開し、同図の処理を実行する。
【００４５】
ステップＳ１において、特徴量テーブル生成部２１２は、仮想空間におけるリファレンスモデルの位置および姿勢を設定する。特徴量テーブル生成部２１２は、仮想カメラによりとらえられる画角内において、様々な位置および姿勢によるリファレンスモデルのリファレンスモデル画像を取得するために、本フローチャートのループを繰り返しながら、［ｘｉ，ｙｉ，ｚｉ，θｘｉ，θｙｉ，θｚｉ］Ｔからなる６変数それぞれを任意のきざみにより段階的に変更する。つまり、特徴量テーブル生成部２１２は、リファレンスモデル画像の全域において、リファレンスモデルの位置および姿勢を変更しながら走査する。
【００４６】
次に、ステップＳ２において、特徴量テーブル生成部２１２は、仮想カメラによりリファレンスモデルを撮影してリファレンスモデル画像を取得する。
次に、ステップＳ３において、特徴量テーブル生成部２１２は、リファレンスモデル画像の特徴量（リファレンスモデル画像特徴量）を計算する。例えば、特徴量テーブル生成部２１２は、前記の式（１）を適用してリファレンスモデル画像の重心座標値を計算し、この重心座標値を特徴量とする。
【００４７】
次に、ステップＳ４において、特徴量テーブル生成部２１２は、リファレンスモデル画像を取得したときのリファレンスモデルの位置および姿勢を示す位置データおよび姿勢データ、ならびに特徴量を対応付けて特徴量テーブルに登録する。
次に、ステップＳ５において、特徴量テーブル生成部２１２は、リファレンスモデル画像の全域において、リファレンスモデルの位置および姿勢の走査が完了したか否かを判定する。特徴量テーブル生成部２１２は、走査が完了したと判定した場合（Ｓ５：ＹＥＳ）は、本フローチャートの処理を終了させ、走査が完了していないと判定した場合（Ｓ５：ＮＯ）は、ステップＳ１の処理に戻す。
【００４８】
図６は、位置姿勢検出装置２１の粗検出部２１５が対象物体Ｗの位置および姿勢を検出する処理（粗検出処理）の手順を示すフローチャートである。
ステップＳ２１において、撮影画像取得部２１４は、撮影装置３０から供給される、対象物体Ｗの撮影画像を取り込み、この撮影画像を粗検出部２１５に供給する。次に、粗検出部２１５は、撮影画像取得部２１４から供給される撮影画像を取り込む。
【００４９】
次に、ステップＳ２２において、粗検出部２１５は、撮影画像の特徴量（撮影画像特徴量）を計算する。例えば、粗検出部２１５は、撮影画像の重心座標値を計算する。
次に、ステップＳ２３において、粗検出部２１５は、特徴量テーブル記憶部２１３に記憶された特徴量テーブルから、撮影画像特徴量に略一致（一致を含む）する特徴量（リファレンスモデル画像特徴量）に対応付けられた、複数組の位置データおよび姿勢データを抽出する。
【００５０】
次に、ステップＳ２４において、粗検出部２１５は、リファレンスモデル記憶部２１１に記憶されたリファレンスモデルを読み込み、抽出された位置データおよび姿勢データにしたがってリファレンスモデルの位置および姿勢を設定する。次に、粗検出部２１５は、仮想カメラにリファレンスモデルを撮影させて複数組分のリファレンスモデル画像（二次元画像）を取得する。次に、粗検出部２１５は、撮影画像と複数組分の二次元画像それぞれとの相関を計算する。例えば、粗検出部２１５は、撮影画像と複数組分の二次元画像それぞれとの相違度を計算する
【００５１】
次に、ステップＳ２５において、粗検出部２１５は、相関が最も高い二次元画像に対応する位置データおよび姿勢データを、粗検出結果として詳細検出部２１６に供給する。例えば、粗検出部２１５は、相違度が最も小さいリファレンスモデル画像に対応する位置データおよび姿勢データを、粗検出結果として詳細検出部２１６に供給する。また、粗検出部２１５は、撮影画像を詳細検出部２１６に供給する。
【００５２】
図７は、位置姿勢検出装置２１の詳細検出部２１６が対象物体Ｗの位置および姿勢を検出する処理（詳細検出処理）の手順を示すフローチャートである。
ステップＳ４１において、詳細検出部２１６は、粗検出部２１５から供給される、撮影画像と、粗検出結果である位置データおよび姿勢データとを取り込む。
次に、ステップＳ４２において、詳細検出部２１６は、詳細検出部２１６は、リファレンスモデル記憶部２１１に記憶されたリファレンスモデルを読み込み、取り込んだ位置データおよび姿勢データにしたがってリファレンスモデルの位置および姿勢を設定する。次に、詳細検出部２１６は、仮想カメラにリファレンスモデルを撮影させてリファレンスモデル画像（二次元画像）を取得する。次に、詳細検出部２１６は、例えば、非線形最小化法により、撮影画像と二次元画像との相関が最も高い二次元画像を求めて、この二次元画像に対応する位置データおよび姿勢データを、検出結果として駆動制御部２２に供給する。
【００５３】
［第２の実施の形態］
本発明の第２実施形態におけるロボットシステムでは、ロボット本体に取り付けられた把持部があらかじめ部品を把持または狭持している。そして、このロボットシステムは、その部品の取り付け先である本体アセンブリーの撮影画像を取得し、この撮影画像に基づいて把持部の位置および姿勢を制御し、把持部を本体アセンブリーに向けて移動させる。
【００５４】
図８は、第２実施形態であるロボット装置および位置姿勢検出装置を適用したロボットシステムが作業を行う様子を示す、概略の外観図である。
同図において、ロボットシステム１ａは、ロボット本体１０と、把持部１１と、ロボット本体１０の内部に収納されたロボット制御装置２０と、撮影装置３０とを含んで構成される。
ロボットシステム１ａの各構成は、第１実施形態と同様の構成である。よって、本実施形態では、ロボット本体１０と把持部１１とロボット制御装置２０と撮影装置３０とについて、第１実施形態と共通する部分の説明を省略する。
【００５５】
図８に示すように、ロボット本体１０は把持部１１を可動に備える。そして、ロボット本体１０の動作による把持部１１の可動範囲内には、本体アセンブリーＹを載置した状態の机Ｄが設置されている。本体アセンブリーＹは、把持部１１に把持または狭持されている部品Ｘを取り付ける対象となる物体である。本実施形態において、部品Ｘは“ねじ”、本体アセンブリーＹは“ねじ穴を有した部材”である。
【００５６】
撮影装置３０は、本体アセンブリーＹを撮影可能な位置および向きで設置されており、本体アセンブリーＹを撮影して撮影画像を取得し、この撮影画像をロボット制御装置２０に供給する。
【００５７】
ロボット制御装置２０は、撮影装置３０から供給される、本体アセンブリーＹの撮影画像を取り込み、この撮影画像に基づいて本体アセンブリーＹの位置および姿勢を検出する。そして、ロボット制御装置２０は、これら検出した位置および姿勢に基づいてロボット本体１０の各可動部の動作を制御し、把持部１１を本体アセンブリーＹに向けて移動させる。これにより、ロボット本体１０は、本体アセンブリーＹに部品Ｘを取り付ける作業を行うことができる。
【００５８】
図８において、ロボット制御装置２０は、ロボット本体１０の支持台１０ａ内に収納されている。なお、ロボット制御装置２０は、ロボット本体１０から分離されて設置されてもよい。この場合、ロボット制御装置２０とロボット本体１０とは、例えば通信線（ネットワーク、シリアル通信線等）を介して接続される。
【００５９】
［第３の実施の形態］
本発明の第３実施形態におけるロボットシステムでは、ロボット本体は、２系統のハンドを備える。そしてこのロボットシステムは、ロボット本体の一方のハンドに取り付けられた撮影装置によって対象物体の撮影画像を取得し、この撮影画像に基づいて、他方のハンドに取り付けられた把持部の位置および姿勢を制御し、把持部を対象物体に向けて移動させる。
【００６０】
図９は、第３実施形態であるロボット装置および位置姿勢検出装置を適用したロボットシステムが作業を行う様子を示す、概略の外観図である。
同図において、ロボットシステム（ロボット装置）２は、ロボット本体４０と、撮影装置４１と、把持部４２と、ロボット本体４０の内部に収納されたロボット制御装置２０とを含んで構成される。
ロボット制御装置２０は、第１実施形態と同様の構成であるため、ロボット制御装置２０についての詳細な説明を省略する。
【００６１】
ロボット本体４０は、具体的には、地面に対して可動に設置された本体４０ａと、旋回可能に本体４０ａに連結された首部４０ｂと、首部４０ｂに対して固定された頭部４０ｃと、旋回可能および屈伸可能に頭部４０ｃに連結された第１アーム部４０ｄと、旋回可能および屈伸可能に頭部４０ｃに連結された第２アーム部４０ｅと、ロボット本体４０の設置面に対してロボット本体４０を移動可能に本体４０ａに取り付けられた搬送部４０ｆとを含んで構成される。
第１アーム部４０ｄの開放端であるハンドには、把持部４２が取り付けられている。また、第２アーム部４０ｅの開放端であるハンドには、撮影装置４１が取り付けられている。
搬送部４０ｆは、ロボット本体４０の設置面に対して、ロボット本体４０を一定方向または方向自在に移動可能に支持する。搬送部４０ｆは、四組の車輪、四組のキャスター、一対の無限軌道等により実現される。
【００６２】
ロボット本体４０は、例えば、２系統のハンドを備えた垂直多関節ロボット（双腕ロボット）である。ロボット本体４０は、ロボット制御装置２０による駆動制御によって、本体４０ａと首部４０ｂと頭部４０ｃと第１アーム部４０ｄと第２アーム部４０ｅとの連係動作を実現し、撮影装置４１および把持部４２それぞれを自由空間内で独立に動かし、また把持部４２の爪部を開閉させる。
【００６３】
撮影装置４１は、被写体を撮影して静止画像または動画像である撮影画像を取得し、この撮影画像をロボット制御装置２０に供給する。撮影装置４１は、例えば、デジタルカメラ装置、デジタルビデオカメラ装置により実現される。
把持部４２は、物体を把持または挟持可能な爪部を備える。なお、図９では、把持部４２を、その機能を示すために模式的に示してある。
【００６４】
図９に示すように、ロボット本体４０の動作による把持部４２の可動範囲内には、対象物体Ｗを載置した状態の机Ｄが設置されている。対象物体Ｗは、把持部４２が把持または狭持する対象となる物体であり、本実施形態においては“ねじ”である。
【００６５】
ロボット制御装置２０は、ロボット本体４０の首部４０ｂと頭部４０ｃと第２アーム部４０ｅとの動作を制御し、撮影装置４１の位置および姿勢を変更させる。また、ロボット制御装置２０は、撮影装置４１から供給される、対象物体Ｗの撮影画像を取り込んで、この撮影画像に基づいて対象物体Ｗの位置および姿勢を検出する。そして、ロボット制御装置２０は、これら検出した位置および姿勢に基づいてロボット本体４０の首部４０ｂと頭部４０ｃと第１アーム部４０ｄとの動作を制御し、把持部４２を対象物体Ｗに向けて移動させる。
【００６６】
図９において、ロボット制御装置２０は、ロボット本体４０の本体４０ａ内に収納されている。なお、ロボット制御装置２０は、ロボット本体４０から分離されて設置されてもよい。この場合、ロボット制御装置２０とロボット本体４０とは、例えば通信線（ネットワーク、シリアル通信線等）を介して接続される。
【００６７】
［第４の実施の形態］
本発明の第４実施形態におけるロボットシステムでは、２系統のハンドを備えたロボット本体の一方のハンドに取り付けられた把持部があらかじめ部品を把持または狭持している。そして、このロボットシステムは、ロボット本体の他方のハンドに取り付けられた撮影装置によって、その部品の取り付け先である本体アセンブリーの撮影画像を取得し、この撮影画像に基づいて把持部の位置および姿勢を制御し、把持部を本体アセンブリーに向けて移動させる。
【００６８】
図１０は、第４実施形態であるロボット装置および位置姿勢検出装置を適用したロボットシステムが作業を行う様子を示す、概略の外観図である。
同図において、ロボットシステム（ロボット装置）２ａは、ロボット本体４０と、撮影装置４１と、把持部４２と、ロボット本体４０の内部に収納されたロボット制御装置２０とを含んで構成される。
ロボットシステム２ａの各構成は、第３実施形態と同様の構成である。よって、本実施形態では、ロボット本体４０と撮影装置４１と把持部４２とロボット制御装置２０とについて、第３実施形態と共通する部分の説明を省略する。
【００６９】
図１０に示すように、ロボット本体４０の動作による把持部４２の可動範囲内には、本体アセンブリーＹを載置した状態の机Ｄが設置されている。本体アセンブリーＹは、把持部４２に把持または狭持されている部品Ｘを取り付ける対象となる物体である。本実施形態において、部品Ｘは“ねじ”、本体アセンブリーＹは“ねじ穴を有した部材”である。
【００７０】
ロボット制御装置２０は、ロボット本体４０の首部４０ｂと頭部４０ｃと第２アーム部４０ｅとの動作を制御し、撮影装置４１の位置および姿勢を変更させる。また、ロボット制御装置２０は、撮影装置４１から供給される、本体アセンブリーＹの撮影画像を取り込んで、この撮影画像に基づいて本体アセンブリーＹの位置および姿勢を検出する。そして、ロボット制御装置２０は、これら検出した位置および姿勢に基づいてロボット本体４０の首部４０ｂと頭部４０ｃと第１アーム部４０ｄとの動作を制御し、把持部４２を本体アセンブリーＹに向けて移動させる。これにより、ロボット本体４０は、本体アセンブリーＹに部品Ｘを取り付ける作業を行うことができる。
【００７１】
図１０において、ロボット制御装置２０は、ロボット本体４０の本体４０ａ内に収納されている。なお、ロボット制御装置２０は、ロボット本体４０から分離されて設置されてもよい。この場合、ロボット制御装置２０とロボット本体４０とは、例えば通信線（ネットワーク、シリアル通信線等）を介して接続される。
【００７２】
［第５の実施の形態］
本発明の第５実施形態におけるロボットシステムでは、２系統のハンドを備えたロボット本体の一方のハンドに取り付けられた一方の把持部が部品を把持または狭持している。また、他方のハンドに取り付けられた他方の把持部が本体アセンブリーを把持または狭持している。そして、このロボットシステムには、撮影装置が含まれる。ロボットシステムは、ロボット本体の他方の把持部が把持または狭持した本体アセンブリーを撮影装置によって撮影させて撮影画像を取得する。そして、ロボットシステムは、撮影画像に基づいて一方の把持部の位置および姿勢を制御し、一方の把持部を本体アセンブリーに向けて移動させる。
【００７３】
図１１は、第５実施形態であるロボット装置および位置姿勢検出装置を適用したロボットシステムが作業を行う様子を示す、概略の外観図である。
同図において、ロボットシステム２ｂは、撮影装置６０と、ロボット本体４０と、第１把持部４２ａと、第２把持部４２ｂと、ロボット本体４０の内部に収納されたロボット制御装置２０とを含んで構成される。ロボット本体４０とロボット制御装置２０とは、ロボット装置に含まれる。
ロボットシステム２ｂにおけるロボット本体４０とロボット制御装置２０とについて、第３実施形態と共通する部分の説明を省略する。
【００７４】
第１アーム部４０ｄの開放端であるハンドには、第１把持部４２ａが取り付けられている。第１把持部４２ａは、部品Ｘを把持または狭持している。また、第２アーム部４０ｅの開放端であるハンドには、第２把持部４２ｂが取り付けられている。第２把持部４２ｂは、本体アセンブリーＹを把持または狭持している。本体アセンブリーＹは、部品Ｘを取り付ける対象となる物体である。本実施形態において、部品Ｘは“ねじ”、本体アセンブリーＹは“ねじ穴を有した部材”である。
第１把持部４２ａおよび第２把持部４２ｂそれぞれは、物体を把持または挟持可能な爪部を備える。なお、図１１では、第１把持部４２ａおよび第２把持部４２ｂを、その機能を示すために模式的に示してある。
【００７５】
ロボット本体４０は、ロボット制御装置２０による駆動制御によって、本体４０ａと首部４０ｂと頭部４０ｃと第１アーム部４０ｄと第２アーム部４０ｅとの連係動作を実現する。そして、ロボット本体４０は、第１把持部４２ａおよび第２把持部４２ｂそれぞれを自由空間内で独立に動かし、また第１把持部４２ａおよび第２把持部４２ｂそれぞれの爪部を開閉させる。
【００７６】
撮影装置６０は、被写体を撮影して静止画像または動画像である撮影画像を取得し、この撮影画像をロボット制御装置２０に供給する。撮影装置６０は、例えば、デジタルカメラ装置、デジタルビデオカメラ装置により実現される。
【００７７】
ロボット制御装置２０は、ロボット本体４０の首部４０ｂと頭部４０ｃと第２アーム部４０ｅとの動作を制御し、本体アセンブリーＹの位置および姿勢を変更させる。また、ロボット制御装置２０は、撮影装置６０から供給される、本体アセンブリーＹの撮影画像を取り込んで、この撮影画像に基づいて本体アセンブリーＹの位置および姿勢を検出する。そして、ロボット制御装置２０は、これら検出した位置および姿勢に基づいてロボット本体４０の首部４０ｂと頭部４０ｃと第１アーム部４０ｄとの動作を制御し、左把持部４２ａを本体アセンブリーＹに向けて移動させる。これにより、ロボット本体４０は、本体アセンブリーＹに部品Ｘを取り付ける作業を行うことができる。
【００７８】
図１１において、ロボット制御装置２０は、ロボット本体４０の本体４０ａ内に収納されている。なお、ロボット制御装置２０は、ロボット本体４０から分離されて設置されてもよい。この場合、ロボット制御装置２０とロボット本体４０とは、例えば通信線（ネットワーク、シリアル通信線等）を介して接続される。
【００７９】
以上本発明の第１実施形態から第５実施形態までについて説明したとおり、位置姿勢検出装置２１は、学習モードに設定された場合に、対象物体またはリファレンスの三次元モデルデータであるリファレンスモデルを適用し、このリファレンスモデルの様々な位置および姿勢による二次元のリファレンスモデル画像のリファレンスモデル画像特徴量を計算する。そして、位置姿勢検出装置２１は、各リファレンスモデル画像特徴量を位置データおよび姿勢データに対応付けた特徴量テーブルとして記憶する。このようにして、位置姿勢検出装置２１は、対象物体に対応する特徴量テーブルをあらかじめ生成して保持しておく。
【００８０】
また、位置姿勢検出装置２１は、実測定モードに設定された場合に、撮影装置３０から対象物体の撮影画像を取得し、この撮影画像から撮影画像特徴量を計算する。そして、位置姿勢検出装置２１は、撮影画像特徴量に略一致するリファレンスモデル画像特徴量に対応付けられた複数組の位置データおよび姿勢データを特徴量テーブルから抽出する。そして、位置姿勢検出装置２１は、抽出した位置データおよび姿勢データにしたがってリファレンスモデルの位置および姿勢を設定して複数組分の二次元画像を取得する。そして、位置姿勢検出装置２１は、撮影画像と複数組分の二次元画像それぞれとの相関を計算し、最も相関が高い二次元画像に対応する位置データおよび姿勢データを粗検出結果として得る。このようにして、位置姿勢検出装置２１は、対象物体の位置および姿勢の粗検出を行う。
【００８１】
また、位置姿勢検出装置２１は、実測定モードに設定された場合に、粗検出結果である位置データおよび姿勢データにしたがってリファレンスモデルの位置および姿勢を設定して二次元画像を取得する。そして、位置姿勢検出装置２１は、例えば、非線形最小化法により撮影画像と二次元画像との相関を計算し、最も相関が高い二次元画像を求め、この二次元画像に対応する位置データおよび姿勢データを詳細検出結果として得る。このようにして、位置姿勢検出装置２１は、対象物体の位置および姿勢の詳細検出を行う。
【００８２】
このように構成したことにより、位置姿勢検出装置２１によれば、対象物体の様々な位置および姿勢に対応付けられた特徴量をあらかじめ有しておくため、対象物体の撮影画像から特徴量を求めることによって、例えば［ｘ，ｙ，ｚ，θｘ，θｙ，θｚ］Ｔからなる６変数を用いた負荷の重い計算処理を実行することなく、対象物体の位置および姿勢を求めることができる。
【００８３】
したがって、位置姿勢検出装置２１によれば、対象物体の位置および姿勢の推定処理を、軽い負荷により短時間に実行することができる。そして、駆動制御装置２２は、位置姿勢検出相違値２１が検出した対象物体の位置および姿勢にしたがって、ロボット本体１０の可動先端部を対象物体の方向に移動させ、可動先端部の姿勢を対象物体の姿勢に合わせることが可能となる。
【００８４】
なお、特徴量テーブル生成部２１２は、リファレンスモデル画像の特徴量として、リファレンスモデル画像の重心座標値を計算し、この重心座標値をリファレンスモデル画像の特徴量とした。これ以外に、特徴量テーブル生成部２１２は、例えば、リファレンスモデル画像の画像モーメントを計算し、この画像モーメントをリファレンスモデル画像の特徴量としてもよい。画像の特徴量として画像モーメントを用いる場合、特徴量テーブル生成部２１２は、リファレンスモデルの形状に応じて画像モーメントの次数を決定する。
以下、特徴量テーブル生成部２１２が、リファレンスモデル画像の画像モーメントを計算する処理について具体的に説明する。
【００８５】
画像モーメントｍｐ，ｑは、下記の式（３）を計算することにより得る。ただし、ｆ（ｕ，ｖ）は、リファレンスモデル画像の座標値（ｕ，ｖ）における画素値である。この画素値は、例えば、画素の輝度値である。
【００８６】
【数３】
0005899951.tif 000005
【００８７】
［例１］リファレンスモデルが長手方向を有さない三次元モデルである場合。
まず、特徴量テーブル生成部２１２は、リファレンスモデル画像を二値化する。例えば、特徴量テーブル生成部２１２は、リファレンスモデル画像におけるリファレンスモデル部分を“１”、リファレンスモデルを除く部分（背景部分）を“０（ゼロ）”にした二値画像を生成する。
次に、特徴量テーブル生成部２１２は、式（３）に（ｐ，ｑ）＝（０，０）、（１，０）、（０，１）による次数をそれぞれ適用し、二値画像についての下記の式（４）による次数ごとの画像モーメントを取得する。
【００８８】
【数４】
0005899951.tif 000006
【００８９】
次に、特徴量テーブル生成部２１２は、下記の式（５）に示すとおり、（ｐ，ｑ）＝（１，０）、（０，１）の各次数による画像モーメントを、（ｐ，ｑ）＝（０，０）の次数による画像モーメントで除算することにより、重心（ｕＧ，ｖＧ）を計算する。
【００９０】
【数５】
0005899951.tif 000007
【００９１】
特徴量テーブル生成部２１２は、重心（ｕＧ，ｖＧ）を、リファレンスモデルが長手方向を有さない三次元モデルである場合の特徴量とする。
【００９２】
［例２］リファレンスモデルが長手方向を有する三次元モデルである場合。
この例の場合、特徴量テーブル生成部２１２は、上述した例１と同様に、重心（ｕＧ，ｖＧ）を計算する。そして、特徴量テーブル生成部２１２は、下記の式（６）により表されるリファレンスモデル画像の中心モーメントに（ｐ，ｑ）＝（１，１）、（２，０）、（０，２）である次数をそれぞれ適用し、上記の例１と同様の二値画像についての下記の式（７）による画像モーメント（二次モーメント）を取得する。ただし、ｆ（ｕ，ｖ）は、リファレンスモデル画像の座標値（ｕ，ｖ）における画素値である。また、Θは、二次元リファレンスモデルの長軸方向とｕ軸とのなす角度である。
【００９３】
【数６】
0005899951.tif 000008
【００９４】
【数７】
0005899951.tif 000009
【００９５】
特徴量テーブル生成部２１２は、重心（ｕＧ，ｖＧ）と二次の画像モーメントであるｔａｎ（２Θ）とを、リファレンスモデルが長手方向を有する三次元モデルである場合の特徴量とする。
このように、画像モーメントをリファレンスモデル画像の特徴量とすることにより、リファレンスモデルの形状に応じて的確な特徴量を得ることができる。
【００９６】
また、位置姿勢検出装置２１の一部の機能をコンピューターで実現するようにしてもよい。この場合、その機能を実現するための位置姿勢検出プログラムをコンピューター読み取り可能な記録媒体に記録し、この記録媒体に記録された位置姿勢検出プログラムをコンピューターシステムに読み込ませて、このコンピューターシステムが実行することによって実現してもよい。なお、このコンピューターシステムとは、オペレーティング・システム（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ；ＯＳ）や周辺装置のハードウェアを含むものである。また、コンピューター読み取り可能な記録媒体とは、フレキシブルディスク、光磁気ディスク、光ディスク、メモリーカード等の可搬型記録媒体、コンピューターシステムに備えられる磁気ハードディスクやソリッドステートドライブ等の記憶装置のことをいう。さらに、コンピューター読み取り可能な記録媒体とは、インターネット等のコンピューターネットワーク、および電話回線や携帯電話網を介してプログラムを送信する場合の通信回線のように、短時間の間、動的にプログラムを保持するもの、さらには、その場合のサーバー装置やクライアントとなるコンピューターシステム内部の揮発性メモリーのように、一定時間プログラムを保持するものを含んでもよい。また上記の位置姿勢検出プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに、前述した機能をコンピューターシステムにすでに記録されているプログラムとの組み合わせにより実現するものであってもよい。
【００９７】
以上、本発明の実施の形態について図面を参照して詳述したが、具体的な構成はその実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００９８】
１，１ａ  ロボットシステム
２，２ａ  ロボットシステム（ロボット装置）
１０，４０  ロボット本体
１０ａ  支持台
１０ｂ  アーム部
１０ｃ  ハンド部
１１  把持部
２０  ロボット制御装置
３０  撮影装置
２１  位置姿勢検出装置
２２  駆動制御装置
４０ａ  本体
４０ｂ  首部
４０ｃ  頭部
４０ｄ  第１アーム部
４０ｅ  第２アーム部
４０ｆ  搬送部
４１  撮影装置
４２  把持部
４２ａ  第１把持部
４２ｂ  第２把持部
６０  撮影装置
２１１  リファレンスモデル記憶部
２１２  特徴量テーブル生成部
２１３  特徴量テーブル記憶部
２１４  撮影画像取得部
２１５  粗検出部（検出部）
２１６  詳細検出部
【図１】
0005899951.tif 000010
【図２】
0005899951.tif 000011
【図３】
0005899951.tif 000012
【図４】
0005899951.tif 000013
【図５】
0005899951.tif 000014
【図６】
0005899951.tif 000015
【図７】
0005899951.tif 000016
【図８】
0005899951.tif 000017
【図９】
0005899951.tif 000018
【図１０】
0005899951.tif 000019
【図１１】
0005899951.tif 000020