(57)【特許請求の範囲】
【請求項１】
物体を目標地点まで搬送可能に保持するロボット本体と、
前記目標地点および前記物体を含む範囲を撮像する撮像部と、
前記撮像部により撮像された画像から前記物体の搬送経路を教示する前記物体の所望の搬送速度に応じた枚数の教示画像を取得し、該教示画像を補間して、前記物体を搬送する場合に目標とする目標画像を生成し、該目標画像に基づいて、前記物体の搬送量を制御する制御情報を生成する情報処理部と、
前記情報処理部により生成された前記制御情報に基づいて前記ロボット本体の動作を制御するロボット制御部と、
を備えたロボット装置。
【請求項２】
前記情報処理部は、
前記撮像部により撮像された画像から前記目標画像を生成する画像生成部と、
前記画像生成部により生成された目標画像を記憶する記憶部と、
前記記憶部に記憶された目標画像と、前記物体を搬送する場合に前記撮像部により撮像される画像との差分が小さくなるように前記制御情報を生成する制御情報生成部と、
を備えた請求項１に記載のロボット装置。
【請求項３】
前記画像生成部は、
前記撮像部により撮像された画像から前記教示画像を取得する教示画像取得部と、
前記教示画像取得部により取得された前記教示画像に含まれる前記物体の画像から前記物体の３次元空間における位置および姿勢に関する情報を取得する画像情報取得部と、
前記画像情報取得部により取得された情報を前記３次元空間において補間する画像情報補間部と、
前記画像情報補間部により補間された情報を用いて、所望の搬送速度に応じて前記目標画像をレンダリングするレンダリング部と、
を備えた請求項２に記載のロボット装置。
【請求項４】
前記教示画像取得部は、前記撮像部により撮像された画像を二値化することにより前記教示画像を取得し、
前記画像情報取得部は、前記物体をモデル化して得られた画像と前記教示画像取得部により二値化して得られた教示画像とをパターンマッチングすることにより、前記物体の位置および姿勢に関する情報を取得する、請求項３に記載のロボット装置。
【請求項５】
前記画像情報補間部は、スプライン関数を用いて前記物体の位置および姿勢に関する情報を補間する、請求項３または４に記載のロボット装置。
【請求項６】
前記撮像部として複数台のカメラ装置を備え、
情報処理部は、前記複数台のカメラ装置のそれぞれについて、撮像された画像から前記物体の搬送経路を教示する教示画像を取得し、該教示画像を所望の搬送速度に応じて補間することにより、前記物体を搬送する場合に目標とする目標画像を生成し、前記物体を搬送する場合に前記撮像部により撮像される画像と前記目標画像との差分を取得する処理を実行する、請求項１から５の何れか１項に記載のロボット装置。
【請求項７】
前記複数台のカメラ装置は、前記物体の搬送経路に設定された複数の区間に対応付けられて設置された、請求項６に記載のロボット装置。
【請求項８】
ビジュアルサーボ制御を用いたロボットにより物体を目標地点まで搬送する場合に目標とする目標画像を生成する画像生成装置であって、
前記目標地点および前記物体を含む範囲を撮像して得られた画像から前記物体の搬送経路を教示する教示画像を取得する教示画像取得部と、
前記教示画像取得部により取得された教示画像に含まれる前記物体の画像から前記物体の３次元空間における位置および姿勢に関する情報を取得する画像情報取得部と、
前記画像情報取得部により取得された情報を前記３次元空間において補間する画像情報補間部と、
前記画像情報補間部により補間された情報を用いて、所望の搬送速度に応じて前記目標画像をレンダリングするレンダリング部と、
を備えた画像生成装置。
【請求項９】
ビジュアルサーボ制御を用いたロボットにより物体を目標地点まで搬送する場合に目標とする目標画像を生成する画像生成方法であって、
教示画像取得部が、前記目標地点および前記物体を含む範囲を撮像して得られた画像から前記物体の搬送経路を教示する教示画像を取得するステップと、
画像情報取得部が、前記教示画像取得部により取得された教示画像に含まれる前記物体の画像から前記物体の３次元空間における位置および姿勢に関する情報を取得するステップと、
画像情報補間部が、前記画像情報取得部により取得された情報を前記３次元空間において補間するステップと、
レンダリング部が、前記画像情報補間部により補間された情報を用いて、所望の搬送速度に応じて前記目標画像をレンダリングするステップと、
を含む画像生成方法。
【請求項１０】
コンピューターを、ビジュアルサーボ制御を用いたロボットにより物体を目標地点まで搬送する場合に目標とする目標画像を生成する画像生成装置として機能させる画像生成プログラムであって、
前記コンピューターを、
前記目標地点および前記物体を含む範囲を撮像して得られた画像から前記物体の搬送経路を教示する教示画像を取得する教示画像取得部と、
前記教示画像取得部により取得された教示画像に含まれる前記物体の画像から前記物体の３次元空間における位置および姿勢に関する情報を取得する画像情報取得部と、
前記画像情報取得部により取得された情報を前記３次元空間において補間する画像情報補間部と、
前記画像情報補間部により補間された情報を用いて、所望の搬送速度に応じて前記目標画像をレンダリングするレンダリング部と、
として機能させる画像生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ロボット装置、画像生成装置、画像生成方法、および画像生成プログラムに関する。
【背景技術】
【０００２】
近年、電子機器の製造ラインでは、スカラロボットや多軸ロボット等が製品の組み立て作業や検査等のために導入されている。例えば、組み立てラインでは、ロボットが、部品単体やアセンブリー部品等の物体を把持して所定の目標地点まで搬送することにより、電子機器の組み立て作業を支援している。
【０００３】
この種のロボットの制御技術として、ビジュアルサーボ制御またはビジュアルフィードバック制御と称される制御技術が知られている（例えば特許文献１参照）。このビジュアルサーボ制御は、搬送対象の物体と目標地点との相対的な位置の変化をビデオカメラ装置を用いて視覚情報として計測し、その計測結果をフィードバック情報として用いることにより目標地点に対して物体の相対的位置を制御するサーボ系の一種である。
【０００４】
ビジュアルサーボ制御を用いたロボットによれば、そのロボットハンドに把持された物体を目標地点まで搬送する場合、目標地点での物体を表す目標画像と、ビデオカメラ装置により得られる現地点での物体のフレーム画像とを比較し、フレーム画像が目標画像と一致するように物体の位置および姿勢を制御することにより物体を搬送する（例えば特許文献２参照）。この場合、搬送経路上の障害物を回避するために複数の中継地点が指定され、各中継地点での物体の位置および姿勢を教示するための複数枚の教示画像が事前に準備される。この複数枚の教示画像を目標画像とすることにより、障害物を回避した経路を辿りながらロボットが物体を最終的な目標地点まで搬送する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００２−２０８００９号公報
【特許文献２】特開２００３−２５６０２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、従来のビジュアルサーボ制御によれば、以下に説明するように、物体を搬送する際の搬送速度を任意に設定することが困難であり、加減速を考慮して物体を搬送することができないという問題がある。
【０００７】
図１６は、従来のビジュアルサーボ制御による搬送速度Ｖの設定手法を説明するための説明図である。同図は、地点Ａから目標地点である地点Ｂに物体を搬送する場合の搬送速度Ｖの変化を模式的に表している。同図において、横軸が時間（ｔ）、縦軸が搬送速度（Ｖ）を表しており、白丸が３３ミリ秒毎に画像情報により生成される速度指令値を示している。白丸間は、例えば４次関数により補間されており、速度と加速度が滑らかに接続される。実際には、ロボットへの速度指令は例えば１ミリ秒毎に与える為、一般的にこのような補間処理を行う。従来のビジュアルサーボ制御によれば、物体の搬送速度Ｖは、教示画像と現地点での物体のフレーム画像との差分に比例した値に設定される。そして、ビデオカメラ装置により得られるフレーム画像のフレームレート（例えば３０フレーム／秒）に相当する一定周期（例えば３３ミリ秒）毎に搬送速度Ｖが更新される。そのため、図１６に示すように、物体が地点Ｂに近づくにつれ、搬送速度Ｖが徐々に低下する傾向を示す。
【０００８】
図１６の例では、物体が地点Ａにある場合、この地点Ａでの物体のフレーム画像と教示画像との差分として、例えば物体から目標地点Ｂまでの距離（この場合、地点Ａから地点Ｂまでの距離）が算出される。そして、事前に設定された制御規則に従って、この距離に相当する搬送速度Ｖａで物体の搬送が開始される。次のフレーム画像が生成されると、このフレーム画像と上述の教示画像とから、新たに物体から目標地点Ｂまでの距離が算出され、この距離に相当する搬送速度Ｖｂが設定される。この場合、物体が上述の搬送速度Ｖａで搬送された分だけ、物体と目標地点Ｂとの間の距離は短縮されているので、搬送速度Ｖｂは、搬送速度Ｖａよりも小さな値に設定される。以下同様にして、物体を目標地点Ｂまで搬送する過程で搬送速度Ｖが徐々に低下され、物体が目標地点Ｂに到達した時点で搬送速度Ｖはゼロになる。このように、事前に設定された制御規則に従って、物体が目標地点Ｂから離れている程、物体の搬送速度Ｖは大きく設定され、物体が目標地点Ｂに近づくにつれ、搬送速度Ｖが小さく設定される。
【０００９】
上述のように、従来のビジュアルサーボ制御によれば、搬送経路上の物体の搬送速度Ｖは、物体のフレーム画像と教示画像との差分、即ち物体と目標地点との間の距離に基づいて制御規則により一義的に設定される。このため、例えば搬送経路の状況に応じて物体の搬送速度Ｖを柔軟に制御することができず、加減速を考慮して物体の搬送速度Ｖを制御することができなかった。
【００１０】
このようなビジュアルサーボ制御において、物体の搬送速度Ｖを制御する手法の一つとして、例えば制御のゲイン（例えば、画像の差分と搬送速度の対応関係）を調整する手法が考えられるが、この手法によれば制御の安定性が損なわれるおそれがある。従って、制御のゲインを一定に保持したまま、物体の搬送速度Ｖを制御するための技術に対する要請が存在する。
【００１１】
本発明は、上記課題を解決するためになされたものであり、加減速を考慮して物体の搬送を制御する、ロボット装置、画像生成装置、画像生成方法、および画像生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するため、本発明によるロボット装置の一態様は、物体を目標地点まで搬送可能に保持するロボット本体（例えばロボット本体１０に相当する要素）と、前記目標地点および前記物体を含む範囲を撮像する撮像部（例えば撮像部２０に相当する要素）と、前記撮像部により撮像された画像から前記物体の搬送経路を教示する前記物体の所望の搬送速度に応じた枚数の教示画像を取得し、該教示画像を補間して、前記物体を搬送する場合に目標とする目標画像を生成し、該目標画像に基づいて、前記物体の搬送量を制御する制御情報を生成する情報処理部（例えば情報処理部３０に相当する要素）と、前記情報処理部により生成された前記制御情報に基づいて前記ロボット本体の動作を制御するロボット制御部（例えばロボット制御部４０に相当する要素）と、を備えたロボット装置の構成を有する。
上記構成によれば、撮像部で撮像された教示画像を物体の搬送経路を教示する物体の所望の搬送速度に応じた枚数の教示画像を取得し、該教示画像を補間することにより目標画像が生成される。そして、物体を搬送する場合、上記目標画像に基づいてロボット本体の動作が制御される。このとき、現在の物体の画像と目標画像と間の差分が大きいほど、所定の制御規則に従って物体の搬送速度として大きい速度が設定される。従って、目標画像を所望の搬送速度に応じて生成すれば、ロボット本体が保持する物体の搬送速度を制御することができる。よって、加減速を考慮して物体の搬送を制御することが可能になる。
上記課題を解決するため、本発明によるロボット装置の一態様は、物体を目標地点まで搬送可能に保持するロボット本体（例えばロボット本体１０に相当する要素）と、前記目標地点および前記物体を含む範囲を撮像する撮像部（例えば撮像部２０に相当する要素）と、前記撮像部により撮像された画像から前記物体の搬送経路を教示する教示画像を取得し、該教示画像を前記物体の所望の搬送速度に応じて補間することにより、前記物体を搬送する場合に目標とする目標画像を生成し、該目標画像に基づいて、前記物体の搬送量を制御する制御情報を生成する情報処理部（例えば情報処理部３０に相当する要素）と、前記情報処理部により生成された前記制御情報に基づいて前記ロボット本体の動作を制御するロボット制御部（例えばロボット制御部４０に相当する要素）と、を備えたロボット装置の構成を有する。
上記構成によれば、撮像部で撮像された教示画像を所望の搬送速度に応じて補間することにより目標画像が生成される。そして、物体を搬送する場合、上記目標画像に基づいてロボット本体の動作が制御される。このとき、現在の物体の画像と目標画像と間の差分が大きいほど、所定の制御規則に従って物体の搬送速度として大きい速度が設定される。従って、目標画像を所望の搬送速度に応じて生成すれば、ロボット本体が保持する物体の搬送速度を制御することができる。よって、加減速を考慮して物体の搬送を制御することが可能になる。
【００１３】
上記ロボット装置において、例えば、前記情報処理部は、前記撮像部により撮像された画像から前記目標画像を生成する画像生成部（例えば画像生成部３１に相当する要素）と、前記画像生成部により生成された目標画像を記憶する記憶部（例えば記憶部３２に相当する要素）と、前記記憶部に記憶された目標画像と、前記物体を搬送する場合に前記撮像部により撮像される画像との差分が小さくなるように前記制御情報を生成する制御情報生成部（例えば制御情報生成部３３に相当する要素）と、を備える。
上記構成によれば、撮像部により撮像される現在の画像と目標画像との差分が小さくなるように制御情報が生成される。従って、制御情報を用いて物体の搬送量を制御することが可能になる。
【００１４】
上記ロボット装置において、例えば、前記画像生成部は、前記撮像部により撮像された画像から前記教示画像を取得する教示画像取得部（例えば教示画像取得部３１１に相当する要素）と、前記教示画像取得部により取得された前記教示画像に含まれる前記物体の画像から前記物体の３次元空間における位置および姿勢に関する情報を取得する画像情報取得部（例えば画像情報取得部３１２に相当する要素）と、前記画像情報取得部により取得された情報を前記３次元空間において補間する画像情報補間部（例えば画像情報補間部３１３に相当する要素）と、前記画像情報補間部により補間された情報を用いて、所望の搬送速度に応じて前記目標画像をレンダリングするレンダリング部（例えばレンダリング部３１４に相当する要素）と、を備える。
上記構成によれば、画像情報補間部が、教示画像に含まれる物体の位置および姿勢に関する情報を補間する。これにより、教示画像が取得された搬送経路上の位置以外の任意の位置における物体の姿勢に関する情報を取得することが可能になる。従って、例えば補間する画像の搬送経路上の位置を所望の搬送速度に応じて適切に選択することにより、所望の搬送速度に応じた目標画像を生成することが可能になる。
【００１５】
上記ロボット装置において、例えば、前記教示画像取得部は、前記撮像部により撮像された画像を二値化することにより前記教示画像を取得し、前記画像情報取得部は、前記物体をモデル化して得られた画像と前記教示画像取得部により二値化して得られた教示画像とをパターンマッチングすることにより、前記物体の位置および姿勢に関する情報を取得する。
上記構成によれば、二値化により得られた教示画像とモデル化により得られた画像とのパターンマッチングにより、例えば、三次元空間における物体の座標と、上記三次元空間の各軸に関する物体の回転量が特定される。従って、撮像部により撮像された物体の位置と姿勢を取得することが可能になる。
【００１６】
上記ロボット装置において、例えば、前記画像情報補間部は、スプライン関数を用いて前記物体の位置および姿勢に関する情報を補間する。
上記構成によれば、教示画像で示される物体の位置および姿勢に関する情報をスプライン関数で補間するので、教示画像で示される搬送経路を経由して物体を搬送する過程で、物体の位置および姿勢の変化をなめらかに制御することが可能になる。
【００１７】
上記ロボット装置において、例えば、前記撮像部として複数台のカメラ装置を備え、情報処理部は、前記複数台のカメラ装置のそれぞれについて、撮像された画像から前記物体の搬送経路を教示する教示画像を取得し、該教示画像を所望の搬送速度に応じて補間することにより、前記物体を搬送する場合に目標とする目標画像を生成し、前記物体を搬送する場合に前記撮像部により撮像される画像と前記目標画像との差分を取得する処理を実行する。
上記構成によれば、複数台のカメラ装置のそれぞれの画像に基づいて、ロボット本体が保持する物体の搬送速度を制御することができる。従って、例えば、物体が一部のカメラ装置の死角領域に存在しても、他のカメラ装置の撮像領域に存在すれば、物体の搬送を継続して制御することが可能になる。
【００１８】
上記ロボット装置において、例えば、前記複数台のカメラ装置は、前記物体の搬送経路に設定された複数の区間に対応付けられて設置されている。
上記構成によれば、各区間に対応するカメラ装置の画像に基づいてロボット本体が保持する物体の搬送速度を制御することができる。従って、区間毎に適切にカメラ装置を設置すれば、全区間にわたって一定の品質の画像を得ることができ、制御の精度を一定に維持することが可能になる。
【００１９】
上記課題を解決するため、本発明による画像生成装置の一態様は、ビジュアルサーボ制御を用いたロボットにより物体を目標地点まで搬送する場合に目標とする目標画像を生成する画像生成装置であって、前記目標地点および前記物体を含む範囲を撮像して得られた画像から前記物体の搬送経路を教示する教示画像を取得する教示画像取得部と、前記教示画像取得部により取得された教示画像に含まれる前記物体の画像から前記物体の３次元空間における位置および姿勢に関する情報を取得する画像情報取得部と、前記画像情報取得部により取得された情報を前記３次元空間において補間する画像情報補間部と、前記画像情報補間部により補間された情報を用いて、所望の搬送速度に応じて前記目標画像をレンダリングするレンダリング部と、を備える画像生成装置の構成を有する。
上記構成によれば、上記ロボット装置が備える画像生成部と同様の作用効果を得ることができる。
【００２０】
上記課題を解決するため、本発明による画像生成方法の一態様は、ビジュアルサーボ制御を用いたロボットにより物体を目標地点まで搬送する場合に目標とする目標画像を生成する画像生成方法であって、教示画像取得部が、前記目標地点および前記物体を含む範囲を撮像して得られた画像から前記物体の搬送経路を教示する教示画像を取得するステップと、画像情報取得部が、前記教示画像取得部により取得された教示画像に含まれる前記物体の画像から前記物体の３次元空間における位置および姿勢に関する情報を取得するステップと、画像情報補間部が、前記画像情報取得部により取得された情報を前記３次元空間において補間するステップと、レンダリング部が、前記画像情報補間部により補間された情報を用いて、所望の搬送速度に応じて前記目標画像をレンダリングするステップと、を含む画像生成方法の構成を有する。
上記構成によれば、画像生成方法による作用効果として、上記ロボット装置が備える画像生成部と同様の作用効果を得ることができる。
【００２１】
上記課題を解決するため、本発明による画像生成プログラムの一態様は、コンピューターを、ビジュアルサーボ制御を用いたロボットにより物体を目標地点まで搬送する場合に目標とする目標画像を生成する画像生成装置として機能させる画像生成プログラムであって、前記コンピューターを、前記目標地点および前記物体を含む範囲を撮像して得られた画像から前記物体の搬送経路を教示する教示画像を取得する教示画像取得部と、前記教示画像取得部により取得された教示画像に含まれる前記物体の画像から前記物体の３次元空間における位置および姿勢に関する情報を取得する画像情報取得部と、前記画像情報取得部により取得された情報を前記３次元空間において補間する画像情報補間部と、前記画像情報補間部により補間された情報を用いて、所望の搬送速度に応じて前記目標画像をレンダリングするレンダリング部と、として機能させる画像生成プログラムの構成を有する。
上記構成によれば、画像生成プログラムによる作用効果として、上記ロボット装置が備える画像生成部と同様の作用効果を得ることができる。
【００２２】
本発明の態様によれば、教示画像から所望の速度に応じた目標画像を生成し、この目標画像に基づいて物体の搬送を制御するので、加減速を考慮して物体を搬送することができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の第１実施形態によるロボット装置の機能構成の一例を表すブロック図である。
【図２】同実施形態によるロボット装置が備えるロボット本体の外観の一例を表す図である。
【図３】同実施形態によるロボット装置が備える情報処理部の機能構成の一例を表すブロック図である。
【図４】同実施形態による情報処理部が備える画像生成部の機能構成の一例を表すブロック図である。
【図５】同実施形態による画像生成部の処理手順の一例を表すフローチャートである。
【図６】同実施形態による教示画像を取得する手法を説明するための説明図である。
【図７Ａ】同実施形態による教示画像を生成する手法を説明するための説明図である。
【図７Ｂ】同実施形態による画像情報を取得する手法を説明するための説明図である。
【図８】同実施形態による物体の位置および姿勢の定義を説明するための説明図である。
【図９】同実施形態による物体の位置および姿勢に関する情報を説明するための説明図である。
【図１０】同実施形態による物体の位置および姿勢に関する情報の補間処理を説明するための説明図である。
【図１１】同実施形態による目標画像のレンダリングの手法を説明するための説明図である。
【図１２】同実施形態による物体の搬送速度と位置との関係を説明するための説明図である。
【図１３】本発明の第２実施形態によるロボット装置の機能構成の一例を表すブロック図である。
【図１４】同実施形態によるロボット装置が備える情報処理部の機能構成の一例を表すブロック図である。
【図１５】第１実施形態および第２実施形態によるロボット本体の変形例を表す図である。
【図１６】従来のビジュアルサーボ制御による物体の搬送速度の設定手法を説明するための説明図である。
【発明を実施するための形態】
【００２４】
以下、本発明を実施するための形態について、図面を参照して詳細に説明する。
なお、本明細書における全ての実施形態および全ての図面にわたって、同一符号は同一要素を表す。
［第１実施形態］
図１は、本発明の第１実施形態によるロボット装置１の機能構成の一例を表すブロック図である。本実施形態によるロボット装置１は、電子機器の製造ラインにおいて、ビジュアルサーボ制御によって部品等の物体を所定の目標地点まで搬送し、アセンブリー部品の組立作業を行う装置である。本実施形態において、ロボット装置１による搬送の対象とされる物体は、例えば小型電子機器や精密機器等に組み込まれるアセンブリー部品を構成する精密部品である。同図に示すように、ロボット装置１は、ロボット本体１０と、撮像部２０と、情報処理部３０と、ロボット制御部４０とを備える。
【００２５】
図２は、ロボット本体１０の外観の一例を模式的に表す図である。ロボット本体１０は、物体を目標地点まで搬送可能に保持するものであって、床面に固定された支持台１０ａと、旋回可能および屈伸可能に支持台１０ａに連結されたアーム部１０ｂと、回動可能および首振り可能にアーム部１０ｂに連結されたハンド部１０ｃと、ハンド部１０ｃに取り付けられた把持部１０ｄとを備えて構成される。ロボット本体１０は、把持部１０ｄにより搬送すべき物体ＯＢＪを把持した状態でこれを保持する。
【００２６】
本実施形態において、ロボット本体１０は、例えば６軸の垂直多関節ロボットであり、支持台１０ａとアーム部１０ｂとハンド部１０ｃとの連係した動作によって６軸の自由度を有し、把持部１０ｄが把持する部品の位置および向きを自在に変更することができる。また、ロボット本体１０は、ロボット制御部４０による制御により、アーム部１０ｂとハンド部１０ｃと把持部１０ｄとのうちいずれか一つまたはそれらの組み合わせを動かす。
なお、ロボット本体１０の自由度は６軸によるものに限られない。また、支持台１０ａは、壁や天井等、床面に対して固定された場所に設置されてもよい。
【００２７】
説明を図１に戻す。撮像部２０は、搬送先である目標地点と、ロボット本体１０に保持された物体との両方を含む範囲を撮像するものであり、例えば、搬送先の目標地点と搬送すべき物体の両方を上方から見下ろすように壁面または天井に固定されている。また、本実施形態において、撮像部２０は、３０フレーム／秒のフレームレートで撮像するビデオカメラ装置である。ただし、撮像部２０は、例えば、３０フレーム／秒、１２０フレーム／秒、２００フレーム／秒等の任意のフレームレートで撮像するものであってもよい。撮像部２０により撮像された画像（フレーム画像）は情報処理部３０に供給される。
【００２８】
画像処理部３０は、撮像部２０によって撮像された画像を解析することにより、物体を搬送するロボット装置１０の動作の制御に必要な制御情報Ｃを生成するものであり、例えばコンピューター装置から構成される。本実施形態において、制御情報Ｃは、ロボット本体１０を構成する例えばアーム部１０ｂの回動角や回動角速度など、ロボット本体１０の各部の動作を規定する情報を含んでいる。
【００２９】
本実施形態において、情報処理部３０は、例えばオペレーターが物体の搬送経路を教示する段階では、撮像部２０により撮像された画像から物体の搬送経路を教示するための教示画像を取得し、この教示画像を所望の搬送速度に応じて補間することにより、当該物体を搬送する場合に目標とすべき目標画像を生成する。また、情報処理部３０は、物体を搬送する段階では、撮像部２０により撮像される画像と上記目標画像に基づいて物体の搬送量を制御するための制御情報Ｃを生成するものである。本実施形態において、物体の搬送量は、物体の位置の変化量と、物体の姿勢の変化量を意味する。物体の位置および姿勢の定義については後述する。制御情報Ｃは、ロボット制御コマンドとしてロボット制御部４０に供給される。
【００３０】
ロボット制御部４０は、情報処理部３０により生成された制御情報Ｃに基づいてロボット本体１０の動作を直接的に制御するものである。即ち、本実施形態において、ロボット制御部４０は、情報処理部３０から供給される制御情報Ｃに基づいて、ロボット本体１０のアーム部１０ｂとハンド部１０ｃと把持部１０ｄとのうちいずれか一つまたはそれらの任意の組み合わせの動作（アーム部１０ｂの回動量など）を制御することにより、把持部１０ｄに保持された物体を目標地点まで搬送させるようにロボット本体１０の動作を制御する。
【００３１】
図３は、ロボット装置１０が備える情報処理部３０の機能構成の一例を表すブロック図である。情報処理部３０は、画像生成部３１、記憶部３２、制御情報生成部３３を備えて構成されている。ここで、画像生成部３１は、撮像部２０により撮像された画像から上記目標画像を生成するものである。記憶部３２は、画像生成部３１により生成された目標画像を記憶するものである。制御情報生成部３３は、記憶部３２に記憶された目標画像に基づいて制御情報Ｃを生成するものである。本実施形態において、制御情報生成部３３は、記憶部３２に記憶された目標画像と、物体を搬送する際に撮像部２０により撮像されるフレーム画像との差分が小さくなるように、制御情報Ｃを生成する。
【００３２】
換言すれば、制御情報生成部３３は、記憶部３２に記憶された目標画像と、撮像部２０により撮像されるフレーム画像とが一致する方向に物体が搬送されるように、制御情報Ｃを生成する。具体的には後述するように、物体の位置および姿勢が、目標画像に示される物体の位置および姿勢と一致する方向に物体の搬送量が演算され、そのような搬送量が得られるように制御情報Ｃが生成される。本実施形態では、撮像部２０が撮像する画像のフレームレートは３０フレーム／秒であるから、３３ミリ秒毎に撮像部２０から画像生成部３１にフレーム画像が供給され、画像生成部３１は、３３ミリ秒ごとに新たに制御情報Ｃを生成する。
【００３３】
図４は、情報処理部３０が備える画像生成部３１の機能構成の一例を表すブロック図である。画像生成部３１は、教示画像取得部３１１、画像情報取得部３１２、画像情報補間部３１３、レンダリング(rendering)部３１４を備えて構成される。教示画像取得部３１１は、撮像部２０により撮像された画像から上記教示画像を取得するものである。本実施形態では、搬送経路をロボット装置１に教示する際に、オペレーターにより指定される搬送経路上の中継地点（後述の図６に示す地点Ｐ１〜Ｐ５）に物体を位置させた状態で撮像部２０により物体を撮像して教示画像が取得される。
【００３４】
なお、本実施形態では、説明の便宜上、オペレーターにより指定された中継地点での物体の２次元画像を教示画像と称し、後述の補間処理により得られた２次元画像を目標画像と称す。ただし、このような用語の定義は説明の便宜のためのものであり、広義には、補間処理により得られた目標画像もビジュアルサーボ制御における教示画像の一種である。
【００３５】
画像情報取得部３１２は、教示画像取得部３１１により取得された教示画像から、この教示画像に表される物体の３次元空間における位置および姿勢に関する情報を画像情報として取得するものである。本実施形態において、この画像情報は、後述するように、物体のＣＡＤ(Computer Aided Design)モデルを用いて生成されたＣＧ(Computer Graphics)画像と、撮像部２０により撮像された物体の画像とのパターンマッチングを行うことにより取得される。ここで言うパターンマッチングとは、二つの画像の各画素の階調値の差を最小にするように非線形最小化問題を解くことで、二つの画像に撮像されている物体の３次元空間における位置と姿勢の差分を算出することを含む。本実施形態の例で言えば、教示画像の各画素の階調値と撮像部２０により撮像された画像の各画素の階調値との差を最小にするように非線形最小化問題を解き、教示画像における物体の３次元空間における位置と姿勢と撮像部２０により撮像された画像における物体の３次元空間における位置と姿勢との差を算出する。
【００３６】
画像情報補間部３１３は、画像情報取得部３１２により取得された各教示画像の画像情報を上記３次元空間において補間するものである。本実施形態では、後述するように、スプライン関数を用いて画像情報を３次元空間において補間することにより、搬送経路上の任意の地点での物体の３次元空間における位置および姿勢に関する情報を取得可能とする。換言すれば、有限の教示画像の画像情報から、物体の搬送経路を表す軌道がスプライン関数により表され、このスプライン関数から任意の地点での物体の３次元空間における位置および姿勢を知ることができる。即ち、搬送経路上の任意の地点で目標画像を生成することが可能になる。
【００３７】
レンダリング部３１４は、画像情報補間部３１３により補間された画像情報を用いて、物体の所望の搬送速度に応じて上記目標画像を２次元画像としてレンダリング（描画）するものである。上述の画像情報補間部３１３により任意の地点での物体の位置および姿勢に関する画像情報を得ることができるので、レンダリング部３１４において、画像情報補間部３１３により得られた画像情報を用いて、所望の搬送速度に応じた任意の地点での目標画像をレンダリングすることが可能になる。
【００３８】
本実施形態では、搬送経路上で隣り合う２つの目標画像の距離間隔を所望の搬送速度に応じて設定することにより、この２つの目標画像間の区間における搬送速度が制御される。即ち、小さい搬送速度を得たい場合には目標画像間の距離間隔を小さくし（即ち、画像の差分を小さくし）、逆に搬送速度を大きくした場合には目標画像間の距離間隔を大きくする（即ち、画像の差分を大きくする）。また、搬送経路上で隣り合う２つの目標画像の時間間隔を所望の搬送速度に応じて設定することにより、この２つの目標画像間の区間における搬送速度を制御してもよい。この場合、２つの目標画像の中継点間の時間間隔を大きくした場合、これらの中継点間の搬送速度は小さくなり、逆に時間間隔を小さくした場合、これらの中継点間の搬送速度は大きくなる。
【００３９】
次に、本実施形態によるロボット装置１の動作について説明する。
本実施形態によるロボット装置１の動作は、事前に目標画像を生成する処理（以下、「目標画像生成処理」と称す）と、その目標画像を用いてビジュアルサーボ制御を実施することにより物体を搬送する処理（以下、「物体搬送処理」と称す）に分けられる。そこで、以下の動作の説明では、先ず、画像生成部３１による目標画像生成処理を説明し、その後、目標画像を用いたビジュアルサーボ制御による物体搬送処理を説明する。
【００４０】
（目標画像生成処理）
図５は、画像生成部３１による目標画像生成処理手順（画像生成方法）の一例を表すフローチャートである。同図のステップＳ１において、画像生成部３１を構成する教示画像取得部３１１は、撮像部２０により撮像された画像から物体の搬送経路を教示する教示画像を取得する。
【００４１】
図６は、教示画像を取得するための手法を説明するための説明図である。同図に示す例は、載置台Ｔの上に載置された製品Ｍの筐体内部に物体ＯＢＪ（部品）を搬送するための搬送経路をオペレーターが教示する場合を示している。同図において、物体ＯＢＪの搬送経路は点線で示されている。製品Ｍの筐体には開口部Ｈが形成されており、この開口部Ｈから物体ＯＢＪが製品Ｍの筐体内部に搬入される。また、地点Ｐ０は、搬送経路の始点を表し、初期状態では、物体ＯＢＪは始点Ｐ〜に位置している。地点Ｐ１〜Ｐ５は、物体ＯＢＪの教示画像を取得する搬送経路上の中継点、即ち教示点を表している。
【００４２】
また、図６に示す例では、製品Ｍの開口部Ｈの近傍に障害物Ｂが存在する。このため、同図に点線で示すように、障害物Ｂを迂回した搬送経路を設定する必要がある。このような搬送経路を設定するため、例えば、オペレーターの操作により、物体ＯＢＪを保持した状態でロボット本体１０の動作を調整することにより、障害物Ｂを迂回する搬送経路の要所となる地点Ｐ１，Ｐ２，Ｐ３，Ｐ４，Ｐ５の各中継地点に物体ＯＢＪを位置させ、撮像部２０により各地点での物体ＯＢＪを撮像する。これにより、搬送経路上の各中継地点での物体ＯＢＪの実画像Ｐを得る。
【００４３】
画像生成部３１を構成する教示画像取得部３１１は、撮像部２０により撮像された実画像Ｐを二値化することにより、搬送経路上の地点Ｐ１，Ｐ２，Ｐ３，Ｐ４，Ｐ５の各中継地点での物体ＯＢＪの教示画像を取得する。
【００４４】
図７Ａは、教示画像取得部３１１が実画像Ｐから教示画像を生成するための手法を説明するための説明図である。教示画像取得部３１１は、撮像部２０により撮像された実画像Ｐの背景差分を演算することにより、背景が除かれた物体ＯＢＪのみの画像Ｐａを生成する。そして、この画像Ｐａを適切な閾値を用いて二値化することにより、例えば白黒の画像Ｐｂを教示画像として得る。この画像Ｐｂに表された物体ＯＢＪの形状は、この物体ＯＢＪの位置および姿勢に応じて一義的に定まる。従って、この画像Ｐｂは、実空間内での物体ＯＢＪの位置および姿勢に関する情報を含んでいる。例えば、実空間内での物体ＯＢＪの位置は、画像Ｐｂ内の物体ＯＢＪの座標およびスケール（縮尺度）に反映され、物体ＯＢＪの姿勢は、画像Ｐｂ内の物体ＯＢＪの輪郭に反映される。
【００４５】
続いて、ステップＳ２において、画像情報取得部３１２は、実空間と整合するように設定されたＣＧ空間内で物体ＯＢＪをモデル化して得られたＣＡＤモデルのＣＧ画像と、教示画像取得部３１１により実画像Ｐから得られた教示画像Ｐｂとをパターンマッチングすることにより、物体ＯＢＪの３次元空間における位置および姿勢に関する情報を画像情報として取得する。
【００４６】
図７Ｂは、画像情報取得部３１２が物体ＯＢＪの位置および姿勢に関する画像情報を取得するための手法を説明するための説明図である。画像情報取得部３１２は、物体ＯＢＪのＣＡＤモデルＣＭを用いて、初期値として与えられた位置および姿勢での物体ＯＢＪのＣＧ画像Ｇａを生成する。そして、画像情報取得部３１２は、上述の教示画像取得部３１１により取得された教示画像ＰｂとＣＧ画像Ｇａとをパターンマッチングすることにより、ＣＧ空間における物体ＯＢＪの３次元空間における位置および姿勢に関する画像情報を取得する。
【００４７】
例えば、画像情報取得部３１２は、教示画像ＰｂとＣＧ画像Ｇａの輝度の差分を対応する画素毎に演算し、画像全体にわたって各画素の差分の総和を求める。また、ＣＡＤモデルＣＭを用いて異なる位置および姿勢での物体ＯＢＪのＣＧ画像Ｇａを生成し、同様に教示画像Ｐｂとの輝度の差分の総和を繰り返し求める。そして、画像情報取得部３１２は、その輝度の差分の総和が最小となるときのＣＧ画像Ｇｂを特定し、そのＣＧ画像Ｇｂを与えるＣＡＤモデルのＣＧ空間（３次元）での位置と姿勢を、教示画像Ｐｂにおける物体ＯＢＪの３次元空間における位置および姿勢として特定し、この位置および姿勢に関する情報を画像情報として取得する。
【００４８】
ここで、本実施形態における物体ＯＢＪの位置および姿勢の定義を説明する。
図８は、上述のＣＡＤモデルを規定するＣＧ空間における物体ＯＢＪの位置および姿勢の定義を説明するための説明図である。本実施形態において、ＣＡＤモデルＣＭを規定するＣＧ空間の座標系は、物体ＯＢＪが存在する実空間と整合するように予め校正されている。このようなＣＧ空間において、物体ＯＢＪの位置に関する情報は、物体ＯＢＪのＣＡＤモデルＣＭの所定部位（例えば重心位置）の座標（ｘ，ｙ，ｚ）として定義される。また、物体ＯＢＪの姿勢に関する情報は、ＣＧ空間の座標系の３軸とそれぞれ並行な軸であって物体ＯＢＪの上記位置を与える座標点を通る３軸（Ｊｘ，Ｊｙ，Ｊｚ）のそれぞれを回転軸としたときの回転角（θｘ，θｙ，θｚ）として定義される。ただし、この例に限定されることなく、物体ＯＢＪの位置および姿勢をどのように定義してもよい。
【００４９】
図９は、画像情報取得部３１２により取得される物体ＯＢＪの位置および姿勢に関する画像情報を説明するための説明図であり、前述の図６に示す物体ＯＢＪの搬送経路上の地点Ｐ１〜Ｐ４と、物体ＯＢＪの位置および姿勢に関する画像情報との関係を説明するための説明図である。
なお、図９では、図６に示す地点Ｐ５は省略されている。また、図９では、横軸を地点Ｐ１〜Ｐ４を表すものとしているが、これを物体ＯＢＪが各地点を通過する時刻（時間）に置き換えてもい。後述の図１０および図１１も同様である。
【００５０】
図９に示すパラメーターＰＡ１，ＰＢ１，ＰＣ１，ＰＤ１，ＰＥ１，ＰＦ１は、図６に示す地点Ｐ１での物体ＯＢＪの位置および姿勢に関する画像情報を模式的に表している。例えば、パラメーターＰＡ１，ＰＢ１，ＰＣ１は、地点Ｐ１での物体ＯＢＪの位置を表す座標（ｘ，ｙ，ｘ）の各成分に対応し、パラメーターＰＤ１，ＰＥ１，ＰＦ１は、地点Ｐ１での物体ＯＢＪの姿勢を表す回転角（θｘ，θｙ，θｚ）の各成分に対応している。同様に、パラメーターＰＡ２，ＰＢ２，ＰＣ２，ＰＤ２，ＰＥ２，ＰＦ２は、地点Ｐ２での物体ＯＢＪの位置および姿勢に関する画像情報を表し、パラメーターＰＡ３，ＰＢ３，ＰＣ３，ＰＤ３，ＰＥ３，ＰＦ３は、地点Ｐ３での物体ＯＢＪの位置および姿勢に関する画像情報を表し、パラメーターＰＡ４，ＰＢ４，ＰＣ４，ＰＤ４，ＰＥ４，ＰＦ４は、地点Ｐ４での物体ＯＢＪの位置および姿勢に関する画像情報を表している。図９に示すように、物体ＯＢＪの位置および姿勢を表す各パラメーターは、各地点での物体ＯＢＪの位置および姿勢に応じて変化している。この変化の量は、オペレーターの操作により各地点に物体ＯＢＪが位置された状態によって定まる。
【００５１】
続いて、ステップＳ３において、画像情報補間部３１３は、教示点の物体の位置および姿勢の情報から、教示点間の軌道をスプライン関数を用いて３次元空間において補間する。本実施形態では、画像情報補間部３１３は、スプライン関数を用いて、画像情報取得部３１２により取得された物体ＯＢＪの３次元空間における位置および姿勢を表すパラメーターを補間する教示点間の軌道を得る。
図１０は、物体ＯＢＪの位置および姿勢に関する画像情報の補間処理を説明するための説明図である。画像情報補間部３１３は、同図に示すように、前述の図９に示す各パラメーターを後述のスプライン関数ｓ（ｔ）により補間する。即ち、画像情報補間部３１３は、物体ＯＢＪの位置のｘ成分を表すパラメーターＰＡ１〜ＰＡ４を通る軌道ＰＡ、ｙ成分を表すパラメーターＰＢ１〜ＰＢ４を通る軌道ＰＢ、ｚ成分を表すパラメーターＰＣ１〜ＰＣ４を通る軌道ＰＣを、スプライン関数を用いて算出する。同様に、画像情報補間部３１３は、物体ＯＢＪの姿勢のθｘ成分を表すパラメーターＰＤ１〜ＰＤ４を通る軌道ＰＤ、θｙ成分を表すパラメーターＰＥ１〜ＰＥ４を通る軌道ＰＤ、θｚ成分を表すパラメーターＰＥ１〜ＰＥ４を通る軌道ＰＥを、スプライン関数を用いて算出する。上述の軌道ＰＡ〜ＰＦを与えるスプライン関数は、地点Ｐ１〜Ｐ５でのパラメーターに加えて、補間されたパラメーターを表す。即ち、軌道ＰＡ〜ＰＦを与えるスプライン関数は、地点Ｐ１〜地点Ｐ４までの搬送経路上の任意の地点での物体ＯＢＪの位置および姿勢に関する画像情報を含んでいる。
【００５２】
従って、上述の軌道ＰＡ〜ＰＦを与えるスプライン関数から所望の時刻での物体ＯＢＪの位置および姿勢を表す画像を生成することが可能になる。即ち、上述の軌道ＰＡ〜ＰＦを与えるスプライン関数から得られる物体ＯＢＪの位置および姿勢に関する画像情報を用いて、地点Ｐ１と地点Ｐ４との間の搬送経路上の任意の地点での目標画像をレンダリングすることが可能になり、この目標画像により、地点Ｐ１〜Ｐ４の各地点で得られた教示画像を補間することが可能になる。
なお、上述の説明では、地点Ｐ５のパラメーターを省略したが、物体ＯＢＪを地点Ｐ５まで搬送するためには、地点Ｐ１〜Ｐ５での各地点でのパラメーターを考慮して図１０に示す軌道ＰＡ〜ＰＦがスプライン関数を用いて算出される。
【００５３】
ここで、スプライン関数ｓ（ｔ）を用いて上述の各パラメーターを補間する演算手順の一例を説明する。
スプライン関数ｓ（ｔ）は次の数式（１）のように表される。ただし、数式（１）において、ａｉは係数であり、Ｂｉ，ｋ（ｔ）はＢスプラインである。
【００５４】
【数１】
0005948913.tif 000002
【００５５】
上述の各パラメーターをスプライン関数（ｔ）で補間することは、各パラメーターの値を表現するスプライン関数ｓ（ｔ）を特定することを意味し、具体的には、スプライン関数ｓ（ｔ）における係数ａｉを特定することを意味する。以下、数式（１）に示されるスプライン関数ｓ（ｔ）の係数ａｉの算出手順を説明する。
【００５６】
（手順１）Ｎ（Ｎは任意の自然数）個の教示点での物体ＯＢＪの位置および姿勢に関する情報として、（ｔ０、ｐ０），（ｔ１、ｐ１），（ｔ２、ｐ２），…，（ｔＮ−１、ｐＮ−１）を入力値とする。ここで、ｔ０〜ｔＮ−１は各教示点での時刻を表す。また、ｐ０〜ｐＮ−１は各教示点での上述のパラメーターの値を表し、例えば各教示点での物体ＯＢＪの位置の座標である。
【００５７】
（手順２）Ｋ−１次元スプラインの節点ｑを次式により計算する。
ｑ０＝ｑ１＝…＝ｑＫ−１＝ｔ０
ｑｉ＋Ｋ＝（ｔｉ＋ｔｉ＋Ｋ）／２  （ただし、ｉ＝０，１，…，Ｎ−１−Ｋ）
ｑＮ＝ｑＮ＋１＝…＝ｑＮ＋Ｋ−１＝ｔＮ−１
【００５８】
（手順３）上述の節点ｑを用いて、ドヴァ・コックスの算法によりＢスプラインＢｉ，ｋ（ｔ）を次式により計算する。
Ｂｉ，ｋ（ｔ）＝｛（ｔ−ｑｉ）／ｑｉ＋Ｋ−１−ｑｉ）｝Ｂｉ，Ｋ−１（ｔ）
＋｛（ｑｉ＋Ｋ−ｔ）／（ｑｉ＋Ｋ−ｑｉ＋１）｝Ｂｉ＋１，Ｋ−１（ｔ）
【００５９】
（手順４）上述のＢスプライン関数Ｂｉ，ｋ（ｔ）の多項式として表される上述の数式（１）のスプライン関数ｓ（ｔ）の係数ａｉを次の手順で求める。
ｓ（ｔｉ）＝ｐｉ（ただし、ｉ＝０，１，…，Ｎ−１）より、次のＮ元１次方程式が成り立つ。
【００６０】
【数２】
0005948913.tif 000003
【００６１】
上述のＮ元１次方程式を行列式で表現すると次のようになる。
Ａａ＝ｐ  …（２）
ただし、上述の数式（２）における行列Ａ、行列ａ、行列ｂは次のように表される。
【００６２】
【数３】
0005948913.tif 000004
【００６３】
【数４】
0005948913.tif 000005
【００６４】
【数５】
0005948913.tif 000006
【００６５】
上述の行列式（２）からガウスの消去法等により行列ａの各要素である係数ａｉを求める。以上により、スプライン関数ｓ（ｔ）の係数ａｉが求められる。
上述のように、各教示点での画像情報をなすパラメーターの値から、行列ａの各要素としてスプライン関数ｓ（ｔ）の係数ａｉが求められ、上述の軌道ＰＡ〜ＰＦを表すスプライン関数ｓ（ｔ）が得られる。このようなスプライン関数ｓ（ｔ）によれば、パラメーターを滑らかに補間する軌道を生成することができ、また、軌道上を搬送される物体ＯＢＪの加速および減速を滑らかに行うことが可能になる。
【００６６】
続いて、ステップＳ４において、レンダリング部３１４は、画像情報補間部３１３により補間された物体ＯＢＪの位置および姿勢の情報を用いて、所望の搬送速度Ｖに応じて目標画像をレンダリングする。本実施形態では、レンダリング部３１４は、画像情報補間部３１３により補間されたパラメーターを用いて、オペレーターにより指定される所望の搬送速度Ｖに応じて目標画像をレンダリングする。
図１１は、レンダリング部３１４のレンダリングの手法を説明するための図である。同図において、地点Ｐ１，Ｐ２は、図６に示す地点Ｐ１，Ｐ２であり、地点Ｐ１１，Ｐ１２は、地点Ｐ１と地点Ｐ２との間で目標画像を補間する地点を表している。本実施形態では、説明の簡略化のため、地点Ｐ１１は、地点Ｐ１と地点Ｐ２の間の３分の１の地点に相当し、地点Ｐ１２は、地点Ｐ１と地点Ｐ２の間の３分の２の地点に相当するものとする。即ち、地点Ｐ１から地点Ｐ１１までの距離は、地点Ｐ１から地点Ｐ２までの距離の３分の１であり、地点Ｐ１から地点Ｐ１２までの距離は、地点Ｐ１から地点Ｐ２までの距離の３分の２である。
【００６７】
また、図１１において、画像Ｇ１１は、物体ＯＢＪが地点Ｐ１に位置する場合に示される地点Ｐ１１での目標画像を表し、画像Ｇ１２は、物体ＯＢＪが地点Ｐ１１に位置する場合に示される地点Ｐ１２での目標画像を表し、画像Ｇ２は、物体ＯＢＪが地点Ｐ１２に位置する場合に示される地点Ｐ２での目標画像を表している。画像Ｇ１１，Ｇ１２，Ｇ２中に示す点線は、前述の図６に示す地点Ｐ１〜Ｐ５を中継点とする搬送経路を表している。
【００６８】
ここで、目標画像Ｇ１１は、画像情報補間部３１３により、地点Ｐ１１での物体ＯＢＪの位置および姿勢に関する画像情報であるパラメーターＰＡ１１，ＰＢ１１，ＰＣ１１，ＰＤ１１，ＰＥ１１，Ｐ１１から生成された画像であり、この目標画像Ｇ１１に示されている物体ＯＢＧの位置および姿勢は、上述のパラメーターＰＡ１１，ＰＢ１１，ＰＣ１１，ＰＤ１１，ＰＥ１１，ＰＦ１１で規定される。また、目標画像Ｇ１２は、画像情報補間部３１３により、地点Ｐ１２での物体ＯＢＪの位置および姿勢に関する画像情報であるパラメーターＰＡ１２，ＰＢ１２，ＰＣ１２，ＰＤ１２，ＰＥ１２，ＰＦ１２から生成された画像であり、この目標画像Ｇ２２に示されている物体ＯＢＧの位置および姿勢は、上述のパラメーターＰＡ１２，ＰＢ１２，ＰＣ１２，ＰＤ１２，ＰＥ１２，ＰＦ１２で規定される。目標画像Ｇ２は、画像情報補間部３１３により地点Ｐ２での物体ＯＢＪの位置および姿勢に関する画像情報であるパラメーターＰＡ２，ＰＢ２，ＰＣ２，ＰＤ２，ＰＥ２，ＰＦ２から生成された画像、または、教示画像取得部３１１により取得された地点Ｐ２での物体ＯＢＪの教示画像である。
【００６９】
図１１に例示するように、地点Ｐ１と地点Ｐ２との間の中継点を増やし、補間による目標画像を増やせば、後述するように、この地点Ｐ１と地点Ｐ２との間の搬送速度Ｖが小さくなる。レンダリング部３１４は、地点Ｐ１と地点Ｐ２との間の所望の搬送速度に応じて中継点の数を設定し、その中継点での物体ＯＢＪの目標画像を、上述の画像情報補間部３１３により補間された画像情報を用いてレンダリングする。地点Ｐ２〜Ｐ５の区間についても同様に所望の搬送速度に応じて中継点が設定され、その中継点での目標画像が生成される。
以上のように、画像生成部３１により目標画像生成処理が行われ、この目標画像生成処理により生成された目標画像は記憶部３２に記憶される。
【００７０】
ここで、上述の目標画像生成処理により得られる目標画像と搬送速度との関係を説明する。図１１において、地点Ｐ１から地点Ｐ１１に物体を搬送する際の搬送速度Ｖは、図９に示す地点Ｐ１での物体ＯＢＪの位置および姿勢に関する画像情報であるパラメーターＰＡ１，ＰＢ１，ＰＣ１，ＰＤ１，ＰＥ１，ＰＦ１と、地点Ｐ１１での物体ＯＢＪの位置および姿勢に関する画像情報であるパラメーターＰＡ１１，ＰＢ１１，ＰＣ１１，ＰＤ１１，ＰＥ１１，ＰＦ１１との差分に応じて設定される。この場合のパラメーターの差分は、図１１において、中継点Ｐ１１，Ｐ１２を設定せずに目標画像Ｇ２のみを生成した場合に比較して小さくなる。
【００７１】
例えば、中継点Ｐ１１を設定した場合の物体ＯＢＪの位置の差分（例えば地点Ｐ１から地点Ｐ１１までの距離）は、中継点Ｐ１１を設定せずに目標画像Ｇ２のみを生成した場合の物体ＯＢＪの位置の差分（例えば地点Ｐ１から地点Ｐ２までの距離）よりも小さくなる。従って、中継点Ｐ１１での目標画像Ｇ１１を補間により生成することにより、地点Ｐ１と地点Ｐ１１との間の搬送速度Ｖも小さくなる。逆に、中継点Ｐ１１での目標画像Ｇ１１を生成しなければ、目標画像Ｇ１１を生成した場合に比較して、搬送速度Ｖを大きくすることができる。地点Ｐ１１から地点Ｐ１２に物体を搬送する際の搬送速度Ｖと、地点Ｐ１２から地点Ｐ２に物体を搬送する際の搬送速度Ｖについても同様である。
【００７２】
（物体搬送処理）
次に、上述のように画像生成部３１により生成された目標画像を用いたビジュアルサーボ制御による物体搬送処理を説明する。
本実施形態のロボット装置１によるビジュアルサーボ制御は、上述の画像生成部３１により生成された目標画像を教示画像として用いる点を除けば、従来のビジュアルサーボ制御と同様である。ここでは、上述の画像生成部３１により生成された図１１の地点Ｐ１１，Ｐ１２，Ｐ２での目標画像Ｇ１１，Ｇ１２，Ｇ２に加え、地点Ｐ１での目標画像Ｇ１（図示なし）を用いて、図６に示す始点Ｐ０から地点Ｐ１，Ｐ１１，Ｐ１２を経由して地点Ｐ２まで物体ＯＢＪを搬送する過程を説明する。
【００７３】
なお、始点Ｐ０から地点Ｐ１までの間には中継地点は設定されておらず、補間された目標画像も存在しないものとする。また、地点Ｐ１，Ｐ１１，Ｐ１２，Ｐ２のそれぞれにおける物体ＯＢＪの目標画像Ｇ１，Ｇ１１，Ｇ１２，Ｇ２は、上述の目標画像生成処理により画像生成部３１で生成されて記憶部３２に予め記憶されているものとする。
【００７４】
概略的には、ビジュアルサーボ制御は、撮像部２０により時々刻々と得られるフレーム画像と記憶部３２に予め記憶された上述の目標画像Ｇ１，Ｇ１１，Ｇ１２，Ｇ２とから、図３に示す情報処理部３０を構成する制御情報生成部３３がフレーム画像のフレームレートに相当する一定周期で制御情報Ｃを生成し、この制御情報Ｃに基づいてロボット制御部４０がロボット本体１０の動作をフィードバック制御することにより実施される。
【００７５】
具体的に説明すると、撮像部２０は、３０フレーム／秒のフレームレートで、物体ＯＢＪが位置する始点Ｐ０から地点Ｐ５を含む所定範囲を撮像する。このフレーム画像は、撮像部２０からフレームレートに相当する３３ミリ秒毎に情報処理部３０の制御情報生成部３３に供給される。
【００７６】
制御情報生成部３３は、始点Ｐ０に位置する物体ＯＢＪの最初の中継地点が地点Ｐ１であることから、記憶部３２から地点Ｐ１での目標画像Ｇ１（図示なし）を読み出す。そして、制御情報生成部３３は、目標画像Ｇ１と現在のフレーム画像との差分を演算する。換言すると、制御情報生成部３３は、目標画像Ｇ１と現在のフレーム画像とから、前述の各パラメーターの差分を演算する。そして、制御情報生成部３３は、この差分が小さくなるような物体ＯＢＪの搬送量を演算し、この搬送量に相当するロボット本体１０の動作量、即ち例えばハンド部１０ｂの回動量を指令するための制御情報Ｃを生成して出力する。ここで、本実施形態において、物体ＯＢＪの搬送量とは、物体ＯＢＪの位置の変化量と、物体ＯＢＪの姿勢の変化量の両方を含む。即ち、制御情報生成部３３は、地点Ｐ０にある物体ＯＢＪが地点Ｐ１での目標画像Ｇ１１に示される位置および姿勢をとるように、物体ＯＢＪの位置の変化量と、物体ＯＢＪの姿勢の変化量を算出し、このような変化量を物体ＯＢＪに与えるようなロボット本体１０の動作量を指定する制御情報Ｃをロボット制御部４０に供給する。
【００７７】
制御情報生成部３３は、撮像部２０から新たなフレーム画像が供給される都度、各パラメーターの差分を算出し直して制御情報Ｃを生成し、この制御情報Ｃをロボット制御部４０に供給する。本実施形態では、撮像部２０は、３０フレーム／秒のフレームレートのフレーム画像を制御情報生成部３３に供給するので、制御情報生成部３３は約３３ミリ秒ごとに各パラメーターの差分を算出し直して制御情報Ｃを生成する。ロボット制御部４０は、制御情報生成部３３から順次供給される制御情報Ｃで指定されるロボット本体１０の動作量に応じて、ロボット本体１０の各部を制御する。これにより、ロボット本体１０に保持された物体ＯＢＪが始点Ｐ０から地点Ｐ１に向けて搬送される。
【００７８】
図１２は、ロボット本体１０による物体ＯＢＪの搬送速度Ｖと搬送経路上の位置との関係を示す図である。ロボット制御部４０は、物体ＯＢＪが始点Ｐ０に位置するときに制御情報生成部３３から供給される制御情報Ｃに基づいてロボット本体１０の動作を制御し、物体ＯＢＪが始点Ｐ０から地点Ｐ１に向けて移動を開始する。この場合、始点Ｐ０から最初の中継点である地点Ｐ１までの距離に応じて物体ＯＢＪの位置に関する画像情報をなすパラメーターの差分が大きくなる。このため、制御情報生成部３３は、物体ＯＢＪの搬送速度Ｖとして、この差分に応じて比較的大きな搬送速度ＶＡを設定して制御情報Ｃを生成する。この搬送速度ＶＡを設定して生成された制御情報Ｃにより、ロボット制御部４０は、その搬送速度ＶＡに見合った動作をロボット本体１０に行わせる。
【００７９】
そして、約３３ミリ秒後に新たなフレーム画像が撮像部２０から供給されると、制御情報生成部３３は、この新たなフレーム画像の物体ＯＢＪの位置および姿勢に関するパラメーターを取得し、このパラメーターと、地点Ｐ１での目標画像Ｇ１内の物体ＯＢＪの位置および姿勢を表すパラメーターとの差分を新たに計算し直して制御情報Ｃを生成する。このとき、物体ＯＢＪの位置は、始点Ｐ０よりも地点Ｐ１に接近しているので、物体ＯＢＪと地点Ｐ１との間の距離は短縮されている。従って、このときの制御情報Ｃにより設定される物体ＯＢＪの搬送速度ＶＢは上述の搬送速度ＶＡよりも小さくなる。このようにして、物体ＯＢＪが地点Ｐ１に近づくにつれて、図１２に示すように、物体ＯＢＪの搬送速度Ｖが低下する傾向を示す。
【００８０】
図１２では、始点Ｐ０と地点Ｐ１の間で、搬送速度Ｖが概ね直線的に低下する傾向を示しているが、微視的には、３３ミリ秒毎に段階的に搬送速度Ｖが低下する。しかし、実際には、物体ＯＢＪの質量やロボット本体１０の慣性質量が存在するので、図１２に例示するように、物体ＯＢＪの搬送速度Ｖは、物体ＯＢＪと地点Ｐ１との間の距離に比例してなだらかに低下する。従って、図１２に示す例では、始点Ｐ０から地点Ｐ１までの物体ＯＢＪの搬送速度Ｖの平均値は、概ねＶＡ／２となる。
【００８１】
続いて、物体ＯＢＪが地点Ｐ１に到達すると、制御情報生成部３３は、次の中継地点が地点Ｐ１１であることから、記憶部３２から地点Ｐ１１での目標画像Ｇ１１を読み出す。そして、制御情報生成部３３は、地点Ｐ１に位置する物体ＯＢＪのフレーム画像と目標画像Ｇ１１から上述の各パラメーターの差分を演算し、この差分が小さくなるような物体ＯＢＪの搬送量を演算し、この搬送量に相当するロボット本体１０の運動量を指令するための制御情報Ｃを生成して出力する。ここで、制御情報生成部３３は、地点Ｐ１から地点Ｐ１１に向けて搬送するときの搬送速度Ｖとして、地点Ｐ１に位置する物体ＯＢＪのフレーム画像と目標画像Ｇ１１から算出した各パラメーターの差分に応じた搬送速度ＶＢを設定して制御情報Ｃを生成する。この場合の搬送速度Ｖも、上述と同様に、物体ＯＢＪと地点Ｐ１１との間の距離に比例してなだらかに低下する。
【００８２】
次の地点Ｐ１１〜Ｐ１２の区間と地点Ｐ１２〜Ｐ２の区間でのビジュアルサーボ制御による物体ＯＢＪの搬送についても、上述の始点Ｐ０〜地点Ｐ１の区間、または地点Ｐ１〜Ｐ１１の区間での搬送と同様に説明される。また、特に説明しないが、地点Ｐ２〜Ｐ５の間の搬送についても同様に説明される。このようにして、ビジュアルフィードバック制御に基づく物体搬送処理により物体ＯＢＪが搬送される。
【００８３】
ここで、仮に、始点Ｐ０〜Ｐ１の区間の距離と地点Ｐ１〜Ｐ２の区間の距離が等しく、地点Ｐ１〜Ｐ１１、Ｐ１１〜Ｐ１２、Ｐ１２〜Ｐ２の各区間の距離が、始点Ｐ０〜Ｐ１の区間の距離の３分の１であれば、図１２において、搬送速度ＶＢは搬送速度ＶＡの約３分の１になり、地点Ｐ１〜Ｐ２の区間の搬送速度Ｖの平均値ＶＢ／２は、始点Ｐ０〜Ｐ１の区間の搬送速度Ｖの平均値ＶＡ／２の約３分の１となる。
【００８４】
従って、本実施形態によれば、目標画像により、各区間の搬送速度Ｖを制御することが可能になる。即ち、所望の搬送速度に応じて中継点の間隔を調整して目標画像を生成することにより、物体ＯＢＪの搬送速度Ｖを意図的に制御することが可能になり、加減速を考慮して物体ＯＢＪを搬送することが可能になる。
また、本実施形態によれば、スプライン関数ｓ（ｔ）により任意の地点での物体ＯＢＪの位置および姿勢を把握することができるので、教示点に制約されることなく、所望の搬送速度Ｖに応じて目標画像を準備することができる。
また、本実施形態によれば、限られた教示画像から任意の地点での目標画像を生成することができるので、加減速を考慮して少ない教示画像で最終的な目標地点まで物体ＯＢＪの搬送を制御することができる。
【００８５】
また、本実施形態によれば、物体ＯＢＪを目標地点に搬送する過程で、周囲の状況に応じて搬送速度を設定することが可能になる。例えば、物体ＯＢＪの周辺に障害物Ｂが存在しないのであれば、搬送速度を低下させずに物体ＯＢＪを搬送し、障害物Ｂの周辺では搬送速度を低下させることが可能になる。また、スプライン関数を用いて教示画像を補間して目標画像を生成するので、物体ＯＢＪの搬送をなめらかに行うことも可能になる。また、加速および減速も滑らかに行うこともできる。
【００８６】
なお、上述の実施形態では、スプライン関数を用いて補間処理を行うものとしたが、搬送速度の制御を可能とする限度において、直線補間等の任意の補間手法を用いることができる。
また、上述の実施形態では、画像生成部３１をロボット装置１の構成要素としたが、これを画像生成装置として別体に構成してもよい。この場合の画像生成装置は、ビジュアルサーボ制御を用いたロボットにより物体を目標地点まで搬送する場合に目標とすべき目標画像を生成する画像生成装置であって、上述の教示画像取得部３１１と、画像情報取得部３１２と、画像情報補間部３１３と、レンダリング部３１４とを備えた画像生成装置として構成される。
【００８７】
また、上述の実施形態による画像生成部３１の処理手順を画像生成方法として表現することもできる。この場合の画像生成方法は、ビジュアルサーボ制御を用いたロボットにより物体を目標地点まで搬送する場合に目標とすべき目標画像を生成する画像生成方法であって、上述のステップＳ１〜Ｓ４を含む画像生成方法として構成される。
【００８８】
更に、画像生成部３１の処理手順を、コンピューターに実行させるための画像生成プログラムとして表現することもできる。この場合の画像生成プログラムは、コンピューターを、ビジュアルサーボ制御を用いたロボットにより物体を目標地点まで搬送する場合に目標とすべき目標画像を生成する画像生成装置として機能させるための画像生成プログラムであって、上記コンピューターを、上述の教示画像取得部３１１と、画像情報取得部３１２と、画像情報補間部３１３と、レンダリング部３１４と、として機能させるための画像生成プログラムとして構成される。
【００８９】
［第２実施形態］
次に、本発明の第２実施形態を説明する。
概略的には、本実施形態では、複数の撮像部を準備し、或る撮像部により搬送経路上の一部の区間を撮像し、他の区間を別の撮像部で撮像することにより、各撮像部が撮像を担う複数の区間にわたって物体ＯＢＪの搬送を制御する。撮像部の数は任意である。
【００９０】
図１３は、本実施形態によるロボット装置２の機能構成の一例を表すブロック図である。ロボット装置２は、上述の図１に示す第１実施形態の構成において、撮像部２０および情報処理部３０に代え、２つの撮像部２１，２２と情報処理部５０を備える。その他の構成は、第１実施形態と同様である。
【００９１】
２つの撮像部２１，２２のそれぞれは、第１実施形態における撮像部２０と同様のものであり、例えばビデオカメラ装置である。ただし、本実施形態では、２つの撮像部２１，２２は、物体ＯＢＪの搬送経路に設定された複数の区間に対応付けられて設置されている。本実施形態では、撮像部２１は、前述の図６に示す始点Ｐ０から地点Ｐ５までの区間に対して設置され、この撮像部２１は、物体ＯＢＪと、始点Ｐ０から地点Ｐ５までの搬送経路を含む範囲を撮像するように設定されている。また、本実施形態では、撮像部２２は、図６に示す製品Ｍの筐体内部を上方から望む位置に設置され、地点Ｐ５から製品Ｍの筐体内部の最終的な目標地点（図示なし）までの搬送経路を含む範囲を撮像するように設定されている。
なお、撮像部の数は、任意であり、搬送経路上に設定した区間の数に応じて任意の個数の撮像部を設置すればよい。
【００９２】
情報処理部５０は、２つの撮像部２１，２２のそれぞれについて、撮像された画像から物体ＯＢＪの搬送経路を教示するための教示画像を取得し、この教示画像を所望の搬送速度に応じて補間することにより、物体ＯＢＪを搬送する場合に目標とすべき目標画像を生成する。そして、この物体ＯＢＪを搬送する場合に撮像部２１，２２により撮像される画像と上記目標画像との差分を取得する処理を実行する。
【００９３】
図１４は、情報処理部５０の機能構成の一例を表すブロック図である。情報処理部５０は、第１情報処理部５１、第２情報処理部５２、選択部５３を備える。このうち、第１情報処理部５１および第２情報処理部５２のそれぞれは、上述の第１実施形態による情報処理部３０と同様に構成される。選択部５３は、第１情報処理部５１から出力される制御情報Ｃ１と第２情報処理部５２から出力される制御情報Ｃ２の何れかを制御情報Ｃとして選択して出力するためのものである。
【００９４】
本実施形態では、選択部５３による選択動作は、物体ＯＢＪが、撮像部２１の撮像範囲に含まれる始点Ｐ０から地点Ｐ５までの搬送経路の区間と、撮像部２２の撮像範囲に含まれる地点Ｐ５から最終的な目標地点までの搬送経路の区間の何れの区間に存在するかに基づいて制御される。即ち、物体ＯＢＪが、撮像部２１の撮像範囲に含まれる始点Ｐ０から地点Ｐ５までの搬送経路上に存在する場合、選択部５３は、第１情報処理部５１が出力する制御情報Ｃ１を制御情報Ｃとして選択する。また、選択部５３は、物体ＯＢＪが、撮像部２２の撮像範囲に含まれる地点Ｐ５から最終的な目標地点までの搬送経路上に存在する場合、第２情報処理部５２が出力する制御情報Ｃ２を制御情報Ｃとして選択する。
【００９５】
次に、本実施形態によるロボット装置２の動作を説明する。
本実施形態において、物体ＯＢＪが、図６に示す始点Ｐ０から地点Ｐ５までの搬送経路の区間に存在する場合、選択部５３は第１情報処理部５１から出力される制御情報Ｃ１を制御情報Ｃとして選択する。そして、撮像部２１と第１情報処理部５は、上述の第１実施形態による撮像部２０と情報処理部３０と同様に機能する。従って、この場合、ロボット装置２は、第１実施形態によるロボット装置１と同様に機能する。
【００９６】
本実施形態では、物体ＯＢＪが、撮像部２１からは死角領域となる製品Ｍの筐体内部の搬送経路上にある場合、撮像部２１と第１情報処理部５１に代わり、撮像部２２と第２情報処理部５２が機能して制御情報Ｃ２を生成し、この制御情報Ｃ２を制御情報Ｃとして選択部５３が選択する。従ってこの場合、第２情報処理部５２を構成する図４に示す画像生成部３１は、教示画像から目標画像を生成する段階で、物体ＯＢＪが製品Ｍの筐体内部における搬送経路上の各中継地点にある場合の教示画像を取得し、第１実施形態と同様に、その教示画像を補間することにより、所望の搬送速度に応じた目標画像を生成する。この目標画像は、第２情報処理部５２を構成する図４に示す記憶部３２に記憶される。
【００９７】
また、物体ＯＢＪを地点Ｐ５から最終的な目標地点まで搬送する場合、第２情報処理部５２は、記憶部３２に記憶された目標画像を参照して、撮像部２２により撮像されるフレーム画像から制御情報Ｃ２を生成する。この制御情報Ｃ２は選択部５３を介して制御情報Ｃとしてロボット制御部４０に供給される。ロボット制御部４０は、制御情報Ｃとして供給される制御情報Ｃ２に基づいてロボット本体１０の動作を制御することにより、物体ＯＢＪを地点Ｐ５から最終的な目標地点まで搬送させる。
【００９８】
ここで、本実施形態において、選択部５３での選択の切り替えは、物体ＯＢＪが地点Ｐ５に到達した時点で行われる。即ち、撮像部２１の撮像範囲に含まれる搬送経路の終点に相当する地点Ｐ５に物体Ｐ５が到達するまでは、情報処理部５０は、その選択部５３に制御情報Ｃ１を制御情報Ｃとして選択させる。そして、物体ＯＢＪが地点Ｐ５に到達すると、選択部５３に制御情報Ｃ２を制御情報Ｃとして選択させる。このように、制御情報Ｃの内容を制御情報Ｃ１から制御情報Ｃ２に切り替えることにより、物体ＯＢＪが撮像部２１の死角領域に入っても、継続的に物体ＯＢＪの搬送を制御することが可能になる。
【００９９】
なお、上述の例では、搬送経路上の区間に対応づけて２つの撮像部２１，２２を設置したが、同一の区間に複数の撮像部を設置し、各撮像部で撮像された画像から制御情報Ｃを生成してもよい。この場合、例えば、或る撮像部の撮像範囲内に障害物が動的に入り込み、この撮像部で物体ＯＢＪを撮像し得ない状況が突発的に生じても、他の撮像部により撮像される画像から制御情報Ｃを生成することが可能になる。従って、ビジュアルサーボ制御を安定的に継続することが可能になる。
【０１００】
以上、本発明の実施形態を説明したが、本発明は上述の実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で、種々の変形が可能である。
図１５は、上述の第１実施形態および第２実施形態によるロボット本体１０の変形例を模式的に表す図である。この変形例によるロボット本体１１は、台座１１ａと、台座１１ａに旋回可能に固定された支持台１１ｂと、旋回可能および屈伸可能に支持台１１ｂに連結された二つのアーム部１１ｃと、回動可能および首振り可能に各アーム部１１ｃに連結されたハンド部１１ｄと、各ハンド部１１ｄに取り付けられた把持部１１ｅとを含んで構成される。台座１１ａの下部には、ロボット本体１１を移動するための複数のホイールが取り付けられている。ロボット本体１１は、把持部１１ｅにより上述の物体ＯＢＪを把持した状態でこれを保持する。例えば、前述の図１に示すロボット制御部４０を台座１１ａの内部に収納することにより、ロボット本体１１とロボット制御部４０を一体に構成してもよく、また、ロボット制御部４０とロボット本体１１とを別体に構成してもよい。この変形例においても、ロボット本体１１は、垂直多関節ロボットであり、その関節の軸数は任意である。
【符号の説明】
【０１０１】
１，２…ロボット装置、１０，１１…ロボット本体、２０，２１，２２…撮像部、３０…情報処理部、３１…画像生成部、３２…記憶部、３３…制御情報生成部、４０…ロボット制御部、５０…情報処理部、５１…第１情報処理部、５２…第２情報処理部、５３…選択部、３１１…教示画像取得部、３１２…画像情報取得部、３１３画像情報補間部、３１４…レンダリング部、Ｃ…制御情報、Ｇ１，Ｇ１１，Ｇ１２，Ｇ２…画像、ＯＢＪ…物体、Ｐ０…始点（地点）、Ｐ１〜Ｐ５…地点、Ｓ１〜Ｓ４…処理ステップ、Ｖ，ＶＡ，ＶＢ…搬送速度。
【図１】
0005948913.tif 000007
【図２】
0005948913.tif 000008
【図３】
0005948913.tif 000009
【図４】
0005948913.tif 000010
【図５】
0005948913.tif 000011
【図６】
0005948913.tif 000012
【図８】
0005948913.tif 000013
【図９】
0005948913.tif 000014
【図１０】
0005948913.tif 000015
【図１１】
0005948913.tif 000016
【図１２】
0005948913.tif 000017
【図１３】
0005948913.tif 000018
【図１４】
0005948913.tif 000019
【図１５】
0005948913.tif 000020
【図１６】
0005948913.tif 000021
【図７Ａ】
0005948913.tif 000022
【図７Ｂ】
0005948913.tif 000023