JP6279753B2 - カップリングの拘束を用いたシミュレーション、データ処理装置および媒体 - Google Patents

カップリングの拘束を用いたシミュレーション、データ処理装置および媒体 Download PDF

Info

Publication number
JP6279753B2
JP6279753B2 JP2016549718A JP2016549718A JP6279753B2 JP 6279753 B2 JP6279753 B2 JP 6279753B2 JP 2016549718 A JP2016549718 A JP 2016549718A JP 2016549718 A JP2016549718 A JP 2016549718A JP 6279753 B2 JP6279753 B2 JP 6279753B2
Authority
JP
Japan
Prior art keywords
attachment
axis
main
sub
motor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016549718A
Other languages
English (en)
Other versions
JP2017509058A (ja
Inventor
ゲーリー マクダニエル リチャード
ゲーリー マクダニエル リチャード
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Siemens Industry Software Inc
Original Assignee
Siemens Product Lifecycle Management Software Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Product Lifecycle Management Software Inc filed Critical Siemens Product Lifecycle Management Software Inc
Publication of JP2017509058A publication Critical patent/JP2017509058A/ja
Application granted granted Critical
Publication of JP6279753B2 publication Critical patent/JP6279753B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/10Geometric CAD
    • G06F30/17Mechanical parametric or variational design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/80Technologies aiming to reduce greenhouse gasses emissions common to all road transportation technologies
    • Y02T10/82Elements for improving aerodynamics

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、広くはコンピュータエイデッドデザインシステム、視覚化システム、製造システム、製品ライフサイクル管理システム(PLMシステム)、及び、製品乃至他の物品のデータを管理する同様のシステム(これらを集合的にCADシステムと称する)に関する。
発明の背景
CADシステムにより、製品の視覚化及びシミュレーションが可能となる。改善されたシステムが所望されている。
発明の概要
本発明の種々の実施形態には、モデルシミュレーション方法、対応する装置、及び、コンピュータで読み出し可能な媒体が含まれる。1つの方法は、シミュレーションモデルをデータ処理装置で受信するステップであって、シミュレーションモデルがカップリングによって接続された少なくとも1つの主ジョイントと少なくとも1つの従ジョイントとを含み、主ジョイントはリジッドボディの主アタッチメントを有し、従ジョイントはリジッドボディの従アタッチメントを有するステップを含む。当該方法は、主アタッチメントの主軸線及び従アタッチメントの従軸線をカップリングに基づいて識別するステップを含む。当該方法は、主軸線がモータを含むか又は従軸線がモータを含むかに関するモータ判別を行うステップと、主アタッチメント及び従アタッチメントに関する交差ベース判別を行うステップとを含む。当該方法は、モータ判別及び交差ベース判別に基づいてどのボディを拘束すべきかについての拘束判別を行うステップと、拘束判別にしたがって拘束を記憶するステップと、拘束判別にしたがってシミュレーションモデルを実行するステップとを含む。
以上は、当業者が以下の詳細な説明を良好に理解できるよう、本発明の特徴及び技術的利点を概述したものである。特許請求の範囲の主題をなす本発明の付加的な特徴及び利点を以下に説明する。当業者は、本発明のコンセプト及び具体的な実施形態を、本発明と同じ目的を遂行するための修正又は別の構造の設計を行う基礎として直ちに利用しうることを理解できるであろう。また、当業者は、こうした等価の構成が最も広い形態での本発明の思想及び観点から離れずに可能であることも認識できるであろう。
以下の詳細な説明を行う前に、本明細書を通して用いられる幾つかの語句を定義しておくのが有意であろう。「含む」「〜から形成される」なる語及びその派生語は、非制限の単なる含有を意味する。「又は」なる語は“及び/又は”の意を含む。「〜に関連する」「〜に関連づけられる」なる語句及びその派生語句は、含有、包含、挿入、内包、収容、接続、結合、通信可能、協働、インタリーブ、並列、近接、接合、所有、特徴づけなどの意を含む。「コントローラ」なる語は、少なくとも1つの動作を制御する装置、システム又はそれらの一部を含み、こうした装置はハードウェア、ファームウェア、ソフトウェア又はこれらのうち少なくとも2つの任意の組み合わせとして実現される。特定のコントローラに関連する機能は、中央に集中されていても、ローカルもしくはリモートに分散配置されていてもよい。なお、所定の語句の定義は本明細書を通じて一貫して形成され、こうした定義が、定義された語句のこれまで及びこれからの使用に対して、全てではないにしろ多くの事象に適合するものであることも当業者には理解されるはずである。幾つかの語句は広汎な実施形態に対応しうるものであり、添付の特許請求の範囲のみがこれらの語句を特定の実施形態に明示的に限定しうる。
本発明及びその利点をより良く理解してもらうために、添付図を参照しながら以下に詳細な説明を行う。図中、同様の要素には同様の参照番号を付してある。
実施形態を実現可能なデータ処理装置のブロック図である。 本発明の実施形態によるカップリング拘束の例を示す図である。 本発明の実施形態によるカップリング拘束の例を示す図である。 AからEともに、本発明の実施形態による、カップリング拘束のジョイント及びリジッドボディの可能な幾つかのコンフィグレーションの例を示す図である。 本発明の実施形態による方法のフローチャートである。 本発明の実施形態による、共有オブジェクトがバックグラウンドにロックされるカップリングの例を示す図である。 端部オブジェクトがバックグラウンドにクランプされるカップリングの例を示す図である。 本発明の実施形態による、スプロケットとバーギヤとの間の種々の運動の可能性を示す図である。
後述する図1から図8及び本願明細書の本発明の方式の説明に用いられる種々の実施形態は、例示のためのものにすぎず、いかなる手段においても本発明の範囲を限定するものでない。本発明の方式が適切に構成された装置において実現可能であることは当業者に理解されるであろう。典型例としての非制限の実施形態に即して、本明細書の多数の革新的な教説を説明する。
本発明の実施形態は、可動部分間のカップリングの拘束を正確かつ効率的にシミュレートするための装置及び方法であって、ギヤ及びカムの拘束における反射運動と固定軸線の制御とを許容できるようにすることを含む。
運動軸線は産業機械の重要な特徴の1つである。運動軸線の自由度によって、複数の対象物が操作される場合に、これらが相互にどのように運動するかが定められる。従来、運動軸線間の関係は、ギヤもしくはカムなどの物理的なカップリングを用いて構成されていた。また、物理的なギヤ及びカムは、現在でも、目的に沿った相互相対運動を各軸線に生じさせるソフトウェア又は他の電子制御手段を用いた電気的等価物とともに利用されている。
シミュレーションにおいて、各機械をアルゴリズム上及び数学上のオブジェクトによって表現し、所定時間にわたる種々の要素の予測運動を求めるために解法を実行することができる。3Dのリジッドボディシミュレーションでは、複数の物理的な可動要素がリジッドボディオブジェクトとして表現され、これらのオブジェクト間の関係により、物理的装置が作業を行うのと同様の各オブジェクトの挙動が得られるよう、シミュレートされる運動が拘束される。種々の拘束は、それぞれ異なる種類の物理的アタッチメント、例えば回転ヒンジジョイント、直線スライドジョイント、ボールジョイントその他などを表すために用いられる。これにより、主要方向への運動自由度が許容され、他の方向への運動が制限される。例えば回転運動ジョイントは、2つのリジッドボディ間の単円方向の運動を許容するが、横移動もしくは回転軸線から傾動する回転などの他の全ての運動を拘束する。
広汎な種類のシミュレーション装置、ひいては、こうした装置内のシミュレーション表現手段が存在している。本発明は、以下に限定されるものではないが、リジッドボディ、ジョイント、カップリング及びモータの4種類のシミュレーションオブジェクトを含む。リジッドボディはシミュレーションにおける運動体を表す。これは、位置、配向、速度、質量その他の属性に対するプロパティを有することができる。
ジョイントは、運動が制限されている2つのリジッドボディ間の接続部として定義される。回転運動ジョイントは、2つのオブジェクト間に回転のみが生じうるように運動を制限する。直線運動ジョイントは一次元の直線運動のみが生じうるように運動を制限する。回転運動ジョイント及び直線運動ジョイントの双方に対して、運動軸線のベクトル方向と、リジッドボディ間の距離尺度を規定する現在位置との双方が定義される。
カップリングは、2軸線のジョイント間の関係として定義され、これにより、2つのジョイントの位置がつねに何らかの関数によって関連づけられるよう、これらのジョイントでの運動が制御される。それぞれの位置は、ギヤカップリングでは比として、カムカップリングでは連続関数によって、関連づけることができる。
さらに、モータは1つもしくは複数のリジッドボディでの運動を形成するために用いられる。モータは単独軸線のジョイントに適用されており、速度もしくは位置の変化を生じさせるため、関連するボディにトルクを印加する。シミュレーション装置は、種々の配置及びプロパティによって他のタイプのオブジェクトを定義でき、さらに、共通のオブジェクトを異なる方式で定義することもできる。なお、本発明の技術は、上述したオブジェクトに対して同様の関数を有する装置のオブジェクトにも適用可能である。
本発明は、リジッドボディシミュレーションにおいて拘束される軸線の解を正確かつ安定に求めることのできる装置及び方法を含む。ギヤもしくはカムの拘束では、1次元の軸線に沿って運動するリジッドボディの2つのペア間に関数関係が形成される。ここでは4つのボディが関与するので、調整によって、4つのボディのうち2つのみを用いて、拘束の解を求めることができる。本発明の実施形態は、どのようにボディを選択できるか、及び、シミュレーションの実行に利用可能な関係の表現を記述する。
図1には、一実施形態を実現可能なデータ処理装置のブロック図が示されている。当該データ処理装置は、例えばCAD装置として、特に上述したプロセスを実行するソフトウェアその他によって、とりわけ上述した複数の中間接続される通信装置のいずれかとして構成可能である。図示されているデータ処理装置は、プロセッサ102と、これに接続されるレベル2のキャッシュ/ブリッジ104と、これらに接続されているローカルシステムバス106とを含む。ローカルシステムバス106は例えば周辺装置接続アーキテクチャバス(PCIバス)である。さらに、図示の例のローカルシステムバス106には、主メモリ108及びグラフィックアダプタ110も接続されている。グラフィックアダプタ110にはディスプレイ111を接続可能である。
他の周辺装置、例えばローカルエリアネットワーク/ワイドエリアネットワーク/ワイヤレスアダプタ(LAN/WAN/WiFiアダプタ)112もローカルシステムバス106に接続可能である。拡張バスインタフェース114はローカルシステムバス106とI/Oバス116とを接続している。I/Oバス116にはキーボード/マウスアダプタ118とディスクコントローラ120とI/Oアダプタ122とが接続されている。ディスクコントローラ120は記憶装置126に接続可能であり、この記憶装置126は、適切な機械で利用可能もしくは読み出し可能な記憶媒体であってよい。ここでの記憶媒体は、以下に限定されるものではないが、不揮発性の硬性符号化式の媒体、例えば、読み出し専用メモリROM、又は、電気的に消去及び再プログラミング可能な読み出し専用メモリEEPROM、磁気テープ記憶装置、及び、ユーザが記録可能なタイプの媒体、例えば、フロッピーディスク、ハードディスクドライブ、コンパクトディスク読み出し専用メモリCD‐ROMもしくはディジタルヴァーサティルディスクDVD、及び、他の公知の光学的もしくは電気的もしくは磁気的記憶装置などを含む。
また、図示の例のようにI/Oバス116にオーディオアダプタ124を接続することもできる。オーディオアダプタ124には音声出力のために(図示されていない)スピーカを接続できる。キーボード/マウスアダプタ118は(図示されていない)ポインティングデバイス、例えばマウス、トラックボール、トラックポインタ、タッチパネル、タッチパッドなどへの接続を形成する。
当業者であれば、図1に示されているハードウェアを特定の構成に合わせて変更できることが理解されるはずである。例えば他の周辺装置、例えば光ディスクドライブその他も、図示のハードウェアに加えてもしくはこれに代えて用いることができる。図示の例は説明のためのものであり、本発明に対する構造上の限定を示唆するものではない。
本発明の実施形態に関連するデータ処理装置は、グラフィックユーザインタフェースを利用したオペレーティングシステムを含む。オペレーティングシステムにより、グラフィックユーザインタフェースに複数のディスプレイウィンドウを同時に表示して、各ディスプレイウィンドウにより、種々のアプリケーションに対するインタフェース、又は、同じアプリケーションの種々のインスタンスに対するインタフェースを形成することができる。グラフィックユーザインタフェースのカーソルは、ユーザがポインティングデバイスを介して操作可能である。カーソルの位置変更、及び/又は、マウスボタンのクリックなどのイベントによって、所望の応答を作動させることができる。
市販されている種々のオペレーティングシステムのうち、例えば、ワシントン州レッドモンド在のマイクロソフトコーポレーション社の製品であるマイクロソフトウィンドウズ(登録商標)の所定のバージョンを適切に修正して利用可能である。オペレーティングシステムは上述した本発明にしたがって修正もしくは作成される。
LAN/WAN/WiFiアダプタ112は(データ処理装置100の要素でない)ネットワーク130に接続可能である。ネットワーク130は当業者に周知の公共のもしくは私的なデータ処理装置ネットワーク又はネットワークコンビネーション、例えばインタネットであってよい。データ処理装置100はネットワーク130を介して同様にデータ処理装置100の要素でないサーバ140と通信可能であるが、サーバ140は例えば別個のデータ処理装置100として構成することもできる。以下では、「装置」とは1つもしくは複数のデータ処理装置をいうものとする。
図2にはカップリングの拘束の例が示されており、これは、上述したシミュレーション装置をどのように構成できるかの例として用いることができる。装置200は、バー204上に取り付けられたシャトル機構を有する複数の部材から成る。シャトル202及びそのハウジングはバーに沿って運動可能であり、モータ206によって駆動される。モータ206はバーギヤ210とかみ合った回転スプロケット208に接続されている。スプロケット208の回転によってバーギヤ210に対する機械力が生じ、これによって装置200のシャトルアセンブリが直線方向に沿って駆動される。
図3には、装置200に対応するシミュレーションモデル300の例が示されており、このシミュレーションモデルは、シミュレートされたソリッドオブジェクト、及び、対応する論理エンティティ、例えばボディ、カップリング、ジョイント、モータなどを含む。当該装置のシミュレーションを形成するために、図3のオブジェクトは装置によって定義可能である。種々のタイプのシミュレーションオブジェクトの標示に種々の形状を利用可能である。この例では、円形がリジッドボディを、菱形がジョイントを、六角形がカップリングを、台形がモータを表している。この例では2つの可動オブジェクトが存在しているので、シミュレーションには2つのリジッドボディオブジェクトが存在する。すなわち、付属のモータ206をともなうシャトル202のハウジングに対するリジッドボディのシャトル302と、ギヤスプロケット208に対するリジッドボディのスプロケット308とである。シャトルは実際の装置ではバーによって支承されているが、バーは不動であるため、これをリジッドボディとしてモデリングする必要はない。同様に、バーギヤもリジッドボディによってモデリングする必要はない。これらのオブジェクトは不動のバックグラウンドの一部と見なすことができる。
シャトル202の横方向の直線運動は、直線運動ジョイントによってモデリング可能である。ジョイントは、アタッチメント及びベースと称されるリジッドボディのオブジェクトペア間に指定される。各ジョイントボディのパラメータは所定のリジッドボディオブジェクトによって設定可能であるか、又は、空白のままとすることができる。アタッチメント及びベースの各オブジェクトの定義は対称でなくてもよい。アタッチメントのパラメータが空白のままである場合、ジョイントが切り離されていると見なすことができるが、ベースのリジッドボディが運動すればその位置は移動する。ベースパラメータが空白のままである場合、ジョイントは、不動でありかつ見えない一種のボディとして機能するバックグラウンドに結合していると見なすことができる。図3では、アタッチメントパラメータが“A”、ベースパラメータが“B”で標示されている。直線運動ジョイントのベースは空白のままであり、これは、シャトルがバックグラウンドに結合されていることを意味する。シャトルはジョイントの直線運動軸線に沿って往復運動し、脱落することはない。
この例でのギヤスプロケットは、回転運動ジョイント312によってシャトルハウジングに接続されている。この場合、スプロケットとハウジングとは結合されているが、相対的に運動する。このことをモデリングするために、回転運動ジョイントのアタッチメントはリジッドボディのスプロケット308にセットされ、ベースはリジッドボディのシャトル302にセットされる。
各運動軸線が例えば点線320,322として図3に示されている。軸線パラメータはジョイントオブジェクトもしくはリジッドボディオブジェクトに記憶することができる。スプロケットの回転によってシャトルはバー上を移動し、これによって軸線上で発生する運動どうしの関係が定められる。ここでの関係は双方向で操作可能であり、よって、シャトルの運動がスプロケットをターンさせることもある。ここでの関係をモデリングするために、カップリングオブジェクト、このケースではギヤカップリング314が使用される。カップリングは、2軸線、すなわち、主軸線320(カップリング314上に「マスタ」のMによって主軸線として標示されている)及び従軸線322(カップリング314上に「スレーブ」のSによって従軸線として標示されている)をペアとして有する。同様に、カップリングオブジェクトは、回転運動ジョイント312が主ジョイント、直線運動ジョイント318が従ジョイントであることを定義する。カップリングが主ジョイント/従ジョイントひいては主軸線/従軸線を定義しているので、各軸線をカップリングから求めることができる。カップリングが主従の関係を未だ定義していない場合、装置もしくはユーザは、シミュレーションオブジェクトの機能にしたがって主従の役割を割り当てることができる。所定の機能は、或る軸線での運動が他の軸線での運動にどのように影響するかを求めるために用いられる。主軸線の位置は関数のドメインとして機能し、従軸線の位置は範囲として機能する。このケースでは、ギヤカップリングは、関数が各軸線上の運動の比として指定されるケースで用いることができる。スプロケットの完全なターンにより、例えば、直線方向での所定の距離、例えば30cmにわたって、シャトルを移動させることができる。
シミュレーションを巡回させている間、モータオブジェクト316は回転運動ジョイント312に適用される。モータはどの軸線ジョイントにも付加可能であり、当該ジョイントに接続されたボディの速度もしくは位置の変更に利用可能である。この場合、回転運動ジョイントはシャトルハウジングとスプロケットとの間に接続されているので、モータはこれらのオブジェクト間の相対速度及び/又は位置を修正することができる。
本発明の実施形態は、シミュレーションの拘束ソルバを実現可能である。シミュレーションを実行するために、シミュレーションオブジェクトは、シミュレーションエンジンの拘束ソルバによって解くことのできる基関数へ変換される。拘束の解を求める装置には広汎な種類のものが存在している。
物理エンジンは、シミュレーションオブジェクトによって求められる変数に適用される物理法則を記述した方程式を解く一種の方程式ソルバであると考えることができる。離散的な時間ステップで方程式を解くことにより、結果が得られる。各変数の値は、グラフを作表することによって、又は、各値が移動して見えるようにこれらの値をグラフィックオブジェクトに適用したりすることなどによって、種々の方式で観察可能である。
物理エンジンの方程式の形状は典型的には制限されている。幾つかのソルバは他のものよりも多くのオプションを提供できるが、一般に、方程式はボディペア間の速度の関係を基礎とする。3次元(3D)のリジッドボディは、6自由度、すなわち、3つの直線運動自由度と3つの回転運動自由度とを有する。拘束方程式が適用されない場合、ボディは制限なく6自由度の全てで運動可能である。また、リジッドボディペア間にも、2つのオブジェクトの相対位置に基づく自由度を表す6自由度が存在する。
回転軸線ジョイントなどの拘束によって自由度に制限が課され、これにより所定の運動がロックされる。回転軸線ジョイントは、例えば、5つの自由度の消失を強制する。3つの直線運動自由度の全てが除去され、回転軸線を中心とした1つの回転自由度のみが残る。回転運動ジョイントと同様の5つの自由度を制限するために、拘束において5つの方程式が指定される。本発明の種々の実施形態では、ボディが拘束を受けるオブジェクトとして扱われ、ジョイントがカップリングの拘束から独立した一種の拘束として扱われる。
拘束方程式(単独の拘束の次元)の一般形は、
・ν+B・ω+A・ν+B・ω=c
であり、ここで、記号ν及びωはリジッドボディの直線運動速度及び角速度を表す。下付き数字は速度がどのリジッドボディに由来するかを表す。変数A,B,cはベクトルの導出値A,B及び補正値cであるか、又は、オブジェクト間の相互作用を定義する物理ライブラリを個別に構成することにより指定可能である。記号・はベクトルのドット積を表す。当該手段はどの2つのリジッドボディが拘束されるかを選択できる。しかし、方程式の構造及び使用可能なボディ数は通常は固定されている。
ベクトルA,Bはそれぞれのリジッドボディに対する運動軸線であり、変数cは補正係数であると考えることができる。例えば、x軸上の2つのボディの直線運動を拘束しようとする場合、Aは[1,0,0]に設定され、Aは[−1,0,0]に設定される。ベクトルBは[0,0,0]に設定され、cは0となる。結果は、ボディ1のx軸の直線運動速度がボディ2のx軸の直線運動速度に等しいことを記述する方程式となる。これは速度に関する拘束であってボディ位置に関する拘束でないことに注意されたい。一般に、ボディがつねに等速で運動する場合、その位置も等しいままである。ただし、各ボディの位置が整合状態から外れると、変数cを用いて速度に対する小さな補正量が加えられる。これにより、次のステップでの位置の補正に近づけるために、一方のボディをもう一方のボディの方へ移動できる。
本発明の実施形態では、カップリングの拘束をモデリングできる。一度に2つのリジッドボディしか関連づけできない手段では、標準形の拘束方程式を用いたカップリングオブジェクトの構成は阻害される。1つのカップリングが軸線ジョイントオブジェクトのペアを形成し、各ジョイントが1つもしくは2つのリジッドボディに関連するので、1つのカップリングによって2つもしくは3つもしくは4つのリジッドボディを関連づけることができる。
図4のAからEには、カップリングの拘束、ジョイント及びリジッドボディの可能な幾つかのコンフィグレーションの例が示されている。リジッドボディ及びジョイント及びカップリングの全てのコンフィグレーションを考察する必要はない。例えば、アタッチメントが空白なジョイントは全く動作しないので、存在していないのと同様に効率的に扱うことができる。こうしたジョイントを使用するカップリングも空白である確率が高いと見なせる。なお、図4では、Mは主、Sは従、Aはアタッチメント、Bはベースを標示している。
最も単純なカップリングのコンフィグレーションが図4のAに示されている。このケースでは、各リジッドボディは、相互に独立、かつ、カップリング406によって結合されているジョイント402,404の双方に対して独立であり、バックグラウンドにベースを有する。主ジョイント402は、リジッドボディの主アタッチメントと称されうるアタッチメント403を有する。従ジョイント404は、リジッドボディの従アタッチメントと称されうるアタッチメント405を有する。ジョイントの空白のベースは、使用されるリジッドボディの可能速度を直接に定めるものであるので、重要である。軸線速度は、通常、アタッチメントとベースオブジェクトとの間の相対速度であるが、バックグラウンドオブジェクトの速度はつねにゼロである。幾つかのシミュレーション装置により、この種のコンフィグレーションでのカップリング構成が形成される。なぜなら、これは標準の拘束方程式を直接に表すからである。
ただし、1つもしくは複数のジョイントベースオブジェクトが空白でない場合、単純な2つのリジッドボディの拘束方程式は不完全となる。図4のBでは、カップリング408が、それぞれ2つずつのベースオブジェクトを有する主ジョイント410と従ジョイント412とを結合している。このケースでは、4つのリジッドボディ全てが拘束に関与しており、より適切な拘束方程式は、次のような、1つのカップリングにおける4つのリジッドボディに関連する一般式となる。すなわち、
・(ν−ν)+B・(ω−ω)+A・(ν−ν)+B・(ω−ω)=c
ここで、記号ν及びωは、各リジッドボディa,b,c,dの直線運動速度及び角速度を表す。この修正された方程式では、4つのリジッドボディ全てが、単独のリジッドボディ速度に代え、各ジョイントに結合されている各リジッドボディペアの速度差について考慮される。また、軸線ベクトルA,B,A,Bを、各リジッドボディ速度に対する個別の軸線に分解可能である。拘束ソルバにこうした方程式を組み込めれば問題を解くことができるが、これは現行の物理エンジンの能力を超えている。4つまでのリジッドボディを参照する拘束方程式は、現行の物理エンジンでは一般には利用不能である。
本発明の実施形態では、カップリングされた複数のリジッドボディがペア専用の拘束方程式を用いてモデリングされるようにして、モデルを処理可能である。ペア専用の拘束方程式を用いたカップリングを実現するために、本発明の実施形態には、どのボディを拘束するかを選択する特別の技術が含まれ、広汎な条件に対してカップリングの解を求めるのに適したプロセスが実行される。
拘束されるボディを選択するために、カップリングの主ジョイント及び従ジョイントが定められ、本発明の実施形態により、これらのオブジェクトのコンフィグレーションについての判別が行われ、リジッドボディがジョイントの参照をオブジェクト化する。本発明の方法では、カップリング拘束が実行不能であることを当該カップリング拘束が演算もしくは判別するための1つもしくは2つのリジッドボディが選択される。
図5には、本発明の実施形態による、オブジェクトの選択及びシミュレーションの全体に関する方法のフローチャートが示されている。種々のアタッチメント及び計算の例を以下に説明する。こうした方法は1つもしくは複数のデータ処理装置で実行可能であり、これを以下では一般に「装置」と称する。
装置はシミュレーションモデルを受信する(505)。ここで使用している「受信」なる概念は、記憶装置からのローディング、他のデバイスもしくはプロセスからの受信、ユーザとのインタラクションを介した受け取りその他を含むことができる。シミュレーションモデルは、複数のシミュレーションオブジェクトを含むことができ、そこには、少なくとも1つの主ジョイントとこれに結合されている少なくとも1つの従ジョイントとが含まれ、各ジョイントは関連するリジッドボディのアタッチメントを有する。主ジョイントのアタッチメントは主アタッチメントと称され、従ジョイントのアタッチメントは従アタッチメントと称される。また、各ジョイントは関連するリジッドボディのベースを有してよい。種々の実施形態において、主ジョイント及び従ジョイントはカップリングによって結合されたものとしてモデリングされる。各リジッドボディは、所定の直線運動速度もしくは角速度を有する。
装置は、カップリングに基づいて主アタッチメントの主軸線と従アタッチメントの従軸線とを識別する(510)。当該動作は、主軸線及び従軸線の軸線タイプ、例えば、各ジョイントが回転運動ジョイントであるか、直線運動ジョイントであるか、又は、固定ジョイントであるかの判別を含むことができる。
装置は、カップリングがシミュレート可能であるか否かを判別し(515)、シミュレート不能である場合には方法を停止することができる。例えば、装置は、主アタッチメントがヌル(NULL)である場合、従アタッチメントがヌルである場合、主アタッチメント及び従アタッチメントが等しい場合、又は、主軸線及び従軸線の双方がモータを含む場合に、カップリングがシミュレート不能であることを判別できる。
装置は、主軸線がモータを含むか又は従軸線がモータを含むかを判別するモータ判別を行う(520)。幾つかのケースでは、プロセス520はプロセス515と同時に実行可能であり、主軸線及び従軸線の双方がモータを含むというモータ判別結果により、カップリングがシミュレート不能であることを表示できる。
装置は、交差ベース判別を行う(525)。交差ベース判別は、従アタッチメントが主ジョイントのベースであるか否か、及び、主アタッチメントが従ジョイントのベースであるか否かの判別を含むことができる。
装置は、モータ判別と交差ベース判別とに基づいて、どのボディを拘束すべきかを判別する拘束判別を行う(530)。このケースでは、モータ判別によれば、主軸線及び従軸線の双方ともモータを含まないので、拘束判別は、主アタッチメント及び従アタッチメントの双方が拘束されるというものとすることができる。
モータ判別において、主軸線がモータを含み、従軸線がモータを含まない場合、従アタッチメントが主ジョイントのベースであれば、拘束判別は、従アタッチメントがバックグラウンドに拘束され、主アタッチメントは拘束されないというものとすることができる。そうでなく、主従軸線の双方がリジッドボディを共有しない場合には、拘束判別は、主アタッチメント及び従アタッチメントの双方が拘束されるというものとすることができる。
モータ判別において、従軸線がモータを含み、主軸線がモータを含まない場合、主アタッチメントが従ジョイントのベースであれば、拘束判別は、主アタッチメントがバックグラウンドに拘束され、従アタッチメントが拘束されないというものとすることができる。そうでなく、主従軸線の双方がリジッドボディを共有しない場合は、拘束判別は、主アタッチメント及び従アタッチメントの双方が拘束されるというものとすることができる。
装置は、拘束判別に基づいて拘束を記憶する(535)。
装置は、拘束判別に基づいてシミュレーションモデルを実行する(540)。シミュレーションは後述する計算を用いて実行可能であり、主軸線及び従軸線の軸線タイプを基礎とすることができる。
種々の実施形態によれば、3つ以上のリジッドボディをモデリングする場合でも、ペア専用の拘束方程式を用いるので、1回のモデリングには2つのリジッドボディしか用いない。このことを実現するために、選択プロセスにおいて、適切なリジッドボディを選択するためのジョイントオブジェクトの直接性を利用する。ユーザ又は装置は、結合しようとするオブジェクトペアがアタッチメントプロパティに入るようにジョイントを作成することを期待されている。
例えば、図4のCには、カップリング414が、ベースに対するリジッドボディ420を共有する2つのジョイント416,418間に存在することが示されている。このケースでは、結合されるボディペアはリジッドボディA422及びリジッドボディC424である。このことは、シミュレーションにおける他の要素が臨界的な自由度を消去してしまうことがあるために、重要である。
図6には、共有オブジェクトがバックグラウンドにロックされたカップリングの例が示されており、これは図4のCのオブジェクトによって表現可能である。固定のジョイントがボディB602に適用されていれば起こりうることであるが、ボディB602がバックグラウンドにクランプされている場合、ボディA604とC606との間のカップリング拘束が通常のように機能することが期待される。このケースでは、ボディB602のクランプは図4のAの状況に等しくなる。
ただし、ユーザがボディC606をバックグラウンドにクランプする可能性もある。図7には、端部オブジェクトがバックグラウンドにクランプされたカップリングの例が示されている。基本的には、ボディA604,B602はなお移動可能であって、ギヤの機能が許容されなければならない。しかし、ボディA604とボディC606との間の拘束は、ボディCが動かないために機能しない。ユーザは、図4のEのコンフィグレーションに示されているごとく、ジョイントS418の方向を反転してアタッチメントがボディBとなりベースがボディCとなるよう、この状況を修復することができる。このケースでは、ボディA604とボディB602との間のカップリングの拘束が作成され、バックグラウンドへのボディC606のクランプが行われる。
図4のDには、例えば図3のスプロケット及びシャトルについての状況の例が示されている。これは、ボディC606がバックグラウンドに固定されている図7のケースに類似していることに注意されたい。シャトル及びスプロケットのケースでは、固定のボディは直線状のバーであり、バックグラウンドとして表示されている。2つのボディしか存在しないので、ボディA426がスプロケットを表現でき、ボディB428がシャトルを表現できる。ただし、ボディB428は2つのジョイント430,432間で共有されるので、オブジェクト間の拘束はつねに満足されるわけではない。
図3のシャトル及びスプロケットの例では、例えば、モータが回転運動ジョイント上に配置されている。モータは、多数の他のシミュレーションオブジェクトと同様に、拘束として構成可能であり、この拘束はジョイントによって結合された同じ2つのボディ間に存在する。
ジョイント上のモータは固定ジョイントと同様に作用するように動作する。モータ速度は、例えばモータが全く固定ジョイントであるかのようにモデリングされるケースではゼロに設定可能であるが、モータ速度がゼロでない場合にも、モータ状態によって2つのボディの位置が完全に定められる。2つのオブジェクト間の例えばカップリングなどの付加的な拘束のみが、装置を上位で拘束する。シャトルとスプロケットとの間の拘束はモータでもギヤでもありえない。本発明の実施形態によれば、装置は、カップリングにおける一方のリジッドボディを単純かつ安全に無視することによって当該問題に対処できる。ボディA426とボディB428との間の拘束としてカップリングを形成することに代えて、ボディB428とバックグラウンドオブジェクト(無し)との間に拘束が形成される。これは、一方の軸線がモータによって定められる場合に、他方の軸線も効果的にモータ制御されるので、有効である。カップリングの拘束は第1のモータの運動を自由軸線の位置へ変換する。ユーザは1つのカップリングの2つの軸線のうち一方のみをモータ制御する。モータを両方の軸線に置くと、カップリングが無関係なものとされ、拘束は上位で考慮不要と定められる。
ボディペアごとの拘束方程式は3つ以上のボディに対して解を導く能力を有さないので、本発明の実施形態では、装置もしくはユーザが定めたカップリング及びジョイントの定義が使用される。この定義は、拘束される2つのボディが作業のシミュレーションにおいて得られるように配置される。カップリングによって拘束すべき2つのオブジェクトを選択するにあたって、全てのジョイント及びモータによって規定される自由度を分析できるが、オブジェクトが異なる方向へ運動すれば自由度は潜在的に変化しうるし、シミュレーションではプログラムによって自由度が明示的に変更されうるので、こうした分析は一般には非実用的である。例えば、2つのボディの独立した運動が可能な状態でシミュレーションを開始しても、後にユーザ動作によってこれらのボディが相互に結合されて1つのリジッドボディのごとくに動作することもある。
図5に示されているプロセスでは、こうした種々の可能性が考察されている。まず、主従のジョイントのアタッチメントボディが捕捉される。これらのボディのいずれかがヌルである場合、又は、主従双方が同じボディ上でアタッチメントを使用している場合、カップリングは有効にならない。2つのリジッドボディが存在する場合、本発明の方法ではモータの接続が生じていると見なされる。判別は、ジョイントがモータを用いて制御される際に、バックポインタによって行うことができる。2つのジョイントの双方がモータによって制御される場合、カップリングは有効にはならないが、モータが存在するのであれば特別な考察が行われる。
モータがジョイント上に存在する場合、図4のD,Eに示されているように、オブジェクトの所定のコンフィグレーションを識別しなければならない。これは上述したような交差ベース判別と称される。図4のEは図4のCに類似しているが、従ジョイントB434のアタッチメント及びベースの方向が反転していることに注意されたい。装着の方向が相違点である。図4のCのケースでは、アタッチメントオブジェクトはまだ独立している。これらは共通のベースを共有しているが、その接続性のために、リジッドボディA422及びリジッドボディB420は相互に独立に運動するものと見なされる(図7のギヤなど)。
ただし、図4のD,Eの各コンフィグレーションは、互いに重なった部分を有しており、一方のボディ(他方のベースにあるボディ)の運動が他方の運動に影響することが予測される。カップリングはリジッドボディA,B間に生じると予測される。したがって、リジッドボディA,Bを接続するモータは、A,B間のカップリングの拘束の機能を許容しない。代わりに、図4のEの例ではリジッドボディB436とバックグラウンドとの間にカップリングが形成される。本発明の実施形態では、バックグラウンドを用いて、重なった部分の下方のジョイントのベースが他方のリジッドボディに設定されるか否かを判別する。当該プロセスは、従ジョイントがモータを含み、従ベースが主アタッチメントと同じオブジェクトであるカップリングに対して同様に動作する。
種々の実施形態で、上述したカップリングの拘束方程式
・ν+B・ω+A・ν+B・ω=c
を使用可能である。ここで、記号ν及びωは、リジッドボディの直線運動速度及び角速度を表す。下付き数字は速度がどのリジッドボディに由来するかを表す。変数A,B,cは、ユーザが指定した値を表す。
本発明の実施形態では、カップリングの拘束を実現するための拘束方程式が適用される。種々の実施形態によれば、パラメータAは直線運動ジョイントの制御に用いられ、パラメータBは角度ジョイントの制御に用いられる。例えば、図3の例では、主ジョイント312は回転運動ジョイントであり、従ジョイント318は直線運動ジョイントであるので、本発明の方法では、B,Aが主ジョイントの角速度と従ジョイントの直線運動速度との相関に用いられ、A,Bがゼロベクトルのままにされる。ただし、このコンフィグレーションは各ジョイントがモータによって固定されているケースを無視している。
軸線が同じタイプでないか又は同じタイプであるが相互に整合していない場合、カップリングされたボディの運動によるリジッドボディの運動の補償が可能となる。例として、ギヤ208の回転によりロッド204に図2の直線運動が生じるが、これはギヤ208自体にも作用し、反対方向への直線運動を生じさせる。図ではわかりにくいが、グリーンギヤは静止することもあり、また、ロッドはギヤのターンとは反対方向に直線運動及び回転運動の双方を行うことがある。
図8には、スプロケット808とバーギヤ810との間で可能な種々の運動が示されている。この図には、結合された各ボディの運動がそれぞれ他方のボディの運動によって補償可能となることが示されている。これらの例では、同じ量の運動が結合された回転軸線及び直線運動軸線に適用される。
拘束されたオブジェクトの独立した運動可能性を基礎とすることに代えて、本発明の実施形態では、反対軸線の運動可能性が各軸線の運動へ符号化される。幾つかの種類の方程式の例を挙げ、結果を以下に説明する。
一方が回転軸線、他方が直線運動軸線である混合軸線のケースでは、装置は、
・ν+B・ω+A・ν+B・ω=c
を使用できる。このケースでは、主軸線が直線運動軸線であって方向Aで運動し、従軸線が回転運動軸線であって軸線Bを中心として回転する。主軸線が回転軸線で従軸線が直線運動軸線である場合には、インデクスの数字が入れ替わる。ベクトルA,Bの長さは、これらの長さの比が各軸線に適用される速度の比の逆数に対応するように調整される。例えば、回転軸線が直線運動軸線の移動の単位長さ当たりで2回ずつターンする場合、長さAを長さBで除算した比は4πとなる。
カップリングの拘束が同じタイプの軸線を使用する場合、つまり、双方が直線運動軸線であるか又は双方が回転軸線である場合、装置は、混合軸線の結合のために、次式
(A+A−proj(A,A))・ν+(A+A−proj(A,A))・ν=c
ここで、proj(A,A)={(A・A)/(A・A)}A
を使用できる。この例では、当該方程式は、直線運動‐直線運動拘束を設定する。回転‐回転拘束の場合、ベクトルBが角速度値に対して使用可能となるが、全体としての方程式は同じである。このとき、Aは主軸線を表すベクトルであり、Aは従軸線を表すベクトルである。上述した方程式と同様に、各軸線の長さは、これらの長さの比が所望の速度の比の逆数となるように設定される。A,Aが平行である場合、AへのAの射影はAとなり、AへのAの射影はAとなるので、方程式はより簡単な式
・ν+A・ν=c
に単純化される。
これらの方程式を用いて、複数のボディが共通に1つのモータにロックされている場合、装置はカップリングの拘束に運動自由度を付与する。そうでなく、ボディどうしがロックされている場合は、反対軸線によって規定された方向への運動はどちらのボディにも不可能である。この場合、ジョイントは完全にロックされる。方向の交番変化が組み込まれている場合には、図5に示されているボディ選択のプロセスによって、自由なボディが、2つの軸線のうち許容されるいずれかの方向で、バックグラウンドに対して運動可能となる。このようにして、自由なボディの運動を、モータにロックされたボディに対して補償できる。
上掲した多軸線の方程式においてはベースオブジェクトの速度が無視されているため、計算は近似的なものにすぎない。補正量cは、ベース速度がゼロでない場合に発生する方程式中の誤りを補償するために用いられる。当該プロセスは広く機能するが、カップリングにおける4つのオブジェクト全ての速度間の関係を直接に指定できないという欠点をなお有している。こうした問題はベースオブジェクトの速度が1つもしくは複数のアタッチメントに依存する場合に発生する。ただし、実際にはこの問題はまれにしか起こらない。なぜなら、ベース速度は、基本的に固定されているか又は不動のバックグラウンドオブジェクトである種々の拘束の集合によって設定されていることが多いからである。
もちろん、格別のことわりがないかぎり、又は、各動作の順序の要求がないかぎり、上述したプロセスの所定のステップの省略もしくは同時実行もしくは順次実行、又は、順序の入れ替え等が可能であることは、当業者には理解されるであろう。
本発明の実施形態により、リジッドボディのシミュレーションにおけるカップリング拘束のローバストな処理が可能となる。ユーザが一般に処理を望む状況において、こうした拘束を実現する標準的な技術は存在していない。
本発明の方法のボディ選択により、標準的な物理エンジンの拘束方程式において使用されるボディペアが得られる。こうしたボディは、ユーザが理解可能な、正しいペアを形成するためのセマンティクスを反映しており、1つもしくは複数のボディがバックグラウンドにロックされることから生じる問題を防止できる。本発明の実施形態によれば、ボディ間のロック、すなわち、モータによって生じるロック又は結合されたボディ間の同タイプの拘束から生じるロックを処理する手段が提供される。
上述した拘束方程式により、カップリングにおける各ボディの運動を他のボディの運動に反映させることができる。混合タイプのカップリング又は軸線が整合していないカップリングでは、複数のボディが共通に1つのモータにロックされている場合であっても運動の実行が許容されるため、本発明の方法から利点を得ることができる。
当業者には、簡明性のために、本発明の利用に適したデータ処理装置の構造及び動作の全てを図示乃至説明してはいないことが理解されるであろう。むしろ、本発明に独特な、又は、本発明の理解にとって必須のデータ処理装置の要素のみを図示乃至説明した。データ処理装置100の他の構造及び動作は従来知られている種々の現行のいずれのものに対応していてもよい。
さらに、本発明を1つの完全な機能的装置のコンテクストにおいて説明したが、当業者であれば、本発明の機構の少なくとも一部を複数の命令形式に分散して、機械もしくはコンピュータで利用可能な、又は、コンピュータで読み出し可能な種々の形状の媒体に含めてもよいことに注意が必要である。なお、本発明は、実際の配布の実行に利用される、命令もしくは信号を担持する媒体又は記憶媒体の特定のタイプにかかわらず、等しく適用可能である。機械もしくはコンピュータで利用可能な、又は、機械もしくはコンピュータで読み出し可能な記憶媒体の例として、不揮発性の硬性符号化タイプの媒体、例えば、読み出し専用メモリROMもしくは電気的に消去可能かつ再プログラミング可能な読み出し専用メモリEEPROM、及び、ユーザが記録可能なタイプの媒体、例えばフロッピーディスク、ハードディスクドライブ、コンパクトディスク読み出し専用メモリCD‐ROMもしくはディジタルヴァーサティルディスクDVDなどが挙げられる。
本発明を典型的な実施形態に即して具体的に説明したが、当業者は、本発明の最も広い意味での思想乃至観点を逸脱することなく、上述した種々の変更、置換又は修正及び改善を行えることを理解するであろう。
本願明細書のいずれの記載も、特定の要素、ステップもしくは機能が特許請求の範囲に含まれなければならない必須要件であることを示唆すると捉えられるべきでない。請求される発明特定事項の領域は特許請求の範囲の事項においてのみ規定される。また、本願のいずれの請求項も、項番号に続く「〜のための手段」という厳密な語句を含まない場合、米国特許法第112条第6項(35USC§112パラグラフ6)の誘起を意図しない。

Claims (17)

  1. データ処理装置(100)によって実行されるモデルシミュレーション方法であって、
    シミュレーションモデル(300)を前記データ処理装置で受信するステップ(505)であって、前記シミュレーションモデルは、カップリング(314)によって接続された少なくとも1つの主ジョイント(312)と少なくとも1つの従ジョイント(318)とを含み、前記主ジョイントはリジッドボディの主アタッチメント(308)を有し、前記従ジョイントはリジッドボディの従アタッチメント(302)を有するステップと、
    前記主アタッチメントの主軸線(320)及び前記従アタッチメントの従軸線(322)を前記カップリングに基づいて識別するステップ(510)と、
    前記主軸線がモータ(316)を含むか又は前記従軸線がモータを含むかに関するモータ判別を行うステップ(520)と、
    前記主アタッチメント及び前記従アタッチメントに関する交差ベース判別を行うステップ(525)と、但し、前記交差ベース判別を行うステップは、前記従アタッチメント(428)が前記主ジョイントのベースであるか否かを判別するステップと、前記主アタッチメントが前記従ジョイントのベースであるか否かを判別するステップとを含み、
    前記モータ判別及び前記交差ベース判別に基づいてどのボディを拘束すべきかについての拘束判別を行うステップ(530)と、
    前記拘束判別にしたがって拘束を記憶するステップ(535)と、
    前記拘束判別にしたがってシミュレーションモデルを実行するステップ(540)と
    を含む、方法。
  2. 前記データ処理装置によりさらに、前記主アタッチメントがヌルであるか、又は、前記従アタッチメントがヌルであるか、又は、前記主アタッチメントと前記従アタッチメントとが同じであるか、又は、前記主軸線及び前記従軸線の双方がモータを含むかを判別することにより、前記カップリングがシミュレート可能であるか否かを判別する、
    請求項1記載の方法。
  3. 前記シミュレーションモデルを実行するステップを、前記主軸線の軸線タイプ及び前記従軸線の軸線タイプに基づいて行う、
    請求項1記載の方法。
  4. 前記モータ判別にしたがって、前記主軸線も前記従軸線もモータを含まないことが判別された場合、前記拘束判別において前記主アタッチメント及び前記従アタッチメントの双方が拘束されるものとする、
    請求項1記載の方法。
  5. 前記モータ判別にしたがって、前記主軸線がモータを含みかつ前記従軸線がモータを含まないことが判別された場合、前記従アタッチメントが前記主ジョイントのベースであれば、前記拘束判別において前記従アタッチメントをバックグラウンドに拘束し、前記主アタッチメントは拘束しないものとする、
    請求項1記載の方法。
  6. 前記データ処理装置によりさらに、前記主軸線の軸線タイプと前記従軸線の軸線タイプとを求め、前記主軸線及び前記従軸線が直線運動軸線である場合には、前記装置によりさらに、
    (A+A−proj(A,A))・ν+(A+A−proj(A,A))・ν=c
    なる拘束を記憶し、ここで、
    proj(A,A)={(A・A)/(A・A)}A
    であり、Aは主軸線を表すベクトルであり、Aは従軸線を表すベクトルであり、νは主アタッチメントの直線運動速度を表し、νは従アタッチメントの直線運動速度を表し、cは補正係数を表す、
    請求項1記載の方法。
  7. プロセッサ(102)とアクセス可能メモリ(108)とを含むデータ処理装置(100)であって、
    前記データ処理装置は、特に、
    シミュレーションモデル(300)、すなわち、カップリング(314)によって接続された少なくとも1つの主ジョイント(312)と少なくとも1つの従ジョイント(318)とを含み、前記主ジョイントがリジッドボディの主アタッチメント(308)を有し、前記従ジョイントがリジッドボディの従アタッチメント(302)を有するシミュレーションモデルを、前記データ処理装置で受信し(505)、
    前記主アタッチメントの主軸線(320)及び前記従アタッチメントの従軸線(322)を前記カップリングに基づいて識別し(510)、
    前記主軸線がモータ(316)を含むか又は前記従軸線がモータを含むかに関するモータ判別を行い(520)、
    前記主アタッチメント及び前記従アタッチメントに関する交差ベース判別を行い(525)、但し、前記交差ベース判別では、前記従アタッチメント(428)が前記主ジョイントのベースであるか否かが判別され、前記主アタッチメントが前記従ジョイントのベースであるか否かが判別され、
    前記モータ判別及び前記交差ベース判別に基づいてどのボディを拘束すべきかについての拘束判別を行い(530)、
    前記拘束判別にしたがって拘束を記憶し(535)、
    前記拘束判別にしたがってシミュレーションモデルを実行する(540)
    ように構成されている、データ処理装置。
  8. 前記データ処理装置によりさらに、前記主アタッチメントがヌルであるか、又は、前記従アタッチメントがヌルであるか、又は、前記主アタッチメントと前記従アタッチメントとが同じであるか、又は、前記主軸線及び前記従軸線の双方がモータを含むかを判別することにより、前記カップリングがシミュレート可能であるか否かが判別される、
    請求項記載のデータ処理装置。
  9. 前記シミュレーションモデルの実行が、前記主軸線の軸線タイプ及び前記従軸線の軸線タイプに基づいて行われる、
    請求項記載のデータ処理装置。
  10. 前記モータ判別にしたがって、前記主軸線も前記従軸線もモータを含まないことが判別された場合、前記拘束判別において、前記主アタッチメント及び前記従アタッチメントの双方が拘束されるものとする、
    請求項記載のデータ処理装置。
  11. 前記モータ判別にしたがって、前記主軸線がモータを含みかつ前記従軸線がモータを含まないことが判別された場合、前記従アタッチメントが前記主ジョイントのベースであれば、前記拘束判別において、前記従アタッチメントがバックグラウンドに拘束され、前記主アタッチメントは拘束されないものとする、
    請求項記載のデータ処理装置。
  12. 前記データ処理装置によりさらに、前記主軸線の軸線タイプと前記従軸線の軸線タイプとが求められ、前記主軸線及び前記従軸線が直線運動軸線である場合には、前記装置によりさらに、
    (A+A−proj(A,A))・ν+(A+A−proj(A,A))・ν=c
    なる拘束が記憶され、ここで、
    proj(A,A)={(A・A)/(A・A)}A
    であり、Aは主軸線を表すベクトルであり、Aは従軸線を表すベクトルであり、νは主アタッチメントの直線運動速度を表し、νは従アタッチメントの直線運動速度を表し、cは補正係数を表す、
    請求項記載のデータ処理装置。
  13. 非一時性の、機械で読み出し可能な媒体(126)であって、
    該媒体には、実行時に、データ処理装置(100)に、
    シミュレーションモデル(300)を前記データ処理装置で受信させ(505)、前記シミュレーションモデルは、カップリング(314)によって接続された少なくとも1つの主ジョイント(312)と少なくとも1つの従ジョイント(318)とを含み、前記主ジョイントはリジッドボディの主アタッチメント(308)を有し、前記従ジョイントはリジッドボディの従アタッチメント(302)を有するようにし、
    前記主アタッチメントの主軸線(320)及び前記従アタッチメントの従軸線(322)を前記カップリングに基づいて識別させ(510)、
    前記主軸線がモータ(316)を含むか又は前記従軸線がモータを含むかに関するモータ判別を行わせ(520)、
    前記主アタッチメント及び前記従アタッチメントに関する交差ベース判別を行わせ(525)、但し、前記交差ベース判別では、前記従アタッチメント(428)が前記主ジョイントのベースであるか否かが判別され、前記主アタッチメントが前記従ジョイントのベースであるか否かが判別され、
    前記モータ判別及び前記交差ベース判別に基づいてどのボディを拘束すべきかについての拘束判別を行わせ(530)、
    前記拘束判別にしたがって拘束を記憶させ(535)、
    前記拘束判別にしたがって前記シミュレーションモデルを実行させる(540)
    ための複数の実行可能な命令が記録されている、
    機械で読み出し可能な媒体。
  14. 前記データ処理装置によりさらに、前記主アタッチメントがヌルであるか、又は、前記従アタッチメントがヌルであるか、又は、前記主アタッチメントと前記従アタッチメントとが同じであるか、又は、前記主軸線及び前記従軸線の双方がモータを含むかが判別されることにより、前記カップリングがシミュレート可能であるか否かが判別される、
    請求項13記載の機械で読み出し可能な媒体。
  15. 前記シミュレーションモデルの実行が、前記主軸線の軸線タイプ及び前記従軸線の軸線タイプに基づいて行われる、
    請求項13記載の機械で読み出し可能な媒体。
  16. 前記モータ判別にしたがって、前記主軸線も前記従軸線もモータを含まないことが判別された場合、前記拘束判別において前記主アタッチメント及び前記従アタッチメントの双方が拘束されるものとし、
    前記モータ判別にしたがって、前記主軸線がモータを含みかつ前記従軸線がモータを含まないことが判別された場合、前記従アタッチメントが前記主ジョイントのベースであれば、前記拘束判別において、前記従アタッチメントがバックグラウンドに拘束され、前記主アタッチメントは拘束されないものとする、
    請求項13記載の機械で読み出し可能な媒体。
  17. 前記データ処理装置によりさらに、前記主軸線の軸線タイプと前記従軸線の軸線タイプとが求められ、前記主軸線及び前記従軸線が直線運動軸線である場合には、前記装置によりさらに、
    (A+A−proj(A,A))・ν+(A+A−proj(A,A))・ν=c
    なる拘束が記憶され、ここで、
    proj(A,A)={(A・A)/(A・A)}A
    であり、Aは主軸線を表すベクトルであり、Aは従軸線を表すベクトルであり、νは主アタッチメントの直線運動速度を表し、νは従アタッチメントの直線運動速度を表し、cは補正係数を表す、
    請求項13記載の機械で読み出し可能な媒体。
JP2016549718A 2014-02-03 2015-01-30 カップリングの拘束を用いたシミュレーション、データ処理装置および媒体 Active JP6279753B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/170,753 2014-02-03
US14/170,753 US9424378B2 (en) 2014-02-03 2014-02-03 Simulation using coupling constraints
PCT/US2015/013641 WO2015116878A1 (en) 2014-02-03 2015-01-30 Simulation using coupling constraints

Publications (2)

Publication Number Publication Date
JP2017509058A JP2017509058A (ja) 2017-03-30
JP6279753B2 true JP6279753B2 (ja) 2018-02-14

Family

ID=53755048

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016549718A Active JP6279753B2 (ja) 2014-02-03 2015-01-30 カップリングの拘束を用いたシミュレーション、データ処理装置および媒体

Country Status (5)

Country Link
US (1) US9424378B2 (ja)
EP (1) EP3103042A4 (ja)
JP (1) JP6279753B2 (ja)
CN (1) CN105960641B (ja)
WO (1) WO2015116878A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3613545A1 (en) * 2018-08-24 2020-02-26 Siemens Aktiengesellschaft Simulation assisted planning of motions to lift heavy objects
US11037354B1 (en) 2019-02-14 2021-06-15 Apple Inc. Character joint representation

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6766950B2 (en) * 1997-12-16 2004-07-27 Donald R. Hall Modular architecture sensing and computing platform
JP3643504B2 (ja) * 1998-08-25 2005-04-27 株式会社東芝 アセンブリモデル作成方法およびアセンブリモデル作成処理プログラムを記録した記録媒体
WO2000038117A1 (en) * 1998-12-23 2000-06-29 Washington State University Research Foundation Method and system for a virtual assembly design environment
SE0001312D0 (sv) * 2000-04-10 2000-04-10 Abb Ab Industrirobot
US8010180B2 (en) * 2002-03-06 2011-08-30 Mako Surgical Corp. Haptic guidance system and method
SE0301531L (sv) * 2003-05-22 2004-11-23 Abb Ab A Control method for a robot
FR2861857B1 (fr) * 2003-10-29 2006-01-20 Snecma Moteurs Deplacement d'un objet articule virtuel dans un environnement virtuel en evitant les collisions internes entre les elements articules de l'objet articule
WO2007146984A2 (en) * 2006-06-13 2007-12-21 Intuitive Surgical, Inc. Control system configured to compensate for non-ideal actuator-to-joint linkage characteristics in a medical robotic system
US8571840B2 (en) 2007-03-28 2013-10-29 Autodesk, Inc. Constraint reduction for dynamic simulation
US9122821B2 (en) 2010-05-25 2015-09-01 Siemens Products Lifecycle Management Software Inc. Method and system for simulation of automated processes
US20120078598A1 (en) * 2010-09-27 2012-03-29 Siemens Corporation Custom Physics Simulation Joints
US9259289B2 (en) * 2011-05-13 2016-02-16 Intuitive Surgical Operations, Inc. Estimation of a position and orientation of a frame used in controlling movement of a tool
US9035742B2 (en) * 2011-12-06 2015-05-19 Microsoft Technology Licensing, Llc Electronic compensated pivot control

Also Published As

Publication number Publication date
EP3103042A4 (en) 2017-09-06
CN105960641B (zh) 2019-04-12
WO2015116878A1 (en) 2015-08-06
EP3103042A1 (en) 2016-12-14
US20150220666A1 (en) 2015-08-06
JP2017509058A (ja) 2017-03-30
US9424378B2 (en) 2016-08-23
CN105960641A (zh) 2016-09-21

Similar Documents

Publication Publication Date Title
JP7222803B2 (ja) 軌道計画装置、軌道計画方法及びプログラム
CN105740497B (zh) 对工件的加工进行仿真
EP2923805A2 (en) Object manipulation driven robot offline programming for multiple robot system
EP3166081A2 (en) Method and system for positioning a virtual object in a virtual simulation environment
US11135720B2 (en) Method and system for programming a cobot for a plurality of industrial cells
CN108000523B (zh) 模拟机器人系统的动作的模拟装置、模拟方法及记录介质
CN107065790B (zh) 用于确定虚拟环境中的虚拟机器人的配置的方法和系统
JP6598454B2 (ja) 教示データの作成方法、作成装置、及び作成プログラム
JP6534974B2 (ja) 画面制御のための効率的なインタフェースを提供するシステムおよび方法
CA2912157C (en) Method for determining a movement limit
JP3200389U (ja) エンドエフェクタを遠隔的に位置決めするためのシステム及び方法
JP6279753B2 (ja) カップリングの拘束を用いたシミュレーション、データ処理装置および媒体
EP3520084B1 (en) System and method for element quality improvement in 3d quadrilateral-dominant surface meshes
JP2013037434A (ja) 流体解析方法、流体解析装置、及び流体解析プログラム
JP6246339B2 (ja) 図面ビューにスケッチ寸法を規定する方法、装置及びコンピュータプログラム
JP2012256270A5 (ja)
EP3266570A1 (en) Method for anti-collision management of overlapping robotic movements
EP3134837A1 (en) Duplicate pattern of assembly components in cad models
US10780642B2 (en) System and method for computing surfaces in a multi-layer part
WO2015187600A1 (en) Aerospace joggle on multiple adjacent web faces with intersecting runouts
EP3295291B1 (en) Drawing object inferring system and method
JP2015005289A (ja) 折り畳みシートオブジェクトの設計
JP2006209656A (ja) 局所座標系決定プログラム
Frigeni Path-Planning
Mukherjee Parallel Algorithm for Constrained Multi-Rigid Body System Dynamics in Generalized Topologies

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170915

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171002

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171205

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20171219

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180117

R150 Certificate of patent or registration of utility model

Ref document number: 6279753

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250