IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ダッソー システムズ アメリカス コーポレイションの特許一覧

特許7278338製造リソースシミュレーションのための仮想化ケーブルモデル化
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-05-11
(45)【発行日】2023-05-19
(54)【発明の名称】製造リソースシミュレーションのための仮想化ケーブルモデル化
(51)【国際特許分類】
   G06Q 50/04 20120101AFI20230512BHJP
   G06F 30/10 20200101ALI20230512BHJP
   G06F 30/20 20200101ALI20230512BHJP
   B25J 9/22 20060101ALI20230512BHJP
   G06F 111/10 20200101ALN20230512BHJP
【FI】
G06Q50/04
G06F30/10 200
G06F30/20
B25J9/22 A
G06F111:10
【請求項の数】 21
(21)【出願番号】P 2021125390
(22)【出願日】2021-07-30
(65)【公開番号】P2022027699
(43)【公開日】2022-02-14
【審査請求日】2021-07-30
(31)【優先権主張番号】16/944,859
(32)【優先日】2020-07-31
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】514180812
【氏名又は名称】ダッソー システムズ アメリカス コーポレイション
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ウダイ パサー
【審査官】石田 紀之
(56)【参考文献】
【文献】米国特許出願公開第2017/0124230(US,A1)
【文献】特開平07-182017(JP,A)
【文献】国際公開第2021/149419(WO,A1)
【文献】国際公開第2017/018113(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 50/04
G06F 30/10
G06F 30/20
B25J 9/22
G06F 111/10
(57)【特許請求の範囲】
【請求項1】
ケーブルを含む製造リソースをシミュレートするためのコンピューター実装方法であって、
ケーブルのポリラインモデルをコンピューターメモリーにおいて生成するステップであって、前記生成されたモデルは、前記ケーブルを表す点の集まりを含む、ステップと、
前記点の集まりのうちの各点に対して、
前記点へ点質量を関連付けることと、
前記点へ零質量球を関連付けることであって、前記零質量球のジオメトリは、前記零質量球によって表される場所における前記ケーブルの大きさに対応する、ことと、
前記点と隣接する点との間に弾性およびねじり剛性を割り当てることと、
時間ステップの終わりに製造リソースの3次元空間内の位置に基づいて前記ケーブルを表す前記点の集まりのうちの始点および終点の位置および向きを定義するステップと、
(i)前記関連付けられた点質量と、(ii)前記関連付けられた零質量球と、(iii)前記点と隣接する点との間に前記割り当てられた弾性およびねじり剛性と、(iv)前記点の集まりのうちの前記始点および前記終点の前記定義された位置および向きとを使用して前記点の集まりのうちの各点の力を計算することと、
前記計算された力に基づいて前記時間ステップの前記終わりに前記ケーブルを表す前記点の集まりのうちの各点の3次元空間内の位置を決定することと
によって、前記時間ステップに対して前記ケーブルのシミュレーションを行うステップと
を備えることを特徴とする方法。
【請求項2】
ケーブル長、ケーブル終点、前記ケーブルを表す点の数、ケーブル密度、前記ケーブルの剛性、前記ケーブルの初期形状、およびケーブル直径のうちの少なくとも1つを示すユーザー入力を受信するステップをさらに備えることを特徴とする請求項1に記載の方法。
【請求項3】
前記ケーブルの前記ポリラインモデルは、前記受信されたユーザー入力に基づいて生成されることを特徴とする請求項2に記載の方法。
【請求項4】
各点に関連付けられた前記点質量は、ケーブル密度を示す前記受信されたユーザー入力に基づくことを特徴とする請求項2に記載の方法。
【請求項5】
各点に関連付けられた前記零質量球は、ケーブル直径を示す前記受信されたユーザー入力に基づくことを特徴とする請求項2に記載の方法。
【請求項6】
前記計算された力は、各点の重力、各点の弾性力、各点のねじり等価力のペア、および各点の各零質量と障害物との間の衝突力とのうちの少なくとも1つを含むことを特徴とする請求項1に記載の方法。
【請求項7】
前記計算された力に基づいて前記時間ステップの終わりに前記ケーブルを表す前記点の集まりのうちの各点の3次元空間内の位置を決定するステップは、
各点の前記計算された力の組合せのために加速度および速度を積分して、前記時間ステップの前記終わりに各点の3次元空間内の前記位置を決定するステップを含むことを特徴とする請求項1に記載の方法。
【請求項8】
前記製造リソースのモデルと、前記製造リソースの運動学と、前記製造リソースに対するモーションプランニングと、前記製造リソースの動作環境における1つまたは複数の障害物の動きとのうちの少なくとも1つを使用して前記製造リソースをシミュレートすること
によって、前記時間ステップの前記終わりに前記製造リソースの3次元空間内の前記位置を決定するステップをさらに備えることを特徴とする請求項1に記載の方法。
【請求項9】
前記製造リソースの前記モデルは、前記製造リソースと前記製造リソースが動くワークセル環境とを表すことを特徴とする請求項8に記載の方法。
【請求項10】
前記点の集まりのうちの各点質量と外部の重力加速度を関連付けるステップ
をさらに備えることを特徴とする請求項1に記載の方法。
【請求項11】
次の時間ステップに対して前記ケーブルをシミュレートするステップ
をさらに備えることを特徴とする請求項1に記載の方法。
【請求項12】
前記次の時間ステップに対して前記ケーブルをシミュレートするステップは、
前記ポリラインモデルを更新するステップと、
(a)前記関連付けられた点質量と、(b)前記関連付けられた零質量球と、(c)前記点と隣接する点との間に前記割り当てられた弾性およびねじり剛性と、(d)前記更新されたポリラインモデルとを使用して前記次の時間ステップに対して前記点の集まりのうちの各点の前記力を計算することと、
前記更新されたポリラインモデルを使用して計算された前記力に基づいて前記次の時間ステップの終わりに前記ケーブルを表す前記点の集まりのうちの各点の3次元空間内の位置を決定することと
によって、前記次の時間ステップに対して前記ケーブルの前記シミュレーションを行うステップと
を含むことを特徴とする請求項11に記載の方法。
【請求項13】
前記ポリラインモデルを更新するステップは、
前記時間ステップの前記終わりに前記点の集まりのうちの各点の3次元空間内の前記決定された位置に基づいて各点の位置を更新するステップと、
前記次の時間ステップの前記終わりに前記製造リソースの3次元空間内の位置に基づいて前記ケーブルを表す前記点の集まりのうちの前記始点および前記終点の位置および向きを更新するステップと
のうちの少なくとも1つを含むことを特徴とする請求項12に記載の方法。
【請求項14】
前記製造リソースの前記モデルと、前記製造リソースの運動学と、前記製造リソースに対するモーションプランニングと、前記製造リソースの動作環境における1つまたは複数の障害物の動きとのうちの少なくとも1つを使用して前記製造リソースをシミュレートすること
によって、前記次の時間ステップの前記終わりに前記製造リソースの3次元空間内の前記位置を決定するステップをさらに備えることを特徴とする請求項13に記載の方法。
【請求項15】
ケーブルを含む製造リソースをシミュレートするためのシステムであって、
プロセッサーと、
格納されたコンピューターコード命令を有するメモリーと
を備え、前記プロセッサーおよび前記メモリーは、前記コンピューターコード命令により、前記システムに、
ケーブルのポリラインモデルをコンピューターメモリーにおいて生成し、前記生成されたモデルは、前記ケーブルを表す点の集まりを含み、
前記点の集まりのうちの各点に対して、
前記点へ点質量を関連付け、
前記点へ零質量球を関連付け、前記零質量球のジオメトリは、前記零質量球によって表される場所における前記ケーブルの大きさに対応し、
前記点と隣接する点との間に弾性およびねじり剛性を割り当て、
時間ステップの終わりに製造リソースの3次元空間内の位置に基づいて前記ケーブルを表す前記点の集まりのうちの始点および終点の位置および向きを定義し、
(i)前記関連付けられた点質量と、(ii)前記関連付けられた零質量球と、(iii)前記点と隣接する点との間に前記割り当てられた弾性およびねじり剛性と、(iv)前記点の集まりのうちの前記始点および前記終点の前記定義された位置および向きとを使用して前記点の集まりのうちの各点の力を計算することと、
前記計算された力に基づいて前記時間ステップの前記終わりに前記ケーブルを表す前記点の集まりのうちの各点の3次元空間内の位置を決定することと
によって、前記時間ステップに対して前記ケーブルのシミュレーションを行う
ことをさせるように構成されることを特徴とするシステム。
【請求項16】
前記プロセッサーおよび前記メモリーは、前記コンピューターコード命令により、前記システムに、
ケーブル長、ケーブル終点、前記ケーブルを表す点の数、ケーブル密度、前記ケーブルの剛性、前記ケーブルの初期形状、およびケーブル直径のうちの少なくとも1つを示すユーザー入力を受信することをさせるようにさらに構成されることを特徴とする請求項15に記載のシステム。
【請求項17】
前記ケーブルの前記ポリラインモデルを生成するために、前記プロセッサーおよび前記メモリーは、前記コンピューターコード命令により、前記システムに、
前記受信されたユーザー入力に基づいて前記ケーブルの前記ポリラインモデルを生成することをさせるようにさらに構成されることを特徴とする請求項16に記載のシステム。
【請求項18】
前記計算された力は、各点の重力、各点の弾性力、各点のねじり等価力のペア、および各点の各零質量と障害物との間の衝突力とのうちの少なくとも1つを含むことを特徴とする請求項15に記載のシステム。
【請求項19】
前記計算された力に基づいて前記時間ステップの終わりに前記ケーブルを表す前記点の集まりのうちの各点の3次元空間内の位置を決定するために、前記プロセッサーおよび前記メモリーは、前記コンピューターコード命令により、前記システムに、
各点の前記計算された力の組合せのために加速度および速度を積分して、前記時間ステップの前記終わりに各点の3次元空間内の前記位置を決定することをさせるようにさらに構成されることを特徴とする請求項15に記載のシステム。
【請求項20】
前記プロセッサーおよび前記メモリーは、前記コンピューターコード命令により、前記システムに、
前記製造リソースのモデルと、前記製造リソースの運動学と、前記製造リソースに対するモーションプランニングと、前記製造リソースの動作環境における1つまたは複数の障害物の動きとのうちの少なくとも1つを使用して前記製造リソースをシミュレートすること
によって、前記時間ステップの前記終わりに前記製造リソースの3次元空間内の前記位置を決定することをさせるようにさらに構成されることを特徴とする請求項15に記載のシステム。
【請求項21】
ケーブルを含む製造リソースをシミュレートするためのコンピュータープログラムであって、前記コンピュータープログラムは、プロセッサーによって実行されると、前記プロセッサーに、
ケーブルのポリラインモデルをコンピューターメモリーにおいて生成し、前記生成されたモデルは、前記ケーブルを表す点の集まりを含み、
前記点の集まりのうちの各点に対して、
前記点へ点質量を関連付け、
前記点へ零質量球を関連付け、前記零質量球のジオメトリは、前記零質量球によって表される場所における前記ケーブルの大きさに対応し、
前記点と隣接する点との間に弾性およびねじり剛性を割り当て、
時間ステップの終わりに製造リソースの3次元空間内の位置に基づいて前記ケーブルを表す前記点の集まりのうちの始点および終点の位置および向きを定義し、
(i)前記関連付けられた点質量と、(ii)前記関連付けられた零質量球と、(iii)前記点と隣接する点との間に前記割り当てられた弾性およびねじり剛性と、(iv)前記点の集まりのうちの前記始点および前記終点の前記定義された位置および向きとを使用して前記点の集まりのうちの各点の力を計算することと、
前記計算された力に基づいて前記時間ステップの前記終わりに前記ケーブルを表す前記点の集まりのうちの各点の3次元空間内の位置を決定することと
によって、前記時間ステップに対して前記ケーブルのシミュレーションを行う
ことをさせるように構成されることを特徴とするコンピュータープログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、一般に、コンピュータープログラムおよびシステムの分野に関し、詳細には、コンピューター支援設計(CAD)、コンピューター支援エンジニアリング(CAE)、3次元(3D)コンピュータグラフィックモデル化およびシミュレーション、ならびに製造プロセス、および産業用ロボットなどリソースのモデル化、シミュレーション、解析、使用プランニング、プログラミング、および最適化の分野に関する。
【背景技術】
【0002】
部品、部品のアセンブリ、およびシステムの設計およびシミュレーションのために、いくつかのシステムおよびプログラムが市場で提供されている。これらのシステムおよびプログラム、たとえばCADプログラムは、ユーザーがオブジェクト、オブジェクトのアセンブリ、およびシステムの複雑な3次元モデルを構築および操作することを可能にする。CADプログラムは、モデル化されたオブジェクトおよびシステムの表現を、エッジまたはライン、場合によってはフェイスを使用して提供する。ライン、エッジ、フェイス、またはポリゴンは、様々に、たとえば非一様有理Bスプライン(NRUBS)で表現され得る。
【0003】
CADシステムは、主にジオメトリの仕様であるモデル化オブジェクトの部品または部品のアセンブリを管理する。具体的には、CADファイルが仕様を含み、そこからジオメトリが生成される。ジオメトリから、表現が生成される。仕様、ジオメトリ、および表現は、単一のCADファイルまたは複数のCADファイル内に記憶されてよい。CADシステムは、モデル化オブジェクトを設計者に対して表現するためのグラフィックツールを含み、これらのツールは、複雑なオブジェクトの表示専用である。たとえば、アセンブリは、数千の部品を含むことがある。
【0004】
CADシステムおよびCAEシステムの出現は、他の例の中でもとりわけ、CADモデルおよび有限要素モデル(FEM)などオブジェクトのための広範な表現可能性を可能にする。FEM、または他のそのようなCADもしくはCAEモデル(一般にコンピュータベースのモデルと称される)は、それが表現する基礎となる1つまたは複数のオブジェクトの特性をコンピュータベースのモデルが有するようにプログラムされ得る。コンピュータベースのモデルは、そのようにプログラムされたとき、そのモデルが表現するオブジェクトのシミュレーションを実施するために使用され得る。たとえば、FEMは、車両の内部空洞、構造を囲む音響流体、および任意の数の実世界オブジェクトおよびシステムを表現するために使用され得る。所与のモデルは、オブジェクトを表現しそれに応じてプログラムされたとき、実世界オブジェクトそれ自体、および実世界オブジェクトと他のオブジェクトとの間の相互作用をシミュレーションするために使用され得る。たとえば、ステントを表現するFEMは、実生活の医療セッティングにおけるステントの使用をシミュレーションするために使用され得る。
【0005】
さらに、コンピュータベースのモデルは、これらのモデルが表現するオブジェクトおよびプロセス、たとえば製造のための方法の設計を改善するために使用され得る。これらの改善は、コンピュータベースのモデルによって表現されるオブジェクトまたはプロセスの設計に対する変更を識別するためにコンピュータベースのモデル、たとえばFEMモデルを使用して一連のシミュレーションを実施する最適化技法などシミュレーション技法の使用を通じて識別され得る。
【発明の概要】
【0006】
3次元(3D)コンピュータベースモデル、すなわちコンピュータグラフィックのシミュレーション方法および技法を、製造プロセスをシミュレーションするために、製造ワークセルおよびプロセスに適用することができる。シミュレーションからの結果、たとえば決定された手順およびプログラムは、製造リソース、たとえば産業用ロボットを駆動するために、工場フロア上の製造リソースにダウンロードし適用することができる。このプロセスの一部として、製造ワークセル(他の要素の中でもとりわけ機械、備品、および加工物を含み得る)の仮想3Dコンピュータモデル(コンピュータベースのモデル)が、プロセスの妥当性を検証し、到達可能性、衝突およびサイクル時間など問題を識別するためにシミュレーションされる。また、コンピュータシミュレーションは、工場内で産業用ロボットなど製造リソースにダウンロードされることになるオフラインプログラムの適正な動作、すなわち製造リソースの決定された動作を確保する。そのようなシミュレーション中、ロボットおよび機械の運動学的な動き(kinematic motion)に加えて、これらの製造リソースに取り付けられるフレキシブルケーブルをシミュレーションすることが必要とされる。これらのケーブルは、たとえば、動く製造リソースに取り付けられたスポット溶接ガンなどエンドエフェクタに電力および制御信号を搬送する電気および空気接続の束を含むフレキシブルな管状ホースを表現することができる。ロボットおよび機械の運動学的な動きの状況におけるそのようなフレキシブルケーブルのシミュレーションは、製造プロセスの間、フレキシブルケーブルが機械またはワークセル備品と巻き付くことまたは絡まることのために生じ得る問題を予測することが必要となる。
【0007】
これらのケーブルをシミュレーションするための方法は存在するが、既存の方法は不十分であり、ケーブルを含む製造リソースをシミュレーションするための改善された方法が必要とされている。本発明の実施形態は、ケーブルを含む製造リソースをモデル化しシミュレーションするための改善された方法およびシステムを提供する。さらに、実施形態は、実世界オブジェクト、たとえばロボットをシミュレーション結果に従って制御するために使用することができる。実施形態では、ケーブルは、単一のケーブル、ケーブルの集まり、すなわち束、フレキシブルなコード、および製造リソースなどオブジェクト上の概して任意の接続、たとえば接続ラインとすることができる。
【0008】
そのような例示的な一実施形態は、ケーブルを有する製造リソースをシミュレーションするためのコンピューター実装方法を提供する。そのような一実施形態は、コンピューターメモリー内でケーブルのポリラインモデルを作成する。作成されたモデルは、ケーブルを表現する点の集まりを含む。点の集まりの各点について、点質量(point mass)が点に関連付けられ、零質量球(zero mass sphere)が点に関連付けられ、弾性およびねじり剛性が点と、隣接する任意の点との間に割り当てられる。続けると、ケーブルを表現する点の集まりの始点および終点の位置および向きが、時間ステップの終わりにおける製造リソースの3次元空間内の位置に基づいて定義される。このようにして、ケーブルと製造リソースそれ自体との間の関係、すなわち取付けの点が設定(定義)される。次に、その時間ステップについて、ケーブルのシミュレーションが実施される。シミュレーションを実施することは、(i)関連付けられた点質量、(ii)関連付けられた零質量球、(iii)点と隣接する点との間の割り当てられた弾性およびねじり剛性、ならびに(iv)点の集まりの始点および終点の3次元空間内の定義された位置および向き、を使用して、点の集まりの各点に対する力を計算することを含む。また、シミュレーションを実施することは、計算された力に基づいて時間ステップの終わりにおけるケーブルを表現する点の集まりの各点(特に、他の点のそれぞれ)の3次元空間内の位置を決定する。
【0009】
一実施形態は、ケーブル長さ、ケーブル終点、ケーブルを表現するためのいくつかの点、ケーブル密度、ケーブルの剛性、ケーブルの初期形状、およびケーブル直径のうちの少なくとも1つを示すユーザー入力を受け取る。そのような実施形態は、受け取られたユーザー入力に基づいてケーブルのポリラインモデルを作成し得る。たとえば、例示的な一実装では、各点に関連付けられた点質量は、ケーブル密度を示す受け取られたユーザー入力に基づく。別の例示的な実施形態では、各点に関連付けられた零質量球は、ケーブル直径を示す受け取られたユーザー入力に基づく。たとえば、球の直径は、ユーザーによって提供された、または他の方法で指定されたケーブルの直径となるように設定されてよい。
【0010】
一実施形態によれば、計算された力は、各点に対する重力、各点に対する弾性力、各点に対するねじり等価力(torsion equivalent force)対、各点における各零質量球と、障害物、たとえば製造リソースおよびケーブル環境内のオブジェクトとの間の衝突力のうちの少なくとも1つを含む。本発明の一実施形態は、計算された力に基づいて時間ステップの終わりにおける点の集まりの各点の3次元空間内の位置を決定する。一実施形態によれば、これらの位置は、計算された力に基づいて、時間ステップの終わりにおける各点の3次元空間内の位置を決定するために、各点に対する計算された力の組合せのために加速度および速度を積分することによって決定される。
【0011】
本発明の別の例示的な実施形態は、時間ステップの終わりにおける製造リソースの3次元空間内の位置(始点および終点の位置および向きを定義するために使用される)を決定する。一実施形態によれば、時間ステップの終わりにおける製造リソースの3次元空間内の位置は、製造リソースのモデル、製造リソースの運動学(kinematics)、製造リソースのためのモーションプランニング、および製造リソースの動作環境内の1つまたは複数の障害物のモーションのうちの少なくとも1つを使用して製造リソースをシミュレーションすることによって決定される。別の例示的な実施形態は、外部の重力加速度を点の集まりの各点質量に関連付ける。
【0012】
さらに別の実施形態は、次の時間ステップについてケーブルをシミュレーションする。一実施形態によれば、次の時間ステップについてケーブルをシミュレーションすることは、ポリラインモデルを更新すること、および更新されたポリラインモデルを使用して次の時間についてケーブルのシミュレーションを実施することを含む。一実施形態では、そのような機能性は、次の時間ステップについて点の集まりの各点に対する力を計算することを含む。一実施形態では、次の時間ステップについての力は、(a)関連付けられた点質量、(b)関連付けられた零質量球、(c)点と隣接する点との間の割り当てられた弾性およびねじり剛性、ならびに(d)更新されたポリラインモデルを使用して計算される。さらに、次の時間ステップについてケーブルのシミュレーションを実施することは、更新されたポリラインモデルを使用して計算された力に基づいて次の時間ステップの終わりにおけるケーブルを表現する点の集まりの各点の3次元空間内の位置を決定することをも含む。
【0013】
一実施形態によれば、ポリラインモデルを更新することは、時間ステップ、すなわち最初の時間ステップの終わりにおける点の集まりの各点の3次元空間内の決定された位置に基づいて、各点の位置を更新することを含む。このようにして、製造リソースのポリラインモデルは、前の時間ステップの終わりにおけるケーブルの決定された位置を反映するように更新される。別の実施形態では、ポリラインモデルを更新することは、次の時間ステップの終わりにおける製造リソースの3次元空間内の位置に基づいてケーブルを表現する点の集まりの始点および終点の位置および向きを更新することを含む。さらに別の実施形態は、次の時間ステップの終わりにおける製造リソースの3次元空間内の位置を決定する。例示的な一実施形態は、次の時間ステップの終わりにおける製造リソースの位置を、製造リソースのモデル、製造リソースの運動学、製造リソースのためのモーションプランニング、および製造リソースの動作環境内の1つまたは複数の障害物のモーションのうちの少なくとも1つを使用して製造リソースをシミュレーションすることによって決定する。このようにして、次の時間ステップの終わりにおける製造リソースの位置は、次の時間ステップの終わりにおける環境の状態を反映するように決定される。さらに、例示的な一実装では、製造リソースのモデルが環境および製造リソースが動作している環境内のオブジェクトを含む場合、モデルは、環境、たとえば障害物の位置に対する変更と共に更新される。
【0014】
実施形態は、全体的な製造環境、たとえばワークセル環境をシミュレーションするために使用することができる。したがって、本発明の実施形態では、製造リソースのモデルは、製造リソース、およびケーブルを有する製造リソースが動作するワークセル環境を表現することができる。そのようなモデルは、製造リソース、すなわちロボット、製造リソースに関連付けられた1つまたは複数のケーブル、作業を受けるオブジェクト、環境内の障害物、およびワークセル環境内の任意の他のオブジェクトを含み得る。このようにして、実施形態は、製造リソース、ケーブル、および任意の条件、たとえば製造環境の潜在的な障害物オブジェクトを含む実世界製造条件をシミュレーションすることができる。
【0015】
さらに別の実施形態は、プロセッサーと、コンピューターコード命令が記憶されているメモリーとを含むシステムを対象とする。そのような実施形態では、プロセッサーおよびメモリーは、コンピューターコード命令と共に、本明細書に記載の任意の実施形態または実施形態の組合せをシステムに実装させるように構成される。
【0016】
本発明の別の実施形態は、ケーブルを含む製造リソースをシミュレーションするためのクラウドコンピューティング実装を対象とする。そのような実施形態は、ネットワークにわたって1つまたは複数のクライアントと通信するサーバーによって実行されるコンピュータープログラム製品を対象とし、一方、コンピュータープログラム製品は、1つまたは複数のプロセッサーによって実行されたとき、1つまたは複数のプロセッサーに本明細書に記載の任意の実施形態を実装させる命令を備える。
【0017】
前述は、同様な符号が異なるビューを通じて同じ部品を指す添付の図面に示されている例示的な実施形態の以下のより特定の説明から明らかになるであろう。これらの図面は、必ずしも原寸に比例しておらず、それどころか実施形態を例示することに力点が置かれている。
【図面の簡単な説明】
【0018】
図1】態様に係る製造リソースをシミュレーションするための方法のフローチャートである。
図2】態様を使用してシミュレーションされ得る製造リソースおよび関連付けられたケーブル例示する。
図3】本発明の態様に係る作成されたケーブルモデルを有するCADモデルを描く。
図4】態様に係る実装されるシミュレーションのためのモデルおよびモデルの特性を定義するためのユーザインターフェースを描く。
図5】態様において実装されおよびシミュレーションされ得るケーブルモデルにおける弾性力の概念図である。
図6】態様において実装されおよびシミュレーションされ得るケーブルモデルにおける剛性力の概念図である。
図7】態様に係るケーブルモデルにおける弾性が一因となる力の物理的性質を描く。
図8】態様に係るケーブルモデルにおける剛性が一因となる力の物理的性質を描く。
図9】態様に係る定義された剛性を有するケーブルを有するロボットのモデルを例示する。
図10A】態様を使用してシミュレーションすることができる様々な剛性を有するケーブルのアウトラインを描く。
図10B】態様を使用してシミュレーションすることができる様々な剛性を有するケーブルのアウトラインを描く。
図10C】態様を使用してシミュレーションすることができる様々な剛性を有するケーブルのアウトラインを描く。
図11A】本発明の態様を使用してシミュレーションされ得る様々な製造リソース構成を例示する。
図11B】本発明の態様を使用してシミュレーションされ得る様々な製造リソース構成を例示する。
図11C】本発明の態様を使用してシミュレーションされ得る様々な製造リソース構成を例示する。
図11D】本発明の態様を使用してシミュレーションされ得る様々な製造リソース構成を例示する。
図11E】本発明の態様を使用してシミュレーションされ得る様々な製造リソース構成を例示する。
図11F】本発明の態様を使用してシミュレーションされ得る様々な製造リソース構成を例示する。
図11G】本発明の態様を使用してシミュレーションされ得る様々な製造リソース構成を例示する。
図12】態様に係る製造リソースをシミュレーションするためのコンピュータシステムの単純化されたブロック図である。
図13】本発明の態様が実装され得るコンピュータネットワーク環境の単純化されたブロック図である。
【発明を実施するための形態】
【0019】
例示的な態様の説明は、以下の通りである。
【0020】
製造リソースシミュレーション中のフレキシブルケーブルを有する製造リソースのモデル化およびモーション予測は、非常に難しい。シミュレーション中、リソース(たとえば、ロボットまたは機械)のモーション挙動は、ロボット標的位置および軸スピードのための知られているモーショントラジェクトリアルゴリズムおよびプランニングと組み合わせて、ロボットリンク機械軸の寸法および位置合わせに関する運動学に純粋に基づいて正確に予測することができる。
【0021】
しかし、そのようなロボットまたは機械に取り付けられたケーブルについては、ケーブルの位置および形状(すなわち3D空間内の場所)の予測は、運動学に限定されない。そうではなく、ケーブルの位置および形状を決定することは、(1)ケーブルの位置に起因する慣性および重力効果、(2)初期ケーブル形状、(3)ケーブル端のモーションの履歴、スピード、および加速度、ならびに(4)ケーブルを駆動している製造リソースの運動学的な動きに基づくケーブル制約アタッチメントと共に、ケーブル特性を含むケーブル動力学的性質のモデル化およびシミュレーションを必要とする。さらに、ケーブルのシミュレーションは、ケーブルと、ケーブルが使用されている環境、たとえば環境内の障害物との間の動的な接触の効果を含むことを必要とする。たとえば、ケーブルがロボットアームの上部で静止している、またはワークセル備品を押圧しているとき。
【0022】
そのようなケーブルシミュレーションのための挑戦課題は、ケーブル動力学的性質の従来の数学的モデルが、シミュレーションを非インタラクティブなものに、また(プロセッサー時間、ワーキングメモリなどにおいて)計算コストの高いものにする非常に計算集約的なアルゴリズムを必要とすることである。これは、既存の方法が反復的なシミュレーションおよび最適化で使用されることを妨げる。さらに、既存の方法の計算集約的なアルゴリズムは、ユーザーが動作条件および手順を用いて実験すること、すなわちインタラクティブなシミュレーションを実施することを妨げる。これは、製造リソースをシミュレーションするためのユーザー体験はそのようなインタラクションを可能にするべきであるため問題である。製造リソース、たとえばロボットをシミュレーションするシミュレーションエンジニアは、しばしば、シミュレーションソフトウェアにおける製造プロセスプランを微調整するようにロボット標的およびロボットモーションプログラムをリアルタイム修正する。ケーブルを有する製造リソースをシミュレーションするための既存の方法は、微分方程式のセットを使用してケーブルを単一のチューブとしてモデル化するなど計算集約的な方法に依拠しているので、既存の方法は、そのようなリアルタイム修正を容易にすることができない。また、ケーブルは製造リソースの連続的なモーションの間に環境内の障害物と接触するので、従来の方法は、ケーブルの常に変化する複雑かつ予測不可能な形状を正確に示すことが困難である。
【0023】
本発明の実施形態は、製造リソースアプリケーションのためのフレキシブルケーブルシミュレーション、またはケーブルを含む任意の他のシミュレーションを仮想化するための新しい手法を提供することによって、これらの問題を解決する。実施形態は、障害物接触および貫通回避のための非零衝突寸法を有する点質量のポリラインとしてフレキシブルケーブルをモデル化およびシミュレーションする。そのようなポリライン手法は、製造リソースと共に使用されるフレキシブルケーブル束の動的な挙動の既存のシミュレーションに比べて、実質的な計算性能の改善と、障害物接触ベースの形状予測とを提供する。実施形態は、インタラクティブなシミュレーションを可能にし、製造リソースの動きおよびアクションを微調整および最適化するためにユーザーが動作条件を変更することを可能にする。さらに、実施形態は、反復的な最適化方法が、所望の目標を達成し、一方、特定の制約および性能パラメータを満たす動作条件およびプランを自動的に決定するために使用されることを可能にする。
【0024】
実施形態は、ケーブルを表現するために新規のポリラインモデルを実装することによってこれらの改善を提供する。既存のポリラインモデルは不十分である。なぜなら、既存のポリラインモデルは、有用な予測製造シミュレーションを実装するために必要である、ケーブル剛性ベースの形状の考慮を含まず、張力および障害物衝突挙動を含まないからである。本発明の実施形態は、ケーブル弾性、およびポリラインモデルに沿った点質量の非零衝突寸法と共に、新しい概念的な仮想形状化剛性(new conceptual virtual shaping stiffness)を含む革新的な手法を実装する。ケーブルを表現するためにそのようなポリラインモデルを実装することにより、実施形態は、ケーブルの現実的な挙動をシミュレーションする際に、また製造アプリケーションのためのケーブル形状を予測するために非常に効果的かつ効率的であり、一方、インタラクティブなシミュレーションを可能にする性能をも提供する。
【0025】
本発明の実施形態によって実装される新しい仮想化ケーブルモデル化手法は、既存のシミュレーション方法に勝る劇的な改善を提供する。具体的には、実施形態は、ロボットおよび機械など製造リソースの運動学的な動きの状況において、フレキシブルケーブル挙動モデル化およびシミュレーションのためのより計算効率的な手法を提供する。実施形態は、ケーブルの現実的な形状、およびケーブルとシミュレーションされるワークセル環境内のオブジェクトとの間の正しい衝突挙動および貫通回避挙動を決定しながらこの機能性を提供する。したがって、実施形態は、ケーブル、たとえばフレキシブルケーブル束ホースの動力学的性質と共に製造リソースの運動学を含み、非常に現実的な結果を決定し、一方、依然としてインタラクティブなユーザー体験を可能にする製造シミュレーションを提供する。
【0026】
図1は、ケーブルを含む製造リソースをシミュレーションするための方法100のフローチャートである。方法100は、コンピューターメモリー内でケーブルのポリラインモデルを作成する(101)ことによって始まる。ステップ101で作成されたポリラインモデルは、ケーブルを表現する点の集まりから構成される。一実施形態によれば、ステップ101でモデルを作成することは、ポリラインの長さがケーブルの指定された長さに対応し、ポリラインの初期形状が指定された終点で終了する単純な放物線であるように、3次元空間内の点の集まりをケーブルのモデルとして定義することを含む。さらに、一実施形態では、ポリラインモデルは、ステップ101で、当技術分野で知られている原理に従って作成されてもよい。次いで、方法100を続行して、ステップ101で作成されたポリラインモデルは、本明細書に記載のように修正される。方法100のそのような実施形態では、ステップ101で最初に作成されるモデルは、当技術分野で知られているポリラインモデルであり、そのモデルは、本明細書に記載の本発明の実施形態を実装する新規のポリラインモデルを作成するように修正される。
【0027】
次に、ステップ102では、ステップ101で作成されたモデルの点の集まりの各点について、点質量が点に関連付けられ、零質量球が点に関連付けられ、弾性およびねじり剛性が点と、隣接する任意の1つまたは複数の点との間に割り当てられる。したがって、ステップ102の機能性により、ステップ101で作成されたモデルの各点は、関連付けられた点質量、関連付けられた零質量球、および点と、隣接する任意の点との間の定義された弾性およびねじり剛性を有するようになる。また、方法100の一実施形態は、ステップ102で外部の重力加速度を点の集まりの各点質量に関連付ける。典型的には、ポリラインモデルでは、モデルを構成する点は、単に点である。したがって、これらの点は、密度も剛性も有していないことになる。ステップ102で点質量および零質量球を各点に関連付け、各点について弾性およびねじり剛性を割り当てることにより、実施形態は、シミュレーションされる実世界ケーブルの密度、剛性、および寸法を、ポリラインモデルの点のパラメータの等価なセットにマッピングする。ケーブルの実世界特性を点のパラメータ(点質量、零質量球、弾性、およびねじり剛性)にマッピングすることにより、ポリラインモデルは、実世界ケーブルと一致する物理的性質ベースの挙動を示す。
【0028】
一実施形態によれば、ステップ102では、点質量、零質量球、ならびに弾性およびねじり剛性のインジケーションが各点についてメモリーに記憶される。したがって、「設定」(点質量、零質量球、弾性、およびねじり剛性)は、ステップ102で各点についてメモリーに記憶させることができる。一実施形態では、これらの特性(点質量、零質量球直径、弾性、およびねじり剛性)は、各点に関連付けられたメタデータ特徴となり得る。そのような実施形態では、ステップ102で、これらのメタデータ特徴のための値が設定される。また、方法100の別の例示的な実施形態は、ステップ102で外部の重力加速度を点の集まりの各点質量に関連付ける。一実施形態によれば、零質量球の直径は、シミュレーションされるケーブルの直径に対応する、すなわち等しい。
【0029】
方法100の一実施形態によれば、ステップ102で各点に割り当てられた弾性は、図5および図7に関連して下記に記載されている弾性である。さらに、方法100の実施形態では、各点と、隣接する任意の点との間に割り当てられたねじり剛性は、図6および図8に関連して下記に記載されている特性である。ステップ102で弾性およびねじり剛性力を点に追加することにより、方法100は、ポリラインモデルの各点の加速度の一因となる追加の力を追加している。
【0030】
続行して、ステップ103では、ケーブルを表現する点の集まりの始点および終点の位置および向きが、時間ステップの終わりにおける製造リソースの3次元空間内の位置に基づいて定義される。一実施形態によれば、ケーブルのポリラインモデルの始点および終点の位置および向きを定義することは、ポリラインモデルの始点および終点の位置および向きのインジケーションを記憶することを含む。一実施形態では、始点および終点は、ケーブルが製造リソースに取り付けられる点である。このようにして、ステップ103で、ケーブルと製造リソースそれ自体との間の関係、すなわち取付けの点が設定(定義)される。ステップ103で始点および終点の位置および向きを定義することに加えて、製造リソースに取り付けられるポリラインモデルの任意の点の位置および向きがステップ103で定義されてもよい。
【0031】
続行して、ステップ104では、その時間ステップについてケーブルのシミュレーションが実施される。ステップ104でシミュレーションを実施することは、点の集まりの各点に対する力を計算することを含む。これらの力は、ステップ104で、(i)関連付けられた点質量、(ii)関連付けられた零質量球、(iii)点と隣接する点との間の割り当てられた弾性およびねじり剛性、ならびに(iv)点の集まりの始点および終点の定義された位置および向き、を使用して計算される。ステップ104で力を計算することに加えて、ステップ104でシミュレーションを実施することは、計算された力に基づいて時間ステップの終わりにおけるケーブルを表現する点の集まりの各点の3次元空間内の位置を決定することを含む。
【0032】
一実施形態では、ステップ104で計算される力は、各点に対する重力、各点に対する弾性力、各点に対するねじり等価力対、各点における各零質量球と障害物との間の衝突力のうちの少なくとも1つを含む。一実施形態によれば、これらの力は、ステップ104で、図7および図8に関連して下記に記載されている機能性を使用して計算される。一実施形態によれば、球は、ケーブルの外径を表現し、したがって、点と任意のオブジェクトとの間の衝突をチェックするために使用される。
【0033】
ステップ104でシミュレーションを実施することは、計算された力に基づいて時間ステップの終わりにおけるケーブルを表現する点の集まりの各点の3次元空間内の位置を決定する。例示的な一実施形態では、ステップ104で、計算された力に基づいて位置を決定することは、時間ステップの終わりにおける各点の3次元空間内の位置を決定するために、各点に対する力の組合せのために加速度および速度を積分することを含む。一実施形態によれば、各点質量に対する加速度は、ステップ104において計算されたその点に対する全部の力をその点の質量値で割ったものに等しい大きさのベクトルである。一実施形態では、各点についての位置は、ステップ104で、ポリラインの各点について速度ベクトルを計算するように、シミュレーション時間ステップの期間の間、この加速度ベクトルを積分することによって決定される。次いで、速度ベクトルは、ポリラインの各点について位置ベクトルを計算するために、シミュレーション時間のこの同じ期間の間、積分される。ポリライン点について得られるベクトル位置の集まりは、時間ステップの終わりにおける各点の3次元空間内の位置を指定する。
【0034】
方法100の別の実施形態は、環境の特徴およびシミュレーションのパラメータを示すユーザー入力を受け取ることを含む。実施形態では、ユーザー入力は、図4に関連して下記に記載されているグラフィックユーザインターフェースなど、当技術分野で知られている任意の方法を介して提供されてよい。一実施形態によれば、ユーザー入力は、ケーブル長さ、ケーブル終点、ケーブルを表現するためのいくつかの点、ケーブル密度、ケーブルの剛性、ケーブルの初期形状、およびケーブル直径のうちの少なくとも1つを示す。そのような実施形態は、受け取られたユーザー入力に基づいて、ステップ101でケーブルのポリラインモデルを作成しても、ステップ102でケーブルのモデルを修正してもよい。
【0035】
たとえば、例示的な一実装では、ステップ102で各点に関連付けられた点質量は、ケーブル密度を示す受け取られたユーザー入力に基づく。そのような一実施形態によれば、シミュレーションされるケーブルの密度は、ステップ102で各点に関連付けられた質量値にマッピングされる。別の実施形態では、ユーザー入力は、剛性を0から100のパーセンテージとして示す。この剛性は、一実施形態において、ユーザー剛性入力を、50%設定に対応する典型的なロボットドレスアップケーブルのための値と比較することによって、点間の等価点質量値および等価ねじりばね定数を決定するために使用される。0%のユーザー設定は、等価ねじりばね定数が零の値になることを暗示し、100%のユーザー設定は、等価ねじりばね定数値が50%設定のものの2倍になることを暗示する。別の例示的な実施形態では、ケーブル直径についてのユーザー入力は、ステップ102で各点に関連付けられた零質量球の直径を決定するために使用される。たとえば、ケーブルの直径についてのユーザー入力は、ステップ102で各点に関連付けられた球の直径となるように設定される。このようにして、方法100の実施形態は、ケーブルのポリラインモデルの特性を決定するために、実世界ケーブルの物理特性をとる。
【0036】
ステップ103では、方法100の一実施形態によれば、時間ステップの終わりにおける製造リソースの3次元空間内の位置が決定される。本明細書に記載のように、実施形態は、時間ステップについてケーブルをシミュレーションする。そうするために、ステップ103は、製造リソースに取り付けられる点が、シミュレーションされる時間ステップの終わりにどこになるか定義する。これらの位置および向きは、製造リソースの物理的性質の積であるためステップ103で設定される。そのような実施形態では、製造リソースまたはロボットのモーション、たとえば運動学的な動きは、ケーブルの物理的性質に影響を及ぼすが、ケーブルの物理的性質は、製造リソースの運動学的な動きに影響を及ぼさない。方法100の一実施形態は、製造リソースをシミュレーションすることによって、時間ステップの終わりにおける製造リソースの3次元空間内の位置を決定する。一実施形態は、製造リソースをシミュレーションするために、当技術分野で知られている技法を使用して製造リソースをシミュレーションする。そのようなシミュレーションの結果は、時間ステップの終わりにおけるロボットの3次元空間内の位置(および向き)であり、この結果は、ステップ103で、点の集まりの始点および終点(または製造リソースに取り付けられる任意の他の点)の位置および向きを定義するために使用される。一実施形態は、製造リソースのモデル、製造リソースの運動学、製造リソースのためのモーションプランニング、および製造リソースの動作環境内の1つまたは複数の障害物のモーションのうちの少なくとも1つを使用して製造リソースの位置を決定する。別の実施形態では、ステップ103で使用される製造リソースの3次元空間内の位置は、製造リソースのモデルまたはユーザー入力の設定に基づく。
【0037】
始点および終点の位置および向きは、関連付けられた製造リソース、たとえばロボットまたは機械上の取付け点の運動学的な動きに基づいて設定される。一実施形態によれば、シミュレーションされる時間ステップにおける関連付けられた製造リソースの位置および向きは、製造リソースのための制御プログラムによって駆動されるその特定のリソースの運動学およびモーションプランニングに基づいて計算される。したがって、製造リソースの位置および向き、ならびにケーブルがリソースに取り付けられる製造上の点を、ステップ103で決定し、ケーブルの始点および終点、または製造リソースに取り付けられるケーブルの任意の他の点の位置および向きを設定するために使用することができる。一実施形態によれば、ロボットリソースのモーションは、その駆動制御プログラムにおいて指定されたその特定のロボットリソースの運動学的定義およびモーションプランニングアルゴリズムに基づいて、シミュレーションの各時間ステップにおけるそのロボットリソースの各剛体リンクの位置および向きによって定義される。シミュレーション時間ステップにおける製造リソースのリンクの位置の結果的な変化が決定され、これは、ケーブルの端部取付け部の変化した位置、およびステップ103で定義されるロボットリソースに対する制約接続を通じてケーブルに影響を及ぼす。したがって、時間ステップの終わりにおける新しい位置への製造リソースのモーションは、(ステップ103で定義された)ポリラインモデルに対する変化をもたらし、最終的に、ステップ104で更新された力が決定される。
【0038】
方法100は、全体的な製造環境、たとえばワークセル環境をシミュレーションするために使用することができる。したがって、実施形態では、製造リソースのモデル(その位置がステップ103で使用される)は、製造リソース、および製造リソースが動作するワークセル環境を表現することができる。そのようなモデルは、製造リソース、たとえばロボット、作業を受けるオブジェクト、環境内の障害物、およびワークセル環境内の任意の他のオブジェクトを含み得る。このようにして、方法100は、実世界環境内の製造リソースをシミュレーションするために使用することができる。製造リソースのモデルは、当技術分野で知られている任意のコンピュータベースのモデルであってよい。
【0039】
方法100はステップ104でケーブルの各点の3次元空間内の位置を決定するので、ステップ104でのシミュレーションは、時間ステップ、すなわちある期間について実施されることに留意されたい。典型的には、時間ステップは、シミュレーションされるイベントの時間の数分の一である。例示すると、車を溶接するロボットがシミュレーションされており、溶接プロセスは完成するまでに5分かかる場合、全体的なプロセスを、それぞれ1秒の10分の1の、500時間ステップでシミュレーションすることができる。したがって、方法100は、ステップ104の後、次の時間ステップおよび任意の数の所望の時間ステップについて、ケーブルを含む製造リソースをシミュレーションし続けてもよい。一実施形態では、時間零ステップに続く各時間ステップにおいて、方法100の始まりにおけるケーブルの形状は、前の時間ステップの終わりにおける各ケーブルポリライン点の3次元空間内の位置に対応することになる。
【0040】
そのような実施形態は、シミュレーションされる次の時間ステップについてポリラインモデルを更新する。次いで、次の時間ステップについてのケーブルのシミュレーションが実施される。これは、(a)関連付けられた点質量、(b)関連付けられた零質量球、(c)点と隣接する点との間の割り当てられた弾性およびねじり剛性、ならびに(d)更新されたポリラインモデルを使用して、次の時間ステップについての点の集まりの各点に対する力を計算することを含む。次の時間ステップについてのこのシミュレーションは、更新されたポリラインモデルを使用して計算された力に基づいて次の時間ステップの終わりにおけるケーブルを表現する点の集まりの各点の3次元空間内の位置を決定することをも含む。この機能性は、任意の数の時間ステップについて繰り返されてよい。たとえば、方法100は、シミュレーションされる動作、すなわちタスクを実施するためにかかる期間の時間ステップごとに製造リソースおよびケーブルをシミュレーションし続けてもよい。
【0041】
一実施形態によれば、ポリラインモデルを更新することは、前の時間ステップ、すなわちシミュレーションされる時間ステップの直前の時間ステップの終わりにおける点の集まりの各点の3次元空間内の決定された位置に基づいて、各点の位置を更新することを含む。一実施形態では、ポリラインモデルを更新することは、次の時間ステップの終わりにおける製造リソースの3次元空間内の位置に基づいて、ケーブルを表現する点の集まりの始点および終点の位置および向きを更新することを含み得る。そのような実施形態は、製造リソースをシミュレーションすることによって次の時間ステップの終わりにおける製造リソースの3次元空間内の位置を決定することをさらに含み得る。一実施形態では、製造リソースは、製造リソースのモデル、製造リソースの運動学、製造リソースのためのモーションプランニング、および製造リソースの動作環境内の1つまたは複数の障害物のモーション(または位置)のうちの少なくとも1つを使用してシミュレーションされる。一実施形態によれば、製造リソースのプランニングされた運動学的な動きは、シミュレーションされる時間ステップの終わりにおける製造リソースの位置を決定するために使用される。一実施形態では、製造リソースのプランニングされた運動学的な動きは、そのリソースの運動学およびモーションプランニングに基づいて計算され製造リソースのための制御プログラムによって駆動されるシミュレーションの各時間ステップにおける製造リソースの位置および向きを指す。さらに別の実施形態では、更新することは、次の時間ステップについての製造リソースのプランニングされた運動学的な動きおよび製造リソースの動作環境内の1つまたは複数の障害物のモーションに基づいて製造リソースのモデルを更新することを含む。
【0042】
ステップ104で実施されたシミュレーションの結果は、実世界環境を修正するために使用することができる。たとえば、結果、たとえば決定された位置は、他の例の中でもとりわけ製造リソース、ケーブル、製造リソースが動作する環境、および製造リソースの動作を修正するために使用することができる。例示すると、ステップ104で決定された位置から、ケーブルの剛性を考えるとケーブルはその時間ステップ中にロボットと衝突することが識別され得る。この決定の結果として、ケーブルの剛性がシミュレーションにおいて更新されてもよく、ケーブルとロボットがもはや衝突しないと決定するためにシミュレーションが実施されてもよい。実世界環境では、ケーブルに、シミュレーションで決定されたものと同じ剛性をもたせることができる。同様に、シミュレーションは、衝突を回避するように、ロボットの代替の動きまたは動作を決定してもよい。さらに、方法100は、ユーザーによって設定されたパラメータに従って最適化されるロボット、ケーブルおよび環境の最適な特性を決定するために、反復的に実施することができる。たとえば、1つのそのような例は、製造リソースと衝突しない(コストを最小限にするように)最小のケーブル直径を決定してもよい。方法100は、最小のケーブル直径が決定されるまで、様々なケーブル直径で実施することができる。
【0043】
以下、一実施形態による製造リソースをシミュレーションする例示的な一実装のステップ(1~12)について記載されている。しかし、本発明の実施形態は、下記の実装に限定されないことに留意されたい。たとえば、実施形態は、他の変形形態の中でもとりわけ、より多くの、またはより少ないステップを含んでもよく、これらのステップは、記載のものとは異なる順序で実行されてもよく、ステップは、同時に実行されてもよい。
【0044】
ステップ1
実施形態は、ケーブルを含む製造リソースをシミュレーションする。図2は、実施形態を使用してシミュレーションすることができるケーブル221を含む製造リソースの3Dモデル220を示す。図2は、例示的なモデル220を示すが、実施形態は、当技術分野で知られている任意のコンピュータベースのモデルと共に動作することができる。さらに、実施形態で使用されるモデルは、任意のオブジェクトを表現することができる。したがって、実施形態は、ケーブル、たとえばケーブル221を含む任意のオブジェクトをシミュレーションするために使用することができる。
【0045】
モデル220は、実施形態において、モデル220が表現する製造リソースの挙動をシミュレーションするために使用され得る例示的なCADモデルである。モデル220を使用する製造リソースのシミュレーションは、タスク、たとえば車を組み立てることを実施しながらの、モデル220およびケーブル221によって表現されるリソースの動きを決定することができる。さらに、シミュレーションの結果は、製造リソースの実世界動作のための動作制御およびプログラミングを作成するために使用することができる。
【0046】
ステップ1においてモデル、たとえばモデル220によって表現されるオブジェクトをシミュレーションするために、一実施形態は、ユーザー入力に基づいて、ケーブル、たとえばケーブル221のための3D数学的ポリラインモデルを作成する。ケーブルのモデルは、取付けの物理的性質によって制約される点の集まりである。ケーブルのモデルを作成するために使用され得るユーザー入力は、長さ、区切りの数、および初期形状など、ケーブルの任意の特徴を含み得る。図3は、ケーブルを表現する一実施形態による、製造リソースのCADモデル330、および3D数学的ポリラインモデル331を示す。
【0047】
上記のように、実施形態は、ケーブルを表現するポリラインモデルを作成し、ポリラインモデルは、ユーザー入力に基づいて作成され得る。図4は、実施形態において、ユーザーがケーブルのポリラインモデル、たとえばモデル331を作成するために仕様441および制約442を提供することを可能にするように実装することができるユーザインターフェース440を示す。ユーザーは、ケーブルの開始場所443a、停止場所443b、長さ444、直径445、区切り446、すなわちポリラインモデル内で使用するための点の数、密度447、および剛性448を提供することができる。一実施形態では、ケーブルの制約442は、実世界機械、たとえばロボット上の実際のケーブル構成に合致するような、ケーブルが製造リソースに取り付けられるケーブルの長さに沿った場所である。
【0048】
ステップ2
続行して、点の集まりを含むポリラインモデルを作成した後、非零密度の仮想点質量がポリラインモデルの各点に割り当てられる。一実施形態では、点質量の質量および密度は、ユーザー入力に基づく。さらに、一実施形態では、点質量の質量および密度は、シミュレーションされる実世界ケーブルの特性、たとえば材料に基づく。
【0049】
ステップ3
次に、零質量球がポリラインモデルの各点に関連付けられる。一実施形態によれば、ポリラインモデルの各点に関連付けられた零質量球は、シミュレーションされるケーブルと同じ直径を有する。実施形態では、非限定的な例として、直径情報がユーザインターフェース440などを介してユーザーから受け取られてもよい。球をケーブルと同じ直径に関連付けることによって、実施形態は、ケーブルとオブジェクトとの間の起こり得る衝突を識別することができる。環境内のケーブルとオブジェクトとの間の衝突は、一実施形態において、製造シミュレーションシステムの一部である標準的な技術を使用して決定されてよい。一実施形態によれば、そのような製造シミュレーションシステムは、オブジェクト間の最小距離テストのための内蔵ユーティリティを呼び出すことによってケーブル衝突をチェックする。一実施形態では、このテストは、各時間ステップにおいて、各球について、各ポリライン点において実施され、このテストは、シミュレーションされた製造ワークセル内のすべての潜在的な衝突オブジェクトに照らして各球をチェックする。任意の球についての任意の他のオブジェクトに対する最小距離が零または負である場合、これは、最小距離ユーティリティによって返される深さおよび向き情報と共にケーブル点における衝突を暗示することになる。
【0050】
ステップ4
続行して、ポリラインモデルは、製造リソースのモデルからのケーブル端位置および向きを、ポリラインモデル開始および終点場所および方向と関連付けることによって強化される。換言すれば、ステップ4では、ケーブルが製造リソースモデルに取り付けられる3D空間内の場所が(製造リソースのモデルのユーザー入力または設定から)知られ、または(たとえば、シミュレーションを実施することによって)決定され、ポリラインモデルの始点および終点は、これらの開始場所および終了場所を3D空間内に有するものとして割り当てられる。このようにして、各時間ステップにおける製造リソースの運動学的な動きがケーブル終点場所および向きの適切な変化に関連付けられるように、ケーブルのモデルが、製造リソースのモデルに関連付けられる。一実施形態では、ケーブルの長さに沿った任意選択の制約点(たとえば、ケーブルとロボットとの間の別の取付け点)と、関連の製造リソースのモーションとの間に、やはり同様の関連付けがある。
【0051】
ステップ5
ステップ5では、ポリラインモデルの各点質量が外部の重力加速度に関連付けられる。一実施形態によれば、外部の重力加速度は、シミュレーションされる製造リソースワークセルの物理世界座標の垂直方向に従って各点において下向きに働く。
【0052】
ステップ6
ステップ6では、仮想弾性、すなわち線形弾性が、ポリラインモデルの各区切り、すなわち互いにすぐ横の(隣接する)点間に割り当てられる。換言すれば、ステップ6では、隣接する点間の弾性制約が、これらの点間で仮想弾性力を生成するようにセットアップされる。このようにして、点間の相互作用を定義する点に、制約が適用される。
【0053】
上記のように、実施形態では、ケーブルを表現するポリラインモデルは、点の集まりである。ステップ6では、点間の関係を支配する特性、すなわち弾性が設定される。図5は、一実施形態によるケーブルモデル550におけるこの弾性特性の概念図である。ケーブルモデル550は、3つの点551a~cから構成されるポリラインモデルである。ステップ6では、各点551a~c間の弾性力552a~dが定義される。このようにして、仮想ばね力が隣接する点間に作成される。この力は、ケーブルの挙動を定義するために使用されるコンストラクト/近似値であるが、シミュレーションされる実世界ケーブルの物理的性質に必ずしも基づかないので仮想と呼ばれる。換言すれば、微分方程式はケーブルの正確な物理特性に基づき得るが、微分方程式を使用するのではなく、実施形態は、挙動をシミュレーションするために仮想の力を利用する。
【0054】
例示すると、点551aには、点551aと、隣接する点551bとの間のばね力553aの一因となる弾性力552aが割り当てられる。点551bは、点551aおよび点551cの両方に隣接する。したがって、弾性力552b(ばね力553aの一因となる)は、点551bに割り当てられ、弾性力552c(ばね力553bの一因となる)は、点551bに割り当てられる。点551cには、点551cと、隣接する点551bとの間のばね力553bの一因となる弾性力552dが割り当てられる。
【0055】
弾性力552a~dに加えて、追加の力がポリラインモデル550の点551a~cに関連付けられてもよい。たとえば、モデル550では、近接弾性力554aおよび弾性力554bが、それぞれ点551aおよび点551cに割り当てられる。これらの追加の弾性力は、点551aと点551aの前の点との間のばね力、および点551cと点551cの後の点との間のばね力が、それら自体の線形弾性パラメータに基づいて一因となる弾性力である。さらに、各点551a~cは、点551a~cに対する重力の力を表現する、関連付けられた重力555a~cを有する。また、図5は、点551a~cにそれぞれ関連付けられる零質量球557a~cを示す。また、各点551a~cは、関連付けられた外部の衝突力556a~cを有してもよい。一実施形態によれば、衝突力556a~cは、点551a~cに関連付けられた零質量球557a~cが、シミュレーション中、何らかの時間ステップにおいて環境内の何らかのオブジェクトと偶然衝突した場合、これらの点551a~cに適用される仮想の力である。衝突力556a~cの方向は、接触点における球557a~cの表面に対して垂直である。衝突力556a~cの大きさは、シミュレーションのその時間ステップにおける衝突オブジェクトとの貫通の深さに比例する。衝突力556a~cの大きさを計算するときの比例定数は、ケーブルの線形弾性パラメータの値と同じである。
【0056】
ステップ7
ステップ7では、仮想ねじり剛性が、ポリラインモデルの隣接するポリライン区切りの各対、すなわち互いにすぐ横の(隣接する)点間に割り当てられる。換言すれば、ステップ7では、隣接する点間のねじり剛性制約が、これらの点間で仮想のねじりの力を生成するようにセットアップされる。このようにして、ポリラインモデルの点間の相互作用をさらに定義する別の制約が点に適用される。
【0057】
上記のように、ポリラインモデルは、ケーブルを表現する点の集まりである。ステップ7では、点間の関係の別の特性、具体的にはねじり剛性が設定される。図6は、一実施形態によるケーブルモデル660におけるねじり剛性の概念図である。ケーブルモデル660は、3つの点661a~cから構成される。ステップ7では、各点661a~c間のねじり剛性が定義される。また、図6は、点661a~cにそれぞれ関連付けられる零質量球667a~cを示す。
【0058】
例示すると、モデル660では、ねじり力662aを点661aに、またねじり力662bを点661bに割り当てることによって、点661aと点661bとの間にねじり等価力対が設定される。さらに、近接ねじり力663a~bが点661aに割り当てられる。これらの追加のねじり力663a~bは、点661aと点661aの前の点との間の力対が一因となる力である。このようにして、ねじり力662aおよびねじり力663a~bは、この革新的な新しい手法で、点661aに対する仮想のばねのねじり664aの物理的性質を効果的に再現することができる。
【0059】
上記のように、ねじり力662aを点661aに、またねじり力662bを点661bに割り当てることによって、点661aと点661bとの間にねじり等価力対が設定される。さらに、点661bもまた点661cに隣接しており、ねじり力662cを点661bに、またねじり力662dを点661cに割り当てることによって、点661bと点661cとの間にねじり等価力対が設定される。点661bについては、点661bに関連付けられたねじり力662b~cは、この革新的な新しい手法で、仮想のばねのねじり664bの物理的性質を効果的に再現することができる。
【0060】
ねじり力662dを点661cに、またねじり力662cを点661bに割り当てることによって、点661cと点661bとの間にねじり等価力対が設定される。また、点661cには、近接ねじり力663c~dが割り当てられる。これらの追加のねじり力663c~dは、点661cと点661cの後の点、すなわち図6に示されていない点661cに隣接する他方の点との間の力対が一因となる力である。点661cについては、ねじり力662dおよびねじり力663c~dは、この革新的な新しい手法で、点661cに対する仮想のばねのねじり664cの物理的性質を効果的に再現することができる。
【0061】
ステップ8
ステップ8では、各点についての力が、各点の点質量、各点の零質量球、およびケーブルの現在の形状に基づいて計算される。一実施形態によれば、ステップ8において各点についての力を計算することは、(1)点質量に対する仮想重力を計算すること、(2)点質量の直接隣にあるものの位置に基づいて点質量に対する仮想弾性力を計算すること、(3)以前、現在、および次の仮想点質量の位置に基づいて点質量に対する仮想ねじり等価力対を計算すること、および(4)その点の零質量球と、ロボット製造リソースならびにワークセル環境との間の起こり得る衝突力を計算することを含む。次いで、以下のようにF=ma手法を使用して、力から点の加速度を決定することができる。一実施形態によれば、点質量に対する結果的に得られる加速度は、その点に対する上記の力のすべての総和をその点の質量値で割ったものに等しい大きさのベクトルである。加速度の計算に対するこの非常に効果的な手法は、零質量衝突球と共に零直径点質量を有するケーブルをモデル化するという革新的な手法によって可能にされる。この手法における零直径点質量は、慣性モーメントを有しておらず、したがって、システムの物理的性質は、純粋に点の集まりの線形速度および加速度からなり、角速度および角加速度を説明するために必要とされる追加の複雑さおよび計算を必要とすることがない。
【0062】
一実施形態によれば、これらの力は、図7および図8に関連して下記に記載されている機能性に従って計算される。
【0063】
ステップ8で実施され得る動作は、点質量に対する仮想弾性力を計算することである。図7は、一実施形態によるケーブルモデル770の点質量771aに関連付けられた弾性力772a~dを計算する一例を示す。モデル770では、点質量771aと点質量771bとの間のデフォルトのポリライン距離の変化に比例する、点質量771aと点質量771bとの間の仮想ばね力774aがある。同様に、点質量771aと点質量771cとn間のデフォルトのポリライン距離の変化に比例する、点質量771aと点質量771cとの間の仮想ばね力774bがある。実施形態では、ばね力774a~bは、弾性力の対として表されており、各対の1つの弾性力は、それぞれの点質量に対するものである。一実施形態によれば、力対は、大きさが等しく、隣接する点間の向きに位置合わせされた3Dベクトル方向が反対であり、対の1つの力は、隣接する点の対のそれぞれに適用される。力の大きさを計算するときの比例定数は、ケーブルの線形弾性パラメータの値と同じである。図7では、ばね力774aは、弾性力772a~bの対として表されており、弾性力772aは点質量771bに関連付けられ、弾性力772bは点質量771aに関連付けられる。さらに、ばね力774bは、弾性力772c~dの対として表されており、弾性力772cは点質量771aに関連付けられ、弾性力772dは点質量771cに関連付けられる。モデル770では、これらの弾性力対は、各対応する点球に適用される。したがって、図7では、力772bおよび力772cは、点771aに適用される。このようにして、実施形態は、点771aに対するばね力774a~bを作成する。一実施形態によれば、力772a~dは、湾曲していることがあるケーブル770の長さに沿って完全3Dで計算される。これは、772a~bおよび772c~dなど各力対が、隣接する点の3Dにおける場所に基づいて3Dでのベクトル方向を有することを暗示し、これらの場所は、シミュレーション時間ステップごとに、そのシミュレーションステップにおける点質量ポリラインの現在の3D形状に基づいて再計算されることになる。
【0064】
ステップ8で実施され得る別の動作は、点と隣接する点との間のねじり剛性に基づいて、その点に対するねじり力を計算することである。一実施形態によれば、点に対する、剛性によって誘導されるねじりモーメントは、この革新的な新しい手法で、ポリラインモデルの点に対するねじり等価力の対によって効果的に再現することができる。図8は、一実施形態によるケーブルモデル880の一部である点881aに対するねじりモーメント883を計算する一例を示す。モデル880については、各球881a~cは、各点質量と近接点質量との間の初期の零度直線位置合わせからの3D角度の変化に比例する仮想ねじりを生成する。ねじりモーメントの大きさを計算するときの比例定数は、ケーブルのねじり剛性パラメータの値と同じである。たとえば、図8では、点質量881aと、近接点質量881bおよび点質量881cとの間のねじりモーメント883は、所望のねじりモーメント883が力884aまたは力884bの大きさを点質量881bと点質量881aとの間の距離倍したものに等しくなるように、それぞれ点質量881a~bに対する力884a~bの対として再現される。この実装では、力対884a~bは、点質量881a~bに適用することができる。具体的には、力884aは、点質量881aに適用され、力884bは、点質量881aに適用される。同様に、力884cは、点質量881aに適用され、力884dは、点質量881cに適用される。そのような実施形態については、力ベクトルは、ケーブル880の長さに沿って完全3Dで計算され得る。一実施形態によれば、ねじり等価力のベクトル方向は、点とその隣接する点との間の3Dベクトル方向に対して直交する。これは、884a~bおよび884c~dなど各力対が、隣接する点の3Dにおける場所に基づいて3Dでのベクトル方向を有することを暗示し、これらの場所は、シミュレーション時間ステップごとに、そのシミュレーションステップにおける点質量ポリラインの現在の3D形状に基づいて再計算されることになる。
【0065】
ステップ9
ステップ9は、シミュレーションの1つの時間ステップについて、前述の仮想ケーブルシステムの物理的性質(加速度および速度)を積分する。各点質量について3D加速度ベクトルを積分することにより、その点質量について3D速度ベクトルが決定され、これらの点について3D速度ベクトルを積分することは、ケーブルのこれらの点の3D位置ベクトルが決定されることを可能にする。このようにして、各点質量における力のシステムによって作り出される加速度は、各点質量についての新しい3D位置の場所に変化し、これは、時間ステップの終わりにおいて新しい仮想ケーブル形状をもたらす。加速度ベクトルおよび速度ベクトルの積分は、各シミュレーション時間ステップの持続時間について行われる。次いで、ポリライン点についての位置ベクトルの結果的に得られる集まりは、時間ステップの終わりにおける各点の3次元空間内の位置に基づいてケーブル形状を指定することが可能である。
【0066】
ステップ10
続行して、ケーブル端の位置および向きは、ステップ9中に決定された場所、およびシミュレーションの次の時間ステップのための準備中のロボット製造リソースのプランニングされた運動学的な動きに基づいて更新される。ロボット製造リソースのプランニングされた運動学的な動きは、その駆動制御プログラムにおいて指定されたその特定のロボットリソースの運動学的定義およびモーションプランニングアルゴリズムに基づいて計算されたシミュレーションの各時間ステップにおける、関連付けられたロボット製造リソースの各剛体リンクの位置および向きによって定義される。
【0067】
ステップ11
次いで、ステップ11では、それら自体のプログラムを実行していることがあり、シミュレーションされている仮想ケーブルと相互作用(たとえば、衝突または拘束)し得る機械、工具、またはリソースの追加の運動学的な動きで、シミュレーションにおける仮想ワークセル環境が更新される。
【0068】
ステップ12
ステップ12では、全体的な製造シミュレーションの持続時間の各時間ステップについて、開始から終了へ進むにつれて、ステップ8、9、10、および11が繰り返される。このようにして、そのような実施形態は、全体的な製造プロセスをシミュレーションすることができる。
【0069】
一実施形態によれば、各シミュレーション時間ステップについて、(1)純粋な運動学およびモーションプランニングに基づいて、ロボットリンクが最初に動かされ、(2)次いで、このロボットの動きは、ケーブル端位置の変化(および潜在的なケーブルの長さに沿った制約または起こり得るケーブル衝突)を暗示し、(3)変化したケーブル端位置(ならびに制約および衝突)は、ケーブルの最初の始点およびケーブルの最後の終点(および制約または衝突によって影響を受ける任意の中間ケーブル点)に対して力を生成させ、(4)これらの「外部」のケーブル取付け端力(ならびに制約力および衝突力)の組合せは、重力、線形弾性、およびねじり剛性によって生成されるケーブル「内部」の力と共に、すべて一緒に、ありとあらゆるケーブル点に対する加速度の和を作り出し、(5)各点の総3Dベクトル加速度が、1回目は3D速度を得るために、2回目は点の3D位置を決定するために2回積分される。この手法は、力ならびに加速度および速度が、慣性モーメント行列または角加速度および角速度の追加の3次元なく、3D点に制限されるので、計算量が非常に少ない。
【0070】
上記のように、実施形態は、ユーザーが、シミュレーションされるケーブルの剛性を定義することを可能にする。図9は、実施形態に従って定義される剛性を有するケーブル991を有するロボットのモデル990を示す。
【0071】
実施形態では、ケーブル剛性は、ユーザーによって指定された最小(零剛性は、カテナリ曲線に対応する)からユーザーによって指定された最大まで変わり得る。図10A~Cは、それぞれが異なる剛性を有するケーブル1011a~cを有する製造リソースのモデル1010を表す。図10Aでは、ケーブル1011aは、1012aで割り当てられた100%剛性を有する。図10Bでは、ケーブル1011bは、1012bで割り当てられた50%剛性を有し、図10Cでは、ケーブルは、1012cで割り当てられた0%剛性を有する。図10Cでわかるように、0%の剛性は、望ましいように、カテナリの形状をもたらす。
【0072】
実施形態は、インタラクティブなシミュレーション、すなわちシミュレーション条件をオンザフライでリアルタイムに変更することを可能にしながら、製造リソースに関連付けられたケーブルの物理的性質を現実的にシミュレーションする。実施形態は、製造リソースに関連付けられたケーブルについて、剛性、弾性、重力、および環境障害物衝突を正確にモデル化する。図11A~Gは、実施形態を使用してシミュレーションされ得る製造リソース1101およびケーブル1102の様々な製造リソース構成1100a~gを示す。図11Aにおける構成1100aは、開始位置におけるケーブル1102を有する製造リソース1101を示す。図11Bは、ケーブル1102を有するロボット1101が右から左へ水平にロボット工具中心点(TCP)平行移動を受けた構成1100bを示す。図11Cは、ケーブル1102を有するロボット1101が45度のロボット工具中心点回転を受けた構成1100cを示す。図11Dは、ケーブル1102を有するロボット1101が180度のロボット工具中心点回転を受けた構成1100dを示す。同様に、図11Eは、ケーブル1102を有するロボット1101が300度のロボット工具中心点回転を受けた構成1100eを示し、図11Fは、ケーブル1102を有するロボット1101が400度のロボット工具中心点回転を受けた構成1100fを示す。さらに、図11Gは、ケーブル1102を有するロボット1101が450度のロボット工具中心点回転を受けた構成1100gを示す。図11A~Gは、実施形態を使用してシミュレーションされ得る一連の動きを示す。たとえば、各構成1100a~gは、ある時間ステップ中のロボット1101を表現し、実施形態は、図11A~Gに示されている各時間ステップの終わりにおけるケーブル1102の位置を決定することができる。図11A~Gは、重力、弾性、剛性、および障害物衝突貫通回避を含む所望のケーブル挙動を示す例示的な一実施形態を示す。
【0073】
実施形態は、ケーブルをモデル化するために仮想化された慣性、剛性、減衰、および挙動間の衝突回避を有するポリラインを実装することによって、ケーブルを有するリソースの高性能な動的シミュレーションを提供する。本発明の方法およびシステムシミュレーション実施形態は、改善された計算効率、ならびに製造リソースおよび環境に対する実世界調整を可能にする結果を提供する。
【0074】
本発明の実施形態は、製造リソースアプリケーションのためにフレキシブルケーブルシミュレーションを仮想化するための新しい手法を提供する。そのようなアプリケーションでは、ケーブルは、典型的には、動くロボットに取り付けられたスポット溶接ガンなど製造リソースエンドエフェクタに電力および制御信号を搬送する電気および空気ケーブルの束を含むフレキシブルな管状ホースである。実施形態は、フレキシブルケーブルを障害物接触および貫通回避のための非零衝突寸法を有する点質量のポリラインとしてモデル化およびシミュレーションする。そのようなポリライン手法は、製造リソースと共に使用されるフレキシブルケーブル束の動的な挙動をシミュレーションするための実質的な計算性能改善を提供し、このタイプの製造シミュレーションに望ましいインタラクティブなシミュレーションを可能にする。具体的には、実施形態は、シミュレーションエンジニアが、シミュレーションソフトウェアにおける製造プロセスプランを微調整するようにロボット標的およびロボットモーションプログラムをリアルタイム修正することができる機能性を可能にする。そのようなポリラインモデルは、通常不十分である。なぜなら、既存のポリラインは、有用な予測製造シミュレーションに必要である、ケーブル剛性ベースの形状の考慮も張力および障害物衝突挙動も含まないからである。しかし、実施形態は、ケーブル弾性、およびポリラインに沿った点質量の非零衝突寸法と共に、現実的な挙動を提供する際に非常に効果的かつ効率的である新しい概念的な仮想形状化剛性を含むことによってこの問題を解決する革新的な手法を提供する。この革新的な手法を用いて、代わりにポリラインの各点におけるねじり等価力の対を生成することによって、ポリラインモデルの各点に対して予想されるねじりモーメントを再現することにより、ケーブル剛性の物理的性質がシミュレーションされる。これは、インタラクティブなシミュレーション性能を提供しながら、実施形態が製造アプリケーションのためのケーブル形状を予測することを可能にする。
【0075】
例示的な一実施形態は、ケーブルの3Dポリラインモデルを作成し、ポリラインの各点に仮想点質量を割り当てる。次いで、ユーザー入力のケーブル直径に対応する寸法を有する零質量球が各点に関連付けられる。続行して、各点質量に対する仮想重力、各点質量に対する仮想弾性力、各点質量に対する仮想ねじり等価力対、零質量球と障害物との間の起こり得る衝突力が、すべて計算される。これらの計算された力は、時間ステップについて点質量の加速度を決定するために処理され、加速度は、各点質量において力のシステムによって作り出される加速度が各点質量についての新しい3D位置の場所を決定するために使用されるように、シミュレーションの時間ステップについて2回積分される。これらの新しい場所は、シミュレーション時間ステップの終わりにおいて新しい仮想ケーブル形状をもたらす。
【0076】
図12は、本明細書に記載の本発明の任意の様々な実施形態によるケーブルを含む製造リソースをシミュレーションするために使用され得るコンピュータベースのシステム1220の単純化されたブロック図である。システム1220は、バス1223を備える。バス1223は、システム1220の様々な構成要素間の相互接続として働く。バス1223には、キーボード、マウス、タッチスクリーン、ディスプレイ、スピーカなど、様々な入力および出力デバイスをシステム1220に接続するために、入力/出力デバイスインターフェイス1226が接続される。中央処理装置(CPU)1222がバス1223に接続され、コンピューター命令を実行する。メモリー1225は、コンピューター命令を実施するために使用されるデータのための揮発性ストレージを提供する。ストレージ1224は、オペレーティングシステム(図示せず)などソフトウェア命令のための不揮発性ストレージを提供する。また、システム1220は、ワイドエリアネットワーク(WAN)およびローカルエリアネットワーク(LAN)を含む、当技術分野で知られている任意の様々なネットワークに接続するためにネットワークインターフェイス1221を備える。
【0077】
本明細書に記載の例示的な実施形態は、多数の異なる仕方で実装され得ることを理解されたい。いくつかの例では、本明細書に記載の様々な方法および機械はそれぞれ、図13に関連して下記に記載されているコンピュータシステム1220など物理的、仮想、またはハイブリッド汎用コンピューター、またはコンピューター環境1330などコンピュータネットワーク環境によって実装されてよい。コンピュータシステム1220は、たとえば、方法100を実装するソフトウェア命令を、CPU1222によって実行するためにメモリー1225または不揮発性ストレージ1224にロードすることによって、本明細書に記載の方法を実行する機械に変換されてもよい。当業者なら、システム1220およびその様々な構成要素は、本明細書に記載の本発明の任意の実施形態または実施形態の組合せを実施するように構成され得ることをさらに理解するはずである。さらに、システム1220は、システム1220に内部で、または外部から動作可能に結合されたハードウェア、ソフトウェア、およびファームウェアモジュールの任意の組合せを利用して、本明細書に記載の様々な実施形態を実装してよい。
【0078】
図13は、本発明の実施形態が実装され得るコンピュータネットワーク環境1330を示す。コンピュータネットワーク環境1330では、サーバー1331は、ネットワーク1332を通じてクライアント1333a~nにリンクされる。環境1330は、クライアント1333a~nが単独で、またはサーバー1331との組合せで、本明細書に記載の実施形態のいずれかを実行することを可能にするために使用され得る。非限定的な例として、コンピュータネットワーク環境1330は、クラウドコンピューティング実施形態、ソフトウェアアズサービス(SAAS)実施形態などを提供する。
【0079】
実施形態またはその態様は、ハードウェア、ファームウェア、またはソフトウェアの形態で実装され得る。ソフトウェアで実装される場合、そのソフトウェアは、プロセッサーがそのソフトウェアまたはその命令のサブセットをロードすることを可能にするように構成されている任意の非一時的なコンピューター可読媒体上に記憶されてもよい。次いで、プロセッサーは、その命令を実行し、本明細書に記載されているように装置を操作する、または動作させるように構成される。
【0080】
さらに、ファームウェア、ソフトウェア、ルーチン、または命令は、本明細書では、データプロセッサのいくつかのアクションおよび/または機能を実施するものとして記載されていることがある。しかし、本明細書に含まれているそのような説明は、便宜的なものにすぎないこと、およびそのようなアクションは、実際、ファームウェア、ソフトウェア、ルーチン、命令などを実行するコンピューティングデバイス、プロセッサー、コントローラ、または他のデバイスに起因することを理解されたい。
【0081】
フロー図、ブロック図、およびネットワーク図は、より多くの、またはより少ない要素を含んでもよく、異なるように配置されてもよく、異なるように表現されてもよいことを理解されたい。しかし、いくつかの実装は、実施形態の実行を示すブロック図およびネットワーク図ならびにブロック図およびネットワーク図の数が特定の仕方で実装されることを示し得ることをさらに理解されたい。
【0082】
したがって、様々なコンピュータアーキテクチャ、物理的、仮想、クラウドコンピュータ、および/またはそれらの何らかの組合せで、さらなる実施形態が実装されてもよく、したがって、本明細書に記載のデータプロセッサは、例示のためのものとして意図されているにすぎず、実施形態を限定するものとしては意図されていない。
【0083】
本明細書に記載のすべての特許、公開出願、および参照の教示は、それらの全体が参照により組み込まれている。
【0084】
例示的な実施形態が特に示され記載されているが、当業者には、添付の特許請求の範囲によって包含されるそれらの実施形態の範囲から逸脱することなく、形態および詳細の様々な変更がなされ得ることが理解されよう。
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10A
図10B
図10C
図11A
図11B
図11C
図11D
図11E
図11F
図11G
図12
図13