(57)【要約】【課題】同時運動学およびハンドアイ較正を提供すること。【解決手段】説明されるのは、同時運動学およびハンドアイ較正のためのマシンビジョンシステムおよび方法である。マシンビジョンシステムは、ロボットまたは運動ステージと、制御システムと通信するカメラとを含む。制御システムは、ロボットまたは運動ステージをある姿勢に移動させ、姿勢毎に、較正標的特徴の画像と、ロボット関節角度または運動ステージエンコーダカウントとを捕捉するように構成される。制御システムは、ロボットまたは運動ステージ較正パラメータのための初期値を得て、ロボットまたは運動ステージ較正パラメータのための初期値、画像、および関節角度またはエンコーダカウントに基づいて、ハンドアイ較正パラメータのための初期値を判定するように構成される。【選択図】なし【特許請求の範囲】
【請求項１】
マシンビジョンシステムであって、
ロボットと、
カメラと、
前記ロボットおよび前記カメラと通信する制御システムであって、
前記ロボットを複数の姿勢に移動させ、前記複数の姿勢の姿勢毎に、
前記カメラを用いて、較正標的上の１つまたはそれを上回る特徴の画像を捕捉し、
複数のロボット関節角度を捕捉する、ことと、
複数のロボット較正パラメータのための複数の初期値を得ることと、
前記複数のロボット較正パラメータのための複数の初期値と、前記複数の姿勢毎に捕捉された前記画像および前記複数のロボット関節角度とに基づいて、複数のハンドアイ較正パラメータのための複数の初期値を判定することと、
前記複数のハンドアイ較正パラメータのうちの１つまたはそれを上回るものおよび前記複数のロボット較正パラメータのうちの１つまたはそれを上回るものを精緻化し、コスト関数を最小限にすることによって、前記複数のハンドアイ較正パラメータのための複数の最終値および前記ロボット較正パラメータのための複数の最終値を判定することと
を行うように構成される、制御システムと
を備える、システム。
【請求項２】
前記制御システムはさらに、
視覚誘導式ロボット用途のために、前記複数のハンドアイ較正パラメータのための複数の最終値および前記ロボット較正パラメータのための複数の最終値を使用するように構成される、請求項１に記載のマシンビジョンシステム。
【請求項３】
前記制御システムはさらに、
前記ロボット較正パラメータのための複数の最終値を使用して、前記ロボットを移動させるように構成される、請求項１に記載のマシンビジョンシステム。
【請求項４】
前記コスト関数は、前記複数の姿勢の姿勢毎に、前記姿勢のために捕捉された画像内の特徴の観察される場所と前記特徴の予期される場所との間の差異を測定し、前記予期される場所は、前記複数のロボット較正パラメータのための第１の複数の値、前記複数のハンドアイ較正パラメータのための第２の複数の値、および前記姿勢のために捕捉された前記複数のロボット関節角度に基づいて判定される、請求項１に記載のマシンビジョンシステム。
【請求項５】
前記コスト関数は、前記複数の姿勢の姿勢毎に、合成変換と恒等変換との間の差異を測定し、前記合成変換は、第１の座標空間から第２の座標空間への第１の変換および前記第２の座標空間から前記第１の座標空間への第２の変換の合成であって、前記第１の変換および前記第２の変換は、前記複数のロボット較正パラメータのための第１の複数の値、前記複数のハンドアイ較正パラメータのための第２の複数の値、前記姿勢のための較正標的の複数の観察される特徴、および前記姿勢のために捕捉された前記複数のロボット関節角度に基づいて判定される、請求項１に記載のマシンビジョンシステム。
【請求項６】
前記コスト関数は、前記複数の姿勢の姿勢毎に、前記姿勢のために捕捉された前記複数のロボット関節角度のロボット関節角度と前記姿勢のための推定される関節角度との間の差異を測定し、前記推定される関節角度は、前記複数のロボット較正パラメータのための第１の複数の値、前記複数のハンドアイ較正パラメータのための第２の複数の値、および前記姿勢のための較正標的の複数の観察される特徴に基づいて判定される、請求項１に記載のマシンビジョンシステム。
【請求項７】
前記制御システムはさらに、非線形最小二乗法を使用して前記コスト関数を最小限にするように構成される、請求項１に記載のマシンビジョンシステム。
【請求項８】
前記制御システムは、前記複数のハンドアイ較正パラメータの全て未満および前記複数のロボット較正パラメータの全て未満を精緻化するように構成される、請求項１に記載のマシンビジョンシステム。
【請求項９】
前記複数のロボット較正パラメータは、前記ロボットのためのＤｅｎａｖｉｔ−Ｈａｒｔｅｎｂｅｒｇパラメータを含む、請求項１に記載のマシンビジョンシステム。
【請求項１０】
マシンビジョンシステム実装較正方法であって、
制御システムによって、ロボットを複数の姿勢に移動させ、前記複数の姿勢の姿勢毎に、
カメラによって、較正標的上の１つまたはそれを上回る特徴の画像を捕捉し、
前記制御システムによって、複数のロボット関節角度を捕捉する、ことと、
前記制御システムによって、複数のロボット較正パラメータのための複数の初期値を得ることと、
前記制御システムによって、前記複数のロボット較正パラメータのための複数の初期値と、前記複数の姿勢毎に捕捉された前記画像および前記複数のロボット関節角度とに基づいて、複数のハンドアイ較正パラメータのための複数の初期値を判定することと、
前記制御システムによって、前記複数のハンドアイ較正パラメータのうちの１つまたはそれを上回るものおよび前記複数のロボット較正パラメータのうちの１つまたはそれを上回るものを精緻化し、コスト関数を最小限にすることによって、前記複数のハンドアイ較正パラメータのための複数の最終値および前記複数のロボット較正パラメータのための複数の最終値を判定することと
を含む、方法。
【請求項１１】
前記コスト関数は、前記複数の姿勢の姿勢毎に、前記姿勢のために捕捉された画像内の特徴の観察される場所と前記特徴の予期される場所との間の差異を測定し、前記予期される場所は、前記複数のロボット較正パラメータのための第１の複数の値、前記複数のハンドアイ較正パラメータのための第２の複数の値、および前記姿勢のために捕捉された前記複数のロボット関節角度に基づいて判定される、請求項１０に記載の方法。
【請求項１２】
前記コスト関数は、前記複数の姿勢の姿勢毎に、合成変換と恒等変換との間の差異を測定し、前記合成変換は、第１の座標空間から第２の座標空間への第１の変換および前記第２の座標空間から前記第１の座標空間への第２の変換の合成であって、前記第１の変換および前記第２の変換は、前記複数のロボット較正パラメータのための第１の複数の値、前記複数のハンドアイ較正パラメータのための第２の複数の値、前記姿勢のための較正標的の複数の観察される特徴、および前記姿勢のために捕捉された前記複数のロボット関節角度に基づいて判定される、請求項１０に記載の方法。
【請求項１３】
前記コスト関数は、前記複数の姿勢の姿勢毎に、前記姿勢のために捕捉された前記複数のロボット関節角度のロボット関節角度と前記姿勢のための推定される関節角度との間の差異を測定し、前記推定される関節角度は、前記複数のロボット較正パラメータのための第１の複数の値、前記複数のハンドアイ較正パラメータのための第２の複数の値、および前記姿勢のための較正標的の複数の観察される特徴に基づいて判定される、請求項１０に記載の方法。
【請求項１４】
非線形最小二乗法を使用して前記コスト関数を最小限にすることをさらに含む、請求項１０に記載の方法。
【請求項１５】
前記複数のハンドアイ較正パラメータの全て未満および前記複数のロボット較正パラメータの全て未満を精緻化することをさらに含む、請求項１０に記載の方法。
【請求項１６】
前記複数のロボット較正パラメータは、前記ロボットのためのＤｅｎａｖｉｔ−Ｈａｒｔｅｎｂｅｒｇパラメータを含む、請求項１０に記載の方法。
【請求項１７】
マシンビジョンシステムであって、
運動ステージと、
カメラと、
前記運動ステージおよび前記カメラと通信する制御システムであって、
前記運動ステージを複数の姿勢に移動させ、前記複数の姿勢の姿勢毎に、
前記カメラを用いて、較正標的上の１つまたはそれを上回る特徴の画像を捕捉し、
前記運動ステージの複数のアクチュエータのための複数のエンコーダカウントを捕捉する、ことと、
複数の運動ステージ較正パラメータのための複数の初期値を得ることと、
前記複数の運動ステージ較正パラメータのための複数の初期値と、前記複数の姿勢毎に捕捉された前記画像および前記複数のエンコーダカウントとに基づいて、複数のハンドアイ較正パラメータのための複数の初期値を判定することと、
前記複数のハンドアイ較正パラメータのうちの１つまたはそれを上回るものおよび前記複数の運動ステージ較正パラメータのうちの１つまたはそれを上回るものを精緻化し、コスト関数を最小限にすることによって、前記複数のハンドアイ較正パラメータのための複数の最終値および前記運動ステージ較正パラメータのための複数の最終値を判定することと
を行うように構成される、制御システムと
を備える、マシンビジョンシステム。
【請求項１８】
前記制御システムはさらに、
視覚誘導式運動ステージ用途のために、前記複数のハンドアイ較正パラメータのための複数の最終値および前記運動ステージ較正パラメータのための複数の最終値を使用するように構成される、請求項１７に記載のマシンビジョンシステム。
【請求項１９】
前記制御システムはさらに、
前記運動ステージ較正パラメータのための複数の最終値を使用して、前記運動ステージを移動させるように構成される、請求項１７に記載のマシンビジョンシステム。
【請求項２０】
前記コスト関数は、前記複数の姿勢の姿勢毎に、前記姿勢のために捕捉された画像内の特徴の観察される場所と前記特徴の予期される場所との間の差異を測定し、前記予期される場所は、前記複数の運動ステージ較正パラメータのための第１の複数の値、前記複数のハンドアイ較正パラメータのための第２の複数の値、および前記姿勢のために捕捉された前記複数のエンコーダカウントに基づいて判定される、請求項１７に記載のマシンビジョンシステム。
【請求項２１】
前記コスト関数は、前記複数の姿勢の姿勢毎に、前記姿勢のために捕捉された前記複数のエンコーダカウントのエンコーダカウントと前記姿勢のために推定されるエンコーダカウントとの間の差異を測定し、前記推定されるエンコーダカウントは、前記複数の運動ステージ較正パラメータのための第１の複数の値、前記複数のハンドアイ較正パラメータのための第２の複数の値、および前記姿勢のための較正標的の複数の観察される特徴に基づいて判定される、請求項１７に記載のマシンビジョンシステム。
【請求項２２】
前記制御システムはさらに、非線形最小二乗法を使用して前記コスト関数を最小限にするように構成される、請求項１７に記載のマシンビジョンシステム。
【請求項２３】
前記制御システムは、前記複数のハンドアイ較正パラメータの全て未満および前記複数の運動ステージ較正パラメータの全て未満を精緻化するように構成される、請求項１７に記載のマシンビジョンシステム。
【請求項２４】
前記複数の運動ステージ較正パラメータは、ローラ中心位置、ローラ半径、方向、ステップサイズ、ホームエンコーダカウント、およびアクチュエータのための受座の方向のうちの１つまたはそれを上回るものを含む、請求項１７に記載のマシンビジョンシステム。
【請求項２５】
マシンビジョンシステム実装較正方法であって、
制御システムによって、運動ステージを複数の姿勢に移動させ、前記複数の姿勢の姿勢毎に、
カメラによって、較正標的上の１つまたはそれを上回る特徴の画像を捕捉し、
前記制御システムによって、前記運動ステージの複数のアクチュエータのための複数のエンコーダカウントを捕捉する、ことと、
前記制御システムによって、複数の運動ステージ較正パラメータのための複数の初期値を得ることと、
前記制御システムによって、前記複数の運動ステージ較正パラメータのための複数の初期値と、前記複数の姿勢毎に捕捉された前記画像および前記複数のエンコーダカウントとに基づいて、複数のハンドアイ較正パラメータのための複数の初期値を判定することと、
前記制御システムによって、前記複数のハンドアイ較正パラメータのうちの１つまたはそれを上回るものおよび前記複数の運動ステージ較正パラメータのうちの１つまたはそれを上回るものを精緻化し、コスト関数を最小限にすることによって、前記複数のハンドアイ較正パラメータのための複数の最終値および前記運動ステージ較正パラメータのための複数の最終値を判定することと
含む、方法。
【請求項２６】
前記コスト関数は、前記複数の姿勢の姿勢毎に、前記姿勢のために捕捉された画像内の特徴の観察される場所と前記特徴の予期される場所との間の差異を測定し、前記予期される場所は、前記複数の運動ステージ較正パラメータのための第１の複数の値、前記複数のハンドアイ較正パラメータのための第２の複数の値、および前記姿勢のために捕捉された前記複数のエンコーダカウントに基づいて判定される、請求項２５に記載の方法。
【請求項２７】
前記コスト関数は、前記複数の姿勢の姿勢毎に、前記姿勢のために捕捉された前記複数のエンコーダカウントのエンコーダカウントと前記姿勢のために推定されるエンコーダカウントとの間の差異を測定し、前記推定されるエンコーダカウントは、前記複数の運動ステージ較正パラメータのための第１の複数の値、前記複数のハンドアイ較正パラメータのための第２の複数の値、および前記姿勢のための較正標的の複数の観察される特徴に基づいて判定される、請求項２５に記載の方法。
【請求項２８】
非線形最小二乗法を使用して前記コスト関数を最小限にすることをさらに含む、請求項２５に記載の方法。
【請求項２９】
前記複数のハンドアイ較正パラメータの全て未満および前記複数の運動ステージ較正パラメータの全て未満を精緻化することをさらに含む、請求項２５に記載の方法。
【請求項３０】
前記複数の運動ステージ較正パラメータは、ローラ中心位置、ローラ半径、方向、ステップサイズ、ホームエンコーダカウント、およびアクチュエータのための受座の方向のうちの１つまたはそれを上回るものを含む、請求項２５に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
（技術分野）
本技術は、マシンビジョンシステムに関し、より具体的には、ロボット／運動ステージおよびハンドアイ較正パラメータの運動学的連鎖を同時に精緻化することによってマシンビジョンシステムを構成することに関する。
【背景技術】
【０００２】
マシンビジョンシステムでは、１つまたはそれを上回るカメラが、撮像された場面内の物体または表面上で視覚システムプロセスを行うために使用されることができる。これらのプロセスは、検査、整合、および／または種々の他のタスクを含むことができる。１つまたはそれを上回るカメラによって捕捉された画像は、マシンビジョンシステムによって、特徴の実世界場所、姿勢等の撮像された場面内の特徴についての情報を判定するために処理されることができる。いくつかの用途では、マシンビジョンシステムは、ロボット、運動ステージ、または他のデバイスを含むことができ、その姿勢および移動は、マシンビジョンシステム（例えば、視覚誘導式ロボット（ＶＧＲ）用途）によって制御される。例えば、マシンビジョンシステムは、１つまたはそれを上回るカメラによって捕捉された画像を分析し、ロボットまたは運動ステージの移動方法を判定し、撮像された場面内で移動させる、または物体と相互作用させることができる。いくつかの用途では、マシンビジョンシステムは、マシンビジョンシステムが、増加された正確度および信頼性を伴って、視覚タスクを行うことを可能にするように較正されることができる。
【発明の概要】
【課題を解決するための手段】
【０００３】
本明細書に説明される技術は、ロボット／運動ステージの運動学モデル化およびマシンビジョンシステムの較正を改良することによって、既存のマシンビジョンシステムの正確度および精度を改良することができる。
【０００４】
一側面では、マシンビジョンシステムが、存在する。マシンビジョンシステムは、ロボットを含む。マシンビジョンシステムは、カメラを含む。マシンビジョンシステムは、ロボットおよびカメラと通信する制御システムを含む。制御システムは、ロボットを複数の姿勢に移動させ、複数の姿勢の姿勢毎に、カメラを用いて、較正標的上の１つまたはそれを上回る特徴の画像を捕捉し、複数のロボット関節角度を捕捉するように構成される。制御システムは、複数のロボット較正パラメータのための複数の初期値を得るように構成される。制御システムは、複数のロボット較正パラメータのための複数の初期値と、複数の姿勢毎に捕捉された画像および複数のロボット関節角度とに基づいて、複数のハンドアイ較正パラメータのための複数の初期値を判定するように構成される。制御システムは、複数のハンドアイ較正パラメータのうちの１つまたはそれを上回るものおよび複数のロボット較正パラメータのうちの１つまたはそれを上回るものを精緻化し、コスト関数を最小限にすることによって、複数のハンドアイ較正パラメータのための複数の最終値およびロボット較正パラメータのための複数の最終値を判定するように構成される。
【０００５】
いくつかの実施形態では、制御システムはさらに、視覚誘導式ロボット用途のために、複数のハンドアイ較正パラメータのための複数の最終値およびロボット較正パラメータのための複数の最終値を使用するように構成される。いくつかの実施形態では、制御システムはさらに、ロボット較正パラメータのための複数の最終値を使用して、ロボットを移動させるように構成される。
【０００６】
いくつかの実施形態では、コスト関数は、複数の姿勢の姿勢毎に、姿勢のために捕捉された画像内の特徴の観察される場所と特徴の予期される場所との間の差異を測定し、予期される場所は、複数のロボット較正パラメータのための第１の複数の値、複数のハンドアイ較正パラメータのための第２の複数の値、および姿勢のために捕捉された複数のロボット関節角度に基づいて判定される。いくつかの実施形態では、コスト関数は、複数の姿勢の姿勢毎に、合成変換と恒等変換との間の差異を測定し、合成変換は、第１の座標空間から第２の座標空間への第１の変換および第２の座標空間から第１の座標空間への第２の変換の合成であって、第１の変換および第２の変換は、複数のロボット較正パラメータのための第１の複数の値、複数のハンドアイ較正パラメータのための第２の複数の値、姿勢のための較正標的の複数の観察される特徴、および姿勢のために捕捉された複数のロボット関節角度に基づいて判定される。いくつかの実施形態では、コスト関数は、複数の姿勢の姿勢毎に、姿勢のために捕捉された複数のロボット関節角度のロボット関節角度と姿勢のための推定される関節角度との間の差異を測定し、推定される関節角度は、複数のロボット較正パラメータのための第１の複数の値、複数のハンドアイ較正パラメータのための第２の複数の値、および姿勢のための較正標的の複数の観察される特徴に基づいて判定される。
【０００７】
いくつかの実施形態では、制御システムはさらに、非線形最小二乗法を使用してコスト関数を最小限にするように構成される。いくつかの実施形態では、制御システムは、複数のハンドアイ較正パラメータの全て未満および複数のロボット較正パラメータの全て未満を精緻化するように構成される。いくつかの実施形態では、複数のロボット較正パラメータは、ロボットのためのＤｅｎａｖｉｔ−Ｈａｒｔｅｎｂｅｒｇパラメータを含む。
【０００８】
別の側面では、マシンビジョンシステム実装較正方法が、存在する。本方法は、制御システムによって、ロボットを複数の姿勢に移動させ、複数の姿勢の姿勢毎に、カメラによって、較正標的上の１つまたはそれを上回る特徴の画像を捕捉し、制御システムによって、複数のロボット関節角度を捕捉することを含む。本方法は、制御システムによって、複数のロボット較正パラメータのための複数の初期値を得ることを含む。本方法は、制御システムによって、複数のロボット較正パラメータのための複数の初期値と、複数の姿勢毎に捕捉された画像および複数のロボット関節角度とに基づいて、複数のハンドアイ較正パラメータのための複数の初期値を判定することを含む。本方法は、制御システムによって、複数のハンドアイ較正パラメータのうちの１つまたはそれを上回るものおよび複数のロボット較正パラメータのうちの１つまたはそれを上回るものを精緻化し、コスト関数を最小限にすることによって、複数のハンドアイ較正パラメータのための複数の最終値および複数のロボット較正パラメータのための複数の最終値を判定することを含む。
【０００９】
いくつかの実施形態では、コスト関数は、複数の姿勢の姿勢毎に、姿勢のために捕捉された画像内の特徴の観察される場所と特徴の予期される場所との間の差異を測定し、予期される場所は、複数のロボット較正パラメータのための第１の複数の値、複数のハンドアイ較正パラメータのための第２の複数の値、および姿勢のために捕捉された複数のロボット関節角度に基づいて判定される。いくつかの実施形態では、コスト関数は、複数の姿勢の姿勢毎に、合成変換と恒等変換との間の差異を測定し、合成変換は、第１の座標空間から第２の座標空間への第１の変換および第２の座標空間から第１の座標空間への第２の変換の合成であって、第１の変換および第２の変換は、複数のロボット較正パラメータのための第１の複数の値、複数のハンドアイ較正パラメータのための第２の複数の値、姿勢のための較正標的の複数の観察される特徴、および姿勢のために捕捉された複数のロボット関節角度に基づいて判定される。いくつかの実施形態では、コスト関数は、複数の姿勢の姿勢毎に、姿勢のために捕捉された複数のロボット関節角度のロボット関節角度と姿勢のための推定される関節角度との間の差異を測定し、推定される関節角度は、複数のロボット較正パラメータのための第１の複数の値、複数のハンドアイ較正パラメータのための第２の複数の値、および姿勢のための較正標的の複数の観察される特徴に基づいて判定される。
【００１０】
いくつかの実施形態では、本方法は、非線形最小二乗法を使用してコスト関数を最小限にすることを含む。いくつかの実施形態では、本方法は、複数のハンドアイ較正パラメータの全て未満および複数のロボット較正パラメータの全て未満を精緻化することを含む。いくつかの実施形態では、複数のロボット較正パラメータは、ロボットのためのＤｅｎａｖｉｔ−Ｈａｒｔｅｎｂｅｒｇパラメータを含む。
【００１１】
別の側面では、マシンビジョンシステムが、存在する。マシンビジョンシステムは、運動ステージを含む。マシンビジョンシステムは、カメラを含む。マシンビジョンシステムは、運動ステージおよびカメラと通信する制御システムを含む。制御システムは、運動ステージを複数の姿勢に移動させ、複数の姿勢の姿勢毎に、カメラを用いて、較正標的上の１つまたはそれを上回る特徴の画像を捕捉し、運動ステージの複数のアクチュエータのための複数のエンコーダカウントを捕捉するように構成される。制御システムは、複数の運動ステージ較正パラメータのための複数の初期値を得るように構成される。制御システムは、複数の運動ステージ較正パラメータのための複数の初期値と、複数の姿勢毎に捕捉された画像および複数のエンコーダカウントとに基づいて、複数のハンドアイ較正パラメータのための複数の初期値を判定するように構成される。制御システムは、複数のハンドアイ較正パラメータのうちの１つまたはそれを上回るものおよび複数の運動ステージ較正パラメータのうちの１つまたはそれを上回るものを精緻化し、コスト関数を最小限にすることによって、複数のハンドアイ較正パラメータのための複数の最終値および運動ステージ較正パラメータのための複数の最終値を判定するように構成される。
【００１２】
いくつかの実施形態では、制御システムはさらに、視覚誘導式運動ステージ用途のために、複数のハンドアイ較正パラメータのための複数の最終値および運動ステージ較正パラメータのための複数の最終値を使用するように構成される。いくつかの実施形態では、制御システムはさらに、運動ステージ較正パラメータのための複数の最終値を使用して、運動ステージを移動させるように構成される。
【００１３】
いくつかの実施形態では、コスト関数は、複数の姿勢の姿勢毎に、姿勢のために捕捉された画像内の特徴の観察される場所と特徴の予期される場所との間の差異を測定し、予期される場所は、複数の運動ステージ較正パラメータのための第１の複数の値、複数のハンドアイ較正パラメータのための第２の複数の値、および姿勢のために捕捉された複数のエンコーダカウントに基づいて判定される。いくつかの実施形態では、コスト関数は、複数の姿勢の姿勢毎に、姿勢のために捕捉された複数のエンコーダカウントのエンコーダカウントと姿勢のために推定されるエンコーダカウントとの間の差異を測定し、推定されるエンコーダカウントは、複数の運動ステージ較正パラメータのための第１の複数の値、複数のハンドアイ較正パラメータのための第２の複数の値、および姿勢のための較正標的の複数の観察される特徴に基づいて判定される。
【００１４】
いくつかの実施形態では、制御システムはさらに、非線形最小二乗法を使用してコスト関数を最小限にするように構成される。いくつかの実施形態では、制御システムは、複数のハンドアイ較正パラメータの全て未満および複数の運動ステージ較正パラメータの全て未満を精緻化するように構成される。いくつかの実施形態では、複数の運動ステージ較正パラメータは、ローラ中心位置、ローラ半径、方向、ステップサイズ、ホームエンコーダカウント、およびアクチュエータのための受座の方向のうちの１つまたはそれを上回るものを含む。
【００１５】
別の側面では、マシンビジョンシステム実装較正方法が、存在する。本方法は、制御システムによって、運動ステージを複数の姿勢に移動させ、複数の姿勢の姿勢毎に、カメラによって、較正標的上の１つまたはそれを上回る特徴の画像を捕捉し、制御システムによって、運動ステージの複数のアクチュエータのための複数のエンコーダカウントを捕捉することを含む。本方法は、制御システムによって、複数の運動ステージ較正パラメータのための複数の初期値を得ることを含む。本方法は、制御システムによって、複数の運動ステージ較正パラメータのための複数の初期値と、複数の姿勢毎に捕捉された画像および複数のエンコーダカウントとに基づいて、複数のハンドアイ較正パラメータのための複数の初期値を判定することを含む。本方法は、制御システムによって、複数のハンドアイ較正パラメータのうちの１つまたはそれを上回るものおよび複数の運動ステージ較正パラメータのうちの１つまたはそれを上回るものを精緻化し、コスト関数を最小限にすることによって、複数のハンドアイ較正パラメータのための複数の最終値および運動ステージ較正パラメータのための複数の最終値を判定することを含む。
【００１６】
いくつかの実施形態では、コスト関数は、複数の姿勢の姿勢毎に、姿勢のために捕捉された画像内の特徴の観察される場所と特徴の予期される場所との間の差異を測定し、予期される場所は、複数の運動ステージ較正パラメータのための第１の複数の値、複数のハンドアイ較正パラメータのための第２の複数の値、および姿勢のために捕捉された複数のエンコーダカウントに基づいて判定される。いくつかの実施形態では、コスト関数は、複数の姿勢の姿勢毎に、姿勢のために捕捉された複数のエンコーダカウントのエンコーダカウントと姿勢のために推定されるエンコーダカウントとの間の差異を測定し、推定されるエンコーダカウントは、複数の運動ステージ較正パラメータのための第１の複数の値、複数のハンドアイ較正パラメータのための第２の複数の値、および姿勢のための較正標的の複数の観察される特徴に基づいて判定される。
【００１７】
いくつかの実施形態では、本方法は、非線形最小二乗法を使用してコスト関数を最小限にすることを含む。いくつかの実施形態では、本方法は、複数のハンドアイ較正パラメータの全て未満および複数の運動ステージ較正パラメータの全て未満を精緻化することを含む。いくつかの実施形態では、複数の運動ステージ較正パラメータは、ローラ中心位置、ローラ半径、方向、ステップサイズ、ホームエンコーダカウント、およびアクチュエータのための受座の方向のうちの１つまたはそれを上回るものを含む。
【００１８】
本技術の他の側面および利点は、本技術の原理を一例としてのみ例証する、付随の図面と関連して検討される、以下の発明を実施するための形態から明白となるであろう。
本発明は、例えば、以下を提供する。
（項目１）
マシンビジョンシステムであって、
ロボットと、
カメラと、
上記ロボットおよび上記カメラと通信する制御システムであって、
上記ロボットを複数の姿勢に移動させ、上記複数の姿勢の姿勢毎に、
上記カメラを用いて、較正標的上の１つまたはそれを上回る特徴の画像を捕捉し、
複数のロボット関節角度を捕捉する、ことと、
複数のロボット較正パラメータのための複数の初期値を得ることと、
上記複数のロボット較正パラメータのための複数の初期値と、上記複数の姿勢毎に捕捉された上記画像および上記複数のロボット関節角度とに基づいて、複数のハンドアイ較正パラメータのための複数の初期値を判定することと、
上記複数のハンドアイ較正パラメータのうちの１つまたはそれを上回るものおよび上記複数のロボット較正パラメータのうちの１つまたはそれを上回るものを精緻化し、コスト関数を最小限にすることによって、上記複数のハンドアイ較正パラメータのための複数の最終値および上記ロボット較正パラメータのための複数の最終値を判定することと
を行うように構成される、制御システムと
を備える、システム。
（項目２）
上記制御システムはさらに、
視覚誘導式ロボット用途のために、上記複数のハンドアイ較正パラメータのための複数の最終値および上記ロボット較正パラメータのための複数の最終値を使用するように構成される、上記項目に記載のマシンビジョンシステム。
（項目３）
上記制御システムはさらに、
上記ロボット較正パラメータのための複数の最終値を使用して、上記ロボットを移動させるように構成される、上記項目のいずれかに記載のマシンビジョンシステム。
（項目４）
上記コスト関数は、上記複数の姿勢の姿勢毎に、上記姿勢のために捕捉された画像内の特徴の観察される場所と上記特徴の予期される場所との間の差異を測定し、上記予期される場所は、上記複数のロボット較正パラメータのための第１の複数の値、上記複数のハンドアイ較正パラメータのための第２の複数の値、および上記姿勢のために捕捉された上記複数のロボット関節角度に基づいて判定される、上記項目のいずれかに記載のマシンビジョンシステム。
（項目５）
上記コスト関数は、上記複数の姿勢の姿勢毎に、合成変換と恒等変換との間の差異を測定し、上記合成変換は、第１の座標空間から第２の座標空間への第１の変換および上記第２の座標空間から上記第１の座標空間への第２の変換の合成であって、上記第１の変換および上記第２の変換は、上記複数のロボット較正パラメータのための第１の複数の値、上記複数のハンドアイ較正パラメータのための第２の複数の値、上記姿勢のための較正標的の複数の観察される特徴、および上記姿勢のために捕捉された上記複数のロボット関節角度に基づいて判定される、上記項目のいずれかに記載のマシンビジョンシステム。
（項目６）
上記コスト関数は、上記複数の姿勢の姿勢毎に、上記姿勢のために捕捉された上記複数のロボット関節角度のロボット関節角度と上記姿勢のための推定される関節角度との間の差異を測定し、上記推定される関節角度は、上記複数のロボット較正パラメータのための第１の複数の値、上記複数のハンドアイ較正パラメータのための第２の複数の値、および上記姿勢のための較正標的の複数の観察される特徴に基づいて判定される、上記項目のいずれかに記載のマシンビジョンシステム。
（項目７）
上記制御システムはさらに、非線形最小二乗法を使用して上記コスト関数を最小限にするように構成される、上記項目のいずれかに記載のマシンビジョンシステム。
（項目８）
上記制御システムは、上記複数のハンドアイ較正パラメータの全て未満および上記複数のロボット較正パラメータの全て未満を精緻化するように構成される、上記項目のいずれかに記載のマシンビジョンシステム。
（項目９）
上記複数のロボット較正パラメータは、上記ロボットのためのＤｅｎａｖｉｔ−Ｈａｒｔｅｎｂｅｒｇパラメータを含む、上記項目のいずれかに記載のマシンビジョンシステム。
（項目１０）
マシンビジョンシステム実装較正方法であって、
制御システムによって、ロボットを複数の姿勢に移動させ、上記複数の姿勢の姿勢毎に、
カメラによって、較正標的上の１つまたはそれを上回る特徴の画像を捕捉し、
上記制御システムによって、複数のロボット関節角度を捕捉する、ことと、
上記制御システムによって、複数のロボット較正パラメータのための複数の初期値を得ることと、
上記制御システムによって、上記複数のロボット較正パラメータのための複数の初期値と、上記複数の姿勢毎に捕捉された上記画像および上記複数のロボット関節角度とに基づいて、複数のハンドアイ較正パラメータのための複数の初期値を判定することと、
上記制御システムによって、上記複数のハンドアイ較正パラメータのうちの１つまたはそれを上回るものおよび上記複数のロボット較正パラメータのうちの１つまたはそれを上回るものを精緻化し、コスト関数を最小限にすることによって、上記複数のハンドアイ較正パラメータのための複数の最終値および上記複数のロボット較正パラメータのための複数の最終値を判定することと
を含む、方法。
（項目１１）
上記コスト関数は、上記複数の姿勢の姿勢毎に、上記姿勢のために捕捉された画像内の特徴の観察される場所と上記特徴の予期される場所との間の差異を測定し、上記予期される場所は、上記複数のロボット較正パラメータのための第１の複数の値、上記複数のハンドアイ較正パラメータのための第２の複数の値、および上記姿勢のために捕捉された上記複数のロボット関節角度に基づいて判定される、上記項目に記載の方法。
（項目１２）
上記コスト関数は、上記複数の姿勢の姿勢毎に、合成変換と恒等変換との間の差異を測定し、上記合成変換は、第１の座標空間から第２の座標空間への第１の変換および上記第２の座標空間から上記第１の座標空間への第２の変換の合成であって、上記第１の変換および上記第２の変換は、上記複数のロボット較正パラメータのための第１の複数の値、上記複数のハンドアイ較正パラメータのための第２の複数の値、上記姿勢のための較正標的の複数の観察される特徴、および上記姿勢のために捕捉された上記複数のロボット関節角度に基づいて判定される、上記項目のいずれかに記載の方法。
（項目１３）
上記コスト関数は、上記複数の姿勢の姿勢毎に、上記姿勢のために捕捉された上記複数のロボット関節角度のロボット関節角度と上記姿勢のための推定される関節角度との間の差異を測定し、上記推定される関節角度は、上記複数のロボット較正パラメータのための第１の複数の値、上記複数のハンドアイ較正パラメータのための第２の複数の値、および上記姿勢のための較正標的の複数の観察される特徴に基づいて判定される、上記項目のいずれかに記載の方法。
（項目１４）
非線形最小二乗法を使用して上記コスト関数を最小限にすることをさらに含む、上記項目のいずれかに記載の方法。
（項目１５）
上記複数のハンドアイ較正パラメータの全て未満および上記複数のロボット較正パラメータの全て未満を精緻化することをさらに含む、上記項目のいずれかに記載の方法。
（項目１６）
上記複数のロボット較正パラメータは、上記ロボットのためのＤｅｎａｖｉｔ−Ｈａｒｔｅｎｂｅｒｇパラメータを含む、上記項目のいずれかに記載の方法。
（項目１７）
マシンビジョンシステムであって、
運動ステージと、
カメラと、
上記運動ステージおよび上記カメラと通信する制御システムであって、
上記運動ステージを複数の姿勢に移動させ、上記複数の姿勢の姿勢毎に、
上記カメラを用いて、較正標的上の１つまたはそれを上回る特徴の画像を捕捉し、
上記運動ステージの複数のアクチュエータのための複数のエンコーダカウントを捕捉する、ことと、
複数の運動ステージ較正パラメータのための複数の初期値を得ることと、
上記複数の運動ステージ較正パラメータのための複数の初期値と、上記複数の姿勢毎に捕捉された上記画像および上記複数のエンコーダカウントとに基づいて、複数のハンドアイ較正パラメータのための複数の初期値を判定することと、
上記複数のハンドアイ較正パラメータのうちの１つまたはそれを上回るものおよび上記複数の運動ステージ較正パラメータのうちの１つまたはそれを上回るものを精緻化し、コスト関数を最小限にすることによって、上記複数のハンドアイ較正パラメータのための複数の最終値および上記運動ステージ較正パラメータのための複数の最終値を判定することと
を行うように構成される、制御システムと
を備える、マシンビジョンシステム。
（項目１８）
上記制御システムはさらに、
視覚誘導式運動ステージ用途のために、上記複数のハンドアイ較正パラメータのための複数の最終値および上記運動ステージ較正パラメータのための複数の最終値を使用するように構成される、上記項目に記載のマシンビジョンシステム。
（項目１９）
上記制御システムはさらに、
上記運動ステージ較正パラメータのための複数の最終値を使用して、上記運動ステージを移動させるように構成される、上記項目のいずれかに記載のマシンビジョンシステム。
（項目２０）
上記コスト関数は、上記複数の姿勢の姿勢毎に、上記姿勢のために捕捉された画像内の特徴の観察される場所と上記特徴の予期される場所との間の差異を測定し、上記予期される場所は、上記複数の運動ステージ較正パラメータのための第１の複数の値、上記複数のハンドアイ較正パラメータのための第２の複数の値、および上記姿勢のために捕捉された上記複数のエンコーダカウントに基づいて判定される、上記項目のいずれかに記載のマシンビジョンシステム。
（項目２１）
上記コスト関数は、上記複数の姿勢の姿勢毎に、上記姿勢のために捕捉された上記複数のエンコーダカウントのエンコーダカウントと上記姿勢のために推定されるエンコーダカウントとの間の差異を測定し、上記推定されるエンコーダカウントは、上記複数の運動ステージ較正パラメータのための第１の複数の値、上記複数のハンドアイ較正パラメータのための第２の複数の値、および上記姿勢のための較正標的の複数の観察される特徴に基づいて判定される、上記項目のいずれかに記載のマシンビジョンシステム。
（項目２２）
上記制御システムはさらに、非線形最小二乗法を使用して上記コスト関数を最小限にするように構成される、上記項目のいずれかに記載のマシンビジョンシステム。
（項目２３）
上記制御システムは、上記複数のハンドアイ較正パラメータの全て未満および上記複数の運動ステージ較正パラメータの全て未満を精緻化するように構成される、上記項目のいずれかに記載のマシンビジョンシステム。
（項目２４）
上記複数の運動ステージ較正パラメータは、ローラ中心位置、ローラ半径、方向、ステップサイズ、ホームエンコーダカウント、およびアクチュエータのための受座の方向のうちの１つまたはそれを上回るものを含む、上記項目のいずれかに記載のマシンビジョンシステム。
（項目２５）
マシンビジョンシステム実装較正方法であって、
制御システムによって、運動ステージを複数の姿勢に移動させ、上記複数の姿勢の姿勢毎に、
カメラによって、較正標的上の１つまたはそれを上回る特徴の画像を捕捉し、
上記制御システムによって、上記運動ステージの複数のアクチュエータのための複数のエンコーダカウントを捕捉する、ことと、
上記制御システムによって、複数の運動ステージ較正パラメータのための複数の初期値を得ることと、
上記制御システムによって、上記複数の運動ステージ較正パラメータのための複数の初期値と、上記複数の姿勢毎に捕捉された上記画像および上記複数のエンコーダカウントとに基づいて、複数のハンドアイ較正パラメータのための複数の初期値を判定することと、
上記制御システムによって、上記複数のハンドアイ較正パラメータのうちの１つまたはそれを上回るものおよび上記複数の運動ステージ較正パラメータのうちの１つまたはそれを上回るものを精緻化し、コスト関数を最小限にすることによって、上記複数のハンドアイ較正パラメータのための複数の最終値および上記運動ステージ較正パラメータのための複数の最終値を判定することと
含む、方法。
（項目２６）
上記コスト関数は、上記複数の姿勢の姿勢毎に、上記姿勢のために捕捉された画像内の特徴の観察される場所と上記特徴の予期される場所との間の差異を測定し、上記予期される場所は、上記複数の運動ステージ較正パラメータのための第１の複数の値、上記複数のハンドアイ較正パラメータのための第２の複数の値、および上記姿勢のために捕捉された上記複数のエンコーダカウントに基づいて判定される、上記項目に記載の方法。
（項目２７）
上記コスト関数は、上記複数の姿勢の姿勢毎に、上記姿勢のために捕捉された上記複数のエンコーダカウントのエンコーダカウントと上記姿勢のために推定されるエンコーダカウントとの間の差異を測定し、上記推定されるエンコーダカウントは、上記複数の運動ステージ較正パラメータのための第１の複数の値、上記複数のハンドアイ較正パラメータのための第２の複数の値、および上記姿勢のための較正標的の複数の観察される特徴に基づいて判定される、上記項目のいずれかに記載の方法。
（項目２８）
非線形最小二乗法を使用して上記コスト関数を最小限にすることをさらに含む、上記項目のいずれかに記載の方法。
（項目２９）
上記複数のハンドアイ較正パラメータの全て未満および上記複数の運動ステージ較正パラメータの全て未満を精緻化することをさらに含む、上記項目のいずれかに記載の方法。
（項目３０）
上記複数の運動ステージ較正パラメータは、ローラ中心位置、ローラ半径、方向、ステップサイズ、ホームエンコーダカウント、およびアクチュエータのための受座の方向のうちの１つまたはそれを上回るものを含む、上記項目のいずれかに記載の方法。
（摘要）
説明されるのは、同時運動学およびハンドアイ較正のためのマシンビジョンシステムおよび方法である。マシンビジョンシステムは、ロボットまたは運動ステージと、制御システムと通信するカメラとを含む。制御システムは、ロボットまたは運動ステージをある姿勢に移動させ、姿勢毎に、較正標的特徴の画像と、ロボット関節角度または運動ステージエンコーダカウントとを捕捉するように構成される。制御システムは、ロボットまたは運動ステージ較正パラメータのための初期値を得て、ロボットまたは運動ステージ較正パラメータのための初期値、画像、および関節角度またはエンコーダカウントに基づいて、ハンドアイ較正パラメータのための初期値を判定するように構成される。制御システムは、ハンドアイ較正パラメータおよびロボットまたは運動ステージ較正パラメータを精緻化し、コスト関数を最小限にすることによって、ハンドアイ較正パラメータおよびロボットまたは運動ステージ較正パラメータのための最終値を判定するように構成される。
【図面の簡単な説明】
【００１９】
本技術の前述および他の目的、特徴、利点、ならびに本技術自体は、付随の図面と併せて熟読されるとき、以下の種々の実施形態の説明から、より完全に理解されるであろう。
【図１】図１は、例示的マシンビジョンシステムを図示する。
【図２】図２は、例示的マシンビジョンシステムを図示する。
【図３】図３は、本技術による、較正スキームを描写する。
【図４】図４は、本技術による、マシンビジョンシステムを較正する方法のフロー図を描写する。
【図５】図５は、本技術による、較正スキームを描写する。
【発明を実施するための形態】
【００２０】
ＶＧＲ用途のためのマシンビジョンシステムを精密に較正することは、重要であり得る。そのようなマシンビジョンシステム（例えば、ロボット、運動ステージ、または他のデバイスを伴うマシンビジョンシステム）を較正する既存のアプローチは、多くの用途のために必須である正確度を有していない、マシンビジョンシステムをもたらし得る。例えば、多くの場合、ロボットまたは運動ステージ製造業者によって提供される運動学較正パラメータ値（例えば、ロボット較正パラメータ値または運動ステージ較正パラメータ値）に基づいて、マシンビジョンシステムを較正することは、マシンビジョンシステムの不適正な正確度につながり得る。本技術は、効率的較正技法を使用して、運動学較正パラメータおよびハンドアイ較正パラメータを精緻化することによって、ＶＧＲ用途のためのマシンビジョンシステムの正確度および精度を改良することができる。本技術は、マシンビジョンシステムによって判定される測定に基づいて、単一精緻化計算において、ハンドアイ較正パラメータおよび運動学較正パラメータを含む、より正確な較正パラメータ値を判定するために使用されることができる。有益なこととして、本技術は、例えば、付加的較正標的、付加的カメラ、または外部測定機器を要求することなく、改良された較正を通して、マシンビジョンシステムの正確度を増加させることができる。
【００２１】
（Ｉ．マシンビジョンシステム）
図１は、例示的マシンビジョンシステム１００を図示する。マシンビジョンシステム１００は、例えば、ＶＧＲ用途のために使用されることができる。マシンビジョンシステム１００は、その上に搭載されるカメラ１１０を伴うロボット１０５と、制御システム１１５とを含む。図１は、可動カメラ構成を図示する（例えば、カメラ１１０は、ロボット１０５のアーム上に搭載される）。依然として、図１を参照すると、特徴１２３を有する、較正標的１２０が、示される。カメラ１１０は、２次元ＣＣＤカメラセンサ、２次元ＣＭＯＳカメラセンサ、または画像を生成するための任意の他のタイプのカメラセンサを含む、エリアスキャンカメラであることができる。制御システム１１５は、任意の処理デバイス（例えば、内蔵マシンビジョンプロセッサ、コンピューティングデバイス等）であることができる。
【００２２】
制御システム１１５は、ロボット１０５およびカメラ１１０と通信する。制御システム１１５は、画像データをカメラ１１０から受信し、ロボット１０５の姿勢を制御することができる。いくつかの実施形態では、制御システム１１５は、独立型コンピューティングデバイスの一部であることができる。いくつかの実施形態では、制御システム１１５は、ロボット１０５の一部であることができる。いくつかの実施形態では、制御システム１１５は、カメラ１１０の一部であることができる。動作時、制御システム１１５は、例えば、カメラ１１０からの画像データの分析に基づいて、ロボット１０５の姿勢を操作することができる。便宜上、制御システム１１５は、単一コンポーネントとして図示される。いくつかの実施形態では、制御システムは、連動して作業する、運動コントローラ（例えば、ロボットコントローラ）と、マシンビジョンプロセッサとを含むことができる。いくつかの実施形態では、運動コントローラは、マシンビジョンシステムマスタであることができる。例えば、運動コントローラは、マシンビジョンプロセッサと通信し、そのアクションを指示することができる。運動コントローラは、ロボットの姿勢および移動を制御し、マシンビジョンプロセッサに、画像を取得させることができる。運動コントローラは、姿勢情報をマシンビジョンプロセッサに提供し、マシンビジョンプロセッサに、本明細書に説明される較正を行わせることができる。いくつかの実施形態では、マシンビジョンプロセッサは、マシンビジョンシステムマスタであることができる。例えば、マシンビジョンプロセッサは、運動コントローラと通信し、そのアクションを指示することができる。マシンビジョンプロセッサは、運動コントローラに、ロボットの姿勢および移動を制御させ、姿勢情報をマシンビジョンプロセッサに提供させることができる。マシンビジョンプロセッサは、画像を取得し、本明細書に説明される較正を行うことができる。いくつかの実施形態では、運動コントローラおよびマシンビジョンコントローラは、統合されることができる。例えば、制御システムの１つまたはそれを上回るプロセッサコアは、ロボット運動を制御することができ、制御システムの１つまたはそれを上回るプロセッサコアは、較正等のマシンビジョン処理を行うことができる。
【００２３】
本技術によると、マシンビジョンシステム１００は、較正されることができる。以下により詳細に説明されるであろうように、システム１００は、カメラ１１０の画像座標空間、ロボット１０５の座標空間、および較正標的１２０の座標空間間の座標の変換を可能にするように較正されることができる。較正を使用して、制御システム１１５は、ロボットハンド１６０を較正標的１２０の座標空間またはロボットベース座標空間内の精密な場所に指向することができる。制御システム１１５はさらに、較正およびロボット１０５の関節の角度についての情報を使用することによって、カメラ１１０からの画像データ内で観察される物体の場所を判定することができる。有益なこととして、較正は、マシンビジョンシステムが、ロボットハンド１６０の運動を制御し、それを使用して、実世界物体と相互作用する、および／またはそれを操作する（例えば、較正標的１２０の座標空間内で）ことを可能にする。
【００２４】
図２は、例示的マシンビジョンシステム２００を図示する。マシンビジョンシステム２００は、例えば、ＶＧＲ用途のために使用されることができる。マシンビジョンシステム２００は、運動ステージ２０５と、カメラ２１０と、制御システム２１５とを含む。図示されるように、カメラ２１０は、運動ステージ２０５の上方に搭載され、運動ステージ２０５の上部表面を撮像することができる。図示される実施形態では、カメラ２１０は、運動ステージ２０５のベース２０８に対して固定方法で搭載される（例えば、運動ステージ２０５の台２０９は、カメラ２１０に対して移動することができる）。カメラ２１０は、２次元ＣＣＤカメラセンサ、２次元ＣＭＯＳカメラセンサ、または画像を生成するための任意の他のタイプのカメラセンサを含む、エリアスキャンカメラであることができる。制御システム２１５は、任意の処理デバイス（例えば、内蔵マシンビジョンプロセッサ、コンピューティングデバイス等）であることができる。依然として、図２を参照すると、特徴２２３を有する、較正標的２２０が、示される。
【００２５】
制御システム２１５は、運動ステージ２０５およびカメラ２１０と通信する。制御システムは、画像データをカメラ２１０から受信し、運動ステージ２０５の姿勢を制御することができる。いくつかの実施形態では、制御システム２１５は、独立型コンピューティングデバイスの一部であることができる。いくつかの実施形態では、制御システム２１５は、運動ステージ２０５の一部であることができる。いくつかの実施形態では、制御システム２１５は、カメラ２１０の一部であることができる。動作時、制御システム２１５は、例えば、カメラ２１０からの画像データの分析に基づいて、運動ステージ２０５の姿勢を変化させることができる。便宜上、制御システム２１５は、単一コンポーネントとして図示される。いくつかの実施形態では、制御システムは、連動して作業する、運動コントローラ（例えば、運動ステージコントローラ）と、マシンビジョンプロセッサとを含むことができる。いくつかの実施形態では、運動コントローラは、マシンビジョンシステムマスタであることができる。例えば、運動コントローラは、マシンビジョンプロセッサと通信し、そのアクションを指示することができる。運動コントローラは、運動ステージの姿勢および移動を制御し、マシンビジョンプロセッサに、画像を取得させることができる。運動コントローラは、姿勢情報をマシンビジョンプロセッサに提供し、マシンビジョンプロセッサに、本明細書に説明される較正を行わせることができる。いくつかの実施形態では、マシンビジョンプロセッサは、マシンビジョンシステムマスタであることができる。例えば、マシンビジョンプロセッサは、運動コントローラと通信し、そのアクションを指示することができる。マシンビジョンプロセッサは、運動コントローラに、運動ステージの姿勢および移動を制御させ、姿勢情報をマシンビジョンプロセッサに提供させることができる。マシンビジョンプロセッサは、画像を取得し、本明細書に説明される較正を行うことができる。いくつかの実施形態では、運動コントローラおよびマシンビジョンコントローラは、統合されることができる。例えば、制御システムの１つまたはそれを上回るプロセッサコアは、運動ステージ運動を制御することができ、制御システムの１つまたはそれを上回るプロセッサコアは、較正等のマシンビジョン処理を行うことができる。
【００２６】
本技術によると、マシンビジョンシステム２００は、較正されることができる。以下により詳細に説明されるであろうように、システム２００は、カメラ２１０の画像座標空間、運動ステージ２０５の座標空間、および較正標的２２０の座標空間間の座標の変換を可能にするように較正されることができる。較正を使用して、制御システム２１５は、運動ステージ２０５を較正標的２２０の座標空間または運動ステージ２０５の座標空間内の精密な姿勢に平行移動および／または回転させることができる。制御システム２１５はさらに、較正および運動ステージ１０５のアクチュエータについての情報を使用することによって、カメラ２１０からの画像データ内で観察される物体の場所を判定することができる。有益なこととして、較正は、マシンビジョンシステム２００が、運動ステージ２０５の運動を制御し、それを使用して、実世界物体をその表面上で移動させることを可能にする（例えば、較正標的２２０の座標空間内で）。
【００２７】
図示される実施形態は、単に、例示的マシンビジョンシステム構成であることを理解されたい。いくつかの実施形態では、マシンビジョンシステムは、他の種類のロボット、他の種類の運動ステージ、または他のデバイスを含むことができ、その移動は、マシンビジョンシステムによって制御されることができる。いくつかの実施形態では、カメラは、ロボットまたは運動ステージまたはロボットまたは運動ステージから独立した固定具に搭載されることができる（例えば、定常カメラシナリオおよび／または可動カメラシナリオ）。いくつかの実施形態では、１つを上回るカメラが、使用されることができる。いくつかの実施形態では、ロボットまたは運動ステージは、複数の作業空間と相互作用することができる。
【００２８】
（ＩＩ．較正）
本技術は、較正パラメータ値を精緻化するための効率的技法を提供することによって、マシンビジョンシステムの改良された正確度を促進することができる。概して、較正パラメータは、当技術分野において周知であるように、ハンドアイ較正パラメータを含むことができる。ロボットを伴うマシンビジョンシステムの場合、較正パラメータは、ロボット較正パラメータを含むことができる。運動ステージを伴うマシンビジョンシステムの場合、較正パラメータは、運動ステージ較正パラメータを含むことができる。ロボット較正パラメータおよび／または運動ステージ較正パラメータは、運動学較正パラメータと称されることができる。ロボットに関して、ロボット較正パラメータは、例えば、ロボットの連結部および関節を説明するために使用される、Ｄｅｎａｖｉｔ−Ｈａｒｔｅｎｂｅｒｇパラメータ（Ｄ−Ｈパラメータ）を含むことができる。別の実施例として、ＵＶＷ運動ステージは、例えば、Ｘ方向に移動する２つのアクチュエータと、Ｙ方向に移動する１つのアクチュエータとを含むことができる、運動ステージである。ＵＶＷ運動ステージに関して、運動ステージ較正パラメータは、アクチュエータ毎に、ローラの中心位置と、ローラの半径と、アクチュエータの方向と、アクチュエータのステップサイズと、アクチュエータのホームエンコーダカウントと、受座の方向を含むことができる。さらに別の実施例として、ＸＹシータ運動ステージは、例えば、Ｘ軸に沿った線形平行移動のためのアクチュエータと、Ｙ軸に沿った線形平行移動のためのアクチュエータと、回転を提供するシータアクチュエータとを含むことができる、運動ステージである。ＸＹシータ運動ステージに関して、運動ステージ較正パラメータは、ＸおよびＹアクチュエータ毎の方向ならびにステップサイズと、ローラの中心位置および半径と、アクチュエータの方向ならびにステップサイズと、シータアクチュエータのための受座の方向とを含むことができる。より一般的には、本技術は、幾何学的にモデル化され得る、運動デバイスの較正のために使用されることができる。例えば、本技術は、運動デバイスの較正のために使用されることができ、その幾何学形状は、較正パラメータ値を用いて表されることができる。
【００２９】
（Ａ．ロボットを伴うマシンビジョンシステムのための較正）
本技術は、その仕様および他の条件からのロボットの相違によって生じる不正確性を最小限にすることによって、較正パラメータ値を精緻化することができる。本技術の例示的実施形態では、ロボット（例えば、ロボット１０５）は、複数の姿勢に移動され、姿勢毎に、マシンビジョンシステムは、較正標的（例えば、較正標的１２０）の画像（例えば、カメラ１１０を介して）と、その姿勢におけるロボットの関節角度とを捕捉する。初期較正パラメータ値が、判定されることができる。例えば、初期ロボット較正パラメータ値は、ロボットの仕様から得ることができる。初期ハンドアイ較正パラメータ値は、捕捉された画像および初期ロボット較正パラメータ値を使用して判定されることができる。初期ハンドアイ較正パラメータ値を判定するための較正機能性は、Ｃｏｇｎｅｘ  Ｃｏｒｐｏｒａｔｉｏｎ製Ｃｏｇｎｅｘ  Ｖｉｓｉｏｎ  Ｌｉｂｒａｒｙ（Ｒ）等において市販されている。１つまたはそれを上回るロボット較正パラメータ値および１つまたはそれを上回るハンドアイ較正パラメータを含む、１つまたはそれを上回る初期較正パラメータ値が、次いで、最終較正パラメータ値を判定するために精緻化されることができる。例えば、非線形最適化方法を使用することによって、ロボット較正パラメータおよび関節角度を使用して判定され得る、ロボット運動と、マシンビジョンシステムによって観察される運動との間の全体的相違を最小限にする。最終較正パラメータ値は、次いで、マシンビジョンシステムによって使用され、ランタイムの間、ロボットを動作させることができる。例えば、最終ロボット較正パラメータ値は、ロボットをより正確に制御するために使用されることができる。最終ハンドアイ較正パラメータ値は、ランタイム時のマシンビジョンシステムの性能をさらに改良することができる。
【００３０】
図３は、本技術による、較正スキーム３００を描写する。いくつかの実施形態では、較正スキームは、可動カメラ構成のために使用されることができる。例えば、較正スキーム３００は、図１のマシンビジョンシステム１００のために使用されることができる。図３では、卵形は、座標空間を表す。図３は、ＣａｌＰｌａｔｅ３Ｄ座標空間３０５と、ＲｏｂｏｔＢａｓｅ３Ｄ座標空間３１０と、Ｊｏｉｎｔ１座標空間３１５と、Ｊｏｉｎｔ２座標空間３２０と、Ｊｏｉｎｔ３座標空間３２５と、Ｊｏｉｎｔ４座標空間３３０と、Ｊｏｉｎｔ５座標空間３３５と、Ｊｏｉｎｔ６座標空間３４０と、Ｈａｎｄ３Ｄ座標空間３４５と、Ｃａｍｅｒａ３Ｄ座標空間３５２と、Ｒａｗ２Ｄ座標空間３５５とを含む。卵形間の矢印は、図示される座標空間間の変換を表す。変換のために使用される、較正パラメータ値は、以下の例証的較正方法に関して説明されるように、判定および精緻化されることができる。
【００３１】
図示される実施例では、ＣａｌＰｌａｔｅ３Ｄ座標空間３０５は、較正標的１２０の座標空間であることができ、較正標的１２０の上部表面によって定義されることができる。ＲｏｂｏｔＢａｓｅ３Ｄ座標空間３１０は、ロボット１０５のベース１２５の座標空間であることができる。いくつかの実施形態では、ＲｏｂｏｔＢａｓｅ３Ｄ座標空間３１０は、ロボット製造業者によって定義されることができる。Ｊｏｉｎｔ１座標空間３１５は、ロボット１０５の関節１３０の座標空間であることができる。Ｊｏｉｎｔ２座標空間３２０は、ロボット１０５の関節１３５の座標空間であることができる。Ｊｏｉｎｔ３座標空間３２５は、ロボット１０５の関節１４０の座標空間であることができる。Ｊｏｉｎｔ４座標空間３３０は、ロボット１０５の関節１４５の座標空間であることができる。Ｊｏｉｎｔ５座標空間３３５は、ロボット１０５の関節１５０の座標空間であることができる。Ｊｏｉｎｔ６座標空間３４０は、ロボット１０５の関節１５５の座標空間であることができる。Ｈａｎｄ３Ｄ座標空間３４５は、ロボット１０５のハンド１６０の座標空間であることができる。いくつかの実施形態では、Ｈａｎｄ３Ｄ座標空間３４５は、ロボット製造業者によって定義されることができる。いくつかの実施形態では、Ｈａｎｄ３Ｄ座標空間３４５は、Ｊ６からのユーザ定義オフセットである。Ｃａｍｅｒａ３Ｄ座標空間３５２は、カメラ１１０の座標空間であることができる。Ｃａｍｅｒａ３Ｄ座標空間３５２の原点は、カメラ１１０のレンズの光学軸に沿って外向きのｚ軸との投影中心にあることができる。ｘおよびｙ軸は、それぞれ、カメラ１１０のカメラセンサの行および列と整合されることができる。Ｒａｗ２Ｄ座標空間３５５は、カメラ１１０のカメラセンサの行および列によって定義された２Ｄピクセルベースの座標系であることができる。ｘ軸は、画像行に沿って左から右に向くことができ、ｙ軸は、カメラ１１０のカメラセンサの列に沿って下向きであることができる。「３Ｄ」を含有する名称を伴う座標空間は、３次元空間であって、「２Ｄ」を含有する名称を伴う座標空間は、２次元空間であることを理解されたい。
【００３２】
座標空間間の変換は、剛体変換（例えば、平行移動成分および回転成分を含む）および／またはロボット１０５のロボット較正パラメータに基づく変換であることができる。例えば、ＣａｌＰｌａｔｅ３Ｄ座標空間３０５とＲｏｂｏｔＢａｓｅ３Ｄ座標空間３１０との間、ＲｏｂｏｔＢａｓｅ３Ｄ座標空間３１０とＪｏｉｎｔ１座標空間３１５との間、Ｈａｎｄ３Ｄ座標空間３４５とＣａｍｅｒａ３Ｄ座標空間３５２との間、およびＣａｌＰｌａｔｅ３Ｄ座標空間３０５とＣａｍｅｒａ３Ｄ座標空間３５２との間の変換は、３Ｄ剛体変換であることができる。Ｊｏｉｎｔ１座標空間３１５とＪｏｉｎｔ２座標空間３２０との間、Ｊｏｉｎｔ２座標空間３２０とＪｏｉｎｔ３座標空間３２５との間、Ｊｏｉｎｔ３座標空間３２５とＪｏｉｎｔ４座標空間３３０との間、Ｊｏｉｎｔ４座標空間３３０とＪｏｉｎｔ５座標空間３３５との間、およびＪｏｉｎｔ５座標空間３３５とＪｏｉｎｔ６座標空間３４０との間の変換は、ロボット１０５の関節および連結部ならびに対応する関節角度値を記述する、ロボット較正パラメータ値に基づくことができる。いくつかの実施形態では、変換は、Ｄｅｎａｖｉｔ−Ｈａｒｔｅｎｂｅｒｇマトリクスを使用して判定されることができ、ロボットパラメータは、当技術分野において周知であるように、ｄ、θ、ａ、およびアルファであることができる。Ｊｏｉｎｔ６座標空間３４０からＨａｎｄ３Ｄ座標空間３４５への変換は、ロボット１０５のＪｏｉｎｔ６の角度値に基づく可変回転変換を伴う、剛体変換であることができる。ＣａｌＰｌａｔｅ３Ｄ座標空間３０５からＣａｍｅｒａ３Ｄ座標空間３５２への変換およびＣａｍｅｒａ３Ｄ座標空間３５２からＲａｗ２Ｄ座標空間３５５への変換は、当技術分野において周知であるように、従来のカメラ較正に基づくことができる。本明細書で使用されるように、表記ＣｏｏｒｄｉｎａｔｅＳｐａｃｅ１ｆｒｏｍＣｏｏｒｄｉｎａｔｅＳｐａｃｅ２は、ＣｏｏｒｄｉｎａｔｅＳｐａｃｅ２からＣｏｏｒｄｉｎａｔｅＳｐａｃｅ１への変換を示す。例えば、Ｊｏｉｎｔ１ＦｒｏｍＪｏｉｎｔ２は、Ｊｏｉｎｔ２座標空間３２０からＪｏｉｎｔ１座標空間３１５への変換を示す。
【００３３】
本技術は、前述の変換を形成するために使用される較正パラメータ値を精緻化するために使用されることができる。
【００３４】
（１．較正データの捕捉）
図４は、本技術による、マシンビジョンシステムを較正する方法のフロー図４００を描写する。描写される方法は、制御システム１１５によって行われることができる。ステップ４０５では、制御システム１１５は、ロボット１０５が複数の姿勢にあるときに、画像およびロボット関節角度を捕捉する。各姿勢において、制御システム１１５は、カメラ１１０に、特徴１２２のうちの１つまたはそれを上回るものを含有する、較正標的１２０の少なくとも一部の画像を捕捉させる。制御システム１１５はさらに、その姿勢におけるロボット１０５の各関節の角度を捕捉する。例えば、ロボット１０５は、各関節の角度を制御システム１１５に報告することができる。
【００３５】
（２．初期較正パラメータ値の判定）
ステップ４１０では、制御システム１１５は、初期較正パラメータ値を判定する。初期較正パラメータ値は、精緻化に先立って図３を参照して議論される変換を判定するために使用される値であることができる。以下により詳細に説明されるであろうように、これらの較正パラメータの値は、本技術に従って精緻化されることができる。図３の図示される実施例では、制御システム１１５は、ロボット１０５の仕様に基づいて、ロボット１０５のための初期ロボット較正パラメータ値を得ることができる。例えば、ロボット製造業者が、典型的には、これらの値を提供するであろう。これらの初期較正値および特定の姿勢におけるロボット１０５のための関節角度を使用して、制御システム１１５は、その姿勢におけるロボット１０５のための以下の変換を判定することができる：ＲｏｂｏｔＢａｓｅ３ＤＦｒｏｍＪｏｉｎｔ１、Ｊｏｉｎｔ１ＦｒｏｍＪｏｉｎｔ２、Ｊｏｉｎｔ２ＦｒｏｍＪｏｉｎｔ３、Ｊｏｉｎｔ３ＦｒｏｍＪｏｉｎｔ４、Ｊｏｉｎｔ４ＦｒｏｍＪｏｉｎｔ５、Ｊｏｉｎｔ５ＦｒｏｍＪｏｉｎｔ６、およびＪｏｉｎｔ６ＦｒｏｍＨａｎｄ３Ｄ。例えば、Ｊｏｉｎｔ１ＦｒｏｍＪｏｉｎｔ２、Ｊｏｉｎｔ２ＦｒｏｍＪｏｉｎｔ３、Ｊｏｉｎｔ３ＦｒｏｍＪｏｉｎｔ４、Ｊｏｉｎｔ４ＦｒｏｍＪｏｉｎｔ５、Ｊｏｉｎｔ５ＦｒｏｍＪｏｉｎｔ６は、ロボット仕様およびその姿勢におけるロボット１０５の関節角度値によって提供されるＤ−Ｈ値に基づいて、Ｄｅｎａｖｉｔ−Ｈａｒｔｅｎｂｅｒｇマトリクスを使用して判定されることができる。ＲｏｂｏｔＢａｓｅ３ＤＦｒｏｍＪｏｉｎｔ１は、ロボット仕様（例えば、ロボット１０５の寸法）に基づいて判定されることができる。Ｊｏｉｎｔ６ＦｒｏｍＨａｎｄ３Ｄは、ロボット１０５のＨａｎｄ３Ｄ１６０のロボット仕様およびＪｏｉｎｔ６の関節角度値に基づいて判定されることができる。Ｊｏｉｎｔ６ＦｒｏｍＨａｎｄ３Ｄは、Ｊ６  ３４０（例えば、Ｊｏｉｎｔ  ６座標系）におけるロボットハンド１６０の剛体変換を提供することができる。制御システム１１５は、これらの変換に基づいて、ロボット１０５の特定の姿勢のための合成変換ＲｏｂｏｔＢａｓｅ３ＤＦｒｏｍＨａｎｄ３Ｄを形成することができる。例えば、以下の方程式は、ＲｏｂｏｔＢａｓｅ３ＤＦｒｏｍＨａｎｄ３Ｄを提供する。
ＲｏｂｏｔＢａｓｅ３ＤＦｒｏｍＨａｎｄ３Ｄ＝ＲｏｂｏｔＢａｓｅ３ＤＦｒｏｍＪｏｉｎｔ１＊Ｊｏｉｎｔ１ＦｒｏｍＪｏｉｎｔ２＊Ｊｏｉｎｔ２ＦｒｏｍＪｏｉｎｔ３＊Ｊｏｉｎｔ３ＦｒｏｍＪｏｉｎｔ４＊Ｊｏｉｎｔ４ＦｒｏｍＪｏｉｎｔ５＊Ｊｏｉｎｔ５ＦｒｏｍＪｏｉｎｔ６＊Ｊｏｉｎｔ６ＦｒｏｍＨａｎｄ３Ｄ
【００３６】
制御システム１１５は、ハンドアイ較正を行い、初期ハンドアイ較正パラメータ値を判定することができる。例えば、制御システムは、Ｃｏｇｎｅｘ  Ｖｉｓｉｏｎ  Ｌｉｂｒａｒｙを使用して、捕捉された画像および複数の姿勢のためのＲｏｂｏｔＢａｓｅ３ＤＦｒｏｍＨａｎｄ３Ｄ変換とともに、Ｃａｍｅｒａ３ＤＦｒｏｍＣａｌＰｌａｔｅ３Ｄ変換に基づいて、初期ハンドアイ較正パラメータ値を判定することができる。ハンドアイ較正の結果、制御システム１１５は、Ｃａｍｅｒａ３ＤＦｒｏｍＨａｎｄ３ＤおよびＲｏｂｏｔＢａｓｅ３ＤＦｒｏｍＣａｌＰｌａｔｅ３Ｄを判定することができる。Ｃａｍｅｒａ３ＤＦｒｏｍＨａｎｄ３ＤおよびＲｏｂｏｔＢａｓｅ３ＤＦｒｏｍＣａｌＰｌａｔｅ３Ｄの判定とともに、以前に判定された変換の判定を用いて、図３の任意の座標空間内の座標が、図３の任意の他の座標空間内の座標に変換されることができる。
【００３７】
（３．較正パラメータの精緻化）
ステップ４１５では、制御システム１１５は、複数の較正パラメータを精緻化し、それらの較正パラメータのためのより正確な値を判定する。較正パラメータを精緻化するために、制御システム１１５は、コスト関数を最小限にする、較正パラメータ値を判定する。コスト関数を最小限にし、最終較正パラメータ値を判定するための技法は、非線形最小二乗法を含むことができる。当業者は、他の技法も使用されることができることを理解されるであろう。
【００３８】
本技術の実施形態は、種々のコスト関数を使用することができる。いくつかの実施形態では、コスト関数は、特徴（例えば、較正標的１２０上の特徴）の観察される場所と、議論される変換に基づくそれらの特徴の予期される場所との間の距離の和であることができる。一般に、これは、マシンビジョンシステムが、第１の座標空間内の特徴の場所を観察し（例えば、カメラ１１０を用いて観察する）、一連の変換を適用し、その特徴を複数の他の座標空間を通して第１の座標空間にマップし、較正パラメータに基づいて、その特徴の予期される場所を計算することを伴い得る。較正パラメータが完全に正確である場合、観察される場所および予期される場所は、同一となるであろう。実際は、典型的には、観察される場所と予期される場所との間にいくつかの差異が存在する。いくつかの実施形態では、コスト関数は、複数の特徴、複数の姿勢、および複数の画像のためのこれらの差異を測定する。例えば、制御システム１１５は、ロボット姿勢毎、Ｒａｗ２Ｄ座標空間３５５内の複数の観察される較正標的特徴の場所（ＯｂｓｅｒｖｅｄＦｅａｔｕｒｅＲａｗ２Ｄｉｊ）を判定することができる。制御システム１１５はまた、ロボット姿勢毎に、Ｒａｗ２Ｄ座標空間３５５内の複数のマップされた較正標的特徴の場所を判定することができる。
ＭａｐｐｅｄＦｅａｔｕｒｅＲａｗ２Ｄｉｊ＝Ｒａｗ２ＤＦｒｏｍＣａｍｅｒａ３Ｄ＊ＣａｌＰｌａｔｅ３ＤＦｒｏｍＣａｍｅｒａ３ＤＡｔＰｏｓｅｉＥｓｔｉｍａｔｅｄ−１＊ＣａｌｉｂｒａｔｉｏｎＴａｒｇｅｔＦｅａｔｕｒｅｊ
式中、
ＣａｌＰｌａｔｅ３ＤＦｒｏｍＣａｍｅｒａ３ＤＡｔＰｏｓｅｉＥｓｔｉｍａｔｅｄ＝ＣａｌＰｌａｔｅ３ＤＦｒｏｍＲｏｂｏｔＢａｓｅ３Ｄ＊ＲｏｂｏｔＢａｓｅ３ＤＦｒｏｍＨａｎｄ３ＤＡｔＰｏｓｅｉ＊Ｈａｎｄ３ＤＦｒｏｍＣａｍｅｒａ３Ｄ
ＲｏｂｏｔＢａｓｅ３ＤＦｒｏｍＨａｎｄ３ＤＡｔＰｏｓｅｉは、姿勢ｉにおける関節角度値および初期較正パラメータ値（または連続的に精緻化される較正パラメータ値）を使用して姿勢ｉにおいて推定されるロボット姿勢である。
制御システム１１５は、次いで、観察される特徴場所とマップされた特徴場所との間の距離を算出することができる。コスト関数は、以下のように定義されることができる。
【数１】
2018051758.tif 000002
いくつかの実施形態では、コスト関数は、変換を使用してマップ後、較正プレート特徴の場所の変化を測定する。例えば、制御システム１１５は、ＣａｌＰｌａｔｅ３Ｄ座標空間３０５内の複数の特徴の場所を判定することができる。制御システム１１５はまた、以下である、変換ＣａｌＰｌａｔｅ３ＤＦｒｏｍＣａｌＰｌａｔｅ３ＤＡｔＰｏｓｅｉを通して複数の姿勢の各ロボット姿勢ｉにおける複数の特徴のための各特徴場所をマップすることができる。
ＣａｌＰｌａｔｅ３ＤＦｒｏｍＣａｌＰｌａｔｅ３ＤＡｔＰｏｓｅｉ＝ＣａｌＰｌａｔｅ３ＤＦｒｏｍＲｏｂｏｔＢａｓｅ３Ｄ＊ＲｏｂｏｔＢａｓｅ３ＤＦｒｏｍＨａｎｄ３ＤＡｔＰｏｓｅｉ＊Ｈａｎｄ３ＤＦｒｏｍＣａｍｅｒａ３Ｄ＊Ｃａｍｅｒａ３ＤＦｒｏｍＣａｌＰｌａｔｅ３ＤＡｔＰｏｓｅｉ
式中、ＲｏｂｏｔＢａｓｅ３ＤＦｒｏｍＨａｎｄ３ＤＡｔＰｏｓｅｉは、姿勢ｉにおいて関節角度値および初期較正パラメータ値（または連続的に精緻化される較正パラメータ値）を使用して姿勢ｉにおける推定されるロボット姿勢である。
Ｃａｍｅｒａ３ＤＦｒｏｍＣａｌＰｌａｔｅ３ＤＡｔＰｏｓｅｉは、Ｒａｗ２Ｄにおいて観察される特徴およびカメラ較正情報を使用することによって得られる。
制御システム１１５は、次いで、特徴場所とマップされた特徴場所との間の距離を算出することができる。コスト関数は、以下のように定義されることができる。
【数２】
2018051758.tif 000003
【００３９】
いくつかの実施形態では、コスト関数は、特徴点をマップせずに定義されることができる。較正パラメータが完全に正確である場合、ＣａｌＰｌａｔｅ３ＤＦｒｏｍＣａｌＰｌａｔｅ３ＤＡｔＰｏｓｅｉは、恒等変換となるであろう。したがって、コスト関数は、ＣａｌＰｌａｔｅ３ＤＦｒｏｍＣａｌＰｌａｔｅ３ＤＡｔＰｏｓｅｉと恒等変換との間の差異を測定することができる。いくつかの実施形態では、コスト関数は、以下のように定義されることができる。
【数３】
2018051758.tif 000004
式中、
ＣａｌＰｌａｔｅ３ＤｆｒｏｍＣａｌＰｌａｔｅ３ＤＡｔＰｏｓｅｉ．ｔｒａｎｓｌａｔｉｏｎ．ｌｅｎｇｔｈは、変換ＣａｌＰｌａｔｅ３ＤｆｒｏｍＣａｌＰｌａｔｅ３ＤＡｔＰｏｓｅｉの平行移動成分の長さである。
ＣａｌＰｌａｔｅ３ＤｆｒｏｍＣａｌＰｌａｔｅ３ＤＡｔＰｏｓｅｉ．ｒｏｔａｔｉｏｎＡｎｇｌｅは、変換ＣａｌＰｌａｔｅ３ＤｆｒｏｍＣａｌＰｌａｔｅ３ＤＡｔＰｏｓｅｉの回転量である（例えば、回転は、回転軸の周囲の回転量として表されることができる）。
ｗは、平行移動および回転成分を平衡するための加重（例えば、スケール係数）である。
【００４０】
いくつかの実施形態では、Ｈａｎｄ３Ｄ座標空間３４５の原点は、コスト関数の基礎として使用されることができる。変換Ｈａｎｄ３ＤＦｒｏｍＨａｎｄ３ＤＡｔＰｏｓｅｉは、以下のように定義されることができる。
Ｈａｎｄ３ＤＦｒｏｍＨａｎｄ３ＤＡｔＰｏｓｅｉ＝Ｈａｎｄ３ＤＦｒｏｍＣａｍｅｒａ３Ｄ＊Ｃａｍｅｒａ３ＤＦｒｏｍＣａｌＰｌａｔｅ３ＤＡｔＰｏｓｅｉ＊ＣａｌＰｌａｔｅ３ＤＦｒｏｍＲｏｂｏｔＢａｓｅ３Ｄ＊ＲｏｂｏｔＢａｓｅ３ＤＦｒｏｍＨａｎｄ３ＤＡｔＰｏｓｅｉ
式中、
Ｈａｎｄ３ＤＦｒｏｍＣａｍｅｒａ３Ｄ＊Ｃａｍｅｒａ３ＤＦｒｏｍＣａｌＰｌａｔｅ３ＤＡｔＰｏｓｅｉ＊ＣａｌＰｌａｔｅ３ＤＦｒｏｍＲｏｂｏｔＢａｓｅ３Ｄは、姿勢ｉにおいてカメラによって観察されるＲｏｂｏｔＢａｓｅ３ＤＦｒｏｍＨａｎｄ３Ｄの逆数を表す（Ｃａｍｅｒａ３ＤＦｒｏｍＣａｌＰｌａｔｅ３ＤＡｔＰｏｓｅｉは、Ｒａｗ２Ｄ内の観察される特徴およびカメラ較正情報を使用することによって得られる）。
Ｈａｎｄ３ＤＦｒｏｍＨａｎｄ３ＤＡｔＰｏｓｅｉは、ロボット１０５のロボット較正パラメータに基づく姿勢とカメラ１１０からの画像に基づく推定される姿勢との間の差異を示す。較正パラメータが完全に正確である場合、Ｈａｎｄ３ＤＦｒｏｍＨａｎｄ３ＤＰｏｓｅｉは、恒等変換となるであろう。コスト関数は、以下のように定義されることができる。
【数４】
2018051758.tif 000005
【００４１】
いくつかの実施形態では、コスト関数は、ロボット１０５の関節のための報告される関節角度（例えば、ロボット１０５によって測定された）とロボット１０５の対応する関節の推定される関節角度との間の差異を測定することができる。コスト関数は、捕捉された画像および較正パラメータ値に基づいて、ロボット１０５の関節のための関節角度を推定することができる。変換ＲｏｂｏｔＢａｓｅ３ＤＦｒｏｍＨａｎｄ３Ｄ＿ｅｓｔｉｍａｔｅｄは、以下のように定義されることができる。
ＲｏｂｏｔＢａｓｅ３ＤＦｒｏｍＨａｎｄ３Ｄ＿ｅｓｔｉｍａｔｅｄ＝ＲｏｂｏｔＢａｓｅ３ＤＦｒｏｍＣａｌＰｌａｔｅ３Ｄ＊ＣａｌＰｌａｔｅ３ＤＦｒｏｍＣａｍｅｒａ３ＤＡｔＰｏｓｅｉ＊Ｃａｍｅｒａ３ＤＦｒｏｍＨａｎｄ３Ｄ．
【００４２】
逆運動学方程式が、ＲｏｂｏｔＢａｓｅ３ＤＦｒｏｍＨａｎｄ３Ｄ＿ｅｓｔｉｍａｔｅｄに対応する関節角度を算出するために使用されることができる。コスト関数は、以下のように定義されることができる。
【数５】
2018051758.tif 000006
または
【数６】
2018051758.tif 000007
有益なこととして、コスト関数は、平行移動および回転成分を平衡するために、ｗを含む必要はない。
【００４３】
（４．精緻化の拡張）
マシンビジョンシステム１００のための図示される実施例では、精緻化され得る較正パラメータは、３２のロボット較正パラメータ、すなわち、ロボット１０５の関節のための２０のＤ−Ｈパラメータと、ＲｏｂｏｔＢａｓｅ３ＤＦｒｏｍＪｏｉｎｔ１のための６つのロボット較正パラメータと、Ｊｏｉｎｔ６ＦｒｏｍＨａｎｄ３Ｄのための６つのロボット較正パラメータとを含む。較正パラメータはまた、Ｃａｍｅｒａ３ＤＦｒｏｍＨａｎｄ３Ｄのための６つのパラメータと、ＲｏｂｏｔＢａｓｅ３ＤＦｒｏｍＣａｌＰｌａｔｅ３Ｄのための６つのパラメータとを含み、較正パラメータの総数を４４のパラメータにする。
【００４４】
較正パラメータには冗長性が存在し、較正パラメータの全てを精緻化することを不必要にし得る。いくつかの実施形態では、Ｊｏｉｎｔ６ＦｒｏｍＨａｎｄ３Ｄは、Ｈａｎｄ３ＤＦｒｏｍＣａｍｅｒａ３Ｄと組み合わせられ、精緻化される較正パラメータの数を減少させることができる。いくつかの実施形態では、ＲｏｂｏｔＢａｓｅ３ＤＦｒｏｍＪｏｉｎｔ１は、ＣａｌＰｌａｔｅ３ＤＦｒｏｍＲｏｂｏｔＢａｓｅ３Ｄと組み合わせられることができる。変換の組み合わせは、精緻化するための較正パラメータを３２まで減少させることができる（例えば、ＣａｌＰｌａｔｅ３ＤＦｒｏｍＪｏｉｎｔ１から６つ、Ｊｏｉｎｔ６ＦｒｏｍＣａｍｅｒａ３Ｄから６つ、およびＪｏｉｎｔ１ＦｒｏｍＪｏｉｎｔ２，．．．，Ｊｏｉｎｔ５ＦｒｏｍＪｏｉｎｔ６から２０）。いくつかの実施形態では、Ｊｏｉｎｔ１ＦｒｏｍＪｏｉｎｔ２からのＤ−Ｈパラメータθオフセットおよびｄオフセットは、ＣａｌＰｌａｔｅ３ＤＦｒｏｍＪｏｉｎｔ１に組み合わせられ、精緻化するためのパラメータの数を３０まで減少させることができる。いくつかの実施形態では、選択較正パラメータのみが、精緻化される。例えば、シータ角度（例えば、関節原点）のオフセットが、精緻化されることができる。有益なこととして、精緻化するための較正パラメータの数を減少させることによって、精緻化プロセスの速度および正確度が、改良されることができる。いくつかの実施形態では、精緻化は、較正パラメータの群で行われることができる。例えば、Ｃａｍｅｒａ３ＤＦｒｏｍＨａｎｄ３ＤおよびＲｏｂｏｔＢａｓｅ３ＤＦｒｏｍＣａｌＰｌａｔｅ３Ｄのための較正パラメータ値は、２０のロボット較正パラメータを精緻化する間、固定されることができる。次いで、２０のロボット較正パラメータは、固定されることができ、Ｃａｍｅｒａ３ＤＦｒｏｍＨａｎｄ３ＤおよびＲｏｂｏｔＢａｓｅ３ＤＦｒｏｍＣａｌＰｌａｔｅ３Ｄのための較正パラメータは、精緻化されることができる。
【００４５】
マシンビジョンシステム１００は、本技術を実践するための例示的マシンビジョンシステムであることを理解されたい。他の構成も、検討される。いくつかの実施形態では、制御システムによって行われるように説明されるステップは、運動コントローラ、マシンビジョンプロセッサ、および／またはマシンビジョンプロセッサと協働する運動コントローラによって行われることができる。例えば、運動コントローラは、ロボットを一連の姿勢を通して指向し、マシンビジョンプロセッサに、各姿勢において較正標的の画像を取得させることができる。運動コントローラは、マシンビジョンプロセッサに、各姿勢におけるロボット関節角度についての情報を提供することができる。運動コントローラは、マシンビジョンプロセッサに、説明される較正および精緻化を行わせることができる。別の実施例として、マシンビジョンプロセッサは、運動コントローラに、ロボットを一連の姿勢を通して指向させ、マシンビジョンプロセッサに各姿勢におけるロボット関節角度についての情報を提供させることができる。マシンビジョンプロセッサは、各姿勢における較正標的の画像を取得することができる。マシンビジョンプロセッサは、説明される較正および精緻化を行うことができる。より一般的には、制御システムは、本明細書の技術を実装するために連動して作業する、運動コントローラ、マシンビジョンプロセッサ、または任意のそれらの組み合わせを備えることができる。
【００４６】
いくつかの実施形態では、１つを上回るカメラが、使用されることができる。そのようなマシンビジョンシステムでは、コスト関数は、カメラ毎のコスト関数の組み合わせであることができる。いくつかの実施形態では、仮想３Ｄカメラが、作成されることができる。仮想３Ｄカメラを使用することによって、単一カメラベースのコスト関数が、使用されることができる。有益なこととして、仮想３Ｄカメラを使用することによって、精緻化するための較正パラメータの数は、より少なくなることができ、カメラの空間関係は、精緻化の間、一定に保持されることができる。
【００４７】
いくつかの実施形態では、複数の作業空間が、使用されることができる（例えば、ロボットは、１つを上回る作業空間内で移動し、その中の物体と相互作用することができる）。カメラがロボットとともに移動する実装では、次いで、較正は、較正標的を各作業空間内に設置することと、較正データ（例えば、複数のロボット姿勢のための画像および関節角度）を作業空間毎に収集することとを含むことができる。各付加的作業空間は、精緻化するための６つの付加的較正パラメータをもたらすことができる。いくつかの実施形態では、コスト関数は、作業空間毎のコスト関数の組み合わせであることができる。いくつかの実施形態では、１つまたはそれを上回る定常カメラが、使用されることができる。１つまたはそれを上回るカメラが定常であって、較正標的がロボット上に搭載される場合、上記に定義されたコスト関数は、方程式におけるＣａｍｅｒａ３ＤとＣａｌＰｌａｔｅ３Ｄを交換することによって使用されることができる。いくつかの実施形態では、本技術は、ロボット運動が２次元においてのみ移動するマシンビジョンシステムのための較正パラメータを精緻化するために使用されることができる。コスト関数は、２Ｄ情報のみを使用するように変更されることができることを理解されたい。そのような場合、ロボット運動の限界に起因して、精緻化のためのロボット較正パラメータの数は、ロバストな精緻化のために減少されることができる。
【００４８】
（Ｂ．運動ステージを伴うマシンビジョンシステムのための較正）
本技術は、前述のものに類似するアプローチを使用することによって、運動ステージを含む、マシンビジョンシステムのための較正パラメータを精緻化することができることを理解されたい。本技術は、単一精緻化計算においてハンドアイ較正パラメータおよび運動ステージ較正パラメータを精緻化することができる。
【００４９】
図５は、本技術による、較正スキーム５００を描写する。いくつかの実施形態では、較正スキームは、固定カメラ構成のために使用されることができる。例えば、較正スキーム５００は、図２のマシンビジョンシステム２００のために使用されることができる。図５では、卵形は、座標空間を表す。図５は、Ｈｏｍｅ２Ｄ座標空間５１０と、Ｓｔａｇｅ２Ｄ座標空間５１５と、ＣａｌＰｌａｔｅ２Ｄ座標空間５２０と、Ｃａｍｅｒａ２Ｄ座標空間５２５と、Ｒａｗ２Ｄ座標空間５３０とを含む。卵形間の矢印は、図示される座標空間間の変換を表す。変換のために使用される較正パラメータ値は、以下の例証的較正方法に関して説明されるように、判定および精緻化されることができる。
【００５０】
図示される実施例では、Ｈｏｍｅ２Ｄ座標空間５１０は、他の座標空間およびその関係が説明される、座標空間であることができる。Ｈｏｍｅ２Ｄ座標空間５１０は、正規直交であって、運動ステージ２０５のＸ軸と、運動ステージ２０５の回転中心とによって定義されることができる。例えば、Ｈｏｍｅ２Ｄ座標空間５１０の原点は、運動ステージ２０５がホーム位置にあるとき、その回転中心にあることができる。Ｈｏｍｅ２Ｄ座標空間５１０のｘ軸は、運動ステージ２０５のｘ軸と整合されることができる。Ｈｏｍｅ２Ｄ座標空間５１０のｙ軸は、Ｘ軸から９０度であって、運動ステージ２０５のｙ軸の一般的方向にあることができる。Ｓｔａｇｅ２Ｄ座標空間５１５は、運動ステージ２０５の回転中心に取り付けられる、正規直交座標空間であって、運動ステージ２０５とともに移動することができる。ＣａｌＰｌａｔｅ２Ｄ座標空間５２０は、較正標的２２０の座標空間であることができる。本空間は、運動ステージ２０５によって、Ｈｏｍｅ２Ｄ座標空間５１０の座標内を動き回ることができる。ＣａｌＰｌａｔｅ２Ｄ座標空間５２０は、正規直交座標系であることができるが、その長さ単位は、Ｈｏｍｅ２Ｄ座標空間５１０と非一致スケール係数を有してもよい。ＣａｌＰｌａｔｅ２Ｄ座標空間５２０およびＨｏｍｅ２Ｄ座標空間５１０は、異なる掌性を有することができる。Ｃａｍｅｒａ２Ｄ座標空間５２５は、カメラ２１０のための物理的正規直交座標空間であることができる。Ｃａｍｅｒａ２Ｄ座標空間５２５の原点は、カメラ２１０の画像窓の中心に対応する、Ｈｏｍｅ２Ｄ座標空間５１０内の位置にあることができる。そのｘ軸は、Ｃａｍｅｒａ２Ｄ座標空間５２５の原点におけるＲａｗ２Ｄ座標空間５３０のｘ軸と平行である。ｙ軸は、ｘ軸から９０度であって、Ｒａｗ２Ｄ座標空間５３０のｙ軸の一般的方向にあることができる。Ｒａｗ２Ｄ座標空間５３０は、カメラ２１０のピクセル空間座標系であることができる。
【００５１】
座標空間間の変換は、剛体変換（例えば、平行移動成分および回転成分を含む）および／または剛体＋掌性変換（例えば、剛体変換＋掌性成分を含む）および／または運動ステージ２０５の運動学較正パラメータに基づく変換であることができる。例えば、Ｃａｍｅｒａ２Ｄ座標空間５２５とＨｏｍｅ２Ｄ座標空間５１０との間およびＳｔａｇｅ２Ｄ座標空間５１５とＣａｌＰｌａｔｅ２Ｄ座標空間５２０との間の変換は、２Ｄ剛体変換であることができる。ＣａｌＰｌａｔｅ２Ｄ座標空間５２０とＣａｍｅｒａ２Ｄ座標空間５２５との間の変換は、２Ｄ剛体変換であることができる。Ｈｏｍｅ２Ｄ座標空間５１０とＳｔａｇｅ２Ｄ座標空間５１５との間の変換は、例えば、アクチュエータのエンコーダカウントに基づくことができる。Ｃａｍｅｒａ２Ｄ座標空間５２５からＲａｗ２Ｄ座標空間５３０への変換は、当技術分野において周知であるように、従来のカメラ較正に基づくことができる。
【００５２】
（１．較正データの捕捉）
再び、図４を参照して、描写される方法が、マシンビジョンシステム２００の制御システム２１５によって行われることができる。ステップ４０５では、制御システムは、運動ステージ２０５が複数の姿勢にあるとき、画像およびアクチュエータエンコーダカウントを捕捉する。各姿勢において、制御システム２１５は、カメラに、１つまたはそれを上回る特徴を含有する較正標的２２０の少なくとも一部の画像を捕捉させる。制御システム２１５はさらに、各姿勢において、運動ステージ２０１５のアクチュエータ毎に、エンコーダカウントを捕捉する。
【００５３】
（２．初期較正パラメータ値の判定）
ステップ４１０では、制御システム２１５は、初期較正パラメータ値を判定する。初期較正パラメータ値は、精緻化に先立って図５を参照して議論される変換を判定するために使用される値であることができる。これらの較正パラメータの値は、本技術に従って精緻化されることができる。図４の図示される実施例では、制御システム２１５は、運動ステージ２０５の仕様に基づいて、運動ステージ２０５のための初期運動ステージ較正パラメータ値を得ることができる。例えば、運動ステージ製造業者が、典型的には、これらの値を提供するであろう。これらの初期較正値および特定の姿勢におけるエンコーダカウントを使用して、制御システム２１５は、変換Ｈｏｍｅ２ＤＦｒｏｍＳｔａｇｅ２Ｄを判定することができる。
【００５４】
制御システム２１５は、ハンドアイ較正を行い、初期ハンドアイ較正パラメータ値を判定することができる。例えば、制御システム２１５は、Ｃｏｇｎｅｘ  Ｖｉｓｉｏｎ  Ｌｉｂｒａｒｙを使用して、複数の姿勢のための捕捉された画像およびＨｏｍｅ２ＤＦｒｏｍＳｔａｇｅ２Ｄ変換に基づいて、初期ハンドアイ較正パラメータ値を判定することができる。ハンドアイ較正の結果、制御システム２１５は、Ｓｔａｇｅ２ＤＦｒｏｍＣａｌＰｌａｔｅ２Ｄ、ＣａｌＰｌａｔｅ２ＤＦｒｏｍＣａｍｅｒａ２Ｄ、およびＣａｍｅｒａ２ＤｆｒｏｍＨｏｍｅ２Ｄを判定することができる。
【００５５】
（３．較正パラメータの精緻化）
ステップ４１５では、制御システム２１５は、複数の較正パラメータを精緻化し、それらの較正パラメータのためのより正確な値を判定する。較正パラメータを精緻化するために、制御システム２１５は、コスト関数を最小限にする、較正パラメータを判定する。一般に、コスト関数は、運動ステージ２０５運動（例えば、運動ステージから読み取られた実際のエンコーダカウントから判定される）と観察されるカメラまたは較正標的運動（例えば、カメラによって捕捉された画像に基づく）の比較に基づくことができる。本技術の実施形態は、種々のコスト関数を使用することができる。
【００５６】
いくつかの実施形態では、コスト関数は、観察されるエンコーダカウント（例えば、運動ステージから読み取られる）と初期較正パラメータ値（または連続的に精緻化される較正パラメータ値）を使用して計算される予期される／推定されるエンコーダカウントとの間の差異を測定することができる。例えば、運動ステージ姿勢ｉ毎に、推定される運動ステージ姿勢ｉ’（例えば、Ｈｏｍｅ２Ｄ座標空間５１０内）が、算出されることができる。姿勢ｉ’は、以下のように算出されることができる。
Ｐｏｓｅｉ’＝Ｈｏｍｅ２ＤＦｒｏｍＣａｍｅｒａ２Ｄ＊Ｃａｍｅｒａ２ＤＦｒｏｍＣａｌＰｌａｔｅ２ＤＡｔＰｏｓｅｉ＊Ｐｌａｔｅ２ＤＦｒｏｍＳｔａｇｅ２Ｄ
式中、Ｃａｍｅｒａ２ＤＦｒｏｍＣａｌＰｌａｔｅ２ＤＡｔＰｏｓｅｉは、画像特徴およびカメラ較正情報から算出される。
【００５７】
姿勢ｉのための推定されるエンコーダカウントは、姿勢ｉ’および初期較正パラメータ値（または連続的に精緻化される較正パラメータ値）に基づいて算出されることができる。
【００５８】
コスト関数は、アクチュエータ毎、姿勢毎、およびカメラ毎（複数のカメラマシンビジョンシステム内）のエンコーダカウント差異の二乗の和であることができる。コスト関数は、以下のように定義されることができる。
【数７】
2018051758.tif 000008
【００５９】
いくつかの実施形態では、コスト関数は、Ｒａｗ２Ｄ内の特徴の観察される場所とＲａｗ２Ｄ内の特徴の予期される（マップされる）場所との間の差異を測定することができる。変換ＭａｐｐｅｄＦｅａｔｕｒｅＲａｗ２Ｄｉｊは、以下のように定義されることができる。
ＭａｐｐｅｄＦｅａｔｕｒｅＲａｗ２Ｄｉｊ＝Ｒａｗ２ＤＦｒｏｍＣａｍｅｒａ２Ｄ＊ＣａｌＰｌａｔｅ２ＤＦｒｏｍＣａｍｅｒａ２ＤＡｔＰｏｓｅｉＥｓｔｉｍａｔｅｄ−１＊ＣａｌｉｂｒａｔｉｏｎＴａｒｇｅｔＦｅａｔｕｒｅｊ
式中、ＣａｌＰｌａｔｅ２ＤＦｒｏｍＣａｍｅｒａ２ＤＡｔＰｏｓｅｉＥｓｔｉｍａｔｅｄ＝ＣａｌＰｌａｔｅ２ＤＦｒｏｍＳｔａｇｅ２Ｄ＊Ｈｏｍｅ２ＤＦｒｏｍＳｔａｇｅ２ＤＡｔＰｏｓｅｉ−１＊Ｈｏｍｅ２ＤＦｒｏｍＣａｍｅｒａ２Ｄ
Ｈｏｍｅ２ＤＦｒｏｍＳｔａｇｅ２ＤＡｔＰｏｓｅｉは、姿勢ｉにおいて運動ステージ２０５から読み取られたエンコーダカウントおよび初期較正パラメータ値（または連続的に精緻化される較正パラメータ値）に基づいて算出されることができる。制御システム１１５は、次いで、観察される特徴場所とマップされる特徴場所との間の距離を算出することができる。コスト関数は、以下のように定義されることができる。
【数８】
2018051758.tif 000009
【００６０】
いくつかの実施形態では、コスト関数は、ＣａｌＰｌａｔｅ２Ｄ内の特徴の場所と較正標的２２０上の特徴のマップされる場所との間の差異を測定することができる。例えば、Ｈｏｍｅ２ＤＦｒｏｍＳｔａｇｅ２ＤＡｔＰｏｓｅｉは、姿勢ｉにおいて運動ステージ２０５から読み取られたエンコーダカウントおよび初期較正パラメータ値（または連続的に精緻化される較正パラメータ値）に基づいて算出されることができる。変換ＣａｌＰｌａｔｅ２ＤＦｒｏｍＣａｌＰｌａｔｅ２ＤＡｔＰｏｓｅｉは、以下のように算出されることができる。
ＣａｌＰｌａｔｅ２ＤＦｒｏｍＣａｌＰｌａｔｅ２ＤＡｔＰｏｓｅｉ＝ＣａｌＰｌａｔｅ２ＤＦｒｏｍＳｔａｇｅ２Ｄ＊Ｈｏｍｅ２ＤＦｒｏｍＳｔａｇｅ２ＤＡｔＰｏｓｅｉ−１＊Ｈｏｍｅ２ＤＦｒｏｍＣａｍｅｒａ２Ｄ＊Ｃａｍｅｒａ２ＤＦｒｏｍＰｌａｔｅ２ＤＡｔＰｏｓｅｉ
式中、Ｈｏｍｅ２ＤＦｒｏｍＳｔａｇｅ２ＤＡｔＰｏｓｅｉは、姿勢ｉにおいて運動ステージ２０５から読み取られたエンコーダカウントおよび初期較正パラメータ値（または連続的に精緻化される較正パラメータ値）に基づいて算出されることができる。
Ｃａｍｅｒａ２ＤＦｒｏｍＣａｌＰｌａｔｅ２ＤＡｔＰｏｓｅｉは、Ｒａｗ２Ｄ内の観察される特徴およびカメラ較正情報を使用することによって得られる。
【００６１】
変換ＣａｌＰｌａｔｅ２ＤＦｒｏｍＣａｌＰｌａｔｅ２ＤＡｔＰｏｓｅｉは、姿勢ｉに較正標的特徴をマップするために使用されることができる。コスト関数は、次いで、以下のように定義されることができる。
【数９】
2018051758.tif 000010
【００６２】
ＵＶＷ運動ステージに関して、運動ステージ較正パラメータは、アクチュエータ毎に、アクチュエータのローラの中心位置と、ローラの半径と、アクチュエータの方向と、アクチュエータのステップサイズと、アクチュエータのホームエンコーダカウントと、アクチュエータの受座の方向を含むことができる。いくつかの実施形態では、ＵＶＷ運動ステージの運動ステージ較正パラメータのサブセットは、精緻化されることができる。例えば、いくつかの実施形態では、ローラの半径は、精緻化されない。いくつかの実施形態では、ホームエンコーダカウントは、精緻化されない。前述のように、精緻化効率は、精緻化される較正パラメータの数を減少させることによって、増加されることができる。ＸＹシータ運動ステージに関して、運動ステージ較正パラメータは、ＸおよびＹアクチュエータ毎に、アクチュエータの方向と、アクチュエータのステップサイズとを含むことができる。シータアクチュエータに関して、運動ステージ較正パラメータは、アクチュエータのローラの中心位置と、ローラの半径と、アクチュエータの受座の方向とを含むことができる。いくつかの実施形態では、ＸＹシータ運動ステージの運動ステージ較正パラメータのサブセットは、精緻化されることができる。例えば、いくつかの実施形態では、ローラの半径は、精緻化されない。
【００６３】
マシンビジョンシステム２００は、本技術を実践するための例示的マシンビジョンシステムであることを理解されたい。他の構成も、検討される。いくつかの実施形態では、制御システムによって行われるように説明されるステップは、運動コントローラ、マシンビジョンプロセッサ、および／またはマシンビジョンプロセッサと協働する運動コントローラによって行われることができる。例えば、運動コントローラは、運動ステージを一連の姿勢を通して指向し、マシンビジョンプロセッサに、各姿勢において較正標的の画像を取得させることができる。運動コントローラは、マシンビジョンプロセッサに、各姿勢における運動ステージについての情報を提供することができる。運動コントローラは、マシンビジョンプロセッサに、説明される較正および精緻化を行わせることができる。別の実施例として、マシンビジョンプロセッサは、運動コントローラに、運動ステージを一連の姿勢を通して指向させ、マシンビジョンプロセッサに、各姿勢における運動ステージについての情報を提供させることができる。マシンビジョンプロセッサは、各姿勢において較正標的の画像を取得することができる。マシンビジョンプロセッサは、説明される較正および精緻化を行うことができる。より一般的には、制御システムは、本明細書の技術を実装するために連動して作業する、運動コントローラ、マシンビジョンプロセッサ、または任意のそれらの組み合わせを備えることができる。
【００６４】
いくつかの実施形態では、１つまたはそれを上回る定常カメラが、前述のように、使用されることができる。１つまたはそれを上回るカメラが、カメラが運動ステージに堅く取り付けられる、可動カメラであって、較正標的が定常である場合、上記に定義されたコスト関数は、方程式においてＣａｍｅｒａ２ＤとＣａｌＰｌａｔｅ２Ｄを交換することによって使用されることができる。
【００６５】
前述の技法は、デジタルおよび／またはアナログ電子的回路、またはコンピュータハードウェア、ファームウェア、ソフトウェア、またはそれらの組み合わせにおいて実装することができる。実装は、データ処理装置、例えば、プログラマブルプロセッサ、コンピュータ、および／または複数のコンピュータによる実行のために、またはその動作を制御するために、機械可読記憶デバイス内に有形に具現化されたコンピュータプログラム製品、すなわち、コンピュータプログラムとしてあることができる。コンピュータプログラムは、ソースコード、コンパイルコード、解釈コード、および／または機械コードを含む、任意の形態のコンピュータまたはプログラミング言語で書くことができ、コンピュータプログラムは、独立型プログラムとして、またはサブルーチン、要素、またはコンピューティング環境内で使用するために好適な他のユニットとしてを含む、任意の形態で展開することができる。コンピュータプログラムは、１つまたはそれを上回る施設において、１つのコンピュータまたは複数のコンピュータ上で実行されるように展開することができる。
【００６６】
方法ステップは、入力データに作用し、および／または出力データを生成することによって、本技術の機能を果たすように、コンピュータプログラムを実行する、１つまたはそれを上回るプロセッサによって、行うことができる。方法ステップはまた、特殊目的論理回路、例えば、ＦＰＧＡ（フィールドプログラマブルゲートアレイ）、ＦＰＡＡ（フィールドプログラマブルアナログアレイ）、ＣＰＬＤ（複合プログラマブル論理デバイス）、ＰＳｏＣ（プログラマブルシステム−オン−チップ）、ＡＳＩＰ（特定用途向け命令セットプロセッサ）、またはＡＳＩＣ（特定用途向け集積回路）、または同等物によって、行うことができ、かつ装置は、そのようなものとして、実装することができる。サブルーチンは、１つまたはそれを上回る関数を実装する、記憶されるコンピュータプログラムおよび／またはプロセッサおよび／または特殊回路の部分を指すことができる。
【００６７】
コンピュータプログラムの実行に好適なプロセッサは、一例として、汎用および特殊目的両方のマイクロプロセッサ、ならびに任意の種類のデジタルまたはアナログコンピュータの任意の１つまたはそれを上回るプロセッサを含む。概して、プロセッサは、読取専用メモリ、またはランダムアクセスメモリ、または両方から、命令およびデータを受信する。コンピュータの不可欠な要素は、命令を実行するためのプロセッサと、命令および／またはデータを記憶するための１つまたはそれを上回るメモリデバイスである。キャッシュ等のメモリデバイスを使用して、一時的に、データを記憶することができる。メモリデバイスはまた、長期データ記憶のために使用することができる。概して、コンピュータはまた、データを記憶するための１つまたはそれを上回る大容量記憶デバイス、例えば、磁気、磁気光ディスク、または光ディスクを含む、またはそこからデータを受信する、またはそこにデータを転送する、または両方を行うように、動作可能に連結される。コンピュータはまた、ネットワークから命令および／またはデータを受信する、および／またはネットワークに命令および／またはデータを転送するために、通信ネットワークに動作可能に連有することができる。コンピュータプログラム命令およびデータを具現化するために好適なコンピュータ可読記憶媒体は、一例として、半導体メモリデバイス、例えば、ＤＲＡＭ、ＳＲＡＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、およびフラッシュメモリデバイス、磁気ディスク、例えば、内部ハードディスクまたは可撤性ディスク、磁気光ディスク、ならびに光ディスク、例えば、ＣＤ、ＤＶＤ、ＨＤ−ＤＶＤ、およびブルーレイディスクを含む、揮発性ならびに不揮発性メモリの全形態を含む。プロセッサおよびメモリは、特殊目的論理回路によって、補完される、および／またはその中に組み込まれることができる。
【００６８】
前述の技法は、バックエンドコンポーネントを含む、分散型コンピューティングシステム内に実装することができる。バックエンドコンポーネントは、例えば、データサーバ、ミドルウェアコンポーネント、および／またはアプリケーションサーバであることができる。前述の技法は、フロントエンドコンポーネントを含む、分散型コンピューティングシステム内に実装することができる。フロントエンドコンポーネントは、例えば、グラフィカルユーザインターフェース、それを通して、ユーザが、例示的実装と相互作用することができる、ウェブブラウザ、および／または伝送デバイスのための他のグラフィカルユーザインターフェースを有する、クライアントコンピュータであることができる。前述の技法は、そのようなバックエンド、ミドルウェア、またはフロントエンドコンポーネントの任意の組み合わせを含む、分散型コンピューティングシステム内で実装することができる。
【００６９】
コンピューティングシステムのコンポーネントは、デジタルまたはアナログデータ通信の任意の形態または媒体（例えば、通信ネットワーク）を含み得る、伝送媒体によって、相互接続することができる。伝送媒体は、１つまたはそれを上回るパケットベースのネットワークおよび／または１つまたはそれを上回る回路ベースのネットワークを任意の構成に含むことができる。パケットベースのネットワークは、例えば、インターネット、キャリアインターネットプロトコル（ＩＰ）ネットワーク（例えば、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）、キャンパスエリアネットワーク（ＣＡＮ）、メトロポリタンエリアネットワーク（ＭＡＮ）、ホームエリアネットワーク（ＨＡＮ））、プライベートＩＰネットワーク、ＩＰ構内電話交換機（ＩＰＢＸ）、無線ネットワーク（例えば、無線アクセスネットワーク（ＲＡＮ）、Ｂｌｕｅｔｏｏｔｈ（登録商標）、Ｗｉ−Ｆｉ、ＷｉＭＡＸ、汎用パケット無線サービス（ＧＰＲＳ）ネットワーク、ＨｉｐｅｒＬＡＮ）、および／または他のパケットベースのネットワークを含むことができる。回路ベースのネットワークは、例えば、公衆交換電話網（ＰＳＴＮ）、レガシー構内電話交換機（ＰＢＸ）、無線ネットワーク（例えば、ＲＡＮ、符号分割多重アクセス（ＣＤＭＡ）ネットワーク、時分割多重アクセス（ＴＤＭＡ）ネットワーク、モバイル通信（ＧＳＭ（登録商標））ネットワーク用グローバルシステム）、および／または他の回路ベースのネットワークを含むことができる。
【００７０】
伝送媒体を経由した情報転送は、１つまたはそれを上回る通信プロトコルに基づくことができる。通信プロトコルは、例えば、Ｅｔｈｅｒｎｅｔ（登録商標）プロトコル、インターネットプロトコル（ＩＰ）、ピアツーピア（Ｐ２Ｐ）プロトコル、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、セッション開始プロトコル（ＳＩＰ）、モバイル通信用グローバルシステム（ＧＳＭ（登録商標））プロトコル、汎用モバイル電気通信システム（ＵＭＴＳ）、３ＧＰＰロング・ターム・エボリューション（ＬＴＥ）、および／または他の通信プロトコルを含むことができる。
【００７１】
ｃｏｍｐｒｉｓｅ（〜を備える）、ｉｎｃｕｄｅ（〜を含む）、および／またはそれぞれの複数形は、非制限的であって、列挙される部品を含み、かつ列挙されない付加的部品も含むことができる。ａｎｄ／ｏｒ（および／または）も、非制限的であって、列挙される部品のうちの１つまたはそれを上回るものおよび列挙される部品の組み合わせを含む。
【００７２】
当業者は、本技術が、その精神または不可欠な特色から逸脱することなく、他の具体的形態に具現化されてもよいことを認識するであろう。したがって、前述の実施形態は、本明細書に説明される技術の限定ではなく、あらゆる観点において、例証的であると見なされる。
【００７３】
本技術は、特定の実施形態の観点から説明された。本明細書に説明される代替は、例証のためだけの実施例であって、いかようにも代替を限定しない。本技術のステップは、異なる順序で行われ、依然として、望ましい結果を達成することができる。他の実施形態も、以下の請求項の範囲内である。
【図１】
2018051758.tif 000011
【図２】
2018051758.tif 000012
【図３】
2018051758.tif 000013
【図４】
2018051758.tif 000014
【図５】
2018051758.tif 000015
【外国語明細書】
2018051758000001.pdf