JP2013158845A - ロボット装置、画像生成装置、画像生成方法、および画像生成プログラム - Google Patents
ロボット装置、画像生成装置、画像生成方法、および画像生成プログラム Download PDFInfo
- Publication number
- JP2013158845A JP2013158845A JP2012020024A JP2012020024A JP2013158845A JP 2013158845 A JP2013158845 A JP 2013158845A JP 2012020024 A JP2012020024 A JP 2012020024A JP 2012020024 A JP2012020024 A JP 2012020024A JP 2013158845 A JP2013158845 A JP 2013158845A
- Authority
- JP
- Japan
- Prior art keywords
- image
- unit
- teaching
- image generation
- evaluation value
- 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
Landscapes
- Image Analysis (AREA)
- Manipulator (AREA)
- Image Processing (AREA)
Abstract
【課題】教示画像中の対象物の位置姿勢を精度良く検出すること。
【解決手段】本発明によるロボット装置が備える教示画像生成部(31)は、物体を撮像して得られた画像から教示画像の候補となる第1画像を生成する第1画像生成部(311)と、前記第1画像に表された前記物体の姿勢を基準として複数の異なる姿勢での前記物体を表す複数の第2画像を生成する第2画像生成部(312)と、前記第1画像と前記複数の第2画像とから、前記教示画像としての前記第1画像の適格性に関する評価値を取得する評価値取得部(313)と、前記評価値が所定条件を満たしているか否かを判定する判定部(314)と、前記判定部による判定結果が肯定的である場合、前記第1画像を前記教示画像として出力する画像出力部(315)と、を備える。
【選択図】図4
【解決手段】本発明によるロボット装置が備える教示画像生成部(31)は、物体を撮像して得られた画像から教示画像の候補となる第1画像を生成する第1画像生成部(311)と、前記第1画像に表された前記物体の姿勢を基準として複数の異なる姿勢での前記物体を表す複数の第2画像を生成する第2画像生成部(312)と、前記第1画像と前記複数の第2画像とから、前記教示画像としての前記第1画像の適格性に関する評価値を取得する評価値取得部(313)と、前記評価値が所定条件を満たしているか否かを判定する判定部(314)と、前記判定部による判定結果が肯定的である場合、前記第1画像を前記教示画像として出力する画像出力部(315)と、を備える。
【選択図】図4
Description
本発明は、ロボット装置、画像生成装置、画像生成方法、および画像生成プログラムに関する。
近年、電子機器の製造ラインでは、スカラロボットや多軸ロボット等が製品の組み立て作業や検査等のために導入されている。例えば、組み立てラインでは、ロボット装置が、部品単体やアセンブリー部品等の物体を把持して所定の目標地点まで搬送することにより、電子機器の組み立て作業を支援している。
この種のロボット装置の制御技術として、ビジュアルサーボ制御またはビジュアルフィードバック制御と称される制御技術が知られている(例えば特許文献1参照)。このビジュアルサーボ制御は、搬送対象の物体と目標地点との相対的な位置の変化をビデオカメラ装置を用いて視覚情報として計測し、その計測結果をフィードバック情報として用いることにより目標地点に対して物体の相対的位置を制御するサーボ系の一種である。
ビジュアルサーボ制御を用いたロボット装置によれば、そのロボットハンドに把持された物体を目標地点まで搬送する場合、目標地点での物体の位置および姿勢を表す教示画像と、ビデオカメラ装置により得られる現地点での物体のフレーム画像とを比較し、フレーム画像が教示画像と一致するように物体の位置および姿勢を制御して物体を搬送する(例えば特許文献2参照)。この場合、一般に、搬送経路上の障害物等を回避するために複数の中継地点が指定され、各中継地点および目標地点での物体の位置および姿勢を教示するための複数枚の教示画像が事前に準備される。この複数枚の教示画像を目標画像とすることにより、障害物を回避した経路を辿りながらロボット装置が物体を最終的な目標地点まで搬送する。
しかしながら、上述の従来技術によれば、教示画像の適格性を判定することができず、教示画像が適切でない場合、この教示画像に示された各地点での物体の位置および姿勢を精度よく検出することができないという問題があった。
本発明は、上記課題を解決するためになされたものであり、教示画像に示された物体の位置および姿勢を精度よく求める、ロボット装置、画像生成装置、画像生成方法、および画像生成プログラムを提供することを目的とする。
上記課題を解決するため、本発明によるロボット装置の一態様は、ビジュアルサーボ制御に基づいて物体を目標地点まで搬送するロボット装置であって、前記物体を撮像して得られた画像から、前記物体を前記目標地点まで搬送する場合に目標とする教示画像の候補となる第1画像を生成する第1画像生成部と、前記第1画像に表された前記物体の姿勢を基準として複数の異なる姿勢での前記物体を表す複数の第2画像を生成する第2画像生成部と、前記第1画像生成部により生成された第1画像と前記第2画像生成部により生成された第2画像の各画素の階調差を最小にする非線形最小化問題を解くことで、前記第1画像に表された前記物体の位置及び姿勢と前記第2画像に表された前記物体の位置及び姿勢との差分を取得する差分取得部と、前記第2画像生成部により生成された複数の第2画像のそれぞれに表された物体の位置および姿勢に前記差分取得部により取得された差分を加算する加算部と、前記加算部の加算結果をグループ化するグルーピング部と、前記グルーピング部によりグループ化された前記加算結果により示される前記物体の位置および姿勢を表す第3画像をレンダリングするレンダリング部と、前記第1画像生成部により生成された第1画像と前記レンダリング部によりレンダリングされた第3画像との間の相関を示す値を評価値として演算する評価値演算部と、前記評価値が所定条件を満たしているか否かを判定する判定部と、前記判定部による判定結果が肯定的である場合、前記第1画像を前記教示画像として出力する画像出力部と、を備えたロボット装置の構成を有する。
上記構成によれば、差分取得部が取得した差分の精度が高ければ、複数の第2画像のそれぞれに表された物体の位置および姿勢に上記差分を加算することにより、第1画像に表された物体の位置および姿勢が得られ、第1画像に表された物体の位置および姿勢を精度よく検出することができる。従って、複数の第2画像のそれぞれに表された物体の位置および姿勢に上記差分を加算して得られる第3画像と元の第1画像との相関を評価することにより、第1画像が教示画像として適切かどうか、即ち、教示画像から物体の位置および姿勢をパターンマッチングにより検出する際に、教示画像として第1画像を使用した場合に物体の位置および姿勢を精度よく検出することができるかどうかを判定することが可能になる。また、加算部の加算結果をグループ化し、このグループ化した上記加算結果により示される物体の位置および姿勢を表す第3画像をレンダリングするので、物体の位置および姿勢の検出を安定化させることが可能になる。
上記ロボット装置の一態様において、例えば、前記グルーピング部は、更に、前記グループ化された前記加算結果により示される前記物体の位置および姿勢の代表値を演算し、前記レンダリング部は、前記代表値で表される前記物体の位置および姿勢を表す前記第3画像をレンダリングする。
上記構成によれば、加算結果により示される前記物体の位置および姿勢の代表値を演算するので、各グループを代表する物体の位置および姿勢を設定することが可能になる。
上記構成によれば、加算結果により示される前記物体の位置および姿勢の代表値を演算するので、各グループを代表する物体の位置および姿勢を設定することが可能になる。
上記ロボット装置の一態様において、例えば、前記所定条件は、前記評価値演算部により演算された評価値のうち、前記第1画像と前記第3画像との間の最大の相関を示す評価値と他の評価値との差が所定値以上であることを含む。
上記構成によれば、最大の相関を示す評価値と他の評価値との差が所定値以上であることは、最大の相関を示す評価値が得られた第3画像と他の第3画像が有意に異なることを意味するので、各グループについて演算された評価値のうち、第1画像に表された物体の位置および姿勢を特定することが可能になる。
上記構成によれば、最大の相関を示す評価値と他の評価値との差が所定値以上であることは、最大の相関を示す評価値が得られた第3画像と他の第3画像が有意に異なることを意味するので、各グループについて演算された評価値のうち、第1画像に表された物体の位置および姿勢を特定することが可能になる。
上記課題を解決するため、本発明による画像生成装置の一態様は、ビジュアルサーボ制御に基づいて作動するロボット装置が物体を目標地点まで搬送する場合に目標とする教示画像を生成する画像生成装置であって、前記物体を撮像して得られた画像から前記教示画像の候補となる第1画像を生成する第1画像生成部と、前記第1画像に表された前記物体の姿勢を基準として複数の異なる姿勢での前記物体を表す複数の第2画像を生成する第2画像生成部と、前記第1画像と前記複数の第2画像とから、前記教示画像としての前記第1画像の適格性に関する評価値を取得する評価値取得部と、前記評価値が所定条件を満たしているか否かを判定する判定部と、前記判定部による判定結果が肯定的である場合、前記第1画像を前記教示画像として出力する画像出力部と、を備えた画像生成装置の構成を有する。
上記構成によれば、上記ロボット装置が備える教示画像生成部と同様の作用効果を得ることができる。
上記構成によれば、上記ロボット装置が備える教示画像生成部と同様の作用効果を得ることができる。
上記課題を解決するため、本発明による画像生成方法の一態様は、ビジュアルサーボ制御に基づいて作動するロボット装置が物体を目標地点まで搬送する場合に目標とする教示画像を生成する画像生成方法であって、前記物体を撮像して得られた画像から前記教示画像の候補となる第1画像を生成する第1画像生成ステップと、前記第1画像に表された前記物体の姿勢を基準として複数の異なる姿勢での前記物体を表す複数の第2画像を生成する第2画像生成ステップと、前記第1画像と前記複数の第2画像とから、前記教示画像としての前記第1画像の適格性に関する評価値を取得する評価値取得ステップと、前記評価値が所定条件を満たしているか否かを判定する判定ステップと、前記判定部による判定結果が肯定的である場合、前記第1画像を前記教示画像として出力する画像出力ステップと、含む画像生成方法の構成を有する。
上記構成によれば、画像生成方法による作用効果として、上記ロボット装置が備える教示画像生成部と同様の作用効果を得ることができる。
上記構成によれば、画像生成方法による作用効果として、上記ロボット装置が備える教示画像生成部と同様の作用効果を得ることができる。
上記課題を解決するため、本発明による画像生成プログラムの一態様は、コンピューターを、ビジュアルサーボ制御に基づいて作動するロボット装置が物体を目標地点まで搬送する場合に目標とする教示画像を生成する画像生成装置として機能させる画像生成プログラムであって、前記コンピューターを、前記物体を撮像して得られた画像から前記教示画像の候補となる第1画像を生成する第1画像生成部と、前記第1画像に表された前記物体の姿勢を基準として複数の異なる姿勢での前記物体を表す複数の第2画像を生成する第2画像生成部と、前記第1画像と前記複数の第2画像とから、前記教示画像としての前記第1画像の適格性に関する評価値を取得する評価値取得部と、前記評価値が所定条件を満たしているか否かを判定する判定部として機能させる画像生成プログラムの構成を有する。
上記構成によれば、画像生成プログラムによる作用効果として、上記ロボット装置が備える教示画像生成部と同様の作用効果を得ることができる。
上記構成によれば、画像生成プログラムによる作用効果として、上記ロボット装置が備える教示画像生成部と同様の作用効果を得ることができる。
本発明の態様によれば、教示画像の候補となる第1画像と、この第1画像に表された物体の姿勢を基準とした複数の異なる姿勢での物体を表す複数の第2画像とから、第1画像の教示画像としての適格性を評価するので、教示画像に示された物体の位置および姿勢を精度よく検出することが可能になる。
以下、本発明を実施するための形態について、図面を参照して詳細に説明する。
なお、本明細書における全ての実施形態および全ての図面にわたって、同一符号は同一要素を表す。
なお、本明細書における全ての実施形態および全ての図面にわたって、同一符号は同一要素を表す。
図1は、本発明の実施形態によるロボット装置1の機能構成の一例を表すブロック図である。本実施形態によるロボット装置1は、電子機器の製造ラインにおいて、ビジュアルサーボ制御に基づいて部品等の物体を所定の目標地点まで搬送し、アセンブリー部品の組立作業を行う装置である。本実施形態において、ロボット装置1による搬送の対象とされる物体は、例えば小型電子機器や精密機器等に組み込まれるアセンブリー部品を構成する精密部品である。同図に示すように、ロボット装置1は、ロボット本体10と、撮像部20と、情報処理部30と、ロボット制御部40とを備える。
図2は、ロボット本体10の外観の一例を模式的に表す図である。ロボット本体10は、物体を目標地点まで搬送可能に保持するものであって、床面に固定された支持台10aと、旋回可能および屈伸可能に支持台10aに連結されたアーム部10bと、回動可能および首振り可能にアーム部10bに連結されたハンド部10cと、ハンド部10cに取り付けられた把持部10dとを備えて構成される。ロボット本体10は、把持部10dにより搬送すべき物体OBJを把持した状態で保持する。
本実施形態において、ロボット本体10は、例えば6軸の垂直多関節ロボットであり、支持台10aとアーム部10bとハンド部10cとの連係した動作によって6軸の自由度を有し、把持部10dが把持する部品の位置および姿勢を自在に変更することができる。また、ロボット本体10は、ロボット制御部40による制御により、アーム部10bとハンド部10cと把持部10dとのうちいずれか一つまたはそれらの組み合わせを動かす。
なお、ロボット本体10の自由度は6軸によるものに限られない。また、支持台10aは、壁や天井等、床面に対して固定された場所に設置されてもよい。
なお、ロボット本体10の自由度は6軸によるものに限られない。また、支持台10aは、壁や天井等、床面に対して固定された場所に設置されてもよい。
説明を図1に戻す。撮像部20は、搬送先である目標地点と、ロボット本体10に保持された物体との両方を含む範囲を撮像して実画像Pを得るものであり、例えば、搬送先の目標地点と搬送すべき物体の両方を上方から見下ろすように壁面または天井に固定されている。また、本実施形態において、撮像部20は、30フレーム/秒のフレームレートで撮像するビデオカメラ装置である。ただし、撮像部20は、例えば、120フレーム/秒、200フレーム/秒等の任意のフレームレートで撮像するものであってもよい。撮像部20により撮像された実画像P(フレーム画像)は情報処理部30に供給される。
画像処理部30は、撮像部20によって撮像された実画像Pを解析することにより、物体を搬送するロボット装置10の動作の制御に必要な制御情報Cを生成するものであり、例えばコンピューター装置から構成される。本実施形態において、制御情報Cは、ロボット本体10を構成するアーム部10bの回動角や回動角速度など、ロボット本体10の各部の動作量を規定する情報を含んでいる。
情報処理部30は、例えばオペレーターが物体の搬送経路を教示する場合、撮像部20により撮像された実画像Pから物体の搬送経路を教示するための後述の教示画像Gを取得するものである。本実施形態において、情報処理部30は、教示画像Gを取得する際に、その適格性を判定することにより、物体の位置および姿勢の検出精度の観点から適切な教示画像Gを取得する。物体の位置および姿勢の定義については後述する。また、情報処理部30は、物体を搬送する場合、撮像部20により撮像される実画像Pと教示画像Gに基づいて物体の搬送量を制御するための制御情報Cを生成するものである。本実施形態において、物体の搬送量は、物体の位置の変化量と、物体の姿勢の変化量を意味する。制御情報Cは、ロボット制御コマンドとしてロボット制御部40に供給される。
ロボット制御部40は、情報処理部30により生成された制御情報Cに基づいてロボット本体10の動作を直接的に制御するものである。即ち、本実施形態において、ロボット制御部40は、情報処理部30から供給される制御情報Cに基づいて、ロボット本体10のアーム部10bとハンド部10cと把持部10dとのうちいずれか一つまたはそれらの任意の組み合わせの動作(アーム部10bの回動量など)を制御することにより、把持部10dに保持された物体を目標地点まで移動(搬送)させるようにロボット本体10の動作を制御する。
図3は、ロボット装置1が備える情報処理部30の機能構成の一例を表すブロック図である。情報処理部30は、教示画像生成部31と、記憶部32と、制御情報生成部33とを備えて構成される。ここで、教示画像生成部31は、撮像部20により撮像された実画像Pから、物体を目標地点まで搬送する場合に目標とする教示画像Gを生成するものである。記憶部32は、教示画像生成部31により生成された教示画像Gを記憶するものである。制御情報生成部33は、記憶部32に記憶された教示画像Gに基づいて制御情報Cを生成するものである。本実施形態において、制御情報生成部33は、記憶部32に記憶された教示画像Gと、物体を搬送する際に撮像部20により撮像される実画像Pとの差分が小さくなるように、制御情報Cを生成する。
換言すれば、実画像Pであるフレーム画像に表される物体の位置および姿勢が、教示画像Gに示される物体の位置および姿勢と一致する方向に物体の搬送量が演算され、そのような搬送量が得られるように制御情報Cが生成される。
なお、本実施形態では、撮像部20が撮像する画像のフレームレートは30フレーム/秒であるから、約33ミリ秒毎に撮像部20から画像生成部31にフレーム画像が供給され、画像生成部31は、約33ミリ秒毎に新たに制御情報Cを生成する。
なお、本実施形態では、撮像部20が撮像する画像のフレームレートは30フレーム/秒であるから、約33ミリ秒毎に撮像部20から画像生成部31にフレーム画像が供給され、画像生成部31は、約33ミリ秒毎に新たに制御情報Cを生成する。
図4は、情報処理部30が備える教示画像生成部31の機能構成の一例を表すブロック図である。同図に示すように、教示画像生成部31は、第1画像生成部311と、第2画像生成部312と、評価値取得部313と、判定部314と、画像出力部315とを備えて構成される。ここで、第1画像生成部311は、撮像部20により物体を撮像して得られた実画像Pから教示画像Gの候補となる第1画像Gaを生成するものである。本実施形態では、後述するように、第1画像Gaは、撮像部20により撮像された実画像Pに対し、背景差分処理および二値化処理を施して生成され、必要に応じて更に平滑化処理が施される。また、本実施形態では、搬送経路をロボット装置1に教示する際に、オペレーターにより指定される搬送経路上の中継地点(後述の図7に示す地点P1〜P5)に物体を位置させた状態で撮像部20を用いて物体を撮像することにより、教示画像Gの候補となる第1画像Gaが取得される。
第2画像生成部312は、第1画像Gaに表された物体の姿勢を基準として、複数の異なる姿勢での物体を表す複数の第2画像Gbを生成するものである。本実施形態において、複数の第2画像Gbのそれぞれは、物体のCAD(Computer Aided Design)モデルを用いて生成されたCG(Computer Graphics)画像である。後述するように、複数の第2画像Gbのうちの一つは、物体のCADモデルと第1画像Gaとをパターンマッチングすることにより生成され、その他の第2画像Gbは、第1画像Gaとのパターンマッチングにより得られたCG画像を与えるCADモデルを所定角度だけ回転させて生成されるものである。
なお、本実施形態では、教示画像Gの候補として、実画像Pに二値化処理等を施して生成した第1画像Gaを用いるものとしているが、この第1画像Gaに代えて、上述の第1画像Gaとパターンマッチングすることにより生成されるCG画像(複数の第2画像Gbのうちの一つ)を用いてもよい。
評価値取得部313は、第1画像Gaと複数の第2画像Gbとから、教示画像Gとしての第1画像Gaの適格性に関する評価値Eを取得するものである。本実施形態において、評価値Eには、第1画像Gaに表された物体の位置および姿勢の検出精度が反映される。即ち、評価値Eには、第1画像Gaを教示画像Gとした場合に、物体の複数の姿勢を表す複数の第2画像Gbのそれぞれと第1画像Gaとの差分(物体の位置に関する差分および姿勢に関する差分)をパターンマッチングにより検出する際の精度が反映される。この評価値Eの詳細については後述する。
判定部314は、評価値Eが所定条件を満たしているか否かを判定して、その判定結果Qを出力するものである。本実施形態では、上記の所定条件は、評価値Eに基づいて第1画像Gaが教示画像Gとして適切かどうかを判断する際の基準を与えるものであり、その詳細については後述する。本実施形態では、評価値Eが所定条件を満たすかどうかを判定することにより、第1画像Gaの教示画像Gとしての適格性が判定される。このように、事前に教示画像Gとしての第1画像Gaの適格性を判定し、この第1画像Gaを教示画像Gとして用いることにより、教示画像Gから物体の位置および姿勢を精度よく検出することが可能になる。
画像出力部315は、判定部314による判定結果Qが肯定的である場合、即ち、評価値Eが所定条件を満たしている場合、第1画像Gaを教示画像Gとして出力するものである。なお、この画像出力部315は、第1画像生成部311と一体に構成してもよい。この場合、判定部314の判定結果Qは第1画像生成部311に供給され、第1画像生成部311は、判定部314から供給された判定結果Qが肯定的である場合、第1画像Gaを教示画像Gとして出力する。
図5は、本実施形態による教示画像生成部31が備える評価値取得部313の機能構成の一例を表す図である。同図に示すように、評価値取得部313は、差分取得部3131と、加算部3132と、グルーピング部3133と、レンダリング部3134と、評価値演算部3135とを備えて構成される。ここで、差分取得部3131は、第1画像生成部311により生成された第1画像Gaに表された物体の位置および姿勢と、第2画像生成部312により生成された複数の第2画像Gbのそれぞれに表された物体の位置および姿勢との差分DFをパターンマッチングにより取得するものである。ここで言うパターンマッチングとは、二つの画像の各画素の階調値の差を最小にするように非線形最小化問題を解くことで、二つの画像に撮像されている物体の位置と姿勢の誤差を算出することを含む。従って、差分取得部3131は、第1画像生成部311により生成された第1画像Gaと第2画像生成部312により生成された第2画像Gbの各画素の階調差を最小にする非線形最小化問題を解くことで、第1画像Gaに表された物体OBJの位置及び姿勢と、第2画像Gbに表された物体OBJの位置及び姿勢との間の差分を取得するものであると言える。
本実施形態において、上記差分DFは、物体の位置に関する第1差分と、物体の姿勢に関する第2差分を含む。ここで、第1差分は、例えば、第2画像Gbに表された物体の位置を始点とし、第1画像Gaに表された物体の位置を終点とするベクトル量として表現される。また、第2差分は、例えば、第2画像Gbに表された物体の姿勢を始点とし、第1画像Gaに表された物体の姿勢を終点とするベクトル量として表現される。差分DFが精度よく取得されていれば、第2画像Gbの物体の位置および姿勢に上記差分を加算して得られる物体の位置および姿勢は、第1画像Gaに表された物体の位置および姿勢と概ね一致する。もし一致しないとすれば、差分DFに誤差が含まれているためであり、その誤差は、差分DFを得る際のパターンマッチングでの物体の検出精度に依存する。従って、本実施形態において、差分DFには、パターンマッチングにより得られる物体の位置および姿勢の精度が反映され、前述の評価値Eには差分DFが反映される。よって、評価値Eには、パターンマッチングでの物体の位置および姿勢の検出精度が反映される。
加算部3132は、第2画像生成部312により生成された複数の第2画像Gbのそれぞれに表された物体の位置および姿勢に、差分取得部3131により取得された差分DFを加算するものである。即ち、加算部3132は、第2画像Gbに表された物体の位置を表す値に上記第1差分を加算し、第2画像Gbに表された物体の姿勢を表す値に上記第2差分を加算する。本実施形態では、説明の便宜上、第2画像Gbに表された物体の位置を表す値に上記第1差分を加算して得られる物体の位置を「収束位置」と称し、第2画像Gbに表された物体の姿勢を表す値に上記第2差分を加算して得られる物体の姿勢を「収束姿勢」と称す。前述したように、差分DFが精度よく取得されていれば、収束位置および収束姿勢は、第1画像Gaに表された物体の位置および姿勢と概ね一致する。以下では、収束位置および収束姿勢を合わせて「収束値CC」と称す。
グルーピング部3133は、加算部3132の加算結果として得られる収束値CCをグループ化するものである。本実施形態では、例えばクラスタリングにより加算部3132の加算結果として得られる収束値CCをグループ化する。このグループ化により、加算部3132の加算結果として得られる収束値CCのうち、近似した物体の位置および姿勢を示す収束値CCが同一グループに分類される。本実施形態では、グルーピング部3133は、更に、グループ化した加算結果により示される物体の収束値CCの代表値CDを演算する。即ち、グルーピング部3133は、同一グループに属する加算結果として得られた収束値CCの平均値を、そのグループの代表値CDとして演算する。
なお、代表値CDは、上述の平均値に限らず、各グループについて得られた収束値CCそのものを代表値CDとして用いてもよく、各グループについて得られた収束値CCを表す限度において、どのように代表値CDを定義してもよい。
なお、代表値CDは、上述の平均値に限らず、各グループについて得られた収束値CCそのものを代表値CDとして用いてもよく、各グループについて得られた収束値CCを表す限度において、どのように代表値CDを定義してもよい。
レンダリング部3134は、グルーピング部3133によりグループ化された上記加算結果により示される物体の位置および姿勢を表すCG画像を第3画像Gcとしてレンダリングするものである。本実施形態において、レンダリング部3134は、上記代表値CDで表される物体の位置および姿勢(即ち収束位置および収束姿勢)を表すCG画像を第3画像Gcとしてレンダリングする。
評価値演算部3135は、第1画像生成部311により生成された第1画像Gaと、レンダリング部3134によりレンダリングされた第3画像Gcとの間の相関を示す値を評価値Eとして演算するものである。本実施形態において、上記評価値Eは、第1画像Gaと第3画像Gcとの階調差の二乗和(SSD; Sum of Squared Difference)により演算される。
次に、本実施形態によるロボット装置1の動作について説明する。
本実施形態によるロボット装置1の動作は、教示画像Gを生成する処理(以下、「教示画像生成処理」と称す)と、その教示画像Gを用いてビジュアルサーボ制御を実施することにより物体を搬送する処理(以下、「物体搬送処理」と称す)に分けられる。そこで、以下の動作の説明では、先ず、情報処理部30を構成する教示画像生成部31により教示画像Gを生成する教示画像生成処理を説明し、その後、この教示画像Gを用いたビジュアルサーボ制御による物体搬送処理を説明する。
本実施形態によるロボット装置1の動作は、教示画像Gを生成する処理(以下、「教示画像生成処理」と称す)と、その教示画像Gを用いてビジュアルサーボ制御を実施することにより物体を搬送する処理(以下、「物体搬送処理」と称す)に分けられる。そこで、以下の動作の説明では、先ず、情報処理部30を構成する教示画像生成部31により教示画像Gを生成する教示画像生成処理を説明し、その後、この教示画像Gを用いたビジュアルサーボ制御による物体搬送処理を説明する。
(教示画像生成処理)
図6は、教示画像生成部31による教示画像生成処理手順(画像生成方法)の一例を表すフローチャートである。同図のステップS1において、教示画像生成部31を構成する第1画像生成部311は、撮像部20により撮像された実画像Pから、物体の搬送経路を教示する教示画像Gの候補となる第1画像Gaを生成する。
図6は、教示画像生成部31による教示画像生成処理手順(画像生成方法)の一例を表すフローチャートである。同図のステップS1において、教示画像生成部31を構成する第1画像生成部311は、撮像部20により撮像された実画像Pから、物体の搬送経路を教示する教示画像Gの候補となる第1画像Gaを生成する。
図7は、教示画像Gを教示するための手法を説明するための説明図である。同図に示す例は、オペレーターが、載置台Tの上に載置された製品Mの筐体内部に物体OBJ(部品)を搬送するための搬送経路を教示する場合を示している。同図において、物体OBJの搬送経路は点線で示されている。製品Mの筐体には開口部Hが形成されており、この開口部Hから物体OBJが製品Mの筐体内部に搬入される。また、地点P0は、搬送経路の始点を表し、初期状態では、物体OBJは始点P0に位置している。また、地点P1〜P5は、物体OBJの搬送経路上の中継点、即ち、物体OBJの教示画像を取得する教示点を表している。
図7に示す例では、製品Mの開口部Hの近傍に障害物Bが存在する。このため、同図に点線で示すように、障害物Bを迂回した搬送経路を設定する必要がある。このような搬送経路を設定するため、例えば、オペレーターの操作により、物体OBJを保持した状態でロボット本体10の動作を調整することにより、障害物Bを迂回する搬送経路の要所となる地点P1,P2,P3,P4,P5の各中継地点に物体OBJを位置させ、撮像部20により物体OBJを撮像する。これにより、搬送経路上の各中継地点での物体OBJの実画像Pを得る。
教示画像生成部31を構成する第1画像生成部311は、撮像部20により撮像された実画像Pから、搬送経路上の地点P1,P2,P3,P4,P5の各中継地点での物体OBJの教示画像Gの候補となる第1画像Gaを生成する。
図8は、第1画像生成部311が実画像Pから第1画像Gaを生成する手法を説明するための説明図である。物体OBJが配線を含むコネクターである場合、第1画像生成部311は、実画像Pの背景差分を演算することにより、配線を含む背景が除かれた物体OBJのみの中間画像(図示なし)を生成する。そして、この中間画像を適切な閾値を用いて二値化することにより、例えば白黒の画像を生成する。そしてこの画像を必要に応じて平滑化することにより第1画像Gaを得る。この第1画像Gaに表された物体OBJの形状は、この物体OBJの位置および姿勢に応じて一義的に定まる。従って、この第1画像Gaは、実空間内での物体OBJの位置および姿勢に関する情報を含んでいる。例えば、実空間内での物体OBJの位置は、第1画像Ga内の物体OBJの座標値およびスケール(縮尺度)に反映され、物体OBJの姿勢は、第1画像Gb内の物体OBJの輪郭に反映される。
続いて、ステップS2において、第2画像生成部312は、第1画像Gaに表された物体OBJの姿勢を基準として、複数の異なる姿勢での物体OBJを表す複数の第2画像Gbを生成する。詳細には、先ず、第2画像生成部312は、実空間と整合するように設定されたCG空間内で物体OBJの形状をモデル化して得られたCADモデルのCG画像と、第1画像生成部311により実画像Pから得られた第1画像Gaとをパターンマッチングすることにより、CG空間内での物体OBJの位置および姿勢に関する情報を取得する。そして、このCG空間内での物体OBJの位置および姿勢に関する情報を用いて、第1画像Gaに対応した一枚の第2画像Gbを生成する。
図9は、第2画像生成部312がCG空間内での物体OBJの位置および姿勢に関する情報を取得する手法を説明するための説明図である。第2画像生成部312は、物体OBJのCADモデルCMを用いて、初期値として与えられた位置および姿勢での物体OBJのCG画像Gbbを生成する。そして、第2画像生成部312は、上述の第1画像生成部311により取得された第1画像GaとCG画像Gbbとをパターンマッチングすることにより、CG空間内での物体OBJの位置および姿勢に関する情報を取得する。この情報から、第1画像Gaに対応した上述の一枚の第2画像Gbを生成する。
例えば、第2画像生成部312は、第1画像Gaと第2画像Gbbとの階調差を画素毎に演算し、画像全体にわたって各画素の階調差の総和を求める。また、CADモデルCMを用いて異なる位置および姿勢での物体OBJの第2画像Gbbを同様に生成し、第1画像Gaと第2画像Gbbとの画素毎の階調差の総和を繰り返し求める。そして、第2画像生成部312は、その階調差の総和が最小となるときの第2画像Gbbを特定し、その第2画像Gbbを、第1画像Gaに対応した上述の一枚の第2画像Gbとする。
ここで、本実施形態における物体OBJの位置および姿勢の定義を説明する。
図10は、上述のCADモデルを規定するCG空間における物体OBJの位置および姿勢の定義を説明するための説明図である。本実施形態において、CADモデルCMを規定するCG空間の座標系は、物体OBJが存在する実空間と整合するように予め校正されている。このようなCG空間において、物体OBJの位置に関する情報は、物体OBJのCADモデルCMの所定部位(例えば重心位置)の座標(x,y,z)として定義される。また、物体OBJの姿勢に関する情報は、CG空間の座標系の3軸とそれぞれ並行な軸であって物体OBJの上記位置を与える座標点を通る3軸(Jx,Jy,Jz)のそれぞれを回転軸としたときの回転角(θx,θy,θz)として定義される。ただし、この例に限定されることなく、物体OBJの位置および姿勢をどのように定義してもよい。
図10は、上述のCADモデルを規定するCG空間における物体OBJの位置および姿勢の定義を説明するための説明図である。本実施形態において、CADモデルCMを規定するCG空間の座標系は、物体OBJが存在する実空間と整合するように予め校正されている。このようなCG空間において、物体OBJの位置に関する情報は、物体OBJのCADモデルCMの所定部位(例えば重心位置)の座標(x,y,z)として定義される。また、物体OBJの姿勢に関する情報は、CG空間の座標系の3軸とそれぞれ並行な軸であって物体OBJの上記位置を与える座標点を通る3軸(Jx,Jy,Jz)のそれぞれを回転軸としたときの回転角(θx,θy,θz)として定義される。ただし、この例に限定されることなく、物体OBJの位置および姿勢をどのように定義してもよい。
続いて、第2画像生成部312は、第1画像Gaに表された物体OBJの位置および姿勢、または上述の一枚の第2画像Gbに表された物体OBJの位置および姿勢を基準として、複数の異なる姿勢での物体OBJを表す複数の第2画像Gbを生成する。即ち、第2画像生成部312は、物体OBJのCADモデルを用いて、第1画像Ga(または上述の一枚の第2画像Gb)に表される物体OBJの姿勢を基準として、物体OBJを或る回転に関して所定角度の刻みで回転させ、複数の回転角での物体OBJの姿勢を表す複数の第2画像Gbを生成する。
図11は、物体OBJの姿勢を変化させる手法の一例を説明するための説明図である。
同図は、物体OBJの一例としてコネクターを示している。本実施形態によるロボット装置1は、例えば、同図に示される物体OBJとしてのコネクターを搬送して、製品Mに設けられた端子(図示なし)に差し込む。この場合、好ましくは、物体OBJの中心軸Jの軸方向は、この物体OBJとしてのコネクターを製品Mの端子に差し込む際の物体OBJの移動方向に維持される。
同図は、物体OBJの一例としてコネクターを示している。本実施形態によるロボット装置1は、例えば、同図に示される物体OBJとしてのコネクターを搬送して、製品Mに設けられた端子(図示なし)に差し込む。この場合、好ましくは、物体OBJの中心軸Jの軸方向は、この物体OBJとしてのコネクターを製品Mの端子に差し込む際の物体OBJの移動方向に維持される。
本実施形態では、上述の物体OBJの中心軸Jを回転軸として、物体OBJを例えば30°刻みで回転させることにより、その姿勢を変化させる。本実施形態では、実空間内での物体OBJの回転角θが30°(真値)であるものとし、この30°の回転角θを基準として30°刻みでCG空間内で物体OBJを回転させる。これにより、0°、30°、60°、90°、120°、150°、180°、…、330°の12個の各回転角θでの物体OBJの姿勢が得られる。従って、この場合、12個の回転角θでの物体OBJの各姿勢を表す12枚の第2画像GbがCG画像として得られる。
なお、物体OBJの回転軸Jは任意に設定することができる。また、物体OBJの回転角θの基準も任意である。更に、物体OBJを回転させるときの回転角θの刻みについても任意に設定することができる。
なお、物体OBJの回転軸Jは任意に設定することができる。また、物体OBJの回転角θの基準も任意である。更に、物体OBJを回転させるときの回転角θの刻みについても任意に設定することができる。
続いて、ステップS3において、評価値取得部313は、第1画像Gaと複数の第2画像Gbとから、教示画像Gとしての第1画像Gaの適格性に関する評価値Eを取得する。
詳細には、以下に説明するステップS3A〜S3Eを実施することで評価値Eを得る。
先ず、ステップS3Aにおいて、差分取得部3131は、第1画像生成部311により生成された第1画像Gaに表された物体OBJの位置および姿勢と第2画像生成部312により生成された複数の第2画像Gbのそれぞれに表された物体OBJの位置および姿勢との差分をパターンマッチングにより取得する。換言すれば、差分取得部3131は、第1画像生成部311により生成された第1画像Gaと、第2画像生成部312により生成された第2画像Gbとの間の対応する各画素の階調差の総和を最小にする非線形最小化問題を解くことで、第1画像Gaに表された物体OBJの位置及び姿勢と第2画像Gbに表された物体OBJの位置及び姿勢との間の差分を取得する。
詳細には、以下に説明するステップS3A〜S3Eを実施することで評価値Eを得る。
先ず、ステップS3Aにおいて、差分取得部3131は、第1画像生成部311により生成された第1画像Gaに表された物体OBJの位置および姿勢と第2画像生成部312により生成された複数の第2画像Gbのそれぞれに表された物体OBJの位置および姿勢との差分をパターンマッチングにより取得する。換言すれば、差分取得部3131は、第1画像生成部311により生成された第1画像Gaと、第2画像生成部312により生成された第2画像Gbとの間の対応する各画素の階調差の総和を最小にする非線形最小化問題を解くことで、第1画像Gaに表された物体OBJの位置及び姿勢と第2画像Gbに表された物体OBJの位置及び姿勢との間の差分を取得する。
具体的には、差分取得部3131は、先ず、回転角0°での第2画像Gbと、教示画像Gの候補である第1画像Gaとの階調差の二乗和を演算し、この階調差の二乗和が最小になるときのCG空間内での物体OBJCADモデルの位置および姿勢を探索する。そして、この探索により得られたCADモデルの位置および姿勢を第1画像Gaに表された物体の位置および姿勢として特定し、このCADモデルの位置および姿勢と、第2画像Gbに表された物体OBJの位置および姿勢との差分を差分DFとして演算する。このような差分DFの算出方法としては、2枚の画像間の各画素の階調値(画素値)の差を最小にすればよいので、非線形最小化手法である例えば最急降下法やレーベンバーグマルカート法等を用いることができる。
差分DFは、次式により表される。
DF=(Δx,Δy,Δz,Δθx,Δθy,Δθz)
ここで、Δxは、階調差の二乗和が最小になるときのCADモデルのCG空間内での位置の座標値のx成分と、第2画像Gbに表された物体OBJのCG空間内での位置の座標値のx成分との差分である。同様に、ΔyおよびΔzは、それぞれ、階調差の二乗和が最小になるときのCADモデルのCG空間内での位置の座標値のy成分およびz成分と、第2画像Gbに表された物体OBJのCG空間内での位置の座標値のy成分およびz成分との差分である。これらΔx、Δy、Δzは第1差分DF1を構成する。また、Δθxは、階調差の二乗和が最小になるときのCADモデルのCG空間内での姿勢の回転角θのx成分と、第2画像Gbに表された物体OBJのCG空間内での姿勢の回転角θのx成分との差分である。同様に、ΔθyおよびΔzは、それぞれ、階調差の二乗和が最小になるときのCADモデルのCG空間内での姿勢の回転角θのy成分およびz成分と、第2画像Gbに表された物体OBJのCG空間内での姿勢の回転角θのy成分およびz成分との差分である。これらΔθx、Δθy、Δθzは第2差分DF2を構成する。
DF=(Δx,Δy,Δz,Δθx,Δθy,Δθz)
ここで、Δxは、階調差の二乗和が最小になるときのCADモデルのCG空間内での位置の座標値のx成分と、第2画像Gbに表された物体OBJのCG空間内での位置の座標値のx成分との差分である。同様に、ΔyおよびΔzは、それぞれ、階調差の二乗和が最小になるときのCADモデルのCG空間内での位置の座標値のy成分およびz成分と、第2画像Gbに表された物体OBJのCG空間内での位置の座標値のy成分およびz成分との差分である。これらΔx、Δy、Δzは第1差分DF1を構成する。また、Δθxは、階調差の二乗和が最小になるときのCADモデルのCG空間内での姿勢の回転角θのx成分と、第2画像Gbに表された物体OBJのCG空間内での姿勢の回転角θのx成分との差分である。同様に、ΔθyおよびΔzは、それぞれ、階調差の二乗和が最小になるときのCADモデルのCG空間内での姿勢の回転角θのy成分およびz成分と、第2画像Gbに表された物体OBJのCG空間内での姿勢の回転角θのy成分およびz成分との差分である。これらΔθx、Δθy、Δθzは第2差分DF2を構成する。
また、同様に、差分取得部3131は、残りの回転角30°、60°、90°、120°、150°、180°、…、330°での第2画像Gbについても、第1画像Gaとの差分DFを求める。この例では、12枚の第2画像Gbが存在するので、計12個の差分DFが得られる。
続いて、ステップS3Bにおいて、加算部3132は、第2画像生成部312により生成された複数の第2画像Gbのそれぞれに表された物体OBJの位置および姿勢の各値に、差分取得部3131により取得された差分DFを加算する。具体的には、加算部3132は、先ず、回転角0°での第2画像Gbに表されるCG空間内での物体OBJの位置の座標値の各成分(x,y,z)に、第1差分DF1(Δx,Δy,Δz)の各成分を加算することにより、上記収束位置を表す座標値PCを得る。また、回転角0°での第2画像Gbに表されるCG空間内での物体OBJの姿勢の回転角θの各成分(θx,θy,θz)に、第2差分DF2(Δθx,Δθy,Δθz)の各成分を加算することにより、上記収束姿勢を表す回転角ACを得る。
上記の座標値PCおよび回転角ACは、次式により表される。
PC=(x+Δx,y+Δy,z+Δz)
AC=(θx+Δθx,θy+Δθy,z+Δθz)
PC=(x+Δx,y+Δy,z+Δz)
AC=(θx+Δθx,θy+Δθy,z+Δθz)
上式から、前述の収束位置および収束姿勢を表す収束値CCは、次式により表される。
CC=(x+Δx,y+Δy,z+Δz,θx+Δθx,θy+Δθy,z+Δθz)
CC=(x+Δx,y+Δy,z+Δz,θx+Δθx,θy+Δθy,z+Δθz)
同様に、加算部3132は、残りの回転角30°、60°、90°、120°、150°、180°、…、330°での各第2画像Gbと差分DFから収束値CCを求める。この例では、12枚の第2画像Gbと12個の差分DFに対応した計12個の収束値CCが得られる。
続いて、ステップS3Cにおいて、グルーピング部3133は、加算部3132の加算結果として得られる12個の収束値CCをグループ化する。本実施形態では、クラスタリングによりグループ化する。
図12は、グルーピング部3133の動作を説明するための説明図である。同図は、図11に示す回転軸Jに関する回転角θに対応する回転角θzに着目して、第2画像Gbに表された物体OBJの位置および姿勢と収束値CCとの関係を示している。ここで、同図の上段と下段に示す各座標系は、上述の収束値CCの各成分に対応する6次元の軸を3次元として表している。同図の上段と下段にそれぞれ示す3次元座標系は、(x,y,z)を表す軸と、(θx,θy)を表す軸と、θzを表す軸を含んでいる。また、同図の例では、上段の座標系は、第2画像Gbに表された物体OBJのCG空間内での位置および姿勢(回転角)を表し、下段の座標系は、上段に表された物体OBJの位置および姿勢に対応するCG空間内での収束値CCを表している。
図12に示す例は、回転角0°、30°、60°、90°の各姿勢から非線形最小化法により求めた各収束値CCがほぼ同じ値であることを表している。このことは、0°、30°、60°、90°での第2画像Gbと第1画像Gaとのパターンマッチングにより得られる物体OBJの収束位置および収束姿勢が概ね同じになることを意味している。また、同図の例では、回転角0°、30°、60°、90°の各姿勢から求めた収束値CCはグループGRAに分類されている。同様に、回転角180°、…、330°の各姿勢から求めた収束値CCはほぼ同じ値であり、これらの収束値CCはグループGRDに分類されている。また、回転角120°の姿勢から求めた収束値CCと近似する他の収束値CCは存在しないので、回転角120°の姿勢から求めた収束値CCは単独でグループGRBに分類されている。更に、回転角150°の姿勢から求めた収束値CCについても近似する他の収束値CCは存在しないので、回転角150°の姿勢から求めた収束値CCは単独でグループGRCに分類されている。
なお、クラスタリングの手法としては、例えば、6次元空間上での距離が或る閾値以下のものを同一グループに分類する手法、或いはNearestNeighbor法や重心法等の手法を用いることができる。
なお、クラスタリングの手法としては、例えば、6次元空間上での距離が或る閾値以下のものを同一グループに分類する手法、或いはNearestNeighbor法や重心法等の手法を用いることができる。
また、グルーピング部3133は、グループGRA〜GRDにグループ化した収束値CC(加算結果)により示される物体OBJの収束値CC(収束位置および収束姿勢)の代表値CDを演算する。例えば、グルーピング部3133は、グループGRAに分類された4個の収束値CC、即ち回転角0°、30°、60°、90°の各姿勢から求めた4個の収束値CCの平均値を、各収束値CCの成分毎に計算する。具体的には、グルーピング部3133は、回転角0°の姿勢から求めた収束値CCにより表される収束位置のx成分と、回転角30°の姿勢から求めた収束値CCにより表される収束位置のx成分と、回転角60°の姿勢から求めた収束値CCにより表される収束位置のx成分と、回転角90°の姿勢から求めた収束値CCにより表される収束位置のx成分との平均値を算出する。他の成分についても同様である。このようにして求めた収束値CCの平均値は、グループGRAに分類された収束値CCの代表値CDとされる。グルーピング部3133は、他のグループについても同様に代表値CDを演算する。
続いて、ステップS3Dにおいて、レンダリング部3134は、グルーピング部3133によりグループ化された収束値CC(加算結果)により示される物体OBJの位置および姿勢を表す第3画像Gcをレンダリングする。即ち、レンダリング部3134は、グループ毎に、グルーピング部3133により計算された代表値CDで示される物体OBJの位置および姿勢を表すCG画像を第3画像Gcとしてレンダリングする。本実施形態では、グループGRA〜GRDの4グループが存在するので、4枚の第3画像Gcがレンダリングされる。
続いて、ステップS3Eにおいて、評価値演算部3135は、レンダリング部3134によりレンダリングされた第3画像Gcと、第1画像生成部311により生成された第1画像Gaとの2枚の画像間の相関を示す評価値Eを演算する。本実施形態では、評価値Eとして、各グループについて得られた第3画像Gcと第1画像Gaとの2枚の画像の画素毎の各画素の階調差の二乗和をグループ毎に演算する。具体的には、グループGRAについてレンダリング部3134によりレンダリングされた第3画像Gcと第1画像Gaとの階調差の二乗和をグループGRAの評価値Eとして演算する。他のグループGRB〜GRDについても同様に評価値Eを演算する。このように、2枚の画像の階調差の二乗和を評価値Eとして演算した場合、評価値Eが小さい程、2枚の画像の相関が高いことを意味する。
図13は、上述のグループGRA〜GRDのそれぞれについて、評価値演算部3135により演算された評価値Eの一例を示す図である。同図に示す例では、グループGRAについて演算された評価値Eが最も小さく、他のグループGRB〜GRDについて演算された評価値Eは、グループGRAについて演算された評価値Eよりも大きくなっている。このことから、グループGRAについて得られた第3画像Gcと第1画像Gaとの相関が最も高く、このグループGRAについて得られた第3画像Gcに比較して、他のグループGRB〜GRDについて得られた第3画像Gcと第1画像Gaとの相関が低いことが把握される。このことは、グループGRAについて得られた第3画像Gcが、他のグループGRB〜GRDについて得られた第3画像Gcに比較して、第1画像Gaに表された物体の位置および姿勢を最も精度よく表していることを意味する。従って、複数のグループGRA〜GRDのうちの一つのグループについて演算された評価値Eが唯一最小である場合には、上述の第1画像Gaを教示画像Gとして採用しても、ある程度の精度で、この教示画像Gに表された物体の位置および姿勢を検出することは可能である。
しかしながら、グループGRAについて演算された評価値Eが唯一最小であるとしても、他のグループGRB〜GRDについて演算された評価値Eと近似した値であれば、グループGRAについて得られた第3画像Gcが、第1画像Gaに表された物体の位置および姿勢を精度よく表しているとは必ずしも言えない可能性がある。そこで、次のステップS4において説明するように、判定部314により、上述の評価値Eから、教示画像Gとしての第1画像Gaの適格性を判定する。
ステップS4において、判定部314は、上述の評価値演算部313により演算された評価値Eが所定条件を満たしているか否かを判定することにより、教示画像Gとしての第1画像Gaの適格性を判定し、その判定結果Qを出力する。本実施形態では、上記の所定条件は、評価値演算部313により各グループについて演算された評価値Eのうち、第1画像Gaと第3画像Gcとの間の最大の相関を示す評価値Eと、その他の評価値Eとの差が所定値VT以上であることとする。ここで、例えば、或るグループについて得られた第3画像Gcと第1画像Gaの各画素の階調値が「0」または「1」で表現される二値化された画像であれば、上記所定値VTは、画像における物体を表す総画素数の1割の値に設定することができる。ただし、上記の所定条件における所定値VTは、上記の例に限定されず、第1画像Gaと第3画像Gcとの間の最大の相関を示す評価値Eと、その他の評価値Eとの差評価値Eの差が有意であることを判定することができる限度において、どのように設定してもよい。
ここで、上記の所定条件において、所定値VTとして画素数を採用することができることの理由を補足する。第3画像Gcと第1画像Gaの個々の画素の階調値が「0」または「1」の値に二値化されていれば、これら2枚の画像の対応する2つの画素に着目すると、その階調差の二乗値は0または1になる。即ち、2枚の画像の或る画素の階調値が同じであれば、その画像の階調差の二乗値は0になり、また、2枚の画像の或る画素の階調値が異なれば、その画像の階調差の二乗値は1になる。この場合、階調差の二乗値の総和は、2枚の画像を重ね合わせた場合に階調値が異なる画素の個数に相当する。従って、上記の所定条件において、階調差の二乗値の総和で表される評価値Eの差と比較すべき所定値VTとして画素数を採用することが可能になる。ただし、この例に限定されず、最大の相関を示す評価値Eと、その他の評価値Eとの差が有意であるかどうかを判定することができる限度において、上記所定値VTをどのように定義してもよい。
上述のステップS4において、判定結果Qが肯定的であれば(ステップS4;YES)、即ち評価値Eが所定条件を満たせば、ステップ5において、画像出力部315は、第1画像生成部311により生成された第1画像Gaを教示画像Gとして出力する。このようにして得られた教示画像Gをビジュアルサーボ制御において用いることにより、教示点での物体OBJの位置および姿勢を精度よく検出することが可能になる。即ち、第1画像Gaに対応する第3画像Gcの評価値が他の第3画像Gcよりも高い適格性を示す場合、この第1画像Gaに対応する第3画像Gcは、教示画像Gに表された物体OBJの姿勢を適切に表していると考えることができる。従ってこの場合、上記第1画像Gaを教示画像Gとして用いることにより、物体OBJの位置および姿勢を精度よく検出することが可能になる。
また、上述のステップS4において、判定結果が否定的であれば(ステップS4;NO)、即ち評価値Eが所定条件を満たさなければ、画像出力部315は、第1画像生成部311により生成された第1画像Gaを教示画像Gとして採用せずに破棄する。この場合、例えば、図11に示す物体OBJの回転軸Jを変更して、上述と同様のステップを繰り返すことにより、上記の所定条件を満たす評価値Eが得られるような第1画像Gaを探索してもよい。
(物体搬送処理)
次に、上述のように画像生成部31により生成された教示画像を用いたビジュアルサーボ制御による物体搬送処理を説明する。
ロボット装置1によるビジュアルサーボ制御は、上述の教示画像生成部31により生成された教示画像を用いる点を除けば、従来のビジュアルサーボ制御と同様である。ここでは、一例として、上述の図7の地点P1での教示画像G1(図示なし)を目標画像として、始点P0から地点P1まで物体OBJを搬送する過程を説明する。ここで、教示画像G1は、上述の教示画像生成部31により生成された地点P1での教示画像Gであり、記憶部32に予め記憶されている。なお、地点P2〜P5での教示画像G2〜G5(図示なし)も教示画像生成部31により生成されて記憶部32に記憶されている。
次に、上述のように画像生成部31により生成された教示画像を用いたビジュアルサーボ制御による物体搬送処理を説明する。
ロボット装置1によるビジュアルサーボ制御は、上述の教示画像生成部31により生成された教示画像を用いる点を除けば、従来のビジュアルサーボ制御と同様である。ここでは、一例として、上述の図7の地点P1での教示画像G1(図示なし)を目標画像として、始点P0から地点P1まで物体OBJを搬送する過程を説明する。ここで、教示画像G1は、上述の教示画像生成部31により生成された地点P1での教示画像Gであり、記憶部32に予め記憶されている。なお、地点P2〜P5での教示画像G2〜G5(図示なし)も教示画像生成部31により生成されて記憶部32に記憶されている。
概略的には、ロボット装置1によるビジュアルサーボ制御は、撮像部20により時々刻々と得られる実画像P(フレーム画像)と記憶部32に予め記憶された教示画像G1〜G5とから、図3に示す情報処理部30を構成する制御情報生成部33がフレーム画像のフレームレートに相当する一定周期で制御情報Cを生成し、この制御情報Cに基づいてロボット制御部40がロボット本体10の動作をフィードバック制御することにより実施される。
具体的に説明すると、本実施形態において、撮像部20は、30フレーム/秒のフレームレートで、物体OBJが位置する始点P0から地点P5を含む所定範囲を撮像する。このフレーム画像は、撮像部20からフレームレートに相当する約33ミリ秒毎に情報処理部30の制御情報生成部33に供給される。
制御情報生成部33は、記憶部32から最初に地点P1での教示画像G1を読み出す。そして、制御情報生成部33は、教示画像G1と現在のフレーム画像との差分を演算する。そして、制御情報生成部33は、この差分が小さくなるような物体OBJの搬送量を演算し、この搬送量に相当するロボット本体10の動作量、即ち例えばハンド部10bの回動量を指令するための制御情報Cを生成する。
制御情報生成部33は、撮像部20から新たなフレーム画像が供給される都度、新たに制御情報Cを生成し直し、この制御情報Cをロボット制御部40に逐次供給する。本実施形態では、撮像部20は、30フレーム/秒のフレームレートのフレーム画像を制御情報生成部33に供給するので、制御情報生成部33は約33ミリ秒ごとに制御情報Cを生成する。この制御情報Cはロボット制御部40に供給される。
ロボット制御部40は、制御情報生成部33から逐次供給される制御情報Cで指定されるロボット本体10の動作量に応じて、ロボット本体10の各部を制御する。これにより、ロボット本体10に保持された物体OBJが始点P0から地点P1に向けて搬送される。地点P1〜P5の区間の搬送動作についても、教示画像G2〜G5を用いる点を除けば同様に説明される。
上述した本実施形態によれば、実画像Pから得られる第1画像Gaに表される物体OBJの姿勢を基準として異なる複数の姿勢を表す第2画像Gbを生成し、第1画像Gaと第2画像Gbの各画像の階調差を最小にする非線形最小化問題を解くことで、これら第1画像Gaと第2画像Gbとの差分を取得し、この差分を第2画像Gbに加算して第3画像Gcを生成し、この第3画像Gcと第1画像Gaとの相関を表す評価値Eが所定条件を満たす場合に第1画像Gaを教示画像Gとして取得するようにしたので、この教示画像Gに表される物体OBJの位置および姿勢を精度よく検出することができ、教示画像Gとして適切な画像を設定することが可能になる。
また、本実施形態によれば、非線形最小化問題を解くことで得られる収束値CCをグルーピングし、各グループの収束値CC(代表値CD)の差に基づいて教示画像Gとしての第1画像Gaの適格性を判定するようにしたので、第1画像Gaの適格性を適切に判定することが可能になる。ここで、本発明は、教示画像中の対象物(物体)の位置および姿勢を精度よく検出することを目的としているが、このことは、対象物の誤認を低減することを意味している。通常、教示画像の誤認が生じやすい環境では、上記の非線形最小化問題の解が正しいとは限らず、誤差が生じる。このため、本実施形態では、収束値CCを、その誤差の程度に応じた複数のグループに分け、この複数のグループ間の収束値CCの差が有意かどうかを評価することにより、上述の非線形化問題の解を推定している。ここで、特定のグループの収束値CCと他のグループの収束値CCとの間に有意な差が存在すれば、上記特定のグループの収束値CCが非線形化問題の正解である確率が、他のグループに比較して高くなる。この場合、上記特定のグループの収束値CCから得られた第3画像Gcが第1画像Gaと一致または近似する確率が高くなり、この第1画像Gaに対応する第3画像Gcを他の第3画像Gcから区別できる確率が高くなる。従って、この場合の第1画像Gaを教示画像Gとして用いれば、この教示画像Gが誤認される確率が小さくなり、誤認が生じやすい環境下においても教示画像中の対象物の位置および姿勢を精度よく検出することが可能になる。
これに対し、上記特定のグループの収束値CCと他のグループの収束値CCとの間に有意な差が存在しなければ、上記特定のグループの収束値CCが非線形化問題の正解である確率が低くなる。このため、第1画像Gaを教示画像Gとして用いれば、その教示画像Gが誤認される確率が高くなり、教示画像中の対象物の位置および姿勢を精度よく検出することができなくなる。従って、この場合、適格性を有する第1画像Gaが見つかるまで、対象物の位置および姿勢を変更して新たに第1画像Gaを取得し直し、その適格性の判定を繰り返せばよい。
なお、上述の実施形態では、教示画像生成部31をロボット装置1の構成要素としたが、これを画像生成装置として別体に構成してもよい。この場合の画像生成装置は、ビジュアルサーボ制御に基づいて作動するロボット装置が物体を目標地点まで搬送する場合に目標とする教示画像を生成する画像生成装置であって、上述の第1画像生成部311と、第2画像生成部312と、評価値生成部313と、判定部314と、画像出力部315とを備えた画像生成装置として構成される。
また、上述の実施形態による教示画像生成部31の処理手順を画像生成方法として表現することもできる。この場合の画像生成方法は、ビジュアルサーボ制御に基づいて作動するロボット装置が物体を目標地点まで搬送する場合に目標とする教示画像を生成する画像生成方法であって、上述のステップS1〜S5を含む画像生成方法として構成される。
また、上述の実施形態による教示画像生成部31の処理手順を画像生成プログラムとして表現することもできる。この場合の画像生成プログラムは、コンピューターを、上述の第1画像生成部311と、第2画像生成部312と、評価値生成部313と、判定部314と、画像出力部315として機能させるための画像生成プログラムとして構成される。
また、上述の実施形態による教示画像生成部31を構成する第1画像生成部311と、第2画像生成部312と、評価値取得部313と、判定部314とを、教示画像の適格性を判定するための画像判定装置として構成してもよい。また、上記画像判定装置における処理手順を、教示画像の適格性を判定するための画像判定方法、または、コンピューターに実行させるための画像判定プログラムとして表現することもできる。
以上、本発明の実施形態を説明したが、本発明は上述の実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲で、種々の変形が可能である。
図14は、上述の本実施形態によるロボット本体10の変形例を模式的に表す図である。この変形例によるロボット本体11は、台座11aと、台座11aに旋回可能に固定された支持台11bと、旋回可能および屈伸可能に支持台11bに連結された二つのアーム部11cと、回動可能および首振り可能に各アーム部11cに連結されたハンド部11dと、各ハンド部11dに取り付けられた把持部11eとを含んで構成される。台座11aの下部には、ロボット本体11を移動するための複数のホイールが取り付けられている。ロボット本体11は、把持部11eにより上述の物体OBJを把持した状態で保持する。例えば、前述の図1に示すロボット制御部40を台座11aの内部に収納することにより、ロボット本体11とロボット制御部40を一体に構成してもよく、また、ロボット制御部40とロボット本体11とを別体に構成してもよい。この変形例においても、ロボット本体11は、垂直多関節ロボットであり、その関節の軸数は任意である。
図14は、上述の本実施形態によるロボット本体10の変形例を模式的に表す図である。この変形例によるロボット本体11は、台座11aと、台座11aに旋回可能に固定された支持台11bと、旋回可能および屈伸可能に支持台11bに連結された二つのアーム部11cと、回動可能および首振り可能に各アーム部11cに連結されたハンド部11dと、各ハンド部11dに取り付けられた把持部11eとを含んで構成される。台座11aの下部には、ロボット本体11を移動するための複数のホイールが取り付けられている。ロボット本体11は、把持部11eにより上述の物体OBJを把持した状態で保持する。例えば、前述の図1に示すロボット制御部40を台座11aの内部に収納することにより、ロボット本体11とロボット制御部40を一体に構成してもよく、また、ロボット制御部40とロボット本体11とを別体に構成してもよい。この変形例においても、ロボット本体11は、垂直多関節ロボットであり、その関節の軸数は任意である。
1…ロボット装置、10,11…ロボット本体、20…撮像部、30…情報処理部、31…教示画像生成部、32…記憶部、33…制御情報生成部、40…ロボット制御部、311…第1画像生成部、312…第2画像生成部、313…評価値取得部、314…判定部、315…画像出力部、3131…差分取得部、3132…加算部、3133…グルーピング部、3134…レンダリング部、3135…評価値演算部、C…制御情報、CC…収束値、CD…代表値、DF…差分、E…評価値、Ga…第1画像、Gb…第2画像、Gbb…中間画像、Gc…第3画像、GRA〜GRD…グループ、OBJ…物体、P…実画像、P0…始点(地点)、P1〜P5…地点、Q…判定結果、S1,S2,S3,S3A〜S3E,S4,S5…処理ステップ。
Claims (6)
- ビジュアルサーボ制御に基づいて物体を目標地点まで搬送するロボット装置であって、
前記物体を撮像して得られた画像から、前記物体を前記目標地点まで搬送する場合に目標とする教示画像の候補となる第1画像を生成する第1画像生成部と、
前記第1画像に表された前記物体の姿勢を基準として複数の異なる姿勢での前記物体を表す複数の第2画像を生成する第2画像生成部と、
前記第1画像生成部により生成された第1画像と前記第2画像生成部により生成された第2画像の各画素の階調差を最小にする非線形最小化問題を解くことで、前記第1画像に表された前記物体の位置及び姿勢と前記第2画像に表された前記物体の位置及び姿勢との差分を取得する差分取得部と、
前記第2画像生成部により生成された複数の第2画像のそれぞれに表された物体の位置および姿勢に前記差分取得部により取得された差分を加算する加算部と、
前記加算部の加算結果をグループ化するグルーピング部と、
前記グルーピング部によりグループ化された前記加算結果により示される前記物体の位置および姿勢を表す第3画像をレンダリングするレンダリング部と、
前記第1画像生成部により生成された第1画像と前記レンダリング部によりレンダリングされた第3画像との間の相関を示す値を評価値として演算する評価値演算部と、
前記評価値が所定条件を満たしているか否かを判定する判定部と、
前記判定部による判定結果が肯定的である場合、前記第1画像を前記教示画像として出力する画像出力部と、
を備えたロボット装置。 - 前記グルーピング部は、更に、前記グループ化された前記加算結果により示される前記物体の位置および姿勢の代表値を演算し、
前記レンダリング部は、前記代表値で表される前記物体の位置および姿勢を表す前記第3画像をレンダリングする、請求項1に記載のロボット装置。 - 前記所定条件は、
前記評価値演算部により演算された評価値のうち、前記第1画像と前記第3画像との間の最大の相関を示す評価値と他の評価値との差が所定値以上であることを含む、請求項1または2の何れか1項に記載のロボット装置。 - ビジュアルサーボ制御に基づいて作動するロボット装置が物体を目標地点まで搬送する場合に目標とする教示画像を生成する画像生成装置であって、
前記物体を撮像して得られた画像から前記教示画像の候補となる第1画像を生成する第1画像生成部と、
前記第1画像に表された前記物体の姿勢を基準として複数の異なる姿勢での前記物体を表す複数の第2画像を生成する第2画像生成部と、
前記第1画像と前記複数の第2画像とから、前記教示画像としての前記第1画像の適格性に関する評価値を取得する評価値取得部と、
前記評価値が所定条件を満たしているか否かを判定する判定部と、
前記判定部による判定結果が肯定的である場合、前記第1画像を前記教示画像として出力する画像出力部と、
を備えた画像生成装置。 - ビジュアルサーボ制御に基づいて作動するロボット装置が物体を目標地点まで搬送する場合に目標とする教示画像を生成する画像生成方法であって、
前記物体を撮像して得られた画像から前記教示画像の候補となる第1画像を生成する第1画像生成ステップと、
前記第1画像に表された前記物体の姿勢を基準として複数の異なる姿勢での前記物体を表す複数の第2画像を生成する第2画像生成ステップと、
前記第1画像と前記複数の第2画像とから、前記教示画像としての前記第1画像の適格性に関する評価値を取得する評価値取得ステップと、
前記評価値が所定条件を満たしているか否かを判定する判定ステップと、
前記判定部による判定結果が肯定的である場合、前記第1画像を前記教示画像として出力する画像出力ステップと、
を含む画像生成方法。 - コンピューターを、ビジュアルサーボ制御に基づいて作動するロボット装置が物体を目標地点まで搬送する場合に目標とする教示画像を生成する画像生成装置として機能させる画像生成プログラムであって、
前記コンピューターを、
前記物体を撮像して得られた画像から前記教示画像の候補となる第1画像を生成する第1画像生成部と、
前記第1画像に表された前記物体の姿勢を基準として複数の異なる姿勢での前記物体を表す複数の第2画像を生成する第2画像生成部と、
前記第1画像と前記複数の第2画像とから、前記教示画像としての前記第1画像の適格性に関する評価値を取得する評価値取得部と、
前記評価値が所定条件を満たしているか否かを判定する判定部と、
として機能させる画像生成プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012020024A JP2013158845A (ja) | 2012-02-01 | 2012-02-01 | ロボット装置、画像生成装置、画像生成方法、および画像生成プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012020024A JP2013158845A (ja) | 2012-02-01 | 2012-02-01 | ロボット装置、画像生成装置、画像生成方法、および画像生成プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013158845A true JP2013158845A (ja) | 2013-08-19 |
Family
ID=49171540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012020024A Withdrawn JP2013158845A (ja) | 2012-02-01 | 2012-02-01 | ロボット装置、画像生成装置、画像生成方法、および画像生成プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013158845A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104876021A (zh) * | 2014-02-28 | 2015-09-02 | 发那科株式会社 | 物品排列装置、物品排列方法以及物品转运系统 |
JP2017211807A (ja) * | 2016-05-25 | 2017-11-30 | トヨタ自動車株式会社 | 物体認識装置、物体認識方法及びプログラム |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0883340A (ja) * | 1994-09-12 | 1996-03-26 | Toshiba Corp | クラスタリング装置および画像認識装置 |
JP2003231078A (ja) * | 2002-02-14 | 2003-08-19 | Denso Wave Inc | ロボットアームの位置制御方法およびロボット装置 |
JP2004326314A (ja) * | 2003-04-23 | 2004-11-18 | Shimizu Corp | 3次元位置姿勢の画像推定方法 |
JP2006026790A (ja) * | 2004-07-15 | 2006-02-02 | Fanuc Ltd | 教示モデル生成装置 |
-
2012
- 2012-02-01 JP JP2012020024A patent/JP2013158845A/ja not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0883340A (ja) * | 1994-09-12 | 1996-03-26 | Toshiba Corp | クラスタリング装置および画像認識装置 |
JP2003231078A (ja) * | 2002-02-14 | 2003-08-19 | Denso Wave Inc | ロボットアームの位置制御方法およびロボット装置 |
JP2004326314A (ja) * | 2003-04-23 | 2004-11-18 | Shimizu Corp | 3次元位置姿勢の画像推定方法 |
JP2006026790A (ja) * | 2004-07-15 | 2006-02-02 | Fanuc Ltd | 教示モデル生成装置 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104876021A (zh) * | 2014-02-28 | 2015-09-02 | 发那科株式会社 | 物品排列装置、物品排列方法以及物品转运系统 |
JP2015214012A (ja) * | 2014-02-28 | 2015-12-03 | ファナック株式会社 | ロボットを用いて物品を整列させる物品整列装置及び物品整列方法、並びに物品整列装置を備えた物品移送システム |
US9643796B2 (en) | 2014-02-28 | 2017-05-09 | Fanuc Corporation | Device and method of arraying articles by using robot, and article transfer system |
JP2017211807A (ja) * | 2016-05-25 | 2017-11-30 | トヨタ自動車株式会社 | 物体認識装置、物体認識方法及びプログラム |
KR101917515B1 (ko) | 2016-05-25 | 2018-11-09 | 도요타지도샤가부시키가이샤 | 물체 인식 장치, 물체 인식 방법 및 프로그램 |
US10452950B2 (en) | 2016-05-25 | 2019-10-22 | Toyota Jidosha Kabushiki Kaisha | Object recognition apparatus, objection recognition method, and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106873550B (zh) | 模拟装置以及模拟方法 | |
US20200096317A1 (en) | Three-dimensional measurement apparatus, processing method, and non-transitory computer-readable storage medium | |
JP6004809B2 (ja) | 位置姿勢推定装置、情報処理装置、情報処理方法 | |
JP6540472B2 (ja) | シミュレーション装置、シミュレーション方法、およびシミュレーションプログラム | |
JP6427972B2 (ja) | ロボット、ロボットシステム及び制御装置 | |
US10279473B2 (en) | Image processing device, image processing method, and computer program | |
JP4004899B2 (ja) | 物品の位置姿勢検出装置及び物品取出し装置 | |
JP5852364B2 (ja) | 情報処理装置、情報処理装置の制御方法、およびプログラム | |
JP6324025B2 (ja) | 情報処理装置、情報処理方法 | |
WO2018043524A1 (ja) | ロボットシステム、ロボットシステム制御装置、およびロボットシステム制御方法 | |
US20230347509A1 (en) | Robot control apparatus, robot control method, and program | |
US20210192784A1 (en) | Vision system for a robotic machine | |
JP2020163502A (ja) | 物体検出方法、物体検出装置およびロボットシステム | |
JP5698815B2 (ja) | 情報処理装置、情報処理装置の制御方法及びプログラム | |
JP6040264B2 (ja) | 情報処理装置、情報処理装置の制御方法、およびプログラム | |
US11158080B2 (en) | Information processing method, information processing device, object detection apparatus, and robot system | |
JP2013158845A (ja) | ロボット装置、画像生成装置、画像生成方法、および画像生成プログラム | |
JP5948913B2 (ja) | ロボット装置、画像生成装置、画像生成方法、および画像生成プログラム | |
WO2023013740A1 (ja) | ロボット制御装置、ロボット制御システム、及びロボット制御方法 | |
JP2022017738A (ja) | 画像処理装置 | |
TWI806761B (zh) | 標誌檢測裝置以及機器人示教系統 | |
WO2023073780A1 (ja) | 学習データの生成装置および学習データの生成方法、並びに学習データを使用する機械学習装置および機械学習方法 | |
WO2023148798A1 (ja) | 指定装置、ロボットシステム、指定方法、および記録媒体 | |
WO2023148804A1 (ja) | 指定装置、ロボットシステム、指定方法、および記録媒体 | |
JP2010186219A (ja) | テンプレート生成システム、テンプレートマッチングシステムおよびテンプレート生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20150109 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20151118 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20151124 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20160125 |