(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-02-18
(45)【発行日】2022-03-01
(54)【発明の名称】ビジョンベース操作システムのキャリブレーション及びオペレーション
(51)【国際特許分類】
B25J 9/10 20060101AFI20220221BHJP
B25J 13/08 20060101ALI20220221BHJP
【FI】
B25J9/10 A
B25J13/08 A
【外国語出願】
(21)【出願番号】P 2018232272
(22)【出願日】2018-12-12
【審査請求日】2019-08-08
(32)【優先日】2017-12-13
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】504382671
【氏名又は名称】コグネックス・コーポレイション
(74)【代理人】
【識別番号】100134832
【氏名又は名称】瀧野 文雄
(74)【代理人】
【識別番号】100165308
【氏名又は名称】津田 俊明
(74)【代理人】
【識別番号】100115048
【氏名又は名称】福田 康弘
(72)【発明者】
【氏名】グルプラサド シヴァラム
(72)【発明者】
【氏名】ガン リュウ
【審査官】臼井 卓巳
(56)【参考文献】
【文献】特開2003-117860(JP,A)
【文献】特開2014-087913(JP,A)
【文献】特開2009-006452(JP,A)
【文献】特表2013-526423(JP,A)
【文献】米国特許出願公開第2011/0280472(US,A1)
【文献】米国特許出願公開第2014/0121836(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
B25J 9/10-13/08
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
第1ワークステーションと、前記第1ワークステーションから少なくとも部分的に離隔した第2ワークステーションと、前記第1ワークステーション及び前記第2ワークステーション内の1以上の作業対象物体の画像を取り込むよう構成されたカメラシステムと、制御可能モーションシステムと、を含むビジョンベース操作(「VBM」)システムをキャリブレートする方法であって、
前記制御可能モーションシステムと前記第1ワークステーションにおける前記カメラシステムとで、ハンドアイ・キャリブレーション(「HEC」)を実行する工程と、
前記制御可能モーションシステムと前記第2ワークステーションにおける前記カメラシステムとで、HECを実行する工程と、
前記制御可能モーションシステム並びに前記第1ワークステーション及び前記第2ワークステーションについて、クロスステーション・キャリブレーション(「CSC」)を実行する工程と、
前記CSCと前記第1ワークステーションのHECとの間の第1の関係を決定する工程と、
前記CSCと前記第2ワークステーションのHECとの間の第2の関係を決定する工程と、を含み、
前記第1の関係は前記第2の関係とは異なるものであり、
前記CSCを実行する工程が、
キャリブレーション物体座標系の第1インスタンスを定義するために、前記制御可能モーションシステムを用いてキャリブレーション物体を前記第1ワークステーションにおける第1ポイントに移動させる工程と、
前記第1ポイントにおける前記キャリブレーション物体を画像化する工程と、
前記キャリブレーション物体座標系の第2インスタンスを定義するために、前記制御可能モーションシステムを用いて前記キャリブレーション物体を前記第2ワークステーションにおける第2ポイントに移動させる工程と、
前記第2ポイントにおける前記キャリブレーション物体を画像化する工程と、
前記カメラシステムの少なくとも1つのカメラについて、前記キャリブレーション物体座標系の前記第1インスタンス及び前記第2インスタンスと、前記少なくとも1つのカメラの各画素空間座標系と、の間の変換を決定する工程と、を含む
ことを特徴とする方法。
【請求項2】
前記CSCを実行する工程が、
前記キャリブレーション物体を前記第1ポイント及び前記第2ポイントに移動させるために、前記キャリブレーション物体を前記制御可能モーションシステムで掴む工程
をさらに含む
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記カメラシステムが、前記第1ワークステーションにおける第1カメラと、前記第2ワークステーションにおける第2カメラと、を含むことを特徴とする請求項1に記載の方法。
【請求項4】
前記第1カメラ及び前記第2カメラの少なくとも一方が固定位置カメラであることを特徴とする請求項3に記載の方法。
【請求項5】
前記カメラシステムが少なくとも1つのモバイルカメラを含むことを特徴とする請求項1に記載の方法。
【請求項6】
前記少なくとも1つのモバイルカメラは、画像を取り込むために異なる位置の間で移動するよう構成されたことを特徴とする請求項5に記載の方法。
【請求項7】
第1ワークステーションと前記第1ワークステーションから少なくとも部分的に離隔した第2ワークステーションとにおいて作業対象物体を用いてオペレーションを実行するためのビジョンベース操作(「VBM」)システムを使用する方法であって、
前記VBMシステムが、前記第1ワークステーション及び前記第2ワークステーションの画像を取り込むよう構成されたカメラシステムと、モーション座標系における動作を命令するよう構成された制御可能モーションシステムと、を含み、
前記カメラシステム及び前記制御可能モーションシステムは、前記第1ワークステーションについての第1ハンドアイ・キャリブレーション(「HEC」)及び第2ワークステーションについての第2HECを定義するものであって、
前記方法が、
キャリブレーション物体座標系の第1インスタンスと前記第1HECとの間の第1クロスキャリブレーション関係を決定するとともに、前記キャリブレーション物体座標系の第2インスタンスと前記第2HECとの間の第2クロスキャリブレーション関係を決定するために、クロスステーション・キャリブレーションを実行する工程と、
前記カメラシステムを用いて、前記第1ワークステーションにおいて前記作業対象物体の1以上の特徴部の位置を特定する工程と、
前記クロスステーション・キャリブレーションに少なくとも部分的に基づき、前記作業対象物体を前記第2ワークステーションにおけるターゲット位置に移動させるためにクロスステーション変換を計算する工程と、
前記クロスステーション変換に基づき、前記制御可能モーションシステムを用いて、前記作業対象物体を前記ターゲット位置に移動させる工程と、を含み、
前記第1クロスキャリブレーション関係は、前記第2クロスキャリブレーション関係とは異なるものであり、
前記第1クロスキャリブレーション関係及び前記第2クロスキャリブレーション関係は、前記制御可能モーションシステムにより掴まれるとともに前記第1ワークステーション及び前記第2ワークステーションにおいて画像化されたキャリブレーション物体に基づき決定され、
前記作業対象物体を移動させる工程が、前記第1クロスキャリブレーション関係に少なくとも部分的に基づき、前記第1ワークステーションにおいて前記作業対象物
体の位置を特定することを含む
ことを特徴とする方法。
【請求項8】
前記作業対象物体を移動させる工程が、前記第1HECを用いた前記キャリブレーション物体座標系の前記第1インスタンスから前記モーション座標系への変換に基づき、前記制御可能モーションシステムを用いて、前記第1ワークステーションにおける前記作業対象物
体を拾い上げることを含むことを特徴とする請求項
7に記載の方法。
【請求項9】
前記作業対象物体を前記ターゲット位置に移動させる工程が、
前記制御可能モーションシステムを用いて前記第1ワークステーションにおける前記作業対象物体を拾い上げる工程と、
前記制御可能モーションシステムを用いて前記作業対象物体を前記第1ワークステーションの第1リファレンスポイントに移動させる工程と、
前記作業対象物体が前記第1リファレンスポイントにある状態で、前記カメラシステムを用いて、前記作業対象物体の1以上の特徴部の位置を再度特定する工程と、
前記作業対象物体を前記
第1リファレンスポイントから前記ターゲット位置に移動させるために、更新されたクロスステーション変換を計算する工程と、を含む
ことを特徴とする請求項7に記載の方法。
【請求項10】
前記第1リファレンスポイントが、前記クロスステーション・キャリブレーションのために前記第1ワークステーションにおいて前記キャリブレーション物体が画像化されたポイントであることを特徴とする請求項
9に記載の方法。
【請求項11】
前記作業対象物体が前記第1リファレンスポイントにある状態で、前記キャリブレーション物体座標系の前記第1インスタンスにおいて、前記作業対象物体の前記1以上の特徴部の位置を再度特定することを含むことを特徴とする請求項
9に記載の方法。
【請求項12】
前記キャリブレーション物体が2Dキャリブレーションプレートであることを特徴とする請求項7に記載の方法。
【請求項13】
前記第2ワークステーションにおいて第2作業対象物体の1以上の特徴部の位置を特定することに基づき前記ターゲット位置を決定することを特徴とする請求項7に記載の方法。
【請求項14】
前記第2クロスキャリブレーション関係に少なくとも部分的に基づき、前記第2ワークステーションにおいて前記第2作業対象物体の前記1以上の特徴部の位置を特定することを特徴とする請求項1
3に記載の方法。
【請求項15】
前記キャリブレーション物体座標系の前記第2インスタンスにおいて、前記第2ワークステーションにおいて前記第2作業対象物体の1以上の特徴部の位置を特定することを特徴とする請求項1
4に記載の方法。
【請求項16】
第1ワークステーションと、
前記第1ワークステーションから少なくとも部分的に離隔した第2ワークステーションと、
前記第1ワークステーション及び前記第2ワークステーションにおいて1以上の作業対象物体の画像を取り込むよう構成されたカメラシステムと、
モーション座標系における動作を命令するよう構成された制御可能モーションシステムと、
1以上の処理装置と、を備えたビジョンベース操作(「VBM」)システムであって、
前記1以上の処理装置が、
前記第1ワークステーションにおいて前記カメラシステム及び前記制御可能モーションシステムについて第1ハンドアイ・キャリブレーション(「HEC」)を実行し、
前記第2ワークステーションにおいて前記カメラシステム及び前記制御可能モーションシステムについて第2HECを実行し、
キャリブレーション物体座標系の第1インスタンスと前記第1HECとの間の第1クロスキャリブレーション関係と、前記キャリブレーション物体座標系の第2インスタンスと前記第2HECとの間の第2クロスキャリブレーション関係と、を決定するためにクロスステーション・キャリブレーションを実行し、
前記カメラシステムによって取得された1以上の画像に基づき、前記第1ワークステーションにおいて作業対象物体の1以上の特徴部の位置を特定し、
前記クロスステーション・キャリブレーションに少なくとも部分的に基づき、前記制御可能モーションシステムを用いて前記作業対象物体を前記第2ワークステーションにおけるターゲット位置に移動させるためにクロスステーション変換を計算し、そして、
計算されたクロスステーション変換に基づき、前記制御可能モーションシステムによって前記作業対象物体を前記ターゲット位置に移動させるように構成され、
前記制御可能モーションシステムによって前記作業対象物体を前記ターゲット位置に移動させることが、
前記制御可能モーションシステムによって、前記第1ワークステーションにおける前記作業対象物体を拾い上げるとともに前記作業対象物体を前記第1ワークステーションの第1リファレンスポイントに移動させ、
前記カメラシステムによって前記作業対象物体が前記第1リファレンスポイントにある状態で前記作業対象物
体を画像化させて、前記作業対象物体の1以上の特徴部の位置を再度特定し、
前記作業対象物体を前記第1リファレンスポイントから前記ターゲット位置に移動させるために、更新されたクロスステーション変換を計算することによって、行われ、
前記第1クロスキャリブレーション関係は、前記第2クロスキャリブレーション関係とは異なるものであり、
前記第1クロスキャリブレーション関係及び前記第2クロスキャリブレーション関係は、前記カメラシステムによって、前記第1ワークステーション及び前記第2ワークステーションにおいて、前記制御可能モーションシステムにより掴まれたキャリブレーション物体の1以上の画像を取得することに基づき決定される
ことを特徴とするシステム。
【請求項17】
前記カメラシステムが、前記第1ワークステーションの画像を取得するために配置された第1固定2Dカメラと、前記第2ワークステーションの画像を取得するために配置された第2固定2Dカメラと、を含み、
前記第1クロスキャリブレーション関係は前記第1
固定2Dカメラについて決定され、前記第2クロスキャリブレーション関係は前記第2
固定2Dカメラについて決定される
ことを特徴とする請求項
16に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
該当無し。
【0002】
(連邦政府の支援による研究に関する言明)
該当無し。
【0003】
本発明は、関連マシンビジョンシステムに基づき少なくとも部分的に制御可能な製造用ロボットシステムなどの物体の制御された操作のためのシステムのキャリブレーション及びオペレーションに関する。
【背景技術】
【0004】
組み立てオペレーションにおける組立部品の位置決めなどの製造(又は他の)タスクの正確な遂行をサポートするために、制御可能ロボット(又は他の制御可能モーションシステム)のための1以上の座標系及びこれらの間の関係(例えば1つの座標系から別の座標系への数学的変換)を比較的精密に定義することは有用である。多くの設定において、この取り組みにおいてマシンビジョンシステムによる援助が可能である。例えば、1以上のカメラ(例えば固定又は可動カメラ)を特定のロボット(又は複数のロボット)や特定の製造ワークステーション(又は複数のワークステーション)などと関連付けることができる。マシンビジョンアルゴリズムを用いることで、カメラを用いて組み立て及び他の製造オペレーションを含むロボットのオペレーションのガイドを助けることができる。本明細書において、1以上のカメラの配置及び1以上の関連ロボット(又は他の制御可能モーションシステム)を総称してビジョンベース操作(「VBM」)システムという。
【0005】
特定のオペレーションのための位置及び/又は動作(移動)を計算するときに、VBMシステムの異なるコンポーネントは、通常、「モーション」座標系とも称される共通統合リファレンス座標系にしばしば関係付けられる複数の異なる座標系のうちの1つ又は複数に依存(又はこれらを参照)し得る。例えば、VBMシステムのためのロボットが内部(バーチャル)座標系に基づき動作を実行する一方で、VBMシステムのカメラが2次元(「2D」)画素座標系上の画像を取り込んでもよい。いくつかの実施形態において、特定のロボットの内部座標系をモーション座標系として用いることができ、これに対して画素座標系を1以上の数学的変換により関係付けることができる。
【0006】
ロボット(又は他のモーションシステム)が完璧に製造され維持された場合、関連モーション座標系に対する命じられた移動によって、実際の物理空間においてロボットのマニピュレータ(又は他のコンポーネント)による完璧に複製された実際の動作が得られる。しかしながら、実世界のロボットは内部誤差又は他の欠陥を示す場合があり、これによって、モーション座標系内の命じられた(及び予期された)動作と実空間におけるロボットの実際の動作との間にエラーが生じる可能性がある。これに対応して、これにより、ロボットの部品が、実空間においてモーション座標系の仮想空間とは異なって位置付けられる可能性もある。そして、これにより、製造の(又は他の)オペレーション中に誤差又は他のエラーを引き起こすことがある。
【発明の概要】
【0007】
本発明のいくつかの実施形態は、第1ワークステーションと、前記第1ワークステーションから少なくとも部分的に離隔した第2ワークステーションと、前記第1ワークステーション及び前記第2ワークステーション内の1以上の作業対象物体の画像を取り込むよう構成されたカメラシステムと、制御可能モーションシステムと、を含むVBMシステムをキャリブレートする方法を含む。前記方法は、前記第1ワークステーション及び前記第2ワークステーションにおいて前記制御可能モーションシステムと前記カメラシステムとでハンドアイ・キャリブレーションを実行する工程を含むことができる。前記制御可能モーションシステム並びに前記第1ワークステーション及び前記第2ワークステーションについて、クロスステーション・キャリブレーションを実行することができる。前記クロスステーション・キャリブレーションと前記第1ワークステーションのハンドアイ・キャリブレーションとの間の関係を決定することができるとともに、前記クロスステーション・キャリブレーションと前記第2ワークステーションのハンドアイ・キャリブレーションとの間の関係を決定することができる。
【0008】
本発明のいくつかの実施形態は、第1ワークステーションと前記第1ワークステーションから少なくとも部分的に離隔した第2ワークステーションとにおいて作業対象物体を用いてオペレーションを実行するためのVBMシステムを使用する方法を含む。前記VBMシステムは、前記第1ワークステーション及び前記第2ワークステーション内の1以上の物体の画像を取り込むよう構成されたカメラシステムと、モーション座標系における動作を命令するよう構成された制御可能モーションシステムと、を含み、前記カメラシステム及び前記制御可能モーションシステムは、前記第1ワークステーションについての第1ハンドアイ・キャリブレーション及び第2ワークステーションについての第2ハンドアイ・キャリブレーションを定義する。前記方法は、キャリブレーション物体座標系と前記第1ハンドアイ・キャリブレーションとの間の第1クロスキャリブレーション関係を決定するとともに、前記キャリブレーション物体座標系と前記第2ハンドアイ・キャリブレーションとの間の第2クロスキャリブレーション関係を決定するために、クロスステーション・キャリブレーションを実行する。前記キャリブレーション関係は、前記制御可能モーションシステムにより掴まれて前記第1ワークステーション及び前記第2ワークステーションにおいて画像化されたキャリブレーション物体に基づき決定される。前記カメラシステムを用いて前記第1ワークステーションにおいて前記作業対象物体の1以上の特徴部の位置が特定される。前記クロスステーション・キャリブレーションに少なくとも部分的に基づき、前記作業対象物体を前記第2ワークステーションにおけるターゲット位置に移動させるためにクロスステーション変換を計算することができる。計算されたクロスステーション変換に基づき、前記制御可能モーションシステムを用いて、前記作業対象物体を前記ターゲット位置に移動させることができる。
【0009】
本発明のいくつかの実施形態は、VBMシステムの制御可能モーションシステムの自動制御のためのコンピュータシステムをキャリブレートするコンピュータベースの方法を含む。VBMシステムは、制御可能モーションシステムと、第1ワークステーションと、前記第1ワークステーションから少なくとも部分的に離隔した第2ワークステーションと、前記第1ワークステーション及び前記第2ワークステーション内の1以上の作業対象物体の画像を取り込むよう構成されたカメラシステムと、を含む。そのようにして、前記方法に含まれるオペレーションを、様々な度合いの自動化で、1以上の処理装置を利用する1以上のコンピュータシステムによって実行することができる。
【0010】
本発明のいくつかの実施形態は、第1ワークステーションと、前記第1ワークステーションから少なくとも部分的に離隔した第2ワークステーションと、前記第1ワークステーション及び前記第2ワークステーション内の1以上の作業対象物体の画像を取り込むよう構成されたカメラシステムと、モーション座標系における動作を命令するよう構成された制御可能モーションシステムと、1以上の処理装置と、を備えたVBMシステムを含む。前記1以上の処理装置は、前記第1ワークステーションにおいて前記カメラシステム及び前記制御可能モーションシステムについて第1ハンドアイ・キャリブレーションを実行し、前記第2ワークステーションにおいて前記カメラシステム及び前記制御可能モーションシステムについて第2ハンドアイ・キャリブレーションを実行し、そしてキャリブレーション物体座標系と前記第1ハンドアイ・キャリブレーションとの間の第1クロスキャリブレーション関係及び前記キャリブレーション物体座標系と前記第2ハンドアイ・キャリブレーションとの間の第2クロスキャリブレーション関係を決定するためにクロスステーション・キャリブレーションを実行するよう構成される。前記キャリブレーション関係は、前記カメラシステムによって、前記第1ワークステーション及び前記第2ワークステーションにおいて、前記制御可能モーションシステムにより掴まれたキャリブレーション物体の1以上の画像を取得することに基づき決定することができる。
【図面の簡単な説明】
【0011】
【
図1】本発明のいくつかの実施形態に係わる、複数のワークステーションにわたるキャリブレーション及びオペレーションのために構成されたVBMシステムを説明する概図である。
【
図2】本発明のいくつかの実施形態に係わる、
図1のVBMシステムなどのVBMシステムのためのキャリブレーション方法を説明するフローチャートである。
【
図3】本発明のいくつかの実施形態に係わる、
図1のVBMシステムなどのVBMシステムのためのオペレーション方法を説明するフローチャートである。
【発明を実施するための形態】
【0012】
以下の詳細な記載において、添付の図面を参照して説明する。図面において、特に記載のない限り、類似の参照符号は類似の構成要素を示している。詳細な説明に記載の例示的な実施形態、図面及び特許請求の範囲の記載は限定を意図していない。本明細書に示す技術的事項の精神又は範囲を逸脱することなく、他の実施形態を用いてもよいし、他の変更を加えてもよい。本明細書に大まかに記載される及び図面に示される本開示の側面を、アレンジ、入れ替え、結合、分離及び異なる構成の幅広いバリエーションとして設計してもよいこと、そしてその全てが本明細書において明確に考慮されていることは、容易に理解できる。
【0013】
いくつかの実施形態において、本発明に係わる方法のコンピュータによる実行を含む本発明の側面は、以下に詳細に記載の側面を実施するためのコンピュータ又はプロセッサベースの装置を制御するためのシステム、方法、装置又はソフトウェアを作成するための標準プログラミング及び/若しくはエンジニアリング技法を用いた製品、ファームウェア、ハードウェア又はこれらの任意の組み合わせとして、実施することができる。本明細書に記載の「製品」との用語は、いかなる種類のコンピュータ可読装置、キャリア(例えば持続性信号)又は媒体(例えば持続性媒体)からアクセス可能なコンピュータプログラムを包含することを意図して用いている。例えば、コンピュータ可読の媒体は、磁気記憶装置(例えばハードディスク、フロッピーディスク、磁気帯など)、光ディスク(例えばコンパクトディスク(CD)、デジタル多用途ディスク(DVD)など)、スマートカード及びフラッシュメモリ装置(例えばカード、スティック)を含むことができるが、これらに限定されない。加えて、当然ながら、電子メールの送受信又はインターネット若しくはローカルエリアネットワーク(LAN)などのネットワークへのアクセスに用いられるコンピュータ可読の電子データを搬送するために搬送波を採用することもできる。勿論、特許請求の範囲に記載の技術的事項の範囲又は精神を逸脱せずにこれらの構成に対して修正を加えてもよいことは、当業者が認識できるものである。
【0014】
本発明の実施形態は、システム及び/又はコンピュータにより実行される方法を含む方法として実施することができる。本発明のいくつかの実施形態は、以下の議論と整合した、自動化装置及び種々のコンピュータハードウェア、ソフトウェア、ファームウェアを含む特殊用途又は汎用コンピュータなどの装置を含む(又は利用する)ことができる。
【0015】
本明細書において、特に記載又は限定のない限り、「A,B及びCのうちの少なくとも1つ」及び類似の記載は、A、B若しくはC、又はA,B及び/若しくはCの任意の組み合わせを示すことを意味する。したがって、当該記載及び類似の他の記載は、A,B及び/又はCの単一又は複数の例を含むことができ、そして、A,B及び/又はCの何れかのカテゴリが要素を示す場合、そのカテゴリ(又は複数のカテゴリ)の何れかの要素の単一又は複数の例を含むことができる。
【0016】
また、本明細書において、特に特定又は限定のない限り、「コンポーネント」、「システム」、「モジュール」などの用語は、ハードウェア、ハードウェアとソフトウェアの組み合わせ、ソフトウェア又は実行中のソフトウェアの何れかであるコンピュータ関連の実体を参照することを意図する。例えば、コンポーネントは、プロセッサ上で動くプロセス、プロセッサ、物体、実行ファイル、スレッド(a thread of execution)、プログラム及び/又はコンピュータであってもよいが、これらに限定されない。例として、コンピュータ上を動くアプリケーション及びコンピュータの両方をコンポーネントとすることができる。1以上のコンポーネント(若しくはシステム、モジュールなど)は、プロセス及び/若しくはスレッド内に属してもよく、1つのコンピュータ上に局在してもよく、2以上のコンピュータ若しくはプロセッサ間に分配されてもよく、並びに/又は別のコンポーネント(若しくはシステム、モジュールなど)内に含まれてもよい。
【0017】
また、本明細書で用いる場合、特に特定又は限定のない限り、「カメラ」との用語は、2Dプラナーイメージング装置、ライン走査イメージング装置、3Dイメージング装置、ビデオイメージング装置などを含むいかなる種類の画像化装置並びに可視光及び/若しくは非可視光から画像を取り込むよう構成された装置を含んでもよい。これに関し、「カメラシステム」は1以上のカメラを含むシステムを含んでもよい。同様に、特に特定又は限定のない限り、「掴む」との記載は、マニピュレータ又は他の装置による、機械的作用、吸引、磁気的作用若しくは他の係合作用を介する作業対象物体の固定又は保持によりもたらされる動きを示すことができる。
【0018】
精密製造における組み立て又は他のタスクなどの特定のプロセスの実行は、自動化されコンピュータ制御されたモーションシステムの使用を必要とし得る。例えば、電子システムの所定のコンポーネントを正確に組み立てるためには、制御コンピュータシステムに対して、掴みアームを有するロボットの一連の独立した及び/又は相互に関連した動作の比較的精密な自動制御が要求され得る。本質的に、そのような制御を適切な精度で実行するためには、コンピュータシステムが、ロボットの内部コントローラが使用するリファレンス座標系に対するロボットの動作を命令可能でなければならず、その際、高い信頼性で、リファレンス座標系(複数のリファレンス座標系)に対する命令が関連製造エリアの物理空間内のロボットの所望の動作に適切に対応しなければならない。したがって、精密タスクの有効な自動実行のために、コンピュータシステムは、ロボット(又は他のモーションシステム)に関連する1以上のリファレンス座標システムと関連物理環境の1以上の座標系との間の適宜に正確な関係を決定するよう構成されなければならない。
【0019】
これに関連して、また上述したように、ロボット又は他の制御可能モーションシステムによる動作の不正確さ(即ち、実際の動作と関連座標系における命令された動作との対比における不正確さ)は、製造及び他のオペレーションに悪影響を及ぼす可能性がある。例えば、制御可能モーションシステム内に特定のタイプの不正確制が存在する場合、リファレンス座標系と物理座標系との間の関係を決定するためのコンピュータシステムの従来のアプローチでは、これらの関係にかなりの不正確さが生じる。結果的に、コンピュータシステムからの命令に応じたモーションシステムの実際の物理動作は、命令により意図された物理動作とは正確に合致しない場合がある。
【0020】
制御可能モーションシステムにおける不正確さは、これらのシステムの自動コンピュータ制御に悪影響を及ぼす可能性があるため、様々な形で現れる可能性がある。場合によっては、そのような不正確さは、大きいスケールの動作に関しては(例えば小さいスケールの動作に関してよりも)比較的一般的であるかもしれない。例えば、特定のVBMシステムのためのロボットは、第1ワークステーションと第2ワークステーションとにおける比較的小さい(例えばミリメートル)スケールの動作にわたっては比較的正確であるものの、2つのワークステーション間のより大きい(例えばメートル)スケールの動作にわたっては比較的不正確な場合がある。これに関連して、例えば、ロボットは、いくらかの回転エラーを伴う比較的大きいスケールの命令された並進運動を実行するかもしれず、又は他のエラー(例えばスケール、アスペクト比、スキュー、ずれ又は他の線形エラー)を示すかもしれない。
【0021】
場合によっては、上記の大きいスケールのエラーにより、ワークステーション間の移動(例えば第1ワークステーションから第2ワークステーションにおける異なる部品への部品の取り付け)を必要とするタスクの性能が比較的低くなる可能性がある。しかしながら、有用なことに、これらのエラーの源の性質(例えば関連ロボットの比較的不変の物理的側面)のために、それらは通常繰り返し可能である。以下にさらに説明するように、これにより、本発明の異なる実施形態に基づき、制御可能モーションシステムの自動コンピュータ制御の実行に応じて、上記のリファレンス座標系と物理座標系との関係の必要な決定への特定のアプローチを介して、エラーを効果的に除去することができる。
【0022】
具体的には、例えば、ロボット(又は他の)オペレーションの精度を向上させるために、マルチステーションVBMシステムについて一連のキャリブレーションを実行することができる。いくつかの実施形態においては、例えば、ロボットを、互いにいくらかの比較的大きい距離(例えば1m以上)離れた2つ(又はそれ以上)のワークステーションにおいてオペレーションを実行するよう構成してもよい。第1及び第2ワークステーションにおけるロボットのオペレーションをコーディネートするために、例えば、各ワークステーションにおいてロボットのために別のハンドアイ・キャリブレーション(「HEC」)を実行することができる。このようにして、例えば、モーション座標系内のロボットの局所的動作を各関連カメラの座標系(例えば2D画素座標系)に相互に関連付けることができる。HECオペレーションのいくつかの周知の側面が、米国特許第5,960,125号及び第9,230,326号並びに米国特許出願公開第2017/0132807号、第2014/0267681号及び第2014/0240520号において議論されており、その全てが参照により本願に盛り込まれるものとする。
【0023】
上記HECキャリブレーションに加えて、キャリブレーション物体座標系と2つの異なるワークステーションにおけるカメラ(又はカメラのフィールドオブビュー)との間の関係を決定するために、クロスステーション(ステーションをまたぐ)キャリブレーション(「CSC」)を実行することもできる。このことは、例えば、2つのワークステーションを比べたときに、実際のロボット動作とロボット命令との相違を無くすのに有用である。例えば、ロボットにより掴まれたキャリブレーションプレート(又は他の物体)を、各ワークステーション内の所定ポイントにおいて画像化し、CSC計算を相応に行うことができる。その後、キャリブレーション物体座標系内の座標又は動作を関連モーション座標系(例えば関連ロボットの座標系)内の対応する座標又は動作に容易に変換できるよう、CSCとHECの関係を決定することができる。
【0024】
CSC及びHEC座標系及びこれらの間の関係が(例えば上で概要を説明したように)規定されると、両方のワークステーションにわたるオペレーションについても関連ロボットの比較的正確な制御を実行することが可能となる。例えば、第1ワークステーションにおける第1部品を拾い上げる(pick)オペレーション及び第2ワークステーションにおける第2部品に対する対応する配置オペレーションを実行するために、第1及び第2部品の特徴部をCSC座標系内で特定することができる。その後、キャリブレーション物体座標系内でこれらの部品を組み立てるための変換及びキャリブレーション物体座標系からモーション座標系への変換(例えばCSCから及び第1HECから決定された変換に基づく)を相応に計算することができ、そして第1部品を相応に拾い上げることができる。このようにして、例えば、第1ワークステーション内の第1部品を拾い上げるため及び第1部品を第2ワークステーション内の所望の位置に移動させるために、ロボットモーションについての命令の適切なセットを決定することができる。
【0025】
いくつかの実施形態において、「配置」オペレーションの精度を潜在的に向上させるために、第1部品は、第1ワークステーション内で拾い上げられると、第1ワークステーションにおける所定ポイント(例えばCSCの実行に用いられる所定ポイントと同じ)に移動させられ、第1部品の特徴部の位置が再び特定される(例えば1以上のカメラによる画像化に基づきキャリブレーション物体座標系において位置が特定される)。このことは、例えばロボットによる第1部品の適切な掴みを確定するために有用である。必要に応じて、その後、第1部品を第1ワークステーションにおける所定ポイントから第2座標系内のターゲット位置(例えば第2部品上)に移動させるために、CSC及び第2HECの結果を用いて、アップデートされた変換を計算することができる。
【0026】
本明細書において、本開示の側面について、各ステーションが単一のロボット及び単一の、ユニークな、固定位置の2Dカメラを有する2つのワークステーションVBMシステムを含む例に関連しておおまかに説明する。これらの側面の基本的な原理を他のタイプのVBMシステム(例えば、モバイルカメラ又は3Dカメラを含むシステム、複数のロボットを含むシステム、3以上のワークステーションを含むシステムなど)に容易に拡張できることは、当業者が認識できるものである。
【0027】
同様に、本明細書に記載の特定の座標系及びこれらの間の変換は、例として示されているに過ぎない。他の実施形態においては、本開示の同じ一般原理の下で他の座標系及び変換の使用も可能である。例えば、本明細書における一部の議論は、キャリブレーション物体座標系内での部品の特徴部(又は他の関連ポイント)の位置特定及びその座標系から他への対応する変換の計算を、参照し得る。他の実施形態では、例えば、部品の特徴部(又は他の関連ポイント)を、異なる座標系において位置特定することができ、対応する変換を相応に実行することができる。
【0028】
さらに、本明細書に記載の一部の例では、特定の制御可能モーションシステムの内部座標系を、関連VBMシステムのためのモーション座標系として適用してもよい。しかしながら、統合リファレンス座標系を特定の制御可能モーションシステムに関係付ける必要は無いことが理解されるであろう。例えば、一部のVBMシステムについて、統合リファレンス座標系は、VBMシステムの1以上の制御可能モーションシステムについての1以上の内部座標系と異なってもよく、ここで適切な変換によって統合リファレンス座標系と1以上の内部座標系との間の関係が相応に定義される。
【0029】
この観点から、そして本発明の原理の実施の一例として、
図1は、6軸ロボット22として構成された制御可能モーションシステムと、第1ワークステーション24と、第1ワークステーションから既知の距離(例えば175cm)離れた第2ワークステーション26と、第1ワークステーション24の画像(例えばワークステーション24内の作業対象物体の画像)を取り込むよう構成された固定位置(fixed-location)2D第1カメラ28と、第2ワークステーション26の画像(例えばワークステーション26内の作業対象物体の画像)を取り込むよう構成された固定位置2D第2カメラ30と、を含むVBMシステム20を示す。
【0030】
また、システム20は、処理装置32aを含むことができるとともに、一般的に第1カメラ28と、第2カメラ30と、ロボット22と、汎用(又は特殊用途)コンピュータ34と、種々の他のコンポーネント(他のVBMシステムのコンポーネントを含む)と、のうちの1以上に対して信号を送受信するよう構成可能なコントローラ32を含んでもよい。したがって、スタンドアロン装置又は上記のコンポーネントのうちの1以上の一部とすることができるコントローラ32を用いて、VBMシステム20のオペレーションの各種側面を制御する及び/又はVBMシステム20の1以上のコンポーネントから有用なデータを受信することができる。
【0031】
通常、ロボット22は、第1ワークステーション24及び第2ワークステーション26の両方で作業を行うよう構成される。例えば、ロボット22は、何れかのワークステーション24,26において作業対象物体(即ちタスクの実行に用いられる物体又はタスクの実行対象となる物体)(例えばタッチスクリーンディスプレイのコンポーネントなどの概して平坦な物体36,38)を掴んで、物体をワークステーション24,26内で(例えば所定ポイント24a,26aに)移動させる及び物体をワークステーション24,26間で移動させるよう構成することができる。したがって、例えば、ロボット22は、通常、他のオペレーションの中でも特に、第1ワークステーション24から物体36(又は他の物体)を拾い上げて、物体36を第2ワークステーション26内の物体38の上(又は別の位置)に配置するのに有用である。
【0032】
概要が上記されかつ概略が
図1に示された構成において、VBMシステム20は、数々の異なる座標系を定める。例えば、ロボット22は、通常、モーション座標系50に対して(例えばコントローラ32によって)制御され、第1カメラ28は画素座標系52内で画像を取り込み、第2カメラ30は画素座標系54内で画像を取り込み、そして実世界座標系はワークステーション24,26の何れか又は両方にある(図示しない)、などである。以下でも議論するように、キャリブレーション物体座標系(又は複数の系)56をキャリブレーションプレート58(又は他のキャリブレーション物体若しくは複数の物体)に基づき規定することが可能である。
【0033】
上でも述べたように、
図1に示す別の座標系が、単なる例として示される。例えば、本発明のいくつかの実施形態では、3D画素座標系を定めることができるように3Dカメラ(例えばレーザプロファイラー、飛行時間型センサなど)を利用することができる。同様に、いくつかの実施形態では、キャリブレーション物体座標系は、プラナー(平面上のもの)ではなく3Dでもよい。加えて、いくつかの実施形態では、座標系50以外の座標系を統合座標系として選択してもよい。
【0034】
図示の実施形態では、キャリブレーションプレート58が、目に見える形で形成された(可視の)特徴的なドット状グリッドを含む表面を有する概して平坦な物体として構成される。他の例示的なパターンとしては、線状グリッド(例えば市松模様又は軸)、ハニカムパターン、三角形の市松模様などが挙げられる。通常、プレート58でもそうであるように、リファレンス位置に対する位置及び/若しくは配向並びに/又はデザイン内で明確に定められた座標系などの各可視特徴部の特徴は、特定のプレートのデザインから既知である。
【0035】
図2は、上記のVBMシステム20に対して又は任意の数の他のVBMシステムに対して通常実行することができるキャリブレーション方法70を示す。上でもおおまかに記載したように、方法70で採用される具体的な座標系及び他のパラメータは、単なる例として示されているに過ぎないことが理解されるであろう。同様に、以下に記載のオペレーションの具体的な順序もまた単なる例として示されているに過ぎない。
【0036】
通常、ワークステーション24,26の両方にわたるオペレーションのためのVBMシステム20をキャリブレートするために、ロボット22及び1以上の(例えば各)カメラ28,30についてそれぞれハンドアイ・キャリブレーション(「HEC」)を実行(即ち遂行)(72,74)することができる。通常、VBMシステム20との関係において、各HECの遂行(72,74)により、カメラ28,30の座標系52,54をそれぞれモーション座標系50にキャリブレートすることができる。
【0037】
通常、実行(72,74)されるHECの目標は、カメラ(複数のカメラ)とモーション座標系の関係を決定することにある(例えば、モーション座標系内のカメラ又はキャリブレーション物体の剛体姿勢、レンズ又は射影ひずみなどのカメラの固有パラメータ、モーションステージの各自由度及びモーション軸間のスキューのスケーリングなどのモーションステージの非剛性パラメータなどを決定)。上記のように、VBMシステム20の例示的なキャリブレーションでは、ロボット22の座標系50がモーション座標系として利用され、これによりHECによってモーション座標系50において記述/解釈される姿勢及びモーションが得られるよう構成される。他の実施形態では他の選択肢も可能である。
【0038】
HECは数々の異なる方法で実行することができる。場合によっては、例えば、キャリブレーションプレート58を各カメラ28,30に対して数々の異なる姿勢で示し、各カメラ28,30はそれらの各姿勢でのキャリブレーションプレート58の画像を取得することができる。その後、座標系52,54のそれぞれと座標系50との間の変換を決定するために、結果として得られる連立方程式を解く(又は近似的に解く)ことができる。
【0039】
本明細書に示す例では、カメラ28,30は所定位置に固定され、キャリブレーションプレート58が移動される。他の実施形態では、カメラ28,30のうちの1つ又は両方がプレート58に対して移動することができる。
【0040】
図2をさらに参照すると、方法70は、ロボット22及びワークステーション24,26についてクロスステーション・キャリブレーション(「CSC」)を実行(76)することを含むことができる。通常、CSCは、各カメラ28,30を、キャリブレーションプレート58によって定義されるキャリブレーション物体座標系56などの共通座標系の別々のインスタンスにキャリブレートすることができる。
【0041】
CSCは様々な方法で実行(76)することができる。いくつかの実施形態では、CSCは、「単一ビュー」キャリブレーションとは異なるがこれにいくらか関連しているかたちで実行(76)することができる。例えば、従来の単一ビューアプローチにおいては、各システムカメラは、固定されたキャリブレーションプレートの座標系に対してキャリブレートしてもよい。一方で、方法70においては、キャリブレーションプレートを、2つのカメラ28,30のそれぞれによる所定ポイントでの画像化のために、2つのワークステーション24,26間で移動させることができる。
【0042】
例えば、CSCの実行(76)は、キャリブレーションプレート58をロボット22で掴む(78)ことと、その後ロボット22を用いてキャリブレーションプレート58をワークステーション24におけるポイント24a(又は他の所定ポイント)に移動(80)することと、を含んでもよい。次にカメラ28を用いてポイント24aにおけるキャリブレーションプレート58の1以上の画像を取得(82)することができる。
【0043】
さらに、CSCの実行(76)は、依然としてロボット22でキャリブレーションプレート58を掴む(78)ことと、その後ロボット22を用いてキャリブレーションプレート58をワークステーション26におけるポイント26a(又は他の所定ポイント)に移動(80)することと、を含んでもよい。その後カメラ30を用いてポイント26aにおけるキャリブレーションプレート58の1以上の画像を取得(82)することができる。
【0044】
各ポイント24a,26aにおいてキャリブレーションプレート58を用いて取得された少なくとも1つの画像について、方法70は、その後、キャリブレーション物体座標系56とカメラ28,30の座標系52,54のそれぞれとの関係を決定(84)することを含んでもよい。例えば、キャリブレーション物体座標系56と第1ワークステーション24でのカメラ座標系52との間において変換を決定することができるとともに、キャリブレーション物体座標系56と第2ワークステーション26でのカメラ座標系54との間において異なる可能性がある変換を決定することができる。
【0045】
必要に応じて、方法70は、その後、さらに、前回実行されたCSC及びHECオペレーション(例えば上記したようなもの)に基づき、各ワークステーション24,26におけるキャリブレーション物体座標系56とモーション座標系50との間の関係(例えば変換)を決定(86)することができる。例えば、上記のCSCオペレーションの結果を用いて何れかのワークステーション24,26においてキャリブレーション物体座標系56から画素座標系52,54に変換することができ、その後、上記のHECオペレーションの結果を用いて何れかのワークステーション24,26における画素座標系52,54からそのワークステーション24,26におけるモーション座標系50に変換することができる。
【0046】
通常、上記の関係(又は他の適切な座標系関係)が規定されると、ワークステーション間の移動中に生じ得るエラー(例えば、要求され得る制御可能モーションシステムの比較的大きいスケールの移動に起因する)を無くしながら、関連するワークステーション(例えばワークステーション24,26)にわたるオペレーションを実行することが可能となる。
【0047】
これに関して、
図3は、2つのワークステーションにわたって2つの部品を組み立てるための例示的な方法100を示す。同様の原理及び上で大まかに記載したコンセプトに基づく他のオペレーションも可能である。
【0048】
図示の例では、方法100は、キャリブレーション物体座標系、関連するカメラの種々の座標系及び関連するモーション座標系(例えば関連する制御可能モーションシステムの座標系)の間の関係を規定するために、キャリブレーションオペレーションの先の実行に概して基づいてもよい。例えば、方法100のオペレーションの基礎として、キャリブレーション物体と他の座標系との間の適切な関係の決定(86)を含む方法70(
図2参照)の1以上のオペレーションの実行が有用と考えられる。
【0049】
関連するVBMシステムを(例えば方法70又はそのバリエーションを介して)適切にキャリブレートすることで、方法100の組み立てが進行することができる。例えば、カメラ28を用いて、物体36上の1以上の特徴部(例えば1以上の角部又は縁部)の位置を特定(located)(102)することができる。同様に、カメラ30を用いて、物体38の1以上の特徴部の位置を特定(104)することができる。
【0050】
通常、特徴部(又は他の位置)について、任意の適切な座標系においてその位置を特定(102,104)することができる。場合によっては、各ワークステーション24,26におけるキャリブレーション物体座標系56において所定の特徴部の位置を特定(102,104)することが有用である。他の場合においては他の座標系を用いることができる。
【0051】
関連する特徴部の位置が特定(102,104)されると、その後、物体36を第1ワークステーション24から第2ワークステーション26内の適切な位置に移動させるためのクロスステーション変換を計算(106)することができる。例えば、第1物体36を第1ワークステーション24内の位置から第2ワークステーション26の第2物体38と精密に整列するよう移動させるために、クロスステーション変換を計算(106)することができる。
【0052】
上述のように、適切なクロスステーション変換を任意の数の適切な座標系に対して計算(106)することができる。いくつかの実施形態では、上記の例と合致するように、キャリブレーション物体座標系56において関連する特徴部の位置が特定(102,104)されたときに、キャリブレーション物体座標系56に対する変換を計算(106)することもまた有用となり得る。
【0053】
その後、物体36についてのクロスステーション(ステーションをまたぐ)移動を、計算(106)された変換に基づいて実行することができる。例えば、ロボット22に対して、位置特定(102)された特徴部に基づいて第1ワークステーション内で物体36を拾い上げ、次に計算(106)された変換に基づいて第2ワークステーション内の位置に物体36を移動させるよう、命令を与えることができる。これに関し、座標系間の適切な変換が通常は必要であると認識される。例えば、キャリブレーション座標系56において物体36の特徴部の位置が特定された場合、その特徴部の関連座標系をモーション座標系50に変換し(例えば上で概要を述べたようにCSC及びHECオペレーションの結果に基づいて)、その後ロボット22の動きを相応に命令することが必要となるであろう。
【0054】
場合によっては、クロスステーション移動の実行(108)は、作業エラーをさらに修正するよう指定されたオペレーションを含み得る複数の移動オペレーションを含んでもよい。例えば、物体36に対するロボット22による拾い上げエラーを無くすために、物体36を拾い上げ(110)、物体36を第1リファレンスポイント(例えば、CSCを実行(76)する時に用いられた(
図1及び2参照)所定ポイント24a)に移動(112)し、その後、第1物体36上の特徴部の位置を再び特定(114)する(例えば前回位置特定(102)したように同じ特徴部について再び位置特定する)ことが有用となるであろう。
【0055】
第1物体36を拾い上げた後の第1物体36の特徴部の位置特定(114)に基づいて、いかなる拾い上げエラー(例えばすべりに起因するもの)もが特定され、物体36の第1リファレンスポイントから第2ワークステーション26における所望の位置(例えば物体38の上部における物体36のための配置位置)への移動のために、更新されたクロスステーション変換を計算(116)することができる。その後、物体36を所望の位置に移動(118)することができる。
【0056】
この最終移動(又は先行する一連の移動)において、いくつかの実施形態では有用であるものの、位置特定又は変換は必ずしもキャリブレーション物体座標系内で特定又は計算されなくともよいことを再度認識すべきである。むしろ、(例えばHEC及びCSCオペレーションの実行(72,74,76)により決定された)座標系間の事前に規定された関係を用いることで、異なる関連座標系を適切に用いるため及び異なる座標系間を適切に移動するために、十分な柔軟性が与えられるであろう。
【0057】
さらに、本明細書での議論に関し、物体を位置に移動させることが、物体がその位置を物理的に占めるよう物体を移動させること、又は物体を掴んでいるマニピュレータをマニピュレータがその位置を物理的に占めるよう移動させることを含んでもよいことが理解される。例えば、上での議論では、物体36をリファレンス位置(例えば所定ポイント24a)に移動(112)させるオペレーションは、ロボット22のエンドエフェクタをリファレンス位置を占めるように移動させることを含んでもよく、必ずしも物体36自体がリファレンス位置を占めるように移動させなくともよい。
【0058】
別の実施形態では、上記のアプローチの変形が可能である。例えば、上記のオペレーションの内のいくつかの側面が、いくつかの実施形態では明確に(例えば離散的に)実行されてもよく、一方で他の実施形態では連続的な移動の一部として実行されてもよい。例えば、
図3を再び参照すると、いくつかの実施形態は、以下の離散的なオペレーションを含んでもよい。即ち、物体を、基本的な繰り返し可能クロスステーション移動の開始ポイントとしての第1リファレンスポイント(例えば所定ポイント26a)に移動(112)させること、基本的な繰り返し可能クロスステーション移動を実行するために物体を第1リファレンスポイントから第2ポイント(例えば所定ポイント24a)に移動(118)させること、及び、物体が最終的に所望位置に配置されるよう、拾い上げ時のすべり及び配置オフセットなどの因子を補うために調整モーションを実行すること、を含んでもよい。
【0059】
一方で、いくつかの実施形態では、特定の潜在的に離散的なオペレーションを組み合わせて連続的な(例えば結合された)オペレーション(例えば連続的な移動)としてもよい。例えば、すべり又は他のエラーを補う調整に係わる、第1及び第2ワークステーション内の第1及び第2リファレンスポイント(例えば所定ポイント24a,26a)間の移動並びに第2リファレンスポイントから最終位置への潜在的に離散的な移動を場合によっては組み合わせて、第2リファレンスポイント(例えば所定ポイント26a)への実際の移動を全く含まない単一の連続的な移動としてもよい。この連続的なアプローチは、時として精度の低下をもたらし得るものの(例えば上記の離散的アプローチと比較した場合)、許容範囲内の精度でサイクル時間が速まるという有用な結果をもたらし得る。
【0060】
いくつかの実施形態では、非組み立てオペレーションを含む種々のオペレーションに適用するために方法100(及び本発明に係わる他の方法)を一般化することができる。例えば特徴部の位置特定に代えて、第1ワークステーション(又は他の場所)内の1以上のオペレーションについて位置(例えば具体的な部品上以外の位置)を特定するよう、方法100を実施することができる。
【0061】
したがって、本発明の実施形態は、VBMシステムのオペレーションのための改善されたシステム又は方法を提供することができる。いくつかの実施形態では、例えば、本明細書に開示されたシステム又は方法の実施により、比較的精度の高いクロスステーション・モーション(例えば作業対象物体の機械的運送)を、関連モーションシステムについて極めて高い精度を達成可能でなくとも(しかし、例えばモーションシステムエラーが実質的に繰り返し可能であるとき)、提供することができる。
【0062】
例えば、いくつかの実施形態において、比較的正確なクロスステーション移動を提供するために、異なるワークステーションにおけるHEC間の関係を決定することができる。例えば、いくつかの配置構成では、キャリブレーション物体座標系の位置(X,Y)は、第1HEC(例えば第1ワークステーションにおけるもの)の下でのモーション座標系内の位置(U1,V1)として、及び第2HEC(例えば第2ワークステーションにおけるもの)の下でのモーション座標系内の位置(U2,V2)として、決定することができる。上記の例のようなシステム又は方法を用いることで、関連モーションシステムが、(U1,V1)と(U2,V2)との間でクロスステーション移動を適切に実行できる集合オペレーションを実行することが可能となる。
【0063】
これに関し、本発明の実施形態においては、関連モーションシステムが必ずしも極めて高い精度を有さないときでも適切なオペレーション動作を得ることができる。例えば、直前に記載した例では、記載のクロスステーション移動が比較的繰り返し可能なすべり(又はモーションシステムにおける他の比較的繰り返し可能エラー)にさらされた場合であっても、(U1,V1)と(U2,V2)との間の対応関係を維持することができる。そのようにして、例えば、2つの記載されたHEC間の絶対的、独立的関係の決定は、必ずしも必要でないことが分かる。むしろ、適度に正確な実行時間オペレーションは、通常、関連のある「偶発的」クロスステーション移動により関係付けられるような、2つのHEC間の特定の「偶発的」関係のみに依存してもよい。HEC間の異なるマッピングにより異なるクロス-ステーション移動がもたらされ得るものの、各特定のクロスステーション移動について特定のマッピングを容易に決定して繰り返し可能なオペレーションに使用することができる。これに関し、例えば、クロスステーション・キャリブレーションの数学的特性評価を、通常、関連HEC及び特定のクロスステーション移動の関数としてみることができる。
【0064】
上でも議論したように、本明細書に開示のオペレーションは、デジタル電子回路又はコンピュータハードウェア、ファームウェア若しくはソフトウェア又はこれらの組み合わせで実行することができる。実行は、例えばプログラム可能プロセッサ、コンピュータ又は複数のコンピュータなどのデータ処理装置による遂行のために又はこのようなデータ処理装置のオペレーションを制御するために、コンピュータプログラム製品即ち例えば機械可読記憶装置又は伝搬信号などの情報媒体内で有形に実行されたコンピュータプログラムとして、行うことができる。コンピュータプログラムは、コンパイラ型又はインタープリタ型言語を含むいかなる形のプログラミング言語で書くことができるとともに、スタンドアロンプログラムとして又はモジュール、コンポーネント、サブルーチン若しくは他のコンピュータ環境での使用に適したユニットとしての形を含むいかなる形で展開することができる。コンピュータプログラムは、1つのコンピュータ又は1つの場所における若しくは複数の場所に分配され通信ネットワークによって相互接続された複数のコンピュータ上で実行されるために、展開することができる。記述したプロセッサ、コンポーネント若しくはモジュールは、いかなる種類の他のプロセッサ、コンポーネント若しくはモジュールと組み合わせることができ、又は種々のサブプロセッサ、サブコンポーネント若しくはサブモジュールに分けることができる。これらは本明細書に記載の実施形態に応じて様々に組み合わせることができる。
【0065】
本明細書に開示の方法のオペレーションは、入力データで動作するとともに出力を生成することによって技術の機能を実施するためにコンピュータプログラムを実行する1以上のプログラム可能プロセッサによって、工程を実行することができる。また、例えばFPGA(フィールド・プログラマブル・ゲート・アレイ)又はASIC(特定用途向け集積回路)などの特殊用途論理回路により方法のオペレーションを実行することができる及びそのような特殊用途論理回路として装置を実行することができる。モジュールは、コンピュータプログラムの一部及び/又はその機能を実行するプロセッサ/特殊回路を参照することができる。
【0066】
コンピュータプログラムの遂行に適したプロセッサは、例えば、汎用及び特殊用途マイクロプロセッサの両方を含んでもよく、いかなる種類のデジタルコンピュータの任意の1以上のプロセッサを含んでもよい。通常、プロセッサは、読取り専用メモリ又はランダムアクセスメモリ又はその両方から指示及びデータを受信する。コンピュータの必須要素は、指示を実行するためのプロセッサ並びに指示及びデータを記憶するための1以上のメモリ装置である。通常、コンピュータは、例えば磁気、光磁気若しくは光ディスクなどのデータを記憶するための1以上の大容量記憶装置を含む、又は前記1以上の大容量記憶装置に動作可能に接続される、又はその両方である。また、データ伝送及び指示は、通信ネットワークにわたって起こることができる。コンピュータプログラム指示及びデータを具現化するために適した情報媒体は、例えば、EPROM、EEPROMなどの半導体メモリ装置及びフラッシュメモリ装置、例えば内蔵ハードディスク又は取外し可能ディスクなどの磁気ディスク、光磁気ディスク並びにCD-ROM及びDVD-ROMディスクを含むあらゆる形の不揮発性メモリを含む。プロセッサ及びメモリは、特殊用途論理回路が補充されてもよく、又は特殊用途論理回路に組み込まれてもよい。
【0067】
ユーザとの相互作用を提供するために、上記のオペレーションを、ユーザに情報を表示するためのCRT(ブラウン管)又はLCD(液晶ディスプレイ)モニタなどの表示装置と、ユーザがコンピュータに対して入力を行う(ユーザインターフェース要素と相互作用する)ためのキーボード及びマウス又はトラックボールなどのポインティングデバイスと、を有するコンピュータ上で実行することができる。ユーザとの相互作用を提供するためにその他の種類の装置を用いてもよく、例えば、ユーザに提供されるフィードバックは、視覚フィードバック、聴覚フィードバック又は触覚フィードバックなどのいかなる感覚フィードバックでもよく、ユーザからの入力は音響、発話又は触覚入力などのいかなる形でも受信することができる。
【0068】
上記のオペレーションは、例えばデータサーバとしての後端コンポーネント、例えばアプリケーションサーバであるミドルウェアコンポーネント、例えばユーザが例示的な実行との相互作用に使用できるグラフィカル・ユーザー・インターフェース及び/若しくはウェブブラウザを有するクライアントコンピュータである前端コンポーネント又はこれら後端、ミドルウェア及び前端コンポーネントの任意の組み合わせを含む分散型計算システムにおいて実行することができる。システムのコンポーネントは、いかなる形で又は通信ネットワークなどのデジタルデータ通信の媒体によって相互接続することができる。通信ネットワークの例には、例えばインターネットなどのローカルエリアネットワーク(「LAN」)及び広域ネットワーク(「WAN」)が含まれ、有線及び無線ネットワークが含まれる。
【0069】
本発明について例示的な実施形態を参照して記載したが、本発明の範囲を逸脱せずにその構成要素に対して種々の変更及び同等のものとの置換を行ってもよいことは当業者に理解されるであろう。加えて、本発明の必須の範囲を逸脱せずに、本発明の教示に対して、特定の機器、状況又は材料を適用するような様々な修正が当業者に明らかであろう。したがって、本発明が、本発明を実施するために考えられる最良の実施形態として開示された特定の実施形態に限定されることは意図されておらず、本発明は特許請求の範囲に含まれる全ての実施形態を含むことが意図されている。