JP5561384B2 - 認識プログラム評価装置および認識プログラム評価方法 - Google Patents
認識プログラム評価装置および認識プログラム評価方法 Download PDFInfo
- Publication number
- JP5561384B2 JP5561384B2 JP2013004888A JP2013004888A JP5561384B2 JP 5561384 B2 JP5561384 B2 JP 5561384B2 JP 2013004888 A JP2013004888 A JP 2013004888A JP 2013004888 A JP2013004888 A JP 2013004888A JP 5561384 B2 JP5561384 B2 JP 5561384B2
- Authority
- JP
- Japan
- Prior art keywords
- recognition
- evaluation
- recognition program
- virtual
- workpiece
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/37—Measurements
- G05B2219/37205—Compare measured, vision data with computer model, cad data
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/30—Nc systems
- G05B2219/40—Robotics, robotics mapping to robotics vision
- G05B2219/40053—Pick 3-D object from pile of objects
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
- Manufacturing & Machinery (AREA)
- Image Processing (AREA)
- Manipulator (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
- Human Computer Interaction (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
Description
本発明は、認識プログラムを評価する認識プログラム評価装置および認識プログラム評価方法に関する。
従来、ワークの認識を行う認識装置が知られている(たとえば、特許文献1参照)。上記特許文献1の認識装置では、複数のスクリプトが組み合わされることによりワークを認識するアルゴリズム(認識プログラム)が生成される。そして、このアルゴリズムを用いて、バラ積みされた複数のワークを認識するように構成されている。また、上記特許文献1では、実際にバラ積みされた状態のワークと認識結果とをユーザが視認して比較することによって、アルゴリズムの認識性能の評価が行われていると考えられる。
しかしながら、上記特許文献1に記載の認識装置は、実際にバラ積みされた状態のワークと認識結果とをユーザが視認して比較することによって、アルゴリズムの認識性能の評価が行われていると考えられるため、ワークを認識するアルゴリズムを評価する際のユーザの負担が大きくなる。このため、ワークを認識するアルゴリズムを評価する際のユーザの負担の軽減が望まれている。
この発明は、上記のような課題を解決するためになされたものであり、この発明の1つの目的は、ワークを認識する認識プログラムを評価する際のユーザの負担を軽減することが可能な認識プログラム評価装置および認識プログラム評価方法を提供することである。
上記目的を達成するために、第1の局面による認識プログラム評価装置は、複数のワークのそれぞれの位置データを含み、複数のワークのバラ積み状態の仮想のシーンデータを生成または取得する仮想データ取得手段と、ワークの認識を調整するために設定可能なパラメータを含む認識プログラムを用いて、仮想のシーンデータ中のワークを認識する仮想認識手段と、ワークの位置データ、および、仮想認識手段によるワークの認識結果を比較して、認識プログラムの認識性能を評価する認識評価手段と、認識評価手段による認識プログラムの認識性能の評価結果を表示させる結果表示手段とを備え、認識評価手段は、検出に成功したワークの個数に基づいて、認識プログラムの認識性能を評価する評価値を求めるように構成されている。
この第1の局面による認識プログラム評価装置では、上記のように、仮想データ取得手段によって生成または取得された複数のワークのバラ積み状態の仮想のシーンデータ中のワークを仮想認識手段により認識して、認識評価手段により、ワークの位置データ、および、仮想認識手段によるワークの認識結果を比較して、認識プログラムの認識性能を評価する。これにより、複数のワークの位置データから取得される仮想のシーンデータ中のワークの正確な位置および姿勢と、仮想認識手段により認識された認識結果とを自動的に比較することができるので、ユーザが、実際にバラ積みされた状態のワークと認識結果とを視認して比較しながら、認識プログラムの認識性能を評価する場合と異なり、ワークを認識する認識プログラムを評価する際のユーザの負担を軽減することができる。
第2の局面による認識プログラム評価方法は、仮想データ取得手段により、複数のワークのそれぞれの位置データを含み、複数のワークのバラ積み状態の仮想のシーンデータを生成または取得する工程と、仮想認識手段により、ワークの認識を調整するために設定可能なパラメータを含む認識プログラムを用いて、仮想のシーンデータ中のワークを認識する工程と、認識評価手段により、ワークの位置データ、および、ワークの認識結果を比較して、認識プログラムの認識性能を評価する工程と、結果表示手段により、認識プログラムの認識性能の評価結果を表示させる工程とを備え、認識評価手段により認識プログラムの認識性能を評価する工程は、検出に成功したワークの個数に基づいて、認識プログラムの認識性能を評価する評価値を求める工程を含む。
この第2の局面による認識プログラム評価方法では、上記のように、仮想のシーンデータを生成または取得する工程で生成または取得された複数のワークのバラ積み状態の仮想のシーンデータ中のワークを認識して、認識プログラムの認識性能を評価する工程で、ワークの位置データ、および、ワークの認識結果を比較して、認識プログラムの認識性能を評価する。これにより、複数のワークの位置データから取得される仮想のシーンデータ中のワークの正確な位置および姿勢と、認識結果とを自動的に比較することができるので、ユーザが、実際にバラ積みされた状態のワークと認識結果とを視認して比較しながら、認識プログラムの認識性能を評価する場合と異なり、ワークを認識する認識プログラムを評価する際のユーザの負担を軽減することが可能な認識プログラム評価方法を提供することができる。
上記のように構成することによって、ワークを認識する認識プログラムを評価する際のユーザの負担が増大するのを抑制することができる。
以下、実施形態を図面に基づいて説明する。
(第1実施形態)
図1〜図9を参照して、第1実施形態によるロボットシステム100の構成について説明する。
図1〜図9を参照して、第1実施形態によるロボットシステム100の構成について説明する。
図1に示すように、ロボットシステム100は、PC(パーソナルコンピュータ)1と、ロボット2と、ロボットコントローラ3と、センサユニット4とを備える。PC1は、制御部11と、記憶部12と、表示部13と、操作部14とを含んでいる。また、制御部11は、ハードウェア的には、CPUなどにより構成されており、機能的(ソフトウェア的)な構成として、モデルエディタ手段111と、仮想評価手段112と、スクリプト手段113と、パラメータエディタ手段114とを含んでいる。モデルエディタ手段111は、サンプル画像作成手段111aと、辞書データ作成手段111bとを有する。仮想評価手段112は、認識手段112aと、結果表示手段112bとを有する。なお、PC1は、「認識プログラム評価装置」の一例であり、モデルエディタ手段111は、「仮想データ取得手段」の一例である。また、認識手段112aは、「仮想認識手段」および「認識評価手段」の一例である。
PC1は、バラ積みされたワーク200(図2参照)をロボット2により把持するために、ワーク200を認識する認識プログラムの認識性能を評価するために設けられている。具体的には、ワーク200を認識する認識プログラムは、センサユニット4により実行されて、バラ積みされたワーク200の位置および姿勢を認識するように構成されている。
図2に示すように、ロボット2は、先端に取り付けられたハンド21により、ストッカ5の内部にバラ積みされた複数のワーク200を、1つずつ把持して、搬送用パレット6に移動させるように構成されている。また、ロボット2は、センサユニット4の認識プログラムの実行によりワーク200を認識した認識結果に基づいて、ロボット2による把持動作の位置を演算し、ロボットコントローラ3へ送出する。ロボットコントローラ3は予め記憶されていたロボット2の動作情報(教示データ)とワーク200の認識結果に基づく把持動作の位置情報に基づいてロボット2への動作指令を生成し、ロボット2によりワーク200を把持するように動作するように構成されている。
センサユニット4は、カメラなどを含む計測ユニット(図示せず)により、ストッカ5の内部にバラ積みされた複数のワーク200を撮像し、撮像した各画素と各画素に対応する距離情報とを有する3次元画像(距離画像)を取得するように構成されている。また、センサユニット4は、取得した距離画像に基づいて、認識プログラムにより、ワーク200の3次元的な位置および姿勢を認識するように構成されている。認識プログラムは、画像処理やブロブ解析を行うための機能がそれぞれスクリプト(コマンド)として含まれている。また、複数のスクリプトが並べられるとともに、各スクリプトの実行条件となるパラメータが設定されることにより、ワーク200の形状に適した認識プログラム(アルゴリズム)が調整される。つまり、認識プログラムは、ワーク200の形状などの条件により、ワーク200を精度よく認識するためにスクリプトの順番やパラメータを調整する必要がある。
ここで、第1実施形態では、モデルエディタ手段111(制御部11)は、複数のワーク200のそれぞれの位置データを含む複数のワーク200のバラ積み状態の仮想のシーンデータを生成するように構成されている。具体的には、モデルエディタ手段111は、1つのワーク200a(図3参照)の3次元データを用いて、図4に示すように、複数のワーク200aがバラ積みされた状態の仮想のシーンデータを生成するように構成されている。
つまり、モデルエディタ手段111(制御部11)は、サンプル画像作成手段111aにより、1つのワーク200aの3次元のCADデータ(サンプル画像)を読み込むとともに、1つのワーク200aをバラ積みして仮想のシーンデータを生成するように構成されている。この際、モデルエディタ手段111は、辞書データ作成手段111bにより、バラ積みされた複数のワーク200aのそれぞれの位置データとしてワーク200aの位置および姿勢を取得するように構成されている。詳しくは、辞書データ作成手段111bは、ワーク200aの3次元座標(X座標、Y座標およびZ座標)と、3次元姿勢(回転要素RX、RYおよびRZ)とをワーク200aごとに取得するように構成されている。また、辞書データ作成手段111bは、複数のワーク200aの位置データを辞書データとして記憶部12に記憶させるように構成されている。
また、モデルエディタ手段111(制御部11)は、複数の仮想のシーンデータを生成するように構成されている。つまり、モデルエディタ手段111は、多様なパターンの仮想のシーンデータを生成するように構成されている。
また、第1実施形態では、仮想評価手段112(制御部11)は、ワーク200aを認識するための認識プログラムを用いて、仮想のシーンデータの中のワーク200aを認識するとともに、ワーク200aの認識結果を評価するように構成されている。具体的には、仮想評価手段112の認識手段112aは、ワーク200aの認識を調整するために設定可能なパラメータ(図5参照)を含む認識プログラムを用いて、仮想のシーンデータ中のワーク200aを認識するように構成されている。
また、認識手段112a(制御部11)は、ワーク200aの位置データ(辞書データ)、および、ワーク200aの認識結果を比較して、認識プログラムの認識性能を評価するように構成されている。具体的には、認識手段112aは、ユーザによりパラメータが設定された認識プログラムを用いて、複数の仮想のシーンデータ(図4参照)の中の個々のワーク200aを認識するように構成されている。また、認識手段112aは、ワーク200aの位置データ、および、ワーク200aの複数の仮想のシーンデータにおける認識結果を比較して、認識プログラムの認識性能を評価するように構成されている。また、認識手段112aは、認識プログラムの認識性能を評価する評価値を求めるように構成されている。
たとえば、認識手段112a(制御部11)は、評価値として、成功率や再現率などを求めるように構成されている。なお、成功率は、成功率(%)=(検出したワーク200aの中で検出に成功したワーク200aの個数)/(全てのシーンデータから検出したワーク200aの合計の個数)×100の式により表される。つまり、成功率は、ワーク200aの検出結果の確実性および信頼性を表している。したがって、ワーク200aの検出結果の確実性および信頼性が求められる生産ラインなどで、評価指標として成功率を用いることが有効である。
また、再現率は、再現率(%)=(検出に成功したワーク200aの個数)/(全てのシーンデータ上で認識対象となるワーク200aの個数)×100の式により表される。つまり、再現率は、シーンデータ中に存在するワーク200aをどれだけ多く検出することができるかという、検出能力の高さを表している。したがって、1回のスキャン(撮像)により多くのワーク200aを検出したい場合(スキャン回数の低減によりタクトタイムを短縮したい場合)や、選別については後処理で行うため、本処理ではなるべく多くの候補を検出したい場合などに、評価指標として再現率を用いることが有効である。
また、認識手段112a(制御部11)は、認識プログラムの認識性能を異なる複数の評価基準を用いて評価するように構成されている。たとえば、認識手段112aは、図6に示すように、評価基準として、成功率、再現率、頑健性、干渉および精度などを用いて認識プログラムの認識性能を評価するように構成されている。
なお、頑健性は、図7および図8に示すように、散乱率および欠損率に基づいて、他の物体の混入やワーク200a同士の重なりや姿勢変化による欠損(隠れ)があるバラ積み状態のシーンデータの認識に適しているか否かを評価する。また、頑健性は、認識処理の基本的な性能を評価する。散乱率は、散乱率(%)=100−(シーンデータ中のあるワーク200aの点数)/(シーンデータ中の全計測点数)×100で表される。また、欠損率は、欠損率(%)=100−(シーンデータ中のあるワーク200aの表面積)/(ワーク200aの3次元モデルの表面積)×100で表される。
たとえば、図7に示す例の場合、欠損率が53%くらいの低いワーク200aや、散乱率が44%くらいの低いワーク200aでも未検出のものがある。この場合、頑健性が良好とは言えず、認識性能が安定していない可能性がある。すなわち、頑健性が良くないと言える。一方、図8に示す例の場合、欠損率が80%以下、散乱率が80%以下のワーク200aは、全て検出されている。この場合、バラ積みにおいて、他物体の混入が少なく(散乱率が低く)、データ欠損が少なければ(欠損率が低ければ)、確実にワーク200aを認識することが可能であり、頑健性が良好であると言える。
また、干渉は、実際にロボット2が把持可能なワーク200aを検出できているのかを評価する。つまり、干渉率(%)=(干渉領域点数)/(把持領域点数)×100により表される干渉率に基づいて、検出したワーク200aの平均または最大の干渉率が最も低いものを、把持しやすいワーク200aを検出できていると評価する。把持領域点数は、ワーク200aをロボット2に把持する場合の把持領域(図9参照)の点数を表す。また、干渉領域点数は、把持領域内のロボット2が把持する位置よりも上方に他のワーク200aなどがあり干渉している箇所の点数を表す。なお、把持領域は、ワーク200aの位置データに含まれている。
また、精度は、ワーク200aの認識結果の位置(Xd、Yd、Zd)および姿勢(RXd、RYd、RZd)と、辞書データ中のワーク200aの位置データ(正解のデータ)の位置(Xc、Yc、Zc)および姿勢(RXc、RYc、RZc)との誤差(差やばらつき)を精度として評価する。つまり、より正確にワーク200aの位置や姿勢を認識できているか否かが、評価基準としての精度により評価される。したがって、組み立て工程など、より正確な把持が求められる場合など、評価指標として精度を用いることが有効である。
結果表示手段112b(制御部11)は、認識手段112aによる認識プログラムの認識性能の評価結果を、表示部13に表示させるように構成されている。たとえば、結果表示手段112bは、図6に示すように、成功率、再現率、頑健性、干渉および精度の評価結果を表示させる。この場合、結果表示手段112bは、成功率および再現率を、百分率で表して表示する。また、結果表示手段112bは、頑健性、干渉および精度を、「◎」、「○」、「△」などで表して表示する。また、結果表示手段112bは、図7および図8に示すように、散乱率と欠損率とを、各ワーク200aの検出、未検出ごとに表したグラフを表示させる。
スクリプト手段113(制御部11)は、認識プログラムのスクリプト(処理)(図5参照)の設定をユーザによる操作部14の操作に基づいて設定するように構成されている。パラメータエディタ手段114(制御部11)は、認識プログラムのスクリプト(処理)ごとのパラメータ(図5参照)の設定をユーザによる操作部14の操作に基づいて設定するように構成されている。
図2に示すように、ロボット2は、垂直多関節ロボットからなる。またロボット2は、6自由度を有するように構成されている。ロボットコントローラ3は、ロボット2の全体の動作を制御するように構成されている。
次に、図10を参照して、PC1の制御部11が行う認識プログラム評価処理について説明する。
ユーザの操作により認識対象のワーク200aの3次元CADデータが入力されると、ステップS1において、制御部11は、認識対象のワーク200a(図3参照)の単体(1つ)の3次元CADデータを読み込んで取得する。制御部11は、ステップS2において、ワーク200aの3次元CADデータからバラ積みのシーンデータ(図4参照)をN個作成する。
制御部11は、ステップS3において、作成したN個のシーンデータ中に存在する全ての認識対象のワーク200aについての位置データ(正解の位置および姿勢)と、ステータス(散乱率および欠損率)とを算出する。また、制御部11は、算出した、位置データおよびステータスを辞書データとして、記憶部12に記憶させる。
制御部11は、ステップS4において、評価対象の認識プログラムの指定を受け付ける。具体的には、制御部11は、認識プログラムのスクリプト(処理)およびスクリプトのパラメータの設定をユーザの操作により受け付ける。制御部11は、ステップS5においてi=1とする。制御部11は、ステップS6において、i番目のシーンデータに対して認識プログラムを実行して、ワーク200aを認識して、認識結果を取得する。
制御部11は、ステップS7において、iがNより小さいか否かを判断する。つまり、N個のシーンデータすべてについて、認識プログラムの実行が終了したか否かを判断する。i<Nならば(N個のシーンデータすべてについて認識プログラムを実行していない場合)、制御部11は、ステップS8において、i=i+1として、ステップS6に戻る。i=Nならば(N個のシーンデータすべてについて認識プログラムの実行が終了した場合)、制御部11は、ステップS9において、取得した認識結果を集計(評価)して、表示部13に表示(図6〜図8参照)する。その後、認識プログラム評価処理を終了する。
第1実施形態では、上記のように、モデルエディタ手段111によって生成された複数のワーク200aのバラ積み状態の仮想のシーンデータ中のワーク200aを認識手段112aにより認識するとともに、ワーク200aの位置データ、および、ワーク200aの認識結果を比較して、認識プログラムの認識性能を評価する。これにより、複数のワーク200aの位置データから取得される仮想のシーンデータ中のワーク200aの正確な位置および姿勢と、認識手段112aにより認識された認識結果とを自動的に比較することができるので、ユーザが、実際にバラ積みされた状態のワーク200aと認識結果とを視認して比較しながら、認識プログラムの認識性能を評価する場合と異なり、ワーク200aを認識する認識プログラムを評価する際のユーザの負担を軽減することができる。また、実際のワーク200を用いなくても、シーンデータを仮想的に生成することができるので、実機(ロボット2、ロボットコントローラ3およびセンサユニット4)を用いずに、PC1のみを用いてシミュレーションして認識プログラムを評価することができる。これにより、予めPC1により認識プログラムを調整することができるので、実機(ロボット2、ロボットコントローラ3およびセンサユニット4)を用いた認識プログラムの調整の時間を短縮することができる。
また、第1実施形態では、上記のように、認識手段112a(制御部11)を、認識プログラムの認識性能を評価する評価値(成功率および再現率)を求めるように構成し、結果表示手段112b(制御部11)を、評価値(成功率および再現率)を表示させるように構成する。これにより、認識プログラムの認識性能が評価値(成功率および再現率)としてユーザに示されるので、評価値に基づいて、認識プログラムのパラメータをユーザが容易に調整することができる。
また、第1実施形態では、上記のように、認識手段112a(制御部11)を、認識プログラムの認識性能を異なる複数の評価基準を用いて評価するように構成し、結果表示手段112b(制御部11)を、異なる複数の評価基準を用いた評価結果を表示させるように構成する。これにより、ワーク200aを認識させる用途(ロボットシステム100の用途)に応じた評価基準の評価結果に基づいて、認識プログラムのパラメータを調整することができる。
また、第1実施形態では、上記のように、モデルエディタ手段111(制御部11)を、1つのワーク200aの3次元データを用いて、複数のワーク200aのバラ積み状態の仮想のシーンデータを生成するように構成する。これにより、認識したいワーク200aのバラ積みされる個数や、形状などに対応する仮想のシーンデータを容易に生成することができるので、より精度よく認識プログラムを評価することができる。
また、第1実施形態では、上記のように、モデルエディタ手段111(制御部11)を、複数の仮想のシーンデータを生成するように構成し、認識手段112a(制御部11)を、認識プログラムを用いて、複数の仮想のシーンデータのワーク200aを認識するように構成するとともに、ワーク200aの位置データ、および、ワーク200aの複数の仮想のシーンデータにおける認識結果を比較して、認識プログラムの認識性能を評価するように構成する。これにより、バラ積みされるワーク200aの多様なパターンの仮想のシーンデータを用いて、認識プログラムを評価することができるので、認識プログラムの評価の精度をより高めることができる。
(第2実施形態)
次に、図5、図11および図12を参照して、第2実施形態によるロボットシステム100の構成について説明する。この第2実施形態では、認識プログラムのパラメータを変化させずに認識プログラムの評価を行う構成の上記第1実施形態と異なり、認識プログラムのパラメータを変化させて認識プログラムの評価を行う構成について説明する。
次に、図5、図11および図12を参照して、第2実施形態によるロボットシステム100の構成について説明する。この第2実施形態では、認識プログラムのパラメータを変化させずに認識プログラムの評価を行う構成の上記第1実施形態と異なり、認識プログラムのパラメータを変化させて認識プログラムの評価を行う構成について説明する。
ここで、第2実施形態では、認識手段112a(制御部11)は、認識プログラムのパラメータを変化させながら、仮想のシーンデータ中のワーク200aを認識するように構成されている。具体的には、図5に示すように、認識手段112aは、認識プログラムのパラメータをユーザにより設定された下限値と上限値との間で変化させながら、仮想のシーンデータ中のワーク200aを認識するように構成されている。たとえば、図5に示す例の場合、「代入」処理(スクリプト)のパラメータ(X、Y、Z、RX、RY、RZ)を、それぞれ、下限値と上限値との間で、刻み幅ずつ変化させて、ワーク200aを認識プログラムにより認識させる。
また、認識手段112a(制御部11)は、認識プログラムの複数のパラメータ(たとえば、X、Y、Z、RX、RY、RZ)を変化させながら、仮想のシーンデータ中のワーク200aを認識するように構成されている。つまり、認識手段112aは、認識プログラムのパラメータを変化させながら、認識性能が高くなるようなパラメータの組み合せを推定するように構成されている。また、認識手段112aは、ワーク200aの位置データ、および、ワーク200aの認識結果を比較して、認識プログラムの認識性能を、パラメータごとに評価する(図11参照)ように構成されている。
図11に示すように、結果表示手段112b(制御部11)は、複数のパラメータを変化させた組み合せ(パラメータセットP1、P2…)ごとに、認識プログラムの認識性能の評価結果を表示部13に表示させるように構成されている。また、結果表示手段112bは、複数のパラメータセットのうち、評価基準(成功率、再現率、頑健性、干渉および精度)のよいもの(たとえば、認識性能が1番高いもの)を「◎」で示すように構成されている。
次に、図12を参照して、PC1の制御部11が行うパラメータ推定処理について説明する。
ユーザの操作により認識対象のワーク200aの3次元CADデータが入力されると、ステップS11において、制御部11は、認識対象のワーク200aの単体(1つ)の3次元CADデータを読み込んで取得する。制御部11は、ステップS12において、ワーク200aの3次元CADデータからバラ積みのシーンデータをNs個作成する。
制御部11は、ステップS13において、作成したNs個のシーンデータ中に存在する全ての認識対象のワーク200aについての位置データ(正解の位置および姿勢)と、ステータス(散乱率および欠損率)とを算出する。また、制御部11は、算出した、位置データおよびステータスを辞書データとして、記憶部12に記憶させる。
制御部11は、ステップS14において、評価対象の認識プログラムの指定を受け付ける。具体的には、制御部11は、認識プログラムのスクリプト(処理)およびスクリプトのパラメータの設定をユーザの操作により受け付ける。制御部11は、ステップS15において、推定対象となる認識プログラムのパラメータの指定(選択)と推定範囲(上限値、下限値および刻み幅)の設定とをユーザの操作により受け付ける。
制御部11は、ステップS16において、指定されたパラメータと推定範囲とから、全て(Np個)のパラメータの組み合せ(パラメータセットP1〜PNp)を生成する。 制御部11は、ステップS17において、j=1とし、ステップS18において、k=1とする。制御部11は、ステップS19において、k番目のシーンデータに対してj番目のパラメータセットPjで認識プログラムを実行して、ワーク200aを認識して、認識結果を取得する。
制御部11は、ステップS20において、kがNsより小さいか否かを判断する。つまり、Ns個のシーンデータすべてについて、認識プログラムの実行が終了したか否かを判断する。k<Nsならば(Ns個のシーンデータすべてについて認識プログラムを実行していない場合)、制御部11は、ステップS21において、k=k+1として、ステップS19に戻る。k=Nsならば(Ns個のシーンデータすべてについて認識プログラムの実行が終了した場合)、制御部11は、ステップS22に進む。
制御部11は、ステップS22において、jがNpより小さいか否かを判断する。つまり、Np個のパラメータの組み合せ(パラメータセット)すべてについて、認識プログラムの実行が終了したか否かを判断する。j<Npならば(Np個のパラメータセットすべてについて認識プログラムを実行していない場合)、制御部11は、ステップS23において、j=j+1として、ステップS18に戻る。j=Npならば(Np個のパラメータセットすべてについて認識プログラムの実行が終了した場合)、制御部11は、ステップS24において、取得した認識結果を集計(評価)して、表示部13に表示(図11参照)する。その後、認識プログラム評価処理を終了する。
なお、第2実施形態のその他の構成は、上記第1実施形態と同様である。
第2実施形態では、上記のように、認識手段112a(制御部11)を、認識プログラムのパラメータを変化させながら、仮想のシーンデータ中のワーク200aを認識するように構成するとともに、ワーク200aの位置データ、および、ワーク200aの認識結果を比較して、認識プログラムの認識性能を、パラメータごとに評価するように構成する。これにより、認識プログラムのパラメータが認識手段112aにより変化されて、それぞれのパラメータごとに認識プログラムが評価されるので、ユーザがパラメータを手動で変化させる場合に比べて、ユーザの負担を軽減することができる。
また、第2実施形態では、上記のように、認識手段112a(制御部11)を、認識プログラムのパラメータをユーザにより設定された下限値と上限値との間で変化させながら、仮想のシーンデータ中のワーク200aを認識するように構成する。これにより、それぞれのパラメータごとに仮想のシーンデータ中のワーク200aを認識して、認識プログラムを評価する場合において、パラメータをユーザにより設定された下限値と上限値との間で変化させて認識プログラムが評価されるので、パラメータを全ての範囲において変化させる場合に比べて、処理時間を短縮することができる。
また、第2実施形態では、上記のように、認識手段112a(制御部11)を、認識プログラムの複数のパラメータを変化させながら、仮想のシーンデータ中のワーク200aを認識するように構成し、結果表示手段112b(制御部11)を、複数のパラメータを変化させた組み合せごとに、認識プログラムの認識性能の評価結果を表示させるように構成する。これにより、パラメータの組み合せごとに認識プログラムの評価結果がユーザに示されるので、パラメータの組み合せごとの評価結果に基づいて、認識プログラムのパラメータの組み合せを選択して、認識プログラムを容易に調整することができる。
なお、第2実施形態のその他の効果は、上記第1実施形態と同様である。
なお、今回開示された実施形態は、すべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した実施形態の説明ではなく特許請求の範囲によって示され、さらに特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれる。
たとえば、上記第1および第2実施形態では、PC(認識プログラム評価装置)が、1つのワークのデータからワークのバラ積み状態の仮想のシーンデータを生成する例を示したが、たとえば、予め生成されたワークのバラ積み状態の仮想のシーンデータをPCが取得するようにしてもよい。
また、上記第1および第2実施形態では、ロボットのロボットアームが6自由度を有する例を示したが、たとえば、ロボットアームが6自由度以外の自由度(5自由度、7自由度など)を有していてもよい。
また、上記第1および第2実施形態では、PC(認識プログラム評価装置)は、ロボットによりバラ積みされたワークを把持するためのワークの位置を認識する認識プログラムを評価する構成を示したが、たとえば、ロボットによりワークを把持するための認識プログラム以外の認識プログラムを評価する構成でもよい。たとえば、作業後のワークの状態を認識する認識プログラムを評価してもよい。
また、上記第1および第2実施形態では、複数の評価基準を用いて評価する構成の例を示したが、たとえば、1つの評価基準を用いて評価してもよい。また、成功率、再現性、頑健性、干渉および精度以外の評価基準を用いて評価してもよい。
また、上記第1および第2実施形態では、説明の便宜上、制御部の処理を処理フローに沿って順番に処理を行うフロー駆動型のフローを用いて説明したが、たとえば、制御部の処理動作を、イベント単位で処理を実行するイベント駆動型(イベントドリブン型)の処理により行ってもよい。この場合、完全なイベント駆動型で行ってもよいし、イベント駆動およびフロー駆動を組み合わせて行ってもよい。
1 PC(認識プログラム評価装置)
111 モデルエディタ手段(仮想データ取得手段)
112a 認識手段(仮想認識手段、認識評価手段)
112b 結果表示手段
200、200a ワーク
111 モデルエディタ手段(仮想データ取得手段)
112a 認識手段(仮想認識手段、認識評価手段)
112b 結果表示手段
200、200a ワーク
Claims (9)
- 複数のワークのそれぞれの位置データを含み、前記複数のワークのバラ積み状態の仮想のシーンデータを生成または取得する仮想データ取得手段と、
前記ワークの認識を調整するために設定可能なパラメータを含む認識プログラムを用いて、前記仮想のシーンデータ中の前記ワークを認識する仮想認識手段と、
前記ワークの位置データ、および、前記仮想認識手段による前記ワークの認識結果を比較して、前記認識プログラムの認識性能を評価する認識評価手段と、
前記認識評価手段による前記認識プログラムの認識性能の評価結果を表示させる結果表示手段とを備え、
前記認識評価手段は、検出に成功した前記ワークの個数に基づいて、前記認識プログラムの認識性能を評価する評価値を求めるように構成されている、認識プログラム評価装置。 - 前記結果表示手段は、前記評価値を表示させるように構成されている、請求項1に記載の認識プログラム評価装置。
- 前記認識評価手段は、前記認識プログラムの認識性能を異なる複数の評価基準を用いて評価するように構成されており、
前記結果表示手段は、前記異なる複数の評価基準を用いた評価結果を表示させるように構成されている、請求項1または2に記載の認識プログラム評価装置。 - 前記仮想認識手段は、前記認識プログラムの前記パラメータを変化させながら、前記仮想のシーンデータ中の前記ワークを認識するように構成されており、
前記認識評価手段は、前記ワークの位置データ、および、前記仮想認識手段による前記ワークの認識結果を比較して、前記認識プログラムの認識性能を、前記パラメータごとに評価するように構成されている、請求項1〜3のいずれか1項に記載の認識プログラム評価装置。 - 前記仮想認識手段は、前記認識プログラムのパラメータをユーザにより設定された下限値と上限値との間で変化させながら、前記仮想のシーンデータ中の前記ワークを認識するように構成されている、請求項4に記載の認識プログラム評価装置。
- 前記仮想認識手段は、前記認識プログラムの複数の前記パラメータを変化させながら、前記仮想のシーンデータ中の前記ワークを認識するように構成されており、
前記結果表示手段は、前記複数のパラメータを変化させた組み合せごとに、前記認識プログラムの認識性能の評価結果を表示させるように構成されている、請求項4または5に記載の認識プログラム評価装置。 - 前記仮想データ取得手段は、1つの前記ワークの3次元データを用いて、前記複数のワークのバラ積み状態の仮想のシーンデータを生成するように構成されている、請求項1〜6のいずれか1項に記載の認識プログラム評価装置。
- 前記仮想データ取得手段は、複数の前記仮想のシーンデータを生成または取得するように構成されており、
前記仮想認識手段は、前記認識プログラムを用いて、前記複数の仮想のシーンデータの前記ワークを認識するように構成されており、
前記認識評価手段は、前記ワークの位置データ、および、前記仮想認識手段による前記ワークの前記複数の仮想のシーンデータにおける認識結果を比較して、前記認識プログラムの認識性能を評価するように構成されている、請求項1〜7のいずれか1項に記載の認識プログラム評価装置。 - 仮想データ取得手段により、複数のワークのそれぞれの位置データを含み、前記複数のワークのバラ積み状態の仮想のシーンデータを生成または取得する工程と、
仮想認識手段により、前記ワークの認識を調整するために設定可能なパラメータを含む認識プログラムを用いて、前記仮想のシーンデータ中の前記ワークを認識する工程と、
認識評価手段により、前記ワークの位置データ、および、前記ワークの認識結果を比較して、前記認識プログラムの認識性能を評価する工程と、
結果表示手段により、前記認識プログラムの認識性能の評価結果を表示させる工程とを備え、
前記認識評価手段により前記認識プログラムの認識性能を評価する工程は、検出に成功した前記ワークの個数に基づいて、前記認識プログラムの認識性能を評価する評価値を求める工程を含む、認識プログラム評価方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013004888A JP5561384B2 (ja) | 2013-01-15 | 2013-01-15 | 認識プログラム評価装置および認識プログラム評価方法 |
EP13199765.2A EP2755166A3 (en) | 2013-01-15 | 2013-12-30 | Recognition program evaluation device and method for evaluating recognition program |
CN201410012575.5A CN103921274A (zh) | 2013-01-15 | 2014-01-10 | 识别程序评价装置及识别程序评价方法 |
US14/154,187 US20140200703A1 (en) | 2013-01-15 | 2014-01-14 | Recognition program evaluation device and method for evaluating recognition program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013004888A JP5561384B2 (ja) | 2013-01-15 | 2013-01-15 | 認識プログラム評価装置および認識プログラム評価方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2014137644A JP2014137644A (ja) | 2014-07-28 |
JP5561384B2 true JP5561384B2 (ja) | 2014-07-30 |
Family
ID=49918482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013004888A Expired - Fee Related JP5561384B2 (ja) | 2013-01-15 | 2013-01-15 | 認識プログラム評価装置および認識プログラム評価方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20140200703A1 (ja) |
EP (1) | EP2755166A3 (ja) |
JP (1) | JP5561384B2 (ja) |
CN (1) | CN103921274A (ja) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104959705B (zh) * | 2015-06-10 | 2016-08-24 | 四川英杰电气股份有限公司 | 一种焊熔管件识别方法 |
DE112017002200T5 (de) * | 2016-04-26 | 2019-01-24 | Mitsubishi Electric Corporation | Arbeiterverwaltungseinrichtung |
JP2018144157A (ja) * | 2017-03-03 | 2018-09-20 | 株式会社キーエンス | ロボットシミュレーション装置、ロボットシミュレーション方法、ロボットシミュレーションプログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器 |
JP6846949B2 (ja) * | 2017-03-03 | 2021-03-24 | 株式会社キーエンス | ロボットシミュレーション装置、ロボットシミュレーション方法、ロボットシミュレーションプログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器 |
JP6846950B2 (ja) * | 2017-03-03 | 2021-03-24 | 株式会社キーエンス | ロボットシミュレーション装置、ロボットシミュレーション方法、ロボットシミュレーションプログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器 |
JP6785687B2 (ja) * | 2017-03-03 | 2020-11-18 | 株式会社キーエンス | ロボットシミュレーション装置、ロボットシミュレーション方法、ロボットシミュレーションプログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器 |
JP6763914B2 (ja) * | 2018-06-08 | 2020-09-30 | ファナック株式会社 | ロボットシステムおよびロボットシステムの制御方法 |
TWI677415B (zh) * | 2019-01-24 | 2019-11-21 | 上銀科技股份有限公司 | 排除隨機堆疊之複數個工件之干涉的系統 |
US11485015B2 (en) | 2019-02-21 | 2022-11-01 | Hiwin Technologies Corp. | System for eliminating interference of randomly stacked workpieces |
CN109918676B (zh) * | 2019-03-18 | 2023-06-27 | 广东小天才科技有限公司 | 一种检测意图正则表达式的方法及装置、终端设备 |
JP7232704B2 (ja) * | 2019-05-13 | 2023-03-03 | 株式会社トヨタプロダクションエンジニアリング | ロボットプログラム評価装置、ロボットプログラム評価方法及びロボットプログラム評価プログラム |
JP7163506B2 (ja) * | 2019-09-18 | 2022-10-31 | 株式会社Fuji | 作業ロボットおよび作業システム |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2997958B2 (ja) * | 1991-06-14 | 2000-01-11 | 住友重機械工業株式会社 | 画像処理アルゴリズムの自動生成方法 |
JPH08123941A (ja) * | 1994-10-26 | 1996-05-17 | Toshiba Corp | 画像データシミュレーション方法及び画像シミュレータ |
JP2003204200A (ja) * | 2001-10-30 | 2003-07-18 | Matsushita Electric Ind Co Ltd | 教示データ設定装置及び方法、ネットワークを利用した教示データ提供システム及び方法 |
JP2006235699A (ja) * | 2005-02-22 | 2006-09-07 | Denso Corp | シミュレーション装置及びシミュレーション方法 |
US7890522B2 (en) * | 2005-11-10 | 2011-02-15 | Lg Electronics Inc. | Record media written with data structure for recognizing a user and method for recognizing a user |
JP4153528B2 (ja) * | 2006-03-10 | 2008-09-24 | ファナック株式会社 | ロボットシミュレーションのための装置、プログラム、記録媒体及び方法 |
JP4238256B2 (ja) * | 2006-06-06 | 2009-03-18 | ファナック株式会社 | ロボットシミュレーション装置 |
JP4508283B2 (ja) * | 2007-03-09 | 2010-07-21 | オムロン株式会社 | 認識処理方法およびこの方法を用いた画像処理装置 |
DE102007060653A1 (de) * | 2007-12-15 | 2009-06-18 | Abb Ag | Positionsermittlung eines Objektes |
JP5333344B2 (ja) * | 2009-06-19 | 2013-11-06 | 株式会社安川電機 | 形状検出装置及びロボットシステム |
-
2013
- 2013-01-15 JP JP2013004888A patent/JP5561384B2/ja not_active Expired - Fee Related
- 2013-12-30 EP EP13199765.2A patent/EP2755166A3/en not_active Withdrawn
-
2014
- 2014-01-10 CN CN201410012575.5A patent/CN103921274A/zh active Pending
- 2014-01-14 US US14/154,187 patent/US20140200703A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
JP2014137644A (ja) | 2014-07-28 |
US20140200703A1 (en) | 2014-07-17 |
EP2755166A3 (en) | 2014-10-29 |
CN103921274A (zh) | 2014-07-16 |
EP2755166A2 (en) | 2014-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5561384B2 (ja) | 認識プログラム評価装置および認識プログラム評価方法 | |
JP6937995B2 (ja) | 物体認識処理装置及び方法、並びに、物体ピッキング装置及び方法 | |
US9089971B2 (en) | Information processing apparatus, control method thereof and storage medium | |
US9727053B2 (en) | Information processing apparatus, control method for information processing apparatus, and recording medium | |
US9118823B2 (en) | Image generation apparatus, image generation method and storage medium for generating a target image based on a difference between a grip-state image and a non-grip-state image | |
KR20180114217A (ko) | 로봇 파지용 심층 기계 학습 방법 및 장치 | |
RU2700246C1 (ru) | Способ и система захвата объекта с помощью роботизированного устройства | |
JP6348097B2 (ja) | ワーク位置姿勢算出装置およびハンドリングシステム | |
US11969893B2 (en) | Automated personalized feedback for interactive learning applications | |
US20130054030A1 (en) | Object gripping apparatus, object gripping method, and object gripping program | |
JP6703812B2 (ja) | 3次元物体検査装置 | |
JP6016716B2 (ja) | ビンピッキング性能評価装置及び方法 | |
US20150209963A1 (en) | Robot programming apparatus for creating robot program for capturing image of workpiece | |
CN106104198A (zh) | 信息处理设备、信息处理方法和程序 | |
JP7377627B2 (ja) | 物体検出装置、物体把持システム、物体検出方法及び物体検出プログラム | |
JP2015112654A (ja) | 制御装置、ロボット、教示データ生成方法及びロボットシステム | |
TW202122225A (zh) | 使用先進掃描技術之用於機器人箱揀取的系統及方法 | |
EP2696164A1 (en) | Three-dimensional position/posture recognition device, three-dimensional position/posture recognition method, and three-dimensional position/posture recognition program | |
TWI649169B (zh) | 把持位置姿勢教導裝置、把持位置姿勢教導方法及機器人系統 | |
JP2023038776A (ja) | 指令値生成装置、方法、及びプログラム | |
US11010634B2 (en) | Measurement apparatus, measurement method, and computer-readable recording medium storing measurement program | |
JP2015112655A (ja) | 制御装置、ロボット、教示データ生成方法及びロボットシステム | |
US11607809B2 (en) | Robot motion planning accounting for object pose estimation accuracy | |
JP6079352B2 (ja) | ロボット制御方法、ロボット制御装置、ロボット、ロボットシステム、及びプログラム | |
US20230226688A1 (en) | Robot programming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20140513 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140526 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5561384 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |